|
1 | | -# CLAUDE.md |
2 | | - |
3 | | -This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. |
4 | | - |
5 | | -## Common Commands |
6 | | - |
7 | | -- **List Helm chart contents**: `helm template <chart-path>` |
8 | | -- **Install/Upgrade a chart**: `helm upgrade --install <name> <chart-path> --namespace <ns>` |
9 | | -- **Lint a chart**: `helm lint <chart-path>` |
10 | | -- **Validate Argo CD application**: `argocd app get <app-name>` |
11 | | -- **Sync Argo CD application**: `argocd app sync <app-name>` |
12 | | -- **Apply a kubectl manifest**: `kubectl apply -f <file>` |
13 | | -- **Delete a chart/namespace**: `helm uninstall <name> --namespace <ns>` or `kubectl delete namespace <ns>` |
14 | | -- **Terraform init & apply** (if enabled): `terraform init` then `terraform apply` within `terraform/` |
15 | | -- **View logs**: `kubectl logs -n <namespace> <pod>` |
16 | | - |
17 | | -## High Level Architecture |
18 | | - |
19 | | -- Root Argo CD application resides at `argocd/root/` and recursively manages child applications in `argocd/apps/*`. |
20 | | -- Each application deploys resources in dedicated namespaces (e.g., `cert-manager`, `longhorn-system`, `monitoring`). |
21 | | -- Helm charts under `helm/` provide the infrastructure components. |
22 | | -- Terraform configuration under `terraform/` is a work‑in‑progress but defines the underlying infrastructure provider. |
23 | | - |
24 | | -## Working with Charts |
25 | | - |
26 | | -- Helm chart directories contain: `Chart.yaml`, `values.yaml`, `templates/`. |
27 | | -- Use `helm dependency update` inside a chart directory if `requirements.yaml` or `Chart.yaml` dependencies are defined. |
28 | | -- Use `helm repo add` to add remote chart repositories referenced in values. |
29 | | - |
30 | | -## Argo CD |
31 | | - |
32 | | -- Argo CD resources are defined under `argocd/apps/`. Each app has a `spec` pointing to a Git repo and path. |
33 | | -- Sync state can be checked with `argocd app list`. |
34 | | - |
35 | | -## Terraform (WIP) |
36 | | - |
37 | | -- The directory `terraform/` contains `provider.tf` which specifies a provider. |
38 | | -- To apply, run `terraform init && terraform apply` inside this directory. |
39 | | - |
40 | | -## Notes |
41 | | - |
42 | | -- Some components (e.g., Longhorn) require manual installation steps via Helm and kubectl; see respective READMEs. |
43 | | -- Keep the cluster state separate from version control; use `secrets` and `sealed-secrets` for sensitive data. |
| 1 | +@AGENTS.md |
0 commit comments