<div dir="ltr">Hello.<div><br></div><div>I am trying to pick a way of making puppet manifest fuel-library/deployment/puppet/osnailyfacter/modular/apache/apache.pp idempotent.</div><div>During a normal execution flow, Fuel (fuel-astute, actually) would run "apache" task before running other tasks, which create virtual host configuration files inside /etc/apache2/sites-enabled/.</div><div>"apache" task currently purges all configuration files, not created by it - see <a href="https://forge.puppetlabs.com/puppetlabs/apache#purge_configs">https://forge.puppetlabs.com/puppetlabs/apache#purge_configs</a>; it seems reasonable to have this option enabled.</div><div><br></div><div>However, fuel-astute runs all tasks in a separate "puppet apply" processes, which do not know anything about the state of each other. So I cannot use the intended (by puppetlabs-apache) way of regenerating the configs after the purge.</div><div><br></div><div>One way to achieve it is moving the code, generating the configs, into apache.pp, so it will be re-run after each purge. However, it is complicated by the need of existence of various resources: services' files, users and packages. We cannot simply declare any of *::wsgi::apache classes inside apache.pp due to these dependencies.</div><div><br></div><div>Another way is simply disabling purge_configs and purging manually everything that we don't need (like distro's apache mpm config).</div><div><br></div><div>Which of these ways looks better? Are there any alternatives that I am missing?</div><div>Thanks in advance.</div></div>