gitops/StackFlow/svc-plus.yaml
2026-02-09 17:19:05 +08:00

117 lines
3.5 KiB
YAML

apiVersion: gitops.svc.plus/v1alpha1
kind: StackFlow
metadata:
# Stack identifier (used in plans/artifacts).
name: svc-plus
global:
# Root domain for this business stack.
# Runner enforces: every targets[].domains[] must be under this root.
domain: svc.plus
# Declarative provider selector for future dns-apply (no secrets here).
dns_provider: cloudflare
# Default cloud for this stack (future iac-apply/deploy/observe phases).
cloud: gcp
project: xzerolab-480008
# Optional: multi-environment overrides (selected by runner --env).
# Today CI only runs plan/validate; env selection is for future expansion.
environments:
prod:
dns_provider: cloudflare
cloud: gcp
gcp_project: xzerolab-480008
dev:
dns_provider: cloudflare
cloud: gcp
gcp_project: xzerolab-480008
# Source-of-truth repos (informational).
gitops: https://github.com/cloud-neutral-toolkit/gitops
playbooks: https://github.com/cloud-neutral-toolkit/playbook
iac_modules: https://github.com/cloud-neutral-toolkit/iac_modules
targets:
# -----------------------------------------
# Vercel: www + console
# -----------------------------------------
- id: vercel-console
type: vercel
vercel:
project_url: https://vercel.com/svc-designs-projects/console-svc-plus
team_slug: svc-designs-projects
project_slug: console-svc-plus
domains:
- www.svc.plus
- console.svc.plus
# Optional env-specific intent (not used by runner yet).
environments:
dev:
domains:
- www.dev.svc.plus
- console.dev.svc.plus
dns:
# Default policy: pure DNS. Proxy can be enabled per-record later.
records:
- name: www
type: CNAME
value: cname.vercel-dns.com.
proxied: false
- name: console
type: CNAME
value: cname.vercel-dns.com.
proxied: false
# -----------------------------------------
# GCE vhost: clawdbot
# -----------------------------------------
- id: clawdbot
type: vhost
cloud: gcp
gcp:
project: xzerolab-480008
zone: asia-east1-b
instance_name: clawdbot-svc-plus
console_url: https://console.cloud.google.com/compute/instancesDetail/zones/asia-east1-b/instances/clawdbot-svc-plus?project=xzerolab-480008
domains:
- clawdbot.svc.plus
resources:
os: debian-13
cpu: 2
mem_mib: 4096
disk_gb: 50
endpoints:
# Will be filled by future iac-apply output.
public_ipv4: ""
dns:
records:
- name: clawdbot
type: A
valueFrom: endpoints.public_ipv4
proxied: false
# -----------------------------------------
# GCP Cloud Run: accounts
# -----------------------------------------
- id: accounts
type: cloud-run
cloud: gcp
repo: https://github.com/cloud-neutral-toolkit/accounts.svc.plus
gcp:
project: xzerolab-480008
region: asia-northeast1
service: accounts-svc-plus
console_url: https://console.cloud.google.com/run/detail/asia-northeast1/accounts-svc-plus/observability/metrics?project=xzerolab-480008
domains:
- accounts.svc.plus
deploy:
mode: repo-dispatch
repository: cloud-neutral-toolkit/accounts.svc.plus
event_type: stackflow.deploy.cloudrun
dns:
# Cloud Run custom domain mapping needs provider-specific verification records.
# Keep explicit records here once known; plan/validate won't apply them.
records: []