Files
moko-platform/templates/client-provision-example.json
Jonathan Miller fb916e857e
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Generic: Repo Health / Release configuration (push) Successful in 6s
Generic: Repo Health / Scripts governance (push) Successful in 7s
Generic: Repo Health / Repository health (push) Successful in 15s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 5s
Universal: PR Check / Validate PR (pull_request) Successful in 4s
Generic: Repo Health / Release configuration (pull_request) Successful in 6s
Generic: Repo Health / Scripts governance (pull_request) Successful in 7s
Universal: PR Check / Build RC Package (pull_request) Successful in 4s
Generic: Repo Health / Repository health (pull_request) Successful in 14s
Platform: moko-platform CI / Gate 1: Code Quality (push) Successful in 1m1s
Platform: moko-platform CI / Gate 1: Code Quality (pull_request) Successful in 53s
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (push) Failing after 35s
Platform: moko-platform CI / Gate 5: Template Integrity (pull_request) Failing after 4s
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (pull_request) Failing after 32s
Platform: moko-platform CI / Gate 3: Self-Health Check (pull_request) Failing after 36s
Platform: moko-platform CI / Gate 4: Governance (pull_request) Successful in 36s
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (pull_request) Failing after 38s
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (pull_request) Failing after 39s
Platform: moko-platform CI / Gate 5: Template Integrity (push) Failing after 5s
Platform: moko-platform CI / Gate 3: Self-Health Check (push) Failing after 43s
Platform: moko-platform CI / Gate 4: Governance (push) Successful in 41s
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (push) Failing after 44s
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (push) Failing after 49s
Platform: moko-platform CI / CI Summary (push) Has been cancelled
Platform: moko-platform CI / CI Summary (pull_request) Has been cancelled
feat: add cli/client_provision.php — end-to-end client onboarding
Orchestrates the full client provisioning flow from a single JSON config:
  1. Create repo from Template-Client-WaaS
  2. Inject Gitea Actions variables (hosts, paths, ports)
  3. Inject Gitea Actions secrets (SSH keys via @file references)
  4. Push Grafana monitoring dashboard
  5. Register monitoring URLs/domains

Supports --dry-run for preview, --step for running individual steps.
Includes example config at templates/client-provision-example.json.

Addresses #4

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 18:51:06 -05:00

36 lines
1.1 KiB
JSON

{
"name": "exampleclient",
"org": "ExampleClient",
"gitea_url": "https://git.mokoconsulting.tech",
"variables": {
"DEV_SYNC_HOST": "dev.exampleclient.com",
"DEV_SYNC_PORT": "22",
"DEV_SYNC_USER": "exampleclient",
"DEV_SYNC_PATH": "/home/exampleclient/dev.exampleclient.com",
"DEV_SITE_URL": "https://dev.exampleclient.com",
"LIVE_SSH_HOST": "iad1-shared-b7-01.dreamhost.com",
"LIVE_SSH_PORT": "22",
"LIVE_SSH_USER": "exampleclient",
"LIVE_SYNC_PATH": "/home/exampleclient/exampleclient.com",
"RS_FTP_PATH_SUFFIX": "exampleclient.com"
},
"secrets": {
"DEV_SYNC_KEY": "@keys/exampleclient-dev.pem",
"LIVE_SSH_KEY": "@keys/exampleclient-live.pem"
},
"monitoring": {
"urls": [
"https://exampleclient.com",
"https://dev.exampleclient.com"
],
"domains": [
"exampleclient.com"
],
"grafana_dashboard": "monitoring/grafana/client-joomla-dashboard.json",
"grafana_folder": "Clients"
}
}