Hi,
that's an topic of interest to me also. For only-once phases at the moment I use also a dedicated "installation phase" - what's fitting my current needs.
But another requirement "Installation & Configuration Upgrade" caused me to think about a solution, which could also fit to your needs?
My Idea is to create a configuration-crate which solves the following functions:
- CM System validates configuration ahead of configuration.
- CM System reads version of applied configuration from target system.
- CM System writes version of applied configuration to target system.
- Reading and writing configuration's versions to your servers can be the foundation of an easy solution for your needs. You can in every phase check the version and apply changes only if the configured version is newer ..
- For my Upgrade-Topic I've the chance to choose the appropriate version-old-to-version-new-upgrade steps ..
If there will be no better idea here, then feel invited to join my thoughts & discussions (see also https://github.com/DomainDrivenArchitecture/architecture/tree/configmanagement/en/80_config_management/30_requirements :-).
What do you think about?
Best Regards,
Michael
BTW: I write concepts using gitBook at
http://dda.gitbooks.io/domaindrivenarchitecture/So not all MarkDown links will work in plain repository / branch ...