claude-autopm 2.7.0 → 2.8.2
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/README.md +307 -56
- package/autopm/.claude/.env +158 -0
- package/autopm/.claude/settings.local.json +9 -0
- package/bin/autopm.js +11 -2
- package/bin/commands/epic.js +23 -3
- package/bin/commands/plugin.js +395 -0
- package/bin/commands/team.js +184 -10
- package/install/install.js +223 -4
- package/lib/cli/commands/issue.js +360 -20
- package/lib/plugins/PluginManager.js +1328 -0
- package/lib/plugins/PluginManager.old.js +400 -0
- package/lib/providers/AzureDevOpsProvider.js +575 -0
- package/lib/providers/GitHubProvider.js +475 -0
- package/lib/services/EpicService.js +1092 -3
- package/lib/services/IssueService.js +991 -0
- package/package.json +9 -1
- package/scripts/publish-plugins.sh +166 -0
- package/autopm/.claude/agents/cloud/README.md +0 -55
- package/autopm/.claude/agents/cloud/aws-cloud-architect.md +0 -521
- package/autopm/.claude/agents/cloud/azure-cloud-architect.md +0 -436
- package/autopm/.claude/agents/cloud/gcp-cloud-architect.md +0 -385
- package/autopm/.claude/agents/cloud/gcp-cloud-functions-engineer.md +0 -306
- package/autopm/.claude/agents/cloud/gemini-api-expert.md +0 -880
- package/autopm/.claude/agents/cloud/kubernetes-orchestrator.md +0 -566
- package/autopm/.claude/agents/cloud/openai-python-expert.md +0 -1087
- package/autopm/.claude/agents/cloud/terraform-infrastructure-expert.md +0 -454
- package/autopm/.claude/agents/core/agent-manager.md +0 -296
- package/autopm/.claude/agents/core/code-analyzer.md +0 -131
- package/autopm/.claude/agents/core/file-analyzer.md +0 -162
- package/autopm/.claude/agents/core/test-runner.md +0 -200
- package/autopm/.claude/agents/data/airflow-orchestration-expert.md +0 -52
- package/autopm/.claude/agents/data/kedro-pipeline-expert.md +0 -50
- package/autopm/.claude/agents/data/langgraph-workflow-expert.md +0 -520
- package/autopm/.claude/agents/databases/README.md +0 -50
- package/autopm/.claude/agents/databases/bigquery-expert.md +0 -392
- package/autopm/.claude/agents/databases/cosmosdb-expert.md +0 -368
- package/autopm/.claude/agents/databases/mongodb-expert.md +0 -398
- package/autopm/.claude/agents/databases/postgresql-expert.md +0 -321
- package/autopm/.claude/agents/databases/redis-expert.md +0 -52
- package/autopm/.claude/agents/devops/README.md +0 -52
- package/autopm/.claude/agents/devops/azure-devops-specialist.md +0 -308
- package/autopm/.claude/agents/devops/docker-containerization-expert.md +0 -298
- package/autopm/.claude/agents/devops/github-operations-specialist.md +0 -335
- package/autopm/.claude/agents/devops/mcp-context-manager.md +0 -319
- package/autopm/.claude/agents/devops/observability-engineer.md +0 -574
- package/autopm/.claude/agents/devops/ssh-operations-expert.md +0 -1093
- package/autopm/.claude/agents/devops/traefik-proxy-expert.md +0 -444
- package/autopm/.claude/agents/frameworks/README.md +0 -64
- package/autopm/.claude/agents/frameworks/e2e-test-engineer.md +0 -360
- package/autopm/.claude/agents/frameworks/nats-messaging-expert.md +0 -254
- package/autopm/.claude/agents/frameworks/react-frontend-engineer.md +0 -217
- package/autopm/.claude/agents/frameworks/react-ui-expert.md +0 -226
- package/autopm/.claude/agents/frameworks/tailwindcss-expert.md +0 -770
- package/autopm/.claude/agents/frameworks/ux-design-expert.md +0 -244
- package/autopm/.claude/agents/integration/message-queue-engineer.md +0 -794
- package/autopm/.claude/agents/languages/README.md +0 -50
- package/autopm/.claude/agents/languages/bash-scripting-expert.md +0 -541
- package/autopm/.claude/agents/languages/javascript-frontend-engineer.md +0 -197
- package/autopm/.claude/agents/languages/nodejs-backend-engineer.md +0 -226
- package/autopm/.claude/agents/languages/python-backend-engineer.md +0 -214
- package/autopm/.claude/agents/languages/python-backend-expert.md +0 -289
- package/autopm/.claude/agents/testing/frontend-testing-engineer.md +0 -395
- package/autopm/.claude/commands/ai/langgraph-workflow.md +0 -65
- package/autopm/.claude/commands/ai/openai-chat.md +0 -65
- package/autopm/.claude/commands/azure/COMMANDS.md +0 -107
- package/autopm/.claude/commands/azure/COMMAND_MAPPING.md +0 -252
- package/autopm/.claude/commands/azure/INTEGRATION_FIX.md +0 -103
- package/autopm/.claude/commands/azure/README.md +0 -246
- package/autopm/.claude/commands/azure/active-work.md +0 -198
- package/autopm/.claude/commands/azure/aliases.md +0 -143
- package/autopm/.claude/commands/azure/blocked-items.md +0 -287
- package/autopm/.claude/commands/azure/clean.md +0 -93
- package/autopm/.claude/commands/azure/docs-query.md +0 -48
- package/autopm/.claude/commands/azure/feature-decompose.md +0 -380
- package/autopm/.claude/commands/azure/feature-list.md +0 -61
- package/autopm/.claude/commands/azure/feature-new.md +0 -115
- package/autopm/.claude/commands/azure/feature-show.md +0 -205
- package/autopm/.claude/commands/azure/feature-start.md +0 -130
- package/autopm/.claude/commands/azure/fix-integration-example.md +0 -93
- package/autopm/.claude/commands/azure/help.md +0 -150
- package/autopm/.claude/commands/azure/import-us.md +0 -269
- package/autopm/.claude/commands/azure/init.md +0 -211
- package/autopm/.claude/commands/azure/next-task.md +0 -262
- package/autopm/.claude/commands/azure/search.md +0 -160
- package/autopm/.claude/commands/azure/sprint-status.md +0 -235
- package/autopm/.claude/commands/azure/standup.md +0 -260
- package/autopm/.claude/commands/azure/sync-all.md +0 -99
- package/autopm/.claude/commands/azure/task-analyze.md +0 -186
- package/autopm/.claude/commands/azure/task-close.md +0 -329
- package/autopm/.claude/commands/azure/task-edit.md +0 -145
- package/autopm/.claude/commands/azure/task-list.md +0 -263
- package/autopm/.claude/commands/azure/task-new.md +0 -84
- package/autopm/.claude/commands/azure/task-reopen.md +0 -79
- package/autopm/.claude/commands/azure/task-show.md +0 -126
- package/autopm/.claude/commands/azure/task-start.md +0 -301
- package/autopm/.claude/commands/azure/task-status.md +0 -65
- package/autopm/.claude/commands/azure/task-sync.md +0 -67
- package/autopm/.claude/commands/azure/us-edit.md +0 -164
- package/autopm/.claude/commands/azure/us-list.md +0 -202
- package/autopm/.claude/commands/azure/us-new.md +0 -265
- package/autopm/.claude/commands/azure/us-parse.md +0 -253
- package/autopm/.claude/commands/azure/us-show.md +0 -188
- package/autopm/.claude/commands/azure/us-status.md +0 -320
- package/autopm/.claude/commands/azure/validate.md +0 -86
- package/autopm/.claude/commands/azure/work-item-sync.md +0 -47
- package/autopm/.claude/commands/cloud/infra-deploy.md +0 -38
- package/autopm/.claude/commands/github/workflow-create.md +0 -42
- package/autopm/.claude/commands/infrastructure/ssh-security.md +0 -65
- package/autopm/.claude/commands/infrastructure/traefik-setup.md +0 -65
- package/autopm/.claude/commands/kubernetes/deploy.md +0 -37
- package/autopm/.claude/commands/playwright/test-scaffold.md +0 -38
- package/autopm/.claude/commands/pm/blocked.md +0 -28
- package/autopm/.claude/commands/pm/clean.md +0 -119
- package/autopm/.claude/commands/pm/context-create.md +0 -136
- package/autopm/.claude/commands/pm/context-prime.md +0 -170
- package/autopm/.claude/commands/pm/context-update.md +0 -292
- package/autopm/.claude/commands/pm/context.md +0 -28
- package/autopm/.claude/commands/pm/epic-close.md +0 -86
- package/autopm/.claude/commands/pm/epic-decompose.md +0 -370
- package/autopm/.claude/commands/pm/epic-edit.md +0 -83
- package/autopm/.claude/commands/pm/epic-list.md +0 -30
- package/autopm/.claude/commands/pm/epic-merge.md +0 -222
- package/autopm/.claude/commands/pm/epic-oneshot.md +0 -119
- package/autopm/.claude/commands/pm/epic-refresh.md +0 -119
- package/autopm/.claude/commands/pm/epic-show.md +0 -28
- package/autopm/.claude/commands/pm/epic-split.md +0 -120
- package/autopm/.claude/commands/pm/epic-start.md +0 -195
- package/autopm/.claude/commands/pm/epic-status.md +0 -28
- package/autopm/.claude/commands/pm/epic-sync-modular.md +0 -338
- package/autopm/.claude/commands/pm/epic-sync-original.md +0 -473
- package/autopm/.claude/commands/pm/epic-sync.md +0 -486
- package/autopm/.claude/commands/pm/help.md +0 -28
- package/autopm/.claude/commands/pm/import.md +0 -115
- package/autopm/.claude/commands/pm/in-progress.md +0 -28
- package/autopm/.claude/commands/pm/init.md +0 -28
- package/autopm/.claude/commands/pm/issue-analyze.md +0 -202
- package/autopm/.claude/commands/pm/issue-close.md +0 -119
- package/autopm/.claude/commands/pm/issue-edit.md +0 -93
- package/autopm/.claude/commands/pm/issue-reopen.md +0 -87
- package/autopm/.claude/commands/pm/issue-show.md +0 -41
- package/autopm/.claude/commands/pm/issue-start.md +0 -234
- package/autopm/.claude/commands/pm/issue-status.md +0 -95
- package/autopm/.claude/commands/pm/issue-sync.md +0 -411
- package/autopm/.claude/commands/pm/next.md +0 -28
- package/autopm/.claude/commands/pm/prd-edit.md +0 -82
- package/autopm/.claude/commands/pm/prd-list.md +0 -28
- package/autopm/.claude/commands/pm/prd-new.md +0 -55
- package/autopm/.claude/commands/pm/prd-parse.md +0 -42
- package/autopm/.claude/commands/pm/prd-status.md +0 -28
- package/autopm/.claude/commands/pm/search.md +0 -28
- package/autopm/.claude/commands/pm/standup.md +0 -28
- package/autopm/.claude/commands/pm/status.md +0 -28
- package/autopm/.claude/commands/pm/sync.md +0 -99
- package/autopm/.claude/commands/pm/test-reference-update.md +0 -151
- package/autopm/.claude/commands/pm/validate.md +0 -28
- package/autopm/.claude/commands/pm/what-next.md +0 -28
- package/autopm/.claude/commands/python/api-scaffold.md +0 -50
- package/autopm/.claude/commands/python/docs-query.md +0 -48
- package/autopm/.claude/commands/react/app-scaffold.md +0 -50
- package/autopm/.claude/commands/testing/prime.md +0 -314
- package/autopm/.claude/commands/testing/run.md +0 -125
- package/autopm/.claude/commands/ui/bootstrap-scaffold.md +0 -65
- package/autopm/.claude/commands/ui/tailwind-system.md +0 -64
- package/autopm/.claude/rules/ai-integration-patterns.md +0 -219
- package/autopm/.claude/rules/ci-cd-kubernetes-strategy.md +0 -25
- package/autopm/.claude/rules/database-management-strategy.md +0 -17
- package/autopm/.claude/rules/database-pipeline.md +0 -94
- package/autopm/.claude/rules/devops-troubleshooting-playbook.md +0 -450
- package/autopm/.claude/rules/docker-first-development.md +0 -404
- package/autopm/.claude/rules/infrastructure-pipeline.md +0 -128
- package/autopm/.claude/rules/performance-guidelines.md +0 -403
- package/autopm/.claude/rules/ui-development-standards.md +0 -281
- package/autopm/.claude/rules/ui-framework-rules.md +0 -151
- package/autopm/.claude/rules/ux-design-rules.md +0 -209
- package/autopm/.claude/rules/visual-testing.md +0 -223
- package/autopm/.claude/scripts/azure/README.md +0 -192
- package/autopm/.claude/scripts/azure/active-work.js +0 -524
- package/autopm/.claude/scripts/azure/active-work.sh +0 -20
- package/autopm/.claude/scripts/azure/blocked.js +0 -520
- package/autopm/.claude/scripts/azure/blocked.sh +0 -20
- package/autopm/.claude/scripts/azure/daily.js +0 -533
- package/autopm/.claude/scripts/azure/daily.sh +0 -20
- package/autopm/.claude/scripts/azure/dashboard.js +0 -970
- package/autopm/.claude/scripts/azure/dashboard.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-list.js +0 -254
- package/autopm/.claude/scripts/azure/feature-list.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-show.js +0 -7
- package/autopm/.claude/scripts/azure/feature-show.sh +0 -20
- package/autopm/.claude/scripts/azure/feature-status.js +0 -604
- package/autopm/.claude/scripts/azure/feature-status.sh +0 -20
- package/autopm/.claude/scripts/azure/help.js +0 -342
- package/autopm/.claude/scripts/azure/help.sh +0 -20
- package/autopm/.claude/scripts/azure/next-task.js +0 -508
- package/autopm/.claude/scripts/azure/next-task.sh +0 -20
- package/autopm/.claude/scripts/azure/search.js +0 -469
- package/autopm/.claude/scripts/azure/search.sh +0 -20
- package/autopm/.claude/scripts/azure/setup.js +0 -745
- package/autopm/.claude/scripts/azure/setup.sh +0 -20
- package/autopm/.claude/scripts/azure/sprint-report.js +0 -1012
- package/autopm/.claude/scripts/azure/sprint-report.sh +0 -20
- package/autopm/.claude/scripts/azure/sync.js +0 -563
- package/autopm/.claude/scripts/azure/sync.sh +0 -20
- package/autopm/.claude/scripts/azure/us-list.js +0 -210
- package/autopm/.claude/scripts/azure/us-list.sh +0 -20
- package/autopm/.claude/scripts/azure/us-status.js +0 -238
- package/autopm/.claude/scripts/azure/us-status.sh +0 -20
- package/autopm/.claude/scripts/azure/validate.js +0 -626
- package/autopm/.claude/scripts/azure/validate.sh +0 -20
- package/autopm/.claude/scripts/azure/wrapper-template.sh +0 -20
- package/autopm/.claude/scripts/github/dependency-tracker.js +0 -554
- package/autopm/.claude/scripts/github/dependency-validator.js +0 -545
- package/autopm/.claude/scripts/github/dependency-visualizer.js +0 -477
- package/autopm/.claude/scripts/pm/analytics.js +0 -425
- package/autopm/.claude/scripts/pm/blocked.js +0 -164
- package/autopm/.claude/scripts/pm/blocked.sh +0 -78
- package/autopm/.claude/scripts/pm/clean.js +0 -464
- package/autopm/.claude/scripts/pm/context-create.js +0 -216
- package/autopm/.claude/scripts/pm/context-prime.js +0 -335
- package/autopm/.claude/scripts/pm/context-update.js +0 -344
- package/autopm/.claude/scripts/pm/context.js +0 -338
- package/autopm/.claude/scripts/pm/epic-close.js +0 -347
- package/autopm/.claude/scripts/pm/epic-edit.js +0 -382
- package/autopm/.claude/scripts/pm/epic-list.js +0 -273
- package/autopm/.claude/scripts/pm/epic-list.sh +0 -109
- package/autopm/.claude/scripts/pm/epic-show.js +0 -291
- package/autopm/.claude/scripts/pm/epic-show.sh +0 -105
- package/autopm/.claude/scripts/pm/epic-split.js +0 -522
- package/autopm/.claude/scripts/pm/epic-start/epic-start.js +0 -183
- package/autopm/.claude/scripts/pm/epic-start/epic-start.sh +0 -94
- package/autopm/.claude/scripts/pm/epic-status.js +0 -291
- package/autopm/.claude/scripts/pm/epic-status.sh +0 -104
- package/autopm/.claude/scripts/pm/epic-sync/README.md +0 -208
- package/autopm/.claude/scripts/pm/epic-sync/create-epic-issue.sh +0 -77
- package/autopm/.claude/scripts/pm/epic-sync/create-task-issues.sh +0 -86
- package/autopm/.claude/scripts/pm/epic-sync/update-epic-file.sh +0 -79
- package/autopm/.claude/scripts/pm/epic-sync/update-references.sh +0 -89
- package/autopm/.claude/scripts/pm/epic-sync.sh +0 -137
- package/autopm/.claude/scripts/pm/help.js +0 -92
- package/autopm/.claude/scripts/pm/help.sh +0 -90
- package/autopm/.claude/scripts/pm/in-progress.js +0 -178
- package/autopm/.claude/scripts/pm/in-progress.sh +0 -93
- package/autopm/.claude/scripts/pm/init.js +0 -321
- package/autopm/.claude/scripts/pm/init.sh +0 -178
- package/autopm/.claude/scripts/pm/issue-close.js +0 -232
- package/autopm/.claude/scripts/pm/issue-edit.js +0 -310
- package/autopm/.claude/scripts/pm/issue-show.js +0 -272
- package/autopm/.claude/scripts/pm/issue-start.js +0 -181
- package/autopm/.claude/scripts/pm/issue-sync/format-comment.sh +0 -468
- package/autopm/.claude/scripts/pm/issue-sync/gather-updates.sh +0 -460
- package/autopm/.claude/scripts/pm/issue-sync/post-comment.sh +0 -330
- package/autopm/.claude/scripts/pm/issue-sync/preflight-validation.sh +0 -348
- package/autopm/.claude/scripts/pm/issue-sync/update-frontmatter.sh +0 -387
- package/autopm/.claude/scripts/pm/lib/README.md +0 -85
- package/autopm/.claude/scripts/pm/lib/epic-discovery.js +0 -119
- package/autopm/.claude/scripts/pm/lib/logger.js +0 -78
- package/autopm/.claude/scripts/pm/next.js +0 -189
- package/autopm/.claude/scripts/pm/next.sh +0 -72
- package/autopm/.claude/scripts/pm/optimize.js +0 -407
- package/autopm/.claude/scripts/pm/pr-create.js +0 -337
- package/autopm/.claude/scripts/pm/pr-list.js +0 -257
- package/autopm/.claude/scripts/pm/prd-list.js +0 -242
- package/autopm/.claude/scripts/pm/prd-list.sh +0 -103
- package/autopm/.claude/scripts/pm/prd-new.js +0 -684
- package/autopm/.claude/scripts/pm/prd-parse.js +0 -547
- package/autopm/.claude/scripts/pm/prd-status.js +0 -152
- package/autopm/.claude/scripts/pm/prd-status.sh +0 -63
- package/autopm/.claude/scripts/pm/release.js +0 -460
- package/autopm/.claude/scripts/pm/search.js +0 -192
- package/autopm/.claude/scripts/pm/search.sh +0 -89
- package/autopm/.claude/scripts/pm/standup.js +0 -362
- package/autopm/.claude/scripts/pm/standup.sh +0 -95
- package/autopm/.claude/scripts/pm/status.js +0 -148
- package/autopm/.claude/scripts/pm/status.sh +0 -59
- package/autopm/.claude/scripts/pm/sync-batch.js +0 -337
- package/autopm/.claude/scripts/pm/sync.js +0 -343
- package/autopm/.claude/scripts/pm/template-list.js +0 -141
- package/autopm/.claude/scripts/pm/template-new.js +0 -366
- package/autopm/.claude/scripts/pm/validate.js +0 -274
- package/autopm/.claude/scripts/pm/validate.sh +0 -106
- package/autopm/.claude/scripts/pm/what-next.js +0 -660
- package/bin/node/azure-feature-show.js +0 -7
|
@@ -1,566 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: kubernetes-orchestrator
|
|
3
|
-
description: Use this agent when you need to design, deploy, or manage Kubernetes clusters and workloads. This includes deployments, services, ingress, operators, helm charts, and GitOps workflows. Examples: <example>Context: User needs to deploy microservices to Kubernetes. user: 'I need to deploy my microservices app with proper scaling and monitoring' assistant: 'I'll use the kubernetes-orchestrator agent to create Kubernetes manifests with proper deployments, services, and monitoring setup' <commentary>Since this involves Kubernetes orchestration and deployment, use the kubernetes-orchestrator agent.</commentary></example> <example>Context: User wants to implement GitOps with ArgoCD. user: 'Can you help me set up GitOps workflow with ArgoCD for my K8s cluster?' assistant: 'Let me use the kubernetes-orchestrator agent to implement a complete GitOps workflow with ArgoCD for continuous deployment' <commentary>Since this involves Kubernetes GitOps setup, use the kubernetes-orchestrator agent.</commentary></example>
|
|
4
|
-
tools: Bash, Glob, Grep, LS, Read, WebFetch, TodoWrite, WebSearch, Edit, Write, MultiEdit, Task, Agent
|
|
5
|
-
model: inherit
|
|
6
|
-
color: blue
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
You are a Kubernetes orchestration specialist with deep expertise in container orchestration, cloud-native applications, and DevOps practices. Your mission is to design and manage scalable, resilient, and secure Kubernetes deployments following cloud-native best practices.
|
|
10
|
-
|
|
11
|
-
**Documentation Access via MCP Context7:**
|
|
12
|
-
|
|
13
|
-
Before implementing any Kubernetes solution, access live documentation through context7:
|
|
14
|
-
|
|
15
|
-
- **Kubernetes API**: Latest API versions, resources, and operators
|
|
16
|
-
- **Helm Charts**: Chart patterns and best practices
|
|
17
|
-
- **Service Mesh**: Istio, Linkerd configurations
|
|
18
|
-
- **GitOps**: ArgoCD, Flux patterns
|
|
19
|
-
- **Monitoring**: Prometheus, Grafana setups
|
|
20
|
-
|
|
21
|
-
**Documentation Queries:**
|
|
22
|
-
- `mcp://context7/kubernetes/core` - Core Kubernetes resources
|
|
23
|
-
- `mcp://context7/helm/charts` - Helm chart development
|
|
24
|
-
- `mcp://context7/kubernetes/operators` - Operator patterns
|
|
25
|
-
|
|
26
|
-
**Core Expertise:**
|
|
27
|
-
|
|
28
|
-
1. **Kubernetes Resources**:
|
|
29
|
-
- Deployments, StatefulSets, DaemonSets
|
|
30
|
-
- Services, Ingress, NetworkPolicies
|
|
31
|
-
- ConfigMaps, Secrets, PersistentVolumes
|
|
32
|
-
- Jobs, CronJobs, and batch processing
|
|
33
|
-
- Custom Resource Definitions (CRDs)
|
|
34
|
-
- RBAC and security policies
|
|
35
|
-
|
|
36
|
-
2. **Container Management**:
|
|
37
|
-
- Multi-container pod patterns
|
|
38
|
-
- Init containers and sidecars
|
|
39
|
-
- Resource limits and requests
|
|
40
|
-
- Liveness and readiness probes
|
|
41
|
-
- Pod disruption budgets
|
|
42
|
-
- Node affinity and taints
|
|
43
|
-
|
|
44
|
-
3. **Helm & Package Management**:
|
|
45
|
-
- Helm chart development
|
|
46
|
-
- Template functions and values
|
|
47
|
-
- Chart dependencies and repositories
|
|
48
|
-
- Helmfile for environment management
|
|
49
|
-
- Kustomize overlays
|
|
50
|
-
- Operator Lifecycle Manager
|
|
51
|
-
|
|
52
|
-
4. **GitOps & CI/CD**:
|
|
53
|
-
- ArgoCD application management
|
|
54
|
-
- Flux v2 configurations
|
|
55
|
-
- Progressive delivery with Flagger
|
|
56
|
-
- Sealed Secrets management
|
|
57
|
-
- Multi-cluster deployments
|
|
58
|
-
- Blue-green and canary deployments
|
|
59
|
-
|
|
60
|
-
**Kubernetes Manifest Templates:**
|
|
61
|
-
|
|
62
|
-
```yaml
|
|
63
|
-
# Deployment with best practices
|
|
64
|
-
apiVersion: apps/v1
|
|
65
|
-
kind: Deployment
|
|
66
|
-
metadata:
|
|
67
|
-
name: {{ .Values.app.name }}
|
|
68
|
-
namespace: {{ .Values.namespace }}
|
|
69
|
-
labels:
|
|
70
|
-
app: {{ .Values.app.name }}
|
|
71
|
-
version: {{ .Values.app.version }}
|
|
72
|
-
environment: {{ .Values.environment }}
|
|
73
|
-
spec:
|
|
74
|
-
replicas: {{ .Values.replicas.min }}
|
|
75
|
-
revisionHistoryLimit: 3
|
|
76
|
-
strategy:
|
|
77
|
-
type: RollingUpdate
|
|
78
|
-
rollingUpdate:
|
|
79
|
-
maxSurge: 1
|
|
80
|
-
maxUnavailable: 0
|
|
81
|
-
selector:
|
|
82
|
-
matchLabels:
|
|
83
|
-
app: {{ .Values.app.name }}
|
|
84
|
-
template:
|
|
85
|
-
metadata:
|
|
86
|
-
labels:
|
|
87
|
-
app: {{ .Values.app.name }}
|
|
88
|
-
version: {{ .Values.app.version }}
|
|
89
|
-
annotations:
|
|
90
|
-
prometheus.io/scrape: "true"
|
|
91
|
-
prometheus.io/port: "8080"
|
|
92
|
-
prometheus.io/path: "/metrics"
|
|
93
|
-
spec:
|
|
94
|
-
serviceAccountName: {{ .Values.app.name }}
|
|
95
|
-
securityContext:
|
|
96
|
-
runAsNonRoot: true
|
|
97
|
-
runAsUser: 1000
|
|
98
|
-
fsGroup: 1000
|
|
99
|
-
containers:
|
|
100
|
-
- name: {{ .Values.app.name }}
|
|
101
|
-
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
|
|
102
|
-
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
103
|
-
ports:
|
|
104
|
-
- name: http
|
|
105
|
-
containerPort: 8080
|
|
106
|
-
protocol: TCP
|
|
107
|
-
env:
|
|
108
|
-
- name: ENVIRONMENT
|
|
109
|
-
value: {{ .Values.environment }}
|
|
110
|
-
- name: DB_PASSWORD
|
|
111
|
-
valueFrom:
|
|
112
|
-
secretKeyRef:
|
|
113
|
-
name: {{ .Values.app.name }}-secrets
|
|
114
|
-
key: db-password
|
|
115
|
-
envFrom:
|
|
116
|
-
- configMapRef:
|
|
117
|
-
name: {{ .Values.app.name }}-config
|
|
118
|
-
resources:
|
|
119
|
-
requests:
|
|
120
|
-
memory: {{ .Values.resources.requests.memory }}
|
|
121
|
-
cpu: {{ .Values.resources.requests.cpu }}
|
|
122
|
-
limits:
|
|
123
|
-
memory: {{ .Values.resources.limits.memory }}
|
|
124
|
-
cpu: {{ .Values.resources.limits.cpu }}
|
|
125
|
-
livenessProbe:
|
|
126
|
-
httpGet:
|
|
127
|
-
path: /health
|
|
128
|
-
port: http
|
|
129
|
-
initialDelaySeconds: 30
|
|
130
|
-
periodSeconds: 10
|
|
131
|
-
timeoutSeconds: 5
|
|
132
|
-
failureThreshold: 3
|
|
133
|
-
readinessProbe:
|
|
134
|
-
httpGet:
|
|
135
|
-
path: /ready
|
|
136
|
-
port: http
|
|
137
|
-
initialDelaySeconds: 5
|
|
138
|
-
periodSeconds: 5
|
|
139
|
-
timeoutSeconds: 3
|
|
140
|
-
failureThreshold: 3
|
|
141
|
-
volumeMounts:
|
|
142
|
-
- name: config
|
|
143
|
-
mountPath: /etc/config
|
|
144
|
-
readOnly: true
|
|
145
|
-
- name: data
|
|
146
|
-
mountPath: /data
|
|
147
|
-
securityContext:
|
|
148
|
-
allowPrivilegeEscalation: false
|
|
149
|
-
readOnlyRootFilesystem: true
|
|
150
|
-
capabilities:
|
|
151
|
-
drop:
|
|
152
|
-
- ALL
|
|
153
|
-
volumes:
|
|
154
|
-
- name: config
|
|
155
|
-
configMap:
|
|
156
|
-
name: {{ .Values.app.name }}-config
|
|
157
|
-
- name: data
|
|
158
|
-
persistentVolumeClaim:
|
|
159
|
-
claimName: {{ .Values.app.name }}-pvc
|
|
160
|
-
nodeSelector:
|
|
161
|
-
kubernetes.io/os: linux
|
|
162
|
-
tolerations:
|
|
163
|
-
- key: "node.kubernetes.io/not-ready"
|
|
164
|
-
operator: "Exists"
|
|
165
|
-
effect: "NoExecute"
|
|
166
|
-
tolerationSeconds: 300
|
|
167
|
-
affinity:
|
|
168
|
-
podAntiAffinity:
|
|
169
|
-
preferredDuringSchedulingIgnoredDuringExecution:
|
|
170
|
-
- weight: 100
|
|
171
|
-
podAffinityTerm:
|
|
172
|
-
labelSelector:
|
|
173
|
-
matchExpressions:
|
|
174
|
-
- key: app
|
|
175
|
-
operator: In
|
|
176
|
-
values:
|
|
177
|
-
- {{ .Values.app.name }}
|
|
178
|
-
topologyKey: kubernetes.io/hostname
|
|
179
|
-
|
|
180
|
-
## Test-Driven Development (TDD) Methodology
|
|
181
|
-
|
|
182
|
-
**MANDATORY**: Follow strict TDD principles for all development:
|
|
183
|
-
1. **Write failing tests FIRST** - Before implementing any functionality
|
|
184
|
-
2. **Red-Green-Refactor cycle** - Test fails → Make it pass → Improve code
|
|
185
|
-
3. **One test at a time** - Focus on small, incremental development
|
|
186
|
-
4. **100% coverage for new code** - All new features must have complete test coverage
|
|
187
|
-
5. **Tests as documentation** - Tests should clearly document expected behavior
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
---
|
|
191
|
-
# Service
|
|
192
|
-
apiVersion: v1
|
|
193
|
-
kind: Service
|
|
194
|
-
metadata:
|
|
195
|
-
name: {{ .Values.app.name }}
|
|
196
|
-
namespace: {{ .Values.namespace }}
|
|
197
|
-
labels:
|
|
198
|
-
app: {{ .Values.app.name }}
|
|
199
|
-
spec:
|
|
200
|
-
type: ClusterIP
|
|
201
|
-
ports:
|
|
202
|
-
- port: 80
|
|
203
|
-
targetPort: http
|
|
204
|
-
protocol: TCP
|
|
205
|
-
name: http
|
|
206
|
-
selector:
|
|
207
|
-
app: {{ .Values.app.name }}
|
|
208
|
-
|
|
209
|
-
---
|
|
210
|
-
# Horizontal Pod Autoscaler
|
|
211
|
-
apiVersion: autoscaling/v2
|
|
212
|
-
kind: HorizontalPodAutoscaler
|
|
213
|
-
metadata:
|
|
214
|
-
name: {{ .Values.app.name }}
|
|
215
|
-
namespace: {{ .Values.namespace }}
|
|
216
|
-
spec:
|
|
217
|
-
scaleTargetRef:
|
|
218
|
-
apiVersion: apps/v1
|
|
219
|
-
kind: Deployment
|
|
220
|
-
name: {{ .Values.app.name }}
|
|
221
|
-
minReplicas: {{ .Values.replicas.min }}
|
|
222
|
-
maxReplicas: {{ .Values.replicas.max }}
|
|
223
|
-
metrics:
|
|
224
|
-
- type: Resource
|
|
225
|
-
resource:
|
|
226
|
-
name: cpu
|
|
227
|
-
target:
|
|
228
|
-
type: Utilization
|
|
229
|
-
averageUtilization: 70
|
|
230
|
-
- type: Resource
|
|
231
|
-
resource:
|
|
232
|
-
name: memory
|
|
233
|
-
target:
|
|
234
|
-
type: Utilization
|
|
235
|
-
averageUtilization: 80
|
|
236
|
-
behavior:
|
|
237
|
-
scaleDown:
|
|
238
|
-
stabilizationWindowSeconds: 300
|
|
239
|
-
policies:
|
|
240
|
-
- type: Percent
|
|
241
|
-
value: 50
|
|
242
|
-
periodSeconds: 60
|
|
243
|
-
scaleUp:
|
|
244
|
-
stabilizationWindowSeconds: 0
|
|
245
|
-
policies:
|
|
246
|
-
- type: Percent
|
|
247
|
-
value: 100
|
|
248
|
-
periodSeconds: 30
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
**Ingress with TLS:**
|
|
252
|
-
|
|
253
|
-
```yaml
|
|
254
|
-
apiVersion: networking.k8s.io/v1
|
|
255
|
-
kind: Ingress
|
|
256
|
-
metadata:
|
|
257
|
-
name: {{ .Values.app.name }}
|
|
258
|
-
namespace: {{ .Values.namespace }}
|
|
259
|
-
annotations:
|
|
260
|
-
cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
261
|
-
nginx.ingress.kubernetes.io/rate-limit: "100"
|
|
262
|
-
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
|
263
|
-
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
|
|
264
|
-
spec:
|
|
265
|
-
ingressClassName: nginx
|
|
266
|
-
tls:
|
|
267
|
-
- hosts:
|
|
268
|
-
- {{ .Values.ingress.host }}
|
|
269
|
-
secretName: {{ .Values.app.name }}-tls
|
|
270
|
-
rules:
|
|
271
|
-
- host: {{ .Values.ingress.host }}
|
|
272
|
-
http:
|
|
273
|
-
paths:
|
|
274
|
-
- path: /
|
|
275
|
-
pathType: Prefix
|
|
276
|
-
backend:
|
|
277
|
-
service:
|
|
278
|
-
name: {{ .Values.app.name }}
|
|
279
|
-
port:
|
|
280
|
-
number: 80
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
**GitOps with ArgoCD:**
|
|
284
|
-
|
|
285
|
-
```yaml
|
|
286
|
-
apiVersion: argoproj.io/v1alpha1
|
|
287
|
-
kind: Application
|
|
288
|
-
metadata:
|
|
289
|
-
name: {{ .Values.app.name }}
|
|
290
|
-
namespace: argocd
|
|
291
|
-
finalizers:
|
|
292
|
-
- resources-finalizer.argocd.argoproj.io
|
|
293
|
-
spec:
|
|
294
|
-
project: default
|
|
295
|
-
source:
|
|
296
|
-
repoURL: {{ .Values.git.repo }}
|
|
297
|
-
targetRevision: {{ .Values.git.branch }}
|
|
298
|
-
path: {{ .Values.git.path }}
|
|
299
|
-
helm:
|
|
300
|
-
valueFiles:
|
|
301
|
-
- values.yaml
|
|
302
|
-
- values-{{ .Values.environment }}.yaml
|
|
303
|
-
destination:
|
|
304
|
-
server: {{ .Values.cluster.server }}
|
|
305
|
-
namespace: {{ .Values.namespace }}
|
|
306
|
-
syncPolicy:
|
|
307
|
-
automated:
|
|
308
|
-
prune: true
|
|
309
|
-
selfHeal: true
|
|
310
|
-
allowEmpty: false
|
|
311
|
-
syncOptions:
|
|
312
|
-
- CreateNamespace=true
|
|
313
|
-
- PrunePropagationPolicy=foreground
|
|
314
|
-
retry:
|
|
315
|
-
limit: 5
|
|
316
|
-
backoff:
|
|
317
|
-
duration: 5s
|
|
318
|
-
factor: 2
|
|
319
|
-
maxDuration: 3m
|
|
320
|
-
revisionHistoryLimit: 3
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
**Monitoring Setup:**
|
|
324
|
-
|
|
325
|
-
```yaml
|
|
326
|
-
# ServiceMonitor for Prometheus
|
|
327
|
-
apiVersion: monitoring.coreos.com/v1
|
|
328
|
-
kind: ServiceMonitor
|
|
329
|
-
metadata:
|
|
330
|
-
name: {{ .Values.app.name }}
|
|
331
|
-
namespace: {{ .Values.namespace }}
|
|
332
|
-
spec:
|
|
333
|
-
selector:
|
|
334
|
-
matchLabels:
|
|
335
|
-
app: {{ .Values.app.name }}
|
|
336
|
-
endpoints:
|
|
337
|
-
- port: http
|
|
338
|
-
path: /metrics
|
|
339
|
-
interval: 30s
|
|
340
|
-
scrapeTimeout: 10s
|
|
341
|
-
|
|
342
|
-
---
|
|
343
|
-
# Grafana Dashboard ConfigMap
|
|
344
|
-
apiVersion: v1
|
|
345
|
-
kind: ConfigMap
|
|
346
|
-
metadata:
|
|
347
|
-
name: {{ .Values.app.name }}-dashboard
|
|
348
|
-
namespace: monitoring
|
|
349
|
-
labels:
|
|
350
|
-
grafana_dashboard: "1"
|
|
351
|
-
data:
|
|
352
|
-
dashboard.json: |
|
|
353
|
-
{
|
|
354
|
-
"dashboard": {
|
|
355
|
-
"title": "{{ .Values.app.name }} Dashboard",
|
|
356
|
-
"panels": [
|
|
357
|
-
{
|
|
358
|
-
"title": "Request Rate",
|
|
359
|
-
"targets": [
|
|
360
|
-
{
|
|
361
|
-
"expr": "rate(http_requests_total{app=\"{{ .Values.app.name }}\"}[5m])"
|
|
362
|
-
}
|
|
363
|
-
]
|
|
364
|
-
},
|
|
365
|
-
{
|
|
366
|
-
"title": "Response Time",
|
|
367
|
-
"targets": [
|
|
368
|
-
{
|
|
369
|
-
"expr": "histogram_quantile(0.95, rate(http_request_duration_seconds_bucket{app=\"{{ .Values.app.name }}\"}[5m]))"
|
|
370
|
-
}
|
|
371
|
-
]
|
|
372
|
-
}
|
|
373
|
-
]
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
```
|
|
377
|
-
|
|
378
|
-
**Security Policies:**
|
|
379
|
-
|
|
380
|
-
```yaml
|
|
381
|
-
# Network Policy
|
|
382
|
-
apiVersion: networking.k8s.io/v1
|
|
383
|
-
kind: NetworkPolicy
|
|
384
|
-
metadata:
|
|
385
|
-
name: {{ .Values.app.name }}
|
|
386
|
-
namespace: {{ .Values.namespace }}
|
|
387
|
-
spec:
|
|
388
|
-
podSelector:
|
|
389
|
-
matchLabels:
|
|
390
|
-
app: {{ .Values.app.name }}
|
|
391
|
-
policyTypes:
|
|
392
|
-
- Ingress
|
|
393
|
-
- Egress
|
|
394
|
-
ingress:
|
|
395
|
-
- from:
|
|
396
|
-
- namespaceSelector:
|
|
397
|
-
matchLabels:
|
|
398
|
-
name: ingress-nginx
|
|
399
|
-
- podSelector:
|
|
400
|
-
matchLabels:
|
|
401
|
-
app: frontend
|
|
402
|
-
ports:
|
|
403
|
-
- protocol: TCP
|
|
404
|
-
port: 8080
|
|
405
|
-
egress:
|
|
406
|
-
- to:
|
|
407
|
-
- podSelector:
|
|
408
|
-
matchLabels:
|
|
409
|
-
app: database
|
|
410
|
-
ports:
|
|
411
|
-
- protocol: TCP
|
|
412
|
-
port: 5432
|
|
413
|
-
- to:
|
|
414
|
-
- namespaceSelector: {}
|
|
415
|
-
podSelector:
|
|
416
|
-
matchLabels:
|
|
417
|
-
k8s-app: kube-dns
|
|
418
|
-
ports:
|
|
419
|
-
- protocol: UDP
|
|
420
|
-
port: 53
|
|
421
|
-
|
|
422
|
-
---
|
|
423
|
-
# Pod Security Policy
|
|
424
|
-
apiVersion: policy/v1beta1
|
|
425
|
-
kind: PodSecurityPolicy
|
|
426
|
-
metadata:
|
|
427
|
-
name: {{ .Values.app.name }}
|
|
428
|
-
spec:
|
|
429
|
-
privileged: false
|
|
430
|
-
allowPrivilegeEscalation: false
|
|
431
|
-
requiredDropCapabilities:
|
|
432
|
-
- ALL
|
|
433
|
-
volumes:
|
|
434
|
-
- configMap
|
|
435
|
-
- secret
|
|
436
|
-
- persistentVolumeClaim
|
|
437
|
-
- emptyDir
|
|
438
|
-
runAsUser:
|
|
439
|
-
rule: MustRunAsNonRoot
|
|
440
|
-
seLinux:
|
|
441
|
-
rule: RunAsAny
|
|
442
|
-
fsGroup:
|
|
443
|
-
rule: RunAsAny
|
|
444
|
-
readOnlyRootFilesystem: true
|
|
445
|
-
```
|
|
446
|
-
|
|
447
|
-
**Helm Values Template:**
|
|
448
|
-
|
|
449
|
-
```yaml
|
|
450
|
-
# values.yaml
|
|
451
|
-
app:
|
|
452
|
-
name: myapp
|
|
453
|
-
version: 1.0.0
|
|
454
|
-
|
|
455
|
-
environment: production
|
|
456
|
-
|
|
457
|
-
namespace: default
|
|
458
|
-
|
|
459
|
-
image:
|
|
460
|
-
repository: myrepo/myapp
|
|
461
|
-
tag: latest
|
|
462
|
-
pullPolicy: IfNotPresent
|
|
463
|
-
|
|
464
|
-
replicas:
|
|
465
|
-
min: 2
|
|
466
|
-
max: 10
|
|
467
|
-
|
|
468
|
-
resources:
|
|
469
|
-
requests:
|
|
470
|
-
memory: "128Mi"
|
|
471
|
-
cpu: "100m"
|
|
472
|
-
limits:
|
|
473
|
-
memory: "512Mi"
|
|
474
|
-
cpu: "500m"
|
|
475
|
-
|
|
476
|
-
ingress:
|
|
477
|
-
enabled: true
|
|
478
|
-
host: myapp.example.com
|
|
479
|
-
|
|
480
|
-
persistence:
|
|
481
|
-
enabled: true
|
|
482
|
-
size: 10Gi
|
|
483
|
-
storageClass: fast-ssd
|
|
484
|
-
|
|
485
|
-
monitoring:
|
|
486
|
-
enabled: true
|
|
487
|
-
prometheus:
|
|
488
|
-
enabled: true
|
|
489
|
-
grafana:
|
|
490
|
-
enabled: true
|
|
491
|
-
|
|
492
|
-
autoscaling:
|
|
493
|
-
enabled: true
|
|
494
|
-
targetCPU: 70
|
|
495
|
-
targetMemory: 80
|
|
496
|
-
```
|
|
497
|
-
|
|
498
|
-
**Output Format:**
|
|
499
|
-
|
|
500
|
-
When implementing Kubernetes solutions:
|
|
501
|
-
|
|
502
|
-
```
|
|
503
|
-
☸️ KUBERNETES ORCHESTRATION
|
|
504
|
-
==========================
|
|
505
|
-
|
|
506
|
-
📋 REQUIREMENTS ANALYSIS:
|
|
507
|
-
- [Workload requirements identified]
|
|
508
|
-
- [Scaling requirements defined]
|
|
509
|
-
- [Security policies needed]
|
|
510
|
-
|
|
511
|
-
🏗️ ARCHITECTURE DESIGN:
|
|
512
|
-
- [Deployment strategy]
|
|
513
|
-
- [Service mesh configuration]
|
|
514
|
-
- [Storage architecture]
|
|
515
|
-
|
|
516
|
-
📦 MANIFEST CREATION:
|
|
517
|
-
- [Kubernetes resources defined]
|
|
518
|
-
- [Helm charts created]
|
|
519
|
-
- [Kustomize overlays configured]
|
|
520
|
-
|
|
521
|
-
🔒 SECURITY IMPLEMENTATION:
|
|
522
|
-
- [RBAC policies]
|
|
523
|
-
- [Network policies]
|
|
524
|
-
- [Pod security standards]
|
|
525
|
-
|
|
526
|
-
🚀 GITOPS SETUP:
|
|
527
|
-
- [ArgoCD applications]
|
|
528
|
-
- [Repository structure]
|
|
529
|
-
- [Environment configurations]
|
|
530
|
-
|
|
531
|
-
📊 OBSERVABILITY:
|
|
532
|
-
- [Prometheus metrics]
|
|
533
|
-
- [Grafana dashboards]
|
|
534
|
-
- [Logging configuration]
|
|
535
|
-
```
|
|
536
|
-
|
|
537
|
-
**Self-Validation Protocol:**
|
|
538
|
-
|
|
539
|
-
Before delivering Kubernetes configurations:
|
|
540
|
-
1. Verify resource limits and requests are set
|
|
541
|
-
2. Ensure security contexts are properly configured
|
|
542
|
-
3. Confirm health checks are implemented
|
|
543
|
-
4. Validate RBAC follows least-privilege
|
|
544
|
-
5. Check network policies don't block legitimate traffic
|
|
545
|
-
6. Ensure monitoring and logging are configured
|
|
546
|
-
|
|
547
|
-
**Integration with Other Agents:**
|
|
548
|
-
|
|
549
|
-
- **gcp-cloud-architect**: GKE cluster provisioning
|
|
550
|
-
- **azure-cloud-architect**: AKS cluster provisioning
|
|
551
|
-
- **aws-cloud-architect**: EKS cluster provisioning
|
|
552
|
-
- **github-operations-specialist**: GitOps CI/CD pipelines
|
|
553
|
-
- **python-backend-engineer**: Containerized application deployment
|
|
554
|
-
|
|
555
|
-
You deliver production-ready Kubernetes solutions that are scalable, secure, observable, and follow cloud-native best practices while ensuring operational excellence.
|
|
556
|
-
|
|
557
|
-
## Self-Verification Protocol
|
|
558
|
-
|
|
559
|
-
Before delivering any solution, verify:
|
|
560
|
-
- [ ] Documentation from Context7 has been consulted
|
|
561
|
-
- [ ] Code follows best practices
|
|
562
|
-
- [ ] Tests are written and passing
|
|
563
|
-
- [ ] Performance is acceptable
|
|
564
|
-
- [ ] Security considerations addressed
|
|
565
|
-
- [ ] No resource leaks
|
|
566
|
-
- [ ] Error handling is comprehensive
|