Configuration-as-Code
Similar to Infrastructure-as-Code, Dalet Flex hevaily relies on Configuration-as-Code (CasC) to deploy and maintain software. CasC principles have proven to decrease operational deployment and maintenance effort while providing accuracy and reliability (whoever runs deployment routines will eventually end up in the very same end result).
In Dalet Flex, Configuration-as-Code is used to:
- Extend the various instances operating systems configuration (fine-tuning, packages installation ...).
- Deploys Flex specific software applications and services.
- Set various configuration parameters and settings.
- Ensure clustering capabilities between different instances, when need be.
- Perform sanity health checks to ensure proper service's availability.
Dalet chose Ansible as its reference implementation for CasC. Ansible is industry-standard and allows for simple, yet exhaustive and durable description of tasks to be executed for software installation and maintenance automation.
Dalet Flex is bundled with its Ansible deployment and configuration framework. This guide will walk you through the necessary steps to perform a successful service deployment and provide exhaustive documentation on all possible Ansible variables and available configuration options.
Dalet Flex's configuration relies on Ansible CasC.
This implies that said platform's configuration is to be treated as single source of truth. This requires a specific approach to software maintenance where all manual intervention (and configuration change) should be prohibited. Any human-made, manual override, has a non-null chance of being overwritten by Ansible rules unless properly reported back.
Platform specific configuration is required to be version controlled (Git) and backed up to guarantee deployments reproducability.
Dalet will not provide support for any platform configuration change which could have been made out of the provided deployment's framework.