Files
homelab-infrastructure-as-code/04-k8s-apps/CLAUDE.md
T
kasun 13549a8d37
Deploy k8s Infra / Pulumi Preview (push) Has been skipped
Deploy k8s Infra / Pulumi Deploy (push) Successful in 58s
Deploy k8s Apps / Pulumi Preview (push) Has been skipped
Deploy k8s Apps / Pulumi Deploy (push) Successful in 48s
Deploy Monitoring / Pulumi Preview (push) Has been skipped
Deploy Monitoring / Pulumi Deploy (push) Successful in 59s
docs: updated documentation to current progress
2026-06-11 22:36:20 +02:00

1.1 KiB

k8s-apps

This file provides guidance to Claude Code when working in 04-k8s-apps. See the repo-root 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

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.<domain>
    • 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

pulumi config set --secret domain <your-domain>

CI/CD

Workflow: ../.gitea/workflows/04-deploy-k8s-apps.yaml. Secret: K8S_APPS_PULUMI_DEV_YAML.