Purpose: Stepwise plan to implement end-to-end automation, monitoring, and AI server placement as defined in saas-unified-architecture-hetzner-cloudflare-zuplo-plan §9 and tenant-provisioning-flow §B. No code generation — implementation order, deliverables, and dependencies only.
1. Reference plans
saas-unified-architecture-hetzner-cloudflare-zuplo-plan.md §9: intelligent automation (full pipeline, monitoring, AI placement).
tenant-provisioning-flow.md §A, §B: provisioning flow; Control Plane monitoring and AI placement.
§3.2 Ansible + Zuplo Sync: prego-ansible playbook, roles (docker, frappe_site), artifacts/tenant_api_key.txt; zuplo_sync.ts; provision-tenant-pipeline runbook. Ansible scope: Vectorize/tenant DNS out of scope per pulumi-ansible-step1-step2 §3. For running tenant creation (bench new-site) in a separate Job (not Ansible runtime), see ansible-frappe-bench-rc127-resolution-plan §16 item 4.
§3.3 Workflow: provision-tenant-workflow-design (read first); .github/workflows/provision-tenant.yml or Provision Worker; runbook.
§3.4 Monitoring: Hetzner/agent/Cron → Control Plane → D1 server_metrics/servers; tenant usage for placement; resource-optimization-safe-adoption-plan.
§5 References: Links to saas-unified §9, tenant-provisioning-flow, IMPLEMENTATION_INDEX.
Full tables (§1, §3.1–§3.6) and exact wording are in the Korean section below.
한국어 {#korean}
지능형 자동화 구현 계획
목적: 기획서 saas-unified-architecture-hetzner-cloudflare-zuplo-plan.md §9, tenant-provisioning-flow.md §B 에 정의된 전 구간 자동화·모니터링·AI 서버 배치를 구현하기 위한 단계별 계획. 코드 생성 없음 — 구현 순서·산출물·의존 관계만 정리.
구현됨.infra/zuplo_sync.ts: tenant_id, api_key(또는 --api-key-file <path>) → Zuplo Developer API 등록. CLI 및 syncTenantApiKey() export.
Runbook
docs/runbook/provision-tenant-pipeline.md: 수동 실행 순서 및 워크플로 입력 스펙.
Ansible 범위
pulumi-ansible-step1-step2-plan.md§3: Cloudflare Vectorize·테넌트 canonical DNS·테넌트 사용자 CNAME은 Ansible 비범위로 정리. Vectorize → Pulumi 또는 전용 스크립트, 테넌트 DNS → 현행 cloudflare-tenant-dns.ts + 워크플로 유지.