Provisioning technical design
Alpha-stage reference for the intended provisioning implementation stack across profiles.
Shared control plane
- Web: Next.js UI for setup, operations, and access instructions.
- API: NestJS service handling validation, lifecycle, and policy checks.
- Worker: asynchronous execution layer for provisioning workflows.
- State model: draft setup -> provisioned -> paused/decommissioned.
Terraform position
Terraform is the primary infrastructure-as-code engine for provisioning substrate resources: networking, security boundaries, compute, storage, and (for Kubernetes profile) cluster prerequisites.
VM profile
- Terraform provisions VPC/subnets/security groups and one VM per node.
- cloud-init/automation installs MariaDB CS/ES and MaxScale packages.
- Topology templates render Galera/async configuration per node role.
Docker profile
- Terraform provisions host infrastructure.
- Container runtime is configured on hosts.
- Compose-style artifacts deploy MariaDB/MaxScale containers per setup.
Kubernetes profile
- Terraform manages Kubernetes substrate and dependencies.
- Helm/manifests deploy stateful MariaDB and MaxScale workloads.
- Storage classes, secrets, services, and labels are generated from setup intent.