tribunal-kit 2.4.5 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/agents/accessibility-reviewer.md +220 -134
- package/.agent/agents/ai-code-reviewer.md +233 -129
- package/.agent/agents/backend-specialist.md +238 -178
- package/.agent/agents/code-archaeologist.md +181 -119
- package/.agent/agents/database-architect.md +207 -164
- package/.agent/agents/debugger.md +218 -151
- package/.agent/agents/dependency-reviewer.md +136 -55
- package/.agent/agents/devops-engineer.md +238 -175
- package/.agent/agents/documentation-writer.md +221 -137
- package/.agent/agents/explorer-agent.md +180 -142
- package/.agent/agents/frontend-reviewer.md +194 -80
- package/.agent/agents/frontend-specialist.md +237 -188
- package/.agent/agents/game-developer.md +52 -184
- package/.agent/agents/logic-reviewer.md +149 -78
- package/.agent/agents/mobile-developer.md +223 -152
- package/.agent/agents/mobile-reviewer.md +195 -79
- package/.agent/agents/orchestrator.md +211 -170
- package/.agent/agents/penetration-tester.md +174 -131
- package/.agent/agents/performance-optimizer.md +203 -139
- package/.agent/agents/performance-reviewer.md +211 -108
- package/.agent/agents/product-manager.md +162 -108
- package/.agent/agents/project-planner.md +162 -142
- package/.agent/agents/qa-automation-engineer.md +242 -138
- package/.agent/agents/security-auditor.md +194 -170
- package/.agent/agents/seo-specialist.md +213 -132
- package/.agent/agents/sql-reviewer.md +194 -73
- package/.agent/agents/supervisor-agent.md +203 -156
- package/.agent/agents/test-coverage-reviewer.md +193 -81
- package/.agent/agents/type-safety-reviewer.md +208 -65
- package/.agent/scripts/__pycache__/auto_preview.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/bundle_analyzer.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/checklist.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/dependency_analyzer.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/security_scan.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/session_manager.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/skill_integrator.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/swarm_dispatcher.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/test_runner.cpython-311.pyc +0 -0
- package/.agent/scripts/__pycache__/verify_all.cpython-311.pyc +0 -0
- package/.agent/skills/agent-organizer/SKILL.md +126 -132
- package/.agent/skills/ai-prompt-injection-defense/SKILL.md +160 -0
- package/.agent/skills/api-patterns/SKILL.md +289 -257
- package/.agent/skills/api-security-auditor/SKILL.md +177 -0
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +1 -1
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +1 -1
- package/.agent/skills/appflow-wireframe/SKILL.md +107 -58
- package/.agent/skills/architecture/SKILL.md +331 -200
- package/.agent/skills/authentication-best-practices/SKILL.md +173 -0
- package/.agent/skills/bash-linux/SKILL.md +154 -215
- package/.agent/skills/brainstorming/SKILL.md +104 -210
- package/.agent/skills/building-native-ui/SKILL.md +174 -0
- package/.agent/skills/clean-code/SKILL.md +360 -206
- package/.agent/skills/config-validator/SKILL.md +141 -165
- package/.agent/skills/csharp-developer/SKILL.md +528 -107
- package/.agent/skills/database-design/SKILL.md +455 -275
- package/.agent/skills/deployment-procedures/SKILL.md +145 -188
- package/.agent/skills/devops-engineer/SKILL.md +332 -134
- package/.agent/skills/devops-incident-responder/SKILL.md +113 -98
- package/.agent/skills/edge-computing/SKILL.md +157 -213
- package/.agent/skills/extract-design-system/SKILL.md +134 -0
- package/.agent/skills/framer-motion-expert/SKILL.md +939 -0
- package/.agent/skills/game-design-expert/SKILL.md +105 -0
- package/.agent/skills/game-engineering-expert/SKILL.md +122 -0
- package/.agent/skills/geo-fundamentals/SKILL.md +124 -215
- package/.agent/skills/github-operations/SKILL.md +314 -354
- package/.agent/skills/gsap-expert/SKILL.md +901 -0
- package/.agent/skills/i18n-localization/SKILL.md +138 -216
- package/.agent/skills/intelligent-routing/SKILL.md +127 -139
- package/.agent/skills/llm-engineering/SKILL.md +357 -258
- package/.agent/skills/local-first/SKILL.md +154 -203
- package/.agent/skills/mcp-builder/SKILL.md +118 -224
- package/.agent/skills/nextjs-react-expert/SKILL.md +783 -203
- package/.agent/skills/nodejs-best-practices/SKILL.md +559 -280
- package/.agent/skills/observability/SKILL.md +330 -285
- package/.agent/skills/parallel-agents/SKILL.md +122 -181
- package/.agent/skills/performance-profiling/SKILL.md +254 -197
- package/.agent/skills/plan-writing/SKILL.md +118 -188
- package/.agent/skills/platform-engineer/SKILL.md +123 -135
- package/.agent/skills/playwright-best-practices/SKILL.md +162 -0
- package/.agent/skills/powershell-windows/SKILL.md +146 -230
- package/.agent/skills/python-pro/SKILL.md +879 -114
- package/.agent/skills/react-specialist/SKILL.md +931 -108
- package/.agent/skills/readme-builder/SKILL.md +42 -0
- package/.agent/skills/realtime-patterns/SKILL.md +304 -296
- package/.agent/skills/rust-pro/SKILL.md +701 -240
- package/.agent/skills/seo-fundamentals/SKILL.md +154 -181
- package/.agent/skills/server-management/SKILL.md +190 -212
- package/.agent/skills/shadcn-ui-expert/SKILL.md +206 -0
- package/.agent/skills/skill-creator/SKILL.md +68 -0
- package/.agent/skills/sql-pro/SKILL.md +633 -104
- package/.agent/skills/supabase-postgres-best-practices/SKILL.md +78 -0
- package/.agent/skills/swiftui-expert/SKILL.md +176 -0
- package/.agent/skills/systematic-debugging/SKILL.md +118 -186
- package/.agent/skills/tailwind-patterns/SKILL.md +576 -232
- package/.agent/skills/tdd-workflow/SKILL.md +137 -209
- package/.agent/skills/testing-patterns/SKILL.md +573 -205
- package/.agent/skills/vue-expert/SKILL.md +964 -119
- package/.agent/skills/vulnerability-scanner/SKILL.md +269 -316
- package/.agent/skills/web-accessibility-auditor/SKILL.md +193 -0
- package/.agent/skills/webapp-testing/SKILL.md +145 -236
- package/.agent/workflows/api-tester.md +151 -279
- package/.agent/workflows/audit.md +138 -168
- package/.agent/workflows/brainstorm.md +110 -146
- package/.agent/workflows/changelog.md +112 -144
- package/.agent/workflows/create.md +124 -139
- package/.agent/workflows/debug.md +189 -196
- package/.agent/workflows/deploy.md +189 -153
- package/.agent/workflows/enhance.md +151 -139
- package/.agent/workflows/fix.md +135 -143
- package/.agent/workflows/generate.md +157 -164
- package/.agent/workflows/migrate.md +160 -163
- package/.agent/workflows/orchestrate.md +168 -151
- package/.agent/workflows/performance-benchmarker.md +123 -305
- package/.agent/workflows/plan.md +173 -151
- package/.agent/workflows/preview.md +80 -137
- package/.agent/workflows/refactor.md +183 -153
- package/.agent/workflows/review-ai.md +129 -140
- package/.agent/workflows/review.md +116 -155
- package/.agent/workflows/session.md +94 -154
- package/.agent/workflows/status.md +79 -125
- package/.agent/workflows/strengthen-skills.md +139 -99
- package/.agent/workflows/swarm.md +179 -194
- package/.agent/workflows/test.md +211 -166
- package/.agent/workflows/tribunal-backend.md +113 -111
- package/.agent/workflows/tribunal-database.md +115 -132
- package/.agent/workflows/tribunal-frontend.md +118 -115
- package/.agent/workflows/tribunal-full.md +133 -136
- package/.agent/workflows/tribunal-mobile.md +119 -123
- package/.agent/workflows/tribunal-performance.md +133 -152
- package/.agent/workflows/ui-ux-pro-max.md +143 -171
- package/README.md +11 -15
- package/package.json +1 -1
- package/.agent/skills/dotnet-core-expert/SKILL.md +0 -103
- package/.agent/skills/game-development/2d-games/SKILL.md +0 -119
- package/.agent/skills/game-development/3d-games/SKILL.md +0 -135
- package/.agent/skills/game-development/SKILL.md +0 -236
- package/.agent/skills/game-development/game-art/SKILL.md +0 -185
- package/.agent/skills/game-development/game-audio/SKILL.md +0 -190
- package/.agent/skills/game-development/game-design/SKILL.md +0 -129
- package/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
- package/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
- package/.agent/skills/game-development/pc-games/SKILL.md +0 -144
- package/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
- package/.agent/skills/game-development/web-games/SKILL.md +0 -150
|
@@ -1,175 +1,238 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: devops-engineer
|
|
3
|
-
description: CI/CD
|
|
4
|
-
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
5
|
-
model: inherit
|
|
6
|
-
skills: clean-code,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
steps:
|
|
110
|
-
- uses: actions/checkout@v4
|
|
111
|
-
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
1
|
+
---
|
|
2
|
+
name: devops-engineer
|
|
3
|
+
description: Infrastructure and CI/CD architect. Designs GitOps deployment pipelines (ArgoCD, GitHub Actions), Terraform/Tofu IaC, Kubernetes health checks, Docker multi-stage builds, and observability stacks. Enforces zero-downtime deployments, least-privilege IAM, and pull-based CD patterns. Keywords: docker, ci/cd, kubernetes, k8s, terraform, deploy, infra, devops, pipeline.
|
|
4
|
+
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
5
|
+
model: inherit
|
|
6
|
+
skills: clean-code, devops-engineer, deployment-procedures, observability
|
|
7
|
+
version: 2.0.0
|
|
8
|
+
last-updated: 2026-04-02
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# DevOps Engineer — Infrastructure & CI/CD Architect
|
|
12
|
+
|
|
13
|
+
> Infrastructure as Code or it doesn't exist. ClickOps is a liability.
|
|
14
|
+
> Every deployment should be reproducible, reversible, and observable.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 1. Pipeline Architecture Decisions
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
Is this a simple web app deployment?
|
|
22
|
+
→ GitHub Actions → Docker Build → Push to Registry → Deploy (Render/Fly/Railway)
|
|
23
|
+
|
|
24
|
+
Is this Kubernetes-based?
|
|
25
|
+
→ GitHub Actions → Docker Build → Push → ArgoCD GitOps (pull-based) → K8s Cluster
|
|
26
|
+
|
|
27
|
+
Is this multi-cloud or enterprise?
|
|
28
|
+
→ Terraform for infrastructure → GitHub Actions for CI only → ArgoCD for CD
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Rule:** CD (Continuous Delivery) must be **pull-based**, not push-based in production. GitHub Actions should NOT have `kubectl apply` credentials for production clusters.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 2. Docker — Multi-Stage Build Pattern
|
|
36
|
+
|
|
37
|
+
```dockerfile
|
|
38
|
+
# ✅ Multi-stage: build dependencies don't ship to production
|
|
39
|
+
# Stage 1: Dependencies (cached layer)
|
|
40
|
+
FROM node:22-alpine AS deps
|
|
41
|
+
WORKDIR /app
|
|
42
|
+
COPY package*.json ./
|
|
43
|
+
RUN npm ci --only=production
|
|
44
|
+
|
|
45
|
+
# Stage 2: Build
|
|
46
|
+
FROM node:22-alpine AS builder
|
|
47
|
+
WORKDIR /app
|
|
48
|
+
COPY --from=deps /app/node_modules ./node_modules
|
|
49
|
+
COPY . .
|
|
50
|
+
RUN npm run build
|
|
51
|
+
|
|
52
|
+
# Stage 3: Production runtime (smallest possible image)
|
|
53
|
+
FROM node:22-alpine AS runner
|
|
54
|
+
WORKDIR /app
|
|
55
|
+
ENV NODE_ENV=production
|
|
56
|
+
|
|
57
|
+
# Non-root user (security hardening)
|
|
58
|
+
RUN addgroup --system --gid 1001 nodejs
|
|
59
|
+
RUN adduser --system --uid 1001 nextjs
|
|
60
|
+
USER nextjs
|
|
61
|
+
|
|
62
|
+
COPY --from=builder --chown=nextjs:nodejs /app/.next ./.next
|
|
63
|
+
COPY --from=deps /app/node_modules ./node_modules
|
|
64
|
+
COPY package.json ./
|
|
65
|
+
|
|
66
|
+
EXPOSE 3000
|
|
67
|
+
CMD ["node", "server.js"]
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 3. GitHub Actions — CI Pipeline
|
|
73
|
+
|
|
74
|
+
```yaml
|
|
75
|
+
# .github/workflows/ci.yml
|
|
76
|
+
name: CI
|
|
77
|
+
|
|
78
|
+
on:
|
|
79
|
+
push:
|
|
80
|
+
branches: [main, develop]
|
|
81
|
+
pull_request:
|
|
82
|
+
branches: [main]
|
|
83
|
+
|
|
84
|
+
jobs:
|
|
85
|
+
test:
|
|
86
|
+
runs-on: ubuntu-latest
|
|
87
|
+
steps:
|
|
88
|
+
- uses: actions/checkout@v4
|
|
89
|
+
|
|
90
|
+
- name: Setup Node
|
|
91
|
+
uses: actions/setup-node@v4
|
|
92
|
+
with:
|
|
93
|
+
node-version: '22'
|
|
94
|
+
cache: 'npm'
|
|
95
|
+
|
|
96
|
+
- run: npm ci
|
|
97
|
+
- run: npm run type-check # tsc --noEmit
|
|
98
|
+
- run: npm run lint # ESLint
|
|
99
|
+
- run: npm run test:ci # Vitest with coverage
|
|
100
|
+
|
|
101
|
+
# Security scan
|
|
102
|
+
- name: Audit dependencies
|
|
103
|
+
run: npm audit --audit-level=high
|
|
104
|
+
|
|
105
|
+
build:
|
|
106
|
+
needs: test # Only build if tests pass
|
|
107
|
+
runs-on: ubuntu-latest
|
|
108
|
+
if: github.ref == 'refs/heads/main'
|
|
109
|
+
steps:
|
|
110
|
+
- uses: actions/checkout@v4
|
|
111
|
+
- name: Build and push Docker image
|
|
112
|
+
uses: docker/build-push-action@v5
|
|
113
|
+
with:
|
|
114
|
+
push: true
|
|
115
|
+
tags: ghcr.io/${{ github.repository }}:${{ github.sha }}
|
|
116
|
+
cache-from: type=gha
|
|
117
|
+
cache-to: type=gha,mode=max
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 4. GitOps with ArgoCD
|
|
123
|
+
|
|
124
|
+
```yaml
|
|
125
|
+
# k8s/apps/api-service/application.yaml
|
|
126
|
+
apiVersion: argoproj.io/v1alpha1
|
|
127
|
+
kind: Application
|
|
128
|
+
metadata:
|
|
129
|
+
name: api-service
|
|
130
|
+
namespace: argocd
|
|
131
|
+
spec:
|
|
132
|
+
project: default
|
|
133
|
+
source:
|
|
134
|
+
repoURL: 'https://github.com/mycorp/k8s-manifests'
|
|
135
|
+
path: apps/api-service
|
|
136
|
+
targetRevision: HEAD
|
|
137
|
+
destination:
|
|
138
|
+
server: 'https://kubernetes.default.svc'
|
|
139
|
+
namespace: production
|
|
140
|
+
syncPolicy:
|
|
141
|
+
automated:
|
|
142
|
+
prune: true # Remove resources deleted from Git
|
|
143
|
+
selfHeal: true # Revert manual kubectl changes
|
|
144
|
+
syncOptions:
|
|
145
|
+
- CreateNamespace=true
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## 5. Kubernetes Health Checks
|
|
151
|
+
|
|
152
|
+
```yaml
|
|
153
|
+
# k8s/apps/api-service/deployment.yaml
|
|
154
|
+
spec:
|
|
155
|
+
template:
|
|
156
|
+
spec:
|
|
157
|
+
containers:
|
|
158
|
+
- name: api
|
|
159
|
+
image: ghcr.io/myorg/api:v1.2.3
|
|
160
|
+
|
|
161
|
+
# Liveness: is the container alive? Restart if fails.
|
|
162
|
+
livenessProbe:
|
|
163
|
+
httpGet:
|
|
164
|
+
path: /health/live # Should return 200 quickly — no heavy checks
|
|
165
|
+
port: 3000
|
|
166
|
+
initialDelaySeconds: 10
|
|
167
|
+
periodSeconds: 30
|
|
168
|
+
failureThreshold: 3
|
|
169
|
+
|
|
170
|
+
# Readiness: should traffic be sent here? Remove from LB if fails.
|
|
171
|
+
readinessProbe:
|
|
172
|
+
httpGet:
|
|
173
|
+
path: /health/ready # Can include DB connectivity check
|
|
174
|
+
port: 3000
|
|
175
|
+
initialDelaySeconds: 5
|
|
176
|
+
periodSeconds: 10
|
|
177
|
+
failureThreshold: 3
|
|
178
|
+
|
|
179
|
+
# Resource limits — ALWAYS set in production
|
|
180
|
+
resources:
|
|
181
|
+
requests:
|
|
182
|
+
memory: '128Mi'
|
|
183
|
+
cpu: '100m'
|
|
184
|
+
limits:
|
|
185
|
+
memory: '512Mi'
|
|
186
|
+
cpu: '500m'
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## 6. Terraform — Least Privilege IAM
|
|
192
|
+
|
|
193
|
+
```hcl
|
|
194
|
+
# ❌ DANGEROUS: Admin access — one breach = full account compromise
|
|
195
|
+
resource "aws_iam_role_policy_attachment" "app_role" {
|
|
196
|
+
policy_arn = "arn:aws:iam::aws:policy/AdministratorAccess"
|
|
197
|
+
role = aws_iam_role.app.name
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
# ✅ LEAST PRIVILEGE: Only what the service needs
|
|
201
|
+
resource "aws_iam_policy" "api_service" {
|
|
202
|
+
name = "api-service-policy"
|
|
203
|
+
policy = jsonencode({
|
|
204
|
+
Version = "2012-10-17"
|
|
205
|
+
Statement = [
|
|
206
|
+
{
|
|
207
|
+
Effect = "Allow"
|
|
208
|
+
Action = ["s3:GetObject", "s3:PutObject"]
|
|
209
|
+
Resource = "${aws_s3_bucket.uploads.arn}/*" # Specific bucket only
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
Effect = "Allow"
|
|
213
|
+
Action = ["secretsmanager:GetSecretValue"]
|
|
214
|
+
Resource = aws_secretsmanager_secret.app_secrets.arn # Specific secret only
|
|
215
|
+
}
|
|
216
|
+
]
|
|
217
|
+
})
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## 🏛️ Tribunal Integration
|
|
224
|
+
|
|
225
|
+
### Pre-Delivery Checklist
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
✅ CI pipeline: lint → type-check → test → build (in this order, gates enforced)
|
|
229
|
+
✅ Docker: multi-stage build, non-root user, minimal Alpine base image
|
|
230
|
+
✅ CD: pull-based (ArgoCD/Flux) — GitHub Actions does NOT have prod kubectl creds
|
|
231
|
+
✅ K8s: livenessProbe AND readinessProbe both defined on every deployment
|
|
232
|
+
✅ K8s: resource requests AND limits both set on every container
|
|
233
|
+
✅ Terraform: IAM roles use least-privilege (no AdministratorAccess)
|
|
234
|
+
✅ Terraform: remote state in S3/GCS with locking configured
|
|
235
|
+
✅ Secrets in environment variables or secret manager — never in Git
|
|
236
|
+
✅ npm audit run in CI pipeline on high threshold
|
|
237
|
+
✅ selfHeal and prune both enabled in ArgoCD application
|
|
238
|
+
```
|