feat: Infrastructure-as-Code � provision client environments in minutes #4

Closed
opened 2026-05-08 00:51:00 +00:00 by jmiller · 0 comments
Owner

Terraform/Ansible definitions for spinning up new client environments (Joomla + Dolibarr + monitoring + backups) automatically.

Vision

New client onboarding goes from days to minutes. Run one command, get a fully configured environment.

Acceptance Criteria

  • Client provisioning orchestrator (cli/client_provision.php - PR #88)
  • Repo creation from template (via Gitea API)
  • Auto-inject Gitea Actions variables and secrets
  • Auto-configure monitoring (Grafana dashboard push + endpoint registration)
  • DNS record creation via DreamHost API
  • SSL certificate provisioning
  • Terraform modules for server provisioning (future - currently on DreamHost shared hosting)
  • Ansible playbooks for Joomla/Dolibarr setup (future)

Delivered (2026-05-25)

cli/client_provision.php orchestrates the full onboarding from a single JSON config:

  1. Create repo from Template-Client-WaaS
  2. Inject variables (hosts, paths, ports)
  3. Inject secrets (SSH keys via @file references)
  4. Push Grafana monitoring dashboard
  5. Register monitoring URLs/domains

Example: php cli/client_provision.php --config clients/newclient.json --dry-run

Remaining

DNS and SSL automation depend on DreamHost API integration. Server provisioning (Terraform) is deferred until cloud migration.

Terraform/Ansible definitions for spinning up new client environments (Joomla + Dolibarr + monitoring + backups) automatically. ## Vision New client onboarding goes from days to minutes. Run one command, get a fully configured environment. ## Acceptance Criteria - [x] Client provisioning orchestrator (`cli/client_provision.php` - PR #88) - [x] Repo creation from template (via Gitea API) - [x] Auto-inject Gitea Actions variables and secrets - [x] Auto-configure monitoring (Grafana dashboard push + endpoint registration) - [ ] DNS record creation via DreamHost API - [ ] SSL certificate provisioning - [ ] Terraform modules for server provisioning (future - currently on DreamHost shared hosting) - [ ] Ansible playbooks for Joomla/Dolibarr setup (future) ## Delivered (2026-05-25) `cli/client_provision.php` orchestrates the full onboarding from a single JSON config: 1. Create repo from Template-Client-WaaS 2. Inject variables (hosts, paths, ports) 3. Inject secrets (SSH keys via @file references) 4. Push Grafana monitoring dashboard 5. Register monitoring URLs/domains Example: `php cli/client_provision.php --config clients/newclient.json --dry-run` ## Remaining DNS and SSL automation depend on DreamHost API integration. Server provisioning (Terraform) is deferred until cloud migration.
jmiller added the type: feature label 2026-05-11 17:08:45 +00:00
jmiller added the pending: design label 2026-05-22 02:01:22 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/moko-platform#4