Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
data-plane-controller: controller for managing data-plane life cycles
The controller uses the recent `automations` crate to monitor structured changes to a bound data_planes and drive the data-plane to convergence. It's modeled as a CI/CD pipeline, where an indicated branch of our dry-dock repo (containing Pulumi and Ansible infrastructure) is deployed for the given data-plane. The controller performs the full lifecycle required for rolling updates: - `pulumi up` to create new resources or respond to replacements - Awaiting DNS propagation - Running the Ansible playbook to provision instances - Running `pulumi up` to reflect readiness of started instances - Awaiting DNS propagation (again) It also periodically refreshes a stack from remote providers to detect changed or deleted resources, such as EC2 instance replacements, and responds accordingly to heal the infrastructure.
- Loading branch information