Problem with workflow

  • I like Director and everything it offers but I seem to have hit a roadblock with my workflow. I have my system configured with Director (c9c59b3). Import sources and sync rules are configured to sync from a few sources (SQL, files & vSphere) and configured to auto deploy the config. My problem is, this will deploy all pending changes which in some cases will be undesirable.


    What I'm looking to achieve is:

    1. Have Director with all its power do imports, syncs and deploy those changes automatically
    2. Ability to make other changes via GUI and/or Director API but only have those specific changes deployed when wanted. For example:
      • An AWS Lambda that add/removes hosts for AWS ASG's. Reason for this, is we'd like these added/removed as soon as they are created/destroyed.
      • User(s) modifying configs in Director GUI to add/remove services, update templates, etc to prepare for upcoming changes to infrastructure. These would not necessarily need to be deployed immediately.

    #920 looks like it might be what I need but would like to hear about any other possible solutions or similar workflows. Or perhaps I'm just going about this the wrong way? :/


    Any help would be appreciated.

  • Puh. Sounds complicated to separate between automated deployments and GUI changes. The linked issue is probably what you want to achieve, but as mcktr said there, it will be hard to implemented or keep track. Might also need a sponsored patch then, I would assume it is huge and takes resources to implement.


    Note aside: Please ensure to always use the latest released version, not a git commit from master.

  • From the Director description, I thought what I'm trying to do is what was stated:

    Quote

    Icinga Director has been designed to make Icinga 2 configuration handling easy. It tries to target two main audiences:

    • Users with the desire to completely automate their datacenter
    • Sysops willing to grant their "point & click" users a lot of flexibility

    Automated deployments aside, how do you handle changes from multiple uses via GUI? As far as I can see, you encounter the same issue with deploying all pending changes. It would be nice if pending changes were similar to a git repo. Running config would be master and changes from each user (automated or person) were a branch. The user could then merge only their changes to the running configs


    Is the Icinga 2 API able to handle the separation of configs with packages and stages?


    Any best practices for my situation?