Explore hooks support to enable more customised installs
One of the key goals of this Toolkit is to enable everyone to ultimately deploy GitLab Reference Architectures.
For most teams a default Reference Architecture should support most of their needs but we do offer some customisation today that make sense for most users, such as deploying Postgres 11 or 12. However for others, such as PS, they may need to customise the install process further than this.
The challenge here is adding further customisation adds further complexity in the Toolkit. Any changes made need to tested, maintained and checked to ensure they don't break the standard process and these can snowball quickly. In addition to this we need to ensure any changes made to the core Toolkit remain general and applicable to most if not all users. This is all a classic gotcha in these kind of tools and requires considered solutions.
One of the viable solutions is to add in hooks. So for example we'd want to add in sensible hooks where users can add to or replace config files, add in custom Ansible tasks, etc... This way we can enable users to add in their own code but we can continue to maintain the core focus of the Toolkit.
Task is to explore this approach and identify where to add these hooks to enable these more advanced installs while maintaining maintainability and quality of the Toolkit.