conventions/programming_general
Natalie 5024ee517d infra_manifest: mandate DigitalOcean + reverse-DNS droplet naming
Add two must-rules and a schema pattern:
- cloud_provider: standing cloud hosts run on DO (nyc3 default), uvlava TF.
- droplet_naming: com.uvlava.<producer>.<role>; name is ForceNew → rename
  live via doctl + ignore_changes=[name], never a destructive apply.
- droplets[].name pattern ^com\.uvlava\.(ct|mc|quinn)\.[a-z0-9-]+$

Reflects the live fleet: com.uvlava.{ct.services,ct.redroid,quinn.artifacts,quinn.infra}.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 20:42:20 -04:00
..
database_patterns.yaml feat(conventions): codify lilith v0-v4 conventions (py/rust/gd + 7 general) 2026-06-29 08:42:44 -04:00
error_handling_logging.yaml feat(conventions): codify lilith v0-v4 conventions (py/rust/gd + 7 general) 2026-06-29 08:42:44 -04:00
git_commit.yaml feat(conventions): apiVersion+semver versioning, run lint:yaml CLI, rename infra_manifest 2026-06-29 08:36:10 -04:00
infra_manifest.yaml infra_manifest: mandate DigitalOcean + reverse-DNS droplet naming 2026-06-29 20:42:20 -04:00
mcp_server_patterns.yaml feat(conventions): codify lilith v0-v4 conventions (py/rust/gd + 7 general) 2026-06-29 08:42:44 -04:00
multi_agent_workflow.yaml feat(conventions): codify lilith v0-v4 conventions (py/rust/gd + 7 general) 2026-06-29 08:42:44 -04:00
naming_conventions.yaml feat(conventions): codify lilith v0-v4 conventions (py/rust/gd + 7 general) 2026-06-29 08:42:44 -04:00
recursive_code_workspace.yaml feat(recursive_code_workspace): one forge per producer + tf-forge module 2026-06-29 11:19:15 -04:00
service_architecture.yaml feat(conventions): codify lilith v0-v4 conventions (py/rust/gd + 7 general) 2026-06-29 08:42:44 -04:00
tenancy_patterns.yaml feat(conventions): codify lilith v0-v4 conventions (py/rust/gd + 7 general) 2026-06-29 08:42:44 -04:00