Background
In earlier SIMP releases (5.0–6.3), managing multiple Puppet environments with corresponding SIMP assets was cumbersome and risky. SIMP 6.4.0 removed some of these barriers by making Puppetfile-based workflows the preferred mechanism to deploy Puppet modules and environments:
- Tools like r10k or Code Manager are now expected to deploy Puppet modules or Puppet environments.
- The
simp environment
tool was introduced to help users maintain each Puppet environment and its corresponding SIMP "extra" environment. - SIMP no longer modifies files under environment directories unless the user initiates the action with tools like
simp environment
.
However: although these improvements made deploying Puppet environments possible, it didn't make them safe. During the development of SIMP 6.4.0 it became apparent that the simp environment
workflow was inadequate to handle the full Puppet environment lifecycle:
- The convention of breaking out writable and secondary SIMP data by Puppet environment was arbitrary and made it necessary to adopt workarounds like
simp environment new [--copy|--link
], - It would be too easy to permanently lose data from linked environments with the proposed
simp environment rm
command
Puppet Environments and SIMP Assets
SIMP 6.4
Proposed SIMP 6.5+
Legacy 6.4 assets in SIMP 6.5+