원클릭으로
argocd-generator
Generates ArgoCD Application manifests following the App-of-Apps pattern.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Generates ArgoCD Application manifests following the App-of-Apps pattern.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Validates Kubernetes manifests using kubeconform, kube-score, and custom homelab policies. Use when creating or modifying YAML files, Helm values, or ArgoCD applications.
Diagnoses Kubernetes pod issues automatically. Use when pods are in CrashLoopBackOff, ImagePullBackOff, Pending, or Error state. Analyzes events, logs, and resource status to identify root causes.
Delegates code review to OpenAI Codex CLI. Use when user says "코드 리뷰해줘", "Codex한테 리뷰 맡겨", "PR 검토해줘", "코드 품질 체크", "리팩토링 제안해줘", "second opinion", or asks for code review, refactoring suggestions.
Delegates research to Google Gemini. Use when user says "이거 좀 찾아봐", "Gemini한테 물어봐", "문서 검색해줘", "best practice 알려줘", "리서치해줘", "최신 정보 찾아줘", or needs web search, documentation lookup.
Manages Infisical configuration. Use when user says "Infisical에 업데이트해줘", "환경변수 동기화해줘", "이 config Infisical에 저장해줘", "strategy config 업데이트", "YAML을 Infisical로", "JSON config 저장", or wants to sync environment variables to Infisical.
Reviews Kubernetes manifests for best practices, security, and homelab standards compliance. Use when reviewing YAML files, K8s manifests, Helm values, or ArgoCD applications.
| name | argocd-generator |
| description | Generates ArgoCD Application manifests following the App-of-Apps pattern. |
platform/stacks/{NN}-{category}/overlays/home/{app-name}.yaml
| Stack | Path | Purpose |
|---|---|---|
| 00-core | Core infra | cert-manager, cloudflared |
| 01-platforms | Platform services | argo-workflows, harbor |
| 02-o11y | Observability | grafana, tempo |
| 03-data | Databases | postgres, redis |
| 04-ml | ML services | feast, ray, mlflow |
| 05-workloads | Applications | |
| 06-labs | Experimental |
For any app that needs secrets (database passwords, API keys, etc.), ALWAYS create TWO apps in ONE file:
{app}-raw (syncWave: "5") - InfisicalSecret to fetch secrets{app} (syncWave: "10") - Main Helm chart with dependency on rawThis is the standard pattern for most applications:
apps:
# Step 1: Deploy InfisicalSecret first (lower syncWave)
- name: superset-raw
namespace: superset
project: dev
syncWave: "5"
source:
repoURL: https://bedag.github.io/helm-charts
chart: raw
targetRevision: "2.0.2"
helm:
releaseName: superset-raw
values: |
resources:
- apiVersion: secrets.infisical.com/v1alpha1
kind: InfisicalSecret
metadata:
name: superset-managed-secrets
namespace: superset
spec:
hostAPI: https://app.infisical.com/api
authentication:
universalAuth:
secretsScope:
projectSlug: home-lab
envSlug: "hme"
secretsPath: /superset
credentialsRef:
secretName: infisical-secrets
secretNamespace: infisical
managedKubeSecretReferences:
- secretName: superset-managed-secrets
secretNamespace: superset
creationPolicy: Owner
# Step 2: Deploy Helm chart with dependency
- name: superset
namespace: superset
project: dev
syncWave: "10"
dependencies:
- superset-raw
source:
repoURL: http://apache.github.io/superset/
chart: superset
targetRevision: "0.15.0"
helm:
releaseName: superset
values: |
replicaCount: 1
postgresql:
enabled: false
redis:
enabled: false
persistence:
enabled: true
size: 10Gi
resources:
requests:
cpu: 500m
memory: 1Gi
# Reference the managed secret
extraEnvVarsSecret: superset-managed-secrets
Only use this pattern if the app truly needs NO secrets:
apps:
- name: myapp
namespace: myapp
project: dev
syncWave: "10"
source:
repoURL: https://charts.example.io
chart: myapp
targetRevision: "1.0.0"
helm:
releaseName: myapp
values: |
replicaCount: 1
resources:
requests:
cpu: 500m
memory: 1Gi
Replace {app} with actual app name:
- apiVersion: secrets.infisical.com/v1alpha1
kind: InfisicalSecret
metadata:
name: {app}-managed-secrets
namespace: {app}
spec:
hostAPI: https://app.infisical.com/api
authentication:
universalAuth:
secretsScope:
projectSlug: home-lab
envSlug: "hme"
secretsPath: /{app}
credentialsRef:
secretName: infisical-secrets
secretNamespace: infisical
managedKubeSecretReferences:
- secretName: {app}-managed-secrets
secretNamespace: {app}
creationPolicy: Owner
dev2.0.2