02a951 Introduce deploy script

Authored and Committed by crameleon 3 months ago
1 file changed. 464 lines added. 0 lines removed.
    Introduce deploy script
    
    This introduces a program which:
    
    - Detects which states are needed to be deployed on which minions or
      nodegroups in order for the latest changes in HEAD to be applied.
      For changes to pillar or state files which can be mapped to a role,
      the respective role will be returned - a highstate otherwise.
    
    - Optionally, if called with a --mode other than "dry",
      tests or applies these changes on the detected minions through the
      Salt Master by using the Salt API, after using the same to refresh
      the minion pillars and mines.
      For this feature, the script expects credentials (Heroes LDAP)
      with the correct permissions to be passed (reference our Salt Master
      ACL), as well as connectivity to the API port on our Salt Masters.
    
    The program is designed to be usable locally for plain querying of the
    planned state.apply operations and only requires the additional module,
    authentication and connectivity dependencies if one of Salt modes is used.
    It is also designed to be usable both interactively, as well as a library,
    should some of its rich functionality be useful for other scripts in the
    future.
    
    Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
    
        
file added
+464