refactor(topics): 멀티 에이전트용 지식 재편 — _Common(공통 기본기) + Domain_* 구조

에이전트 8종(대화형/프로그래머 C·S/디자이너/설계자/기획자/QA/PD/PM)에게
[공통 기본 능력 + 롤별 Specialty] 2층으로 지식을 주입하기 위한 재분류.
문서 내용·포맷은 무수정, 폴더 이동만 (6,372개 문서 수 보존 확인).

- Topic_Programming → Domain_Programming (내부 구조 보존)
- Topic_Graphic → Domain_Design
- Topic_Business → Domain_Product
- Topic_General → Domain_General
- _Common 신설: Math(구 Topic_Math_Specialty), Reasoning(구 General/From_Thinking & Reasoning),
  Reasoning_Creativity(구 General/From_창의성), Communication(Poetic_Blog_Writing + From_writing)
- 타 도메인의 From_* 폴더는 유지 (출처 표기일 뿐, 이미 도메인에 맞게 분류된 문서)
- 빈 폴더 정리 (memory/procedures)
- 에이전트→폴더 매핑은 workspace의 .astra/agent-knowledge-map.json (9개 에이전트)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Antigravity Agent
2026-07-11 11:05:56 +09:00
parent 6549ead309
commit c24165b8bc
6193 changed files with 1717 additions and 31 deletions
@@ -0,0 +1,272 @@
---
id: devops-spinnaker-tekton
title: Spinnaker / Tekton — modern CI/CD pipelines
category: Coding
status: draft
source_trust_level: B
verification_status: conceptual
created_at: 2026-05-09
updated_at: 2026-05-09
tags: [devops, cicd, vibe-coding]
tech_stack: { language: "YAML", applicable_to: ["DevOps"] }
applied_in: []
aliases: [Spinnaker, Tekton, CI/CD pipeline, multi-cloud, continuous delivery, Netflix, K8s pipeline]
---
# Spinnaker / Tekton
> Modern CI/CD beyond Jenkins. **Spinnaker (multi-cloud), Tekton (K8s-native)**.
## 📖 핵심 개념
- Spinnaker: Netflix 의 multi-cloud CD.
- Tekton: K8s-native pipeline.
- 매 stage = container.
- GitOps 친화.
## 💻 코드 패턴
### Spinnaker pipeline (UI / JSON)
```json
{
"name": "Deploy",
"stages": [
{ "type": "bake", "package": "my-app", "baseOs": "ubuntu" },
{ "type": "deploy", "clusters": [{ "account": "aws", "region": "us-east-1" }] },
{ "type": "manualJudgment", "message": "Approve prod?" },
{ "type": "deploy", "clusters": [{ "account": "aws-prod" }] }
]
}
```
→ Multi-cloud (AWS, GCP, Azure, K8s).
### Spinnaker 의 강점
```
- Multi-cloud (이주 cluster).
- Canary (Kayenta automated analysis).
- Manual judgment (approval).
- Trigger (Jenkins, Docker, cron).
- Audit / RBAC.
```
### Tekton (K8s-native)
```yaml
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: build-deploy
spec:
tasks:
- name: build
taskRef: { name: build-image }
- name: deploy
runAfter: [build]
taskRef: { name: deploy-app }
```
```yaml
apiVersion: tekton.dev/v1
kind: Task
metadata:
name: build-image
spec:
steps:
- name: build
image: gcr.io/kaniko-project/executor
args: [--dockerfile=./Dockerfile, --destination=my-image]
```
→ 매 task = pod.
### PipelineRun
```yaml
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
name: pr-1
spec:
pipelineRef: { name: build-deploy }
```
→ Trigger.
### Tekton Triggers
```yaml
apiVersion: triggers.tekton.dev/v1beta1
kind: EventListener
metadata:
name: github-listener
spec:
triggers:
- name: github-push
interceptors:
- ref: { name: 'github' }
bindings:
- ref: { name: github-binding }
template:
ref: build-deploy-template
```
→ GitHub webhook 가 PipelineRun.
### vs Jenkins
```
Jenkins:
- Mature.
- Plugin 큰 ecosystem.
- Java VM.
- 큰 server.
Spinnaker:
- Multi-cloud first.
- Canary / blue-green.
- Netflix scale.
Tekton:
- K8s-native.
- 작은 (pod 별).
- GitOps.
```
→ K8s = Tekton.
Multi-cloud / 큰 enterprise = Spinnaker.
Legacy = Jenkins.
### vs GitHub Actions
```
GitHub Actions:
- GitHub 친화.
- Action marketplace.
- 작은-중간 project.
Tekton:
- K8s-native (자체 cluster).
- 큰 organization.
→ Modern startup = GHA.
큰 enterprise + K8s = Tekton.
```
### vs Argo Workflows
```
Argo Workflows:
- K8s-native (Tekton 와 비슷).
- DAG-based.
- 더 popular (Argo ecosystem).
Tekton:
- Linear pipeline.
- More 작은 + simpler.
→ Argo 가 더 powerful.
Tekton 가 더 simple.
```
### Spinnaker canary (Kayenta)
```json
{
"stages": [
{
"type": "kayentaCanary",
"canaryConfig": {
"metricsAccountName": "datadog",
"scoreThresholds": { "marginal": 75, "pass": 95 }
}
}
]
}
```
→ Datadog metrics 가 canary 의 OK / abort.
### Tekton + ArgoCD
```
1. PR merge → Tekton build image.
2. Tekton update Helm chart (git).
3. ArgoCD detect change → deploy.
→ Build (Tekton) + Deploy (ArgoCD).
```
### Spinnaker + ArgoCD
```
Spinnaker = orchestrator.
ArgoCD = K8s sync.
→ Spinnaker 가 multi-cluster orchestrate.
```
### Production
- **Netflix**: Spinnaker 의 creator.
- **Google**: 자체 (similar to Tekton).
- **Capital One**: Spinnaker.
- **IBM**: Tekton 의 contributor.
### When NOT?
```
Spinnaker:
- 작은 team (overkill).
- Single cloud (simpler tool).
Tekton:
- 작은 / non-K8s.
- GitHub-only (GHA 충분).
```
### Cost
```
Spinnaker: free (open) + 큰 운영 cost.
Tekton: free + K8s cost.
GitHub Actions: per-use.
Jenkins: free + 운영.
→ 운영 cost 가 큰 factor.
```
### Monitoring
```
- Pipeline duration.
- Failure rate.
- Queue depth.
- Stage-level metric.
→ Datadog / Prometheus.
```
### Best practice
```
1. Pipeline as code (git).
2. 매 stage 의 timeout.
3. Auto-rollback.
4. Manual approval (production).
5. Canary / blue-green.
6. Audit log.
```
## 🤔 의사결정 기준
| 상황 | 추천 |
|---|---|
| K8s-native | Tekton / Argo Workflows |
| Multi-cloud | Spinnaker |
| GitHub project | GitHub Actions |
| Legacy enterprise | Jenkins |
| 작은 startup | GHA / GitLab CI |
| Canary auto-analysis | Spinnaker (Kayenta) |
## ❌ 안티패턴
- **Spinnaker on single cloud**: overkill.
- **Tekton + non-K8s**: 잘못 선택.
- **모든 거 manual approval**: slow.
- **No timeout**: hang.
- **No audit**: incident response 어려움.
## 🤖 LLM 활용 힌트
- Spinnaker = multi-cloud + Netflix-scale.
- Tekton = K8s-native pipeline.
- Argo Workflows = Tekton 의 popular alternative.
- GitOps + Spinnaker / Tekton = production.
## 🔗 관련 문서
- [[DevOps_CI_CD_Pipeline_Patterns]]
- [[DevOps_ArgoCD_Apps_Deep]]
- [[DevOps_Argo_Rollouts]]