workspace-v1/control-plane/manifests/environments.manifest.yml
Adrian Flores Cortes 967ab360bb Initial commit: Workspace v1 with 3-layer architecture
Structure:
- control-plane/: Registries, SIMCO directives, CI/CD templates
- projects/: Gamilit, ERP-Suite, Trading-Platform, Betting-Analytics
- shared/: Libs catalog, knowledge-base

Key features:
- Centralized port, domain, database, and service registries
- 23 SIMCO directives + 6 fundamental principles
- NEXUS agent profiles with delegation rules
- Validation scripts for workspace integrity
- Dockerfiles for all services
- Path aliases for quick reference

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-23 00:35:19 -06:00

219 lines
5.2 KiB
YAML

# ==============================================================================
# ENVIRONMENTS MANIFEST - Control Plane
# ==============================================================================
# Proposito: Define los ambientes disponibles y su configuracion
# Mantenido por: DevOps-Agent
# Actualizado: 2025-12-18
# ==============================================================================
version: "1.0.0"
updated: "2025-12-18"
# ------------------------------------------------------------------------------
# AMBIENTES
# ------------------------------------------------------------------------------
environments:
# ============================================================================
# LOCAL - Desarrollo individual
# ============================================================================
local:
description: "Ambiente de desarrollo local"
type: "development"
access: "individual"
infrastructure:
docker:
network_suffix: "_local"
compose_file: "docker-compose.yml"
traefik:
enabled: true
dashboard: true
insecure: true
defaults:
log_level: "debug"
ssl: false
hot_reload: true
seed_data: true
domains:
base: "localhost"
pattern: "{service}.{project}.localhost"
resources:
cpu_limit: "1"
memory_limit: "2Gi"
# ============================================================================
# DEVELOPMENT - Integracion
# ============================================================================
development:
description: "Ambiente de desarrollo compartido"
type: "development"
access: "team"
infrastructure:
docker:
network_suffix: "_dev"
compose_file: "docker-compose.yml"
compose_override: "docker-compose.dev.yml"
traefik:
enabled: true
dashboard: true
insecure: false
kubernetes:
enabled: false
defaults:
log_level: "debug"
ssl: true
ssl_provider: "letsencrypt-staging"
hot_reload: false
seed_data: true
domains:
base: "dev.example.com"
pattern: "{service}.{project}.dev.example.com"
resources:
cpu_limit: "2"
memory_limit: "4Gi"
replicas: 1
ci_cd:
auto_deploy: true
branch: "develop"
# ============================================================================
# STAGING - Pre-produccion
# ============================================================================
staging:
description: "Ambiente de pre-produccion"
type: "staging"
access: "qa-team"
infrastructure:
docker:
network_suffix: "_staging"
kubernetes:
enabled: true
namespace: "staging"
traefik:
enabled: true
dashboard: false
defaults:
log_level: "info"
ssl: true
ssl_provider: "letsencrypt"
seed_data: false
domains:
base: "staging.example.com"
pattern: "{service}.{project}.staging.example.com"
resources:
cpu_limit: "2"
memory_limit: "4Gi"
replicas: 2
ci_cd:
auto_deploy: false
branch: "release/*"
approval_required: true
# ============================================================================
# PRODUCTION - Produccion
# ============================================================================
production:
description: "Ambiente de produccion"
type: "production"
access: "restricted"
infrastructure:
kubernetes:
enabled: true
namespace: "production"
cluster: "prod-cluster"
traefik:
enabled: true
dashboard: false
defaults:
log_level: "warn"
ssl: true
ssl_provider: "letsencrypt"
hsts: true
seed_data: false
domains:
base: "example.com"
pattern: "{service}.{project}.example.com"
resources:
cpu_request: "500m"
cpu_limit: "2"
memory_request: "512Mi"
memory_limit: "2Gi"
replicas:
min: 2
max: 10
ci_cd:
auto_deploy: false
branch: "main"
approval_required: true
approvers:
- "Tech-Leader"
- "DevOps-Lead"
backup:
enabled: true
frequency: "daily"
retention: "30d"
monitoring:
enabled: true
alerting: true
pagerduty: true
# ------------------------------------------------------------------------------
# PROMOCION ENTRE AMBIENTES
# ------------------------------------------------------------------------------
promotion:
flow:
- from: "local"
to: "development"
trigger: "push to develop"
- from: "development"
to: "staging"
trigger: "create release branch"
requires: "tests_pass"
- from: "staging"
to: "production"
trigger: "manual approval"
requires:
- "qa_approval"
- "tech_lead_approval"
# ------------------------------------------------------------------------------
# VARIABLES POR AMBIENTE
# ------------------------------------------------------------------------------
environment_variables:
all:
- NODE_ENV
- LOG_LEVEL
- JWT_SECRET
- DATABASE_URL
development:
- DEBUG
- SEED_DATA
production:
- SENTRY_DSN
- NEW_RELIC_KEY