Files
Pier_v1/.hmcmkit/knowledge/templates/infra/argocd/application.yaml.template
T
ahnyongjooandClaude Sonnet 5.5 964a841de1 chore(rebar): Pier_T_rebar 작업 폴더 초기 구성 및 외부 의존 파일 통합
- Code\rebar_pipeline, review_pipeline, pier-program을 정션에서 실제 폴더로 전환
- Code\rhino_mcp 및 CLAUDE_rhino배경.md 추가, .mcp.json은 PYTHONPATH로 새 위치 사용
- pier-program 내부 .git 제거(이력은 backup\pier-program_20261028.bundle에 보관)
- worktree 가이드 반영(CLAUDE.local.md, HANDOFF.md)
- D:\Rhino-MCP 경로 참조를 새 위치로 치환

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 11:20:18 +09:00

88 lines
2.3 KiB
Plaintext

# ArgoCD Application — Auto-generated by hmcmkit infra-architect
# GitOps: Git Repo → ArgoCD Sync → Kubernetes Apply
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: ${project_name}-${environment}
namespace: argocd
labels:
app.kubernetes.io/managed-by: hmcmkit
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: ${git_repo_url}
targetRevision: ${target_branch}
path: infra/k8s/overlays/${environment}
helm:
valueFiles:
- values.yaml
destination:
server: https://kubernetes.default.svc
namespace: ${environment}
syncPolicy:
automated:
prune: true
selfHeal: true
allowEmpty: false
syncOptions:
- CreateNamespace=true
- PrunePropagationPolicy=foreground
retry:
limit: 3
backoff:
duration: 5s
factor: 2
maxDuration: 3m
---
# Argo Rollout for Canary Deploy (Production only)
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: ${project_name}-api
namespace: ${environment}
spec:
replicas: 3
strategy:
canary:
steps:
- setWeight: 10
- pause: { duration: 2m }
- setWeight: 25
- pause: { duration: 2m }
- setWeight: 50
- pause: { duration: 5m }
- setWeight: 100
canaryService: ${project_name}-api-canary
stableService: ${project_name}-api-stable
analysis:
templates:
- templateName: success-rate
startingStep: 2
args:
- name: service-name
value: ${project_name}-api
selector:
matchLabels:
app: ${project_name}-api
template:
metadata:
labels:
app: ${project_name}-api
spec:
containers:
- name: api
image: ${ecr_registry}/${project_name}:latest
ports:
- containerPort: 3000
resources:
requests: { cpu: "250m", memory: "256Mi" }
limits: { cpu: "500m", memory: "512Mi" }
livenessProbe:
httpGet: { path: /health, port: 3000 }
initialDelaySeconds: 10
readinessProbe:
httpGet: { path: /ready, port: 3000 }
initialDelaySeconds: 5