# k8s-apps This file provides guidance to Claude Code when working in `04-k8s-apps`. See the [repo-root CLAUDE.md](../CLAUDE.md) for shared conventions, deployment order, and CI/CD. Application workloads for the k3s homelab cluster. Reads `kubeconfig` from `k8s-bootstrap` via StackReference. ## Common Commands ```bash npm install pulumi up --yes ``` ## Architecture - **heimdall** — application dashboard (`lscr.io/linuxserver/heimdall`), namespace `heimdall` - PVC `heimdall-config` (50Mi, `longhorn` StorageClass) - Deployment + ClusterIP Service - Ingress (`traefik` class, `cert-manager.io/cluster-issuer: letsencrypt-prod`) at `heimdall.` - deployed with one replica because heimdall is not able to work with multiple replicas. Works with node failure detection and automatic rescheduling. **Export**: `domain` (secret) — consumed by `monitoring` via StackReference for its own ingress hostnames. ## Required Pulumi config ```bash pulumi config set --secret domain ``` ## CI/CD Workflow: `../.gitea/workflows/04-deploy-k8s-apps.yaml`. Secret: `K8S_APPS_PULUMI_DEV_YAML`.