It&#x27;s not that hard to make a shell script idempotent - I&#x27;ve done it quite a bit. You check for the artifacts of an install and branch based on the results.<p>I still use Salt instead of shell scripts, but that&#x27;s mostly to have the authenticated&#x2F;encrypted channels and only have to push my code to one place to run it globally.