# Plan: Add luminarrh app to Kubernetes cluster ## Context Agregar la app LuminarRH (ASP.NET Core 9 + Angular) de un amigo al cluster. La DB Postgres ya está corriendo en el host <>:5436. La imagen está en Docker Hub privado (`luminarsystems/luminarrh:1.0.0`). ## Archivos a crear ### 1. `apps/luminarrh/00-ns-and-sa.yaml` Namespace `luminarrh` + ServiceAccount `luminarrh`. ### 2. `apps/luminarrh/00-pullsecret.yaml` Docker registry secret (`kubernetes.io/dockerconfigjson`) para `luminarsystems/luminarrh:1.0.0`. - **Pendiente**: token de Docker Hub (username: `luminarsystems`, read-only token que pasa Lester). - El `.dockerconfigjson` se genera con `echo '{"auths":{"https://index.docker.io/v1/":{"username":"luminarsystems","password":"","email":"","auth":""}}}' | base64 -w0` ### 3. `apps/luminarrh/01-luminarrh-deployment.yaml` Deployment con: - `image: luminarsystems/luminarrh:1.0.0` - `imagePullPolicy: IfNotPresent` - `imagePullSecrets: [{name: regcred}]` - containerPort: 8080 - envFrom con configMap + secret (como en el handoff) - Probes contra `/health` en puerto 8080 - Resources: requests 250m CPU / 256Mi, limits 1 CPU / 512Mi - **Pendiente**: `Jwt__Key` (generar con `openssl rand -base64 64`) - **Pendiente**: `ConnectionStrings__SarhConnection` con password real ### 4. `apps/luminarrh/02-luminarrh-svc.yaml` Service ClusterIP, port 80 → targetPort 8080. ### 5. `apps/luminarrh/03-ingress.yaml` Ingress Traefik — **pendiente dominio**. Placeholder con `luminarrh.` hasta que me pases el dominio. ### 6. `clusters/cluster/apps-kustomization/luminarrh-kustomization.yaml` Kustomization estándar siguiendo el patrón de las otras apps. ## Archivos a modificar - `clusters/cluster/apps-kustomization/luminarrh-kustomization.yaml` — crear nuevo - `apps/luminarrh/` — crear directorio y archivos ## Pendientes (espero tus datos) 1. **Docker Hub token** (read-only) para el pull secret 2. **Dominio/URL pública** para el ingress y Jwt__Issuer/Jwt__Audience 3. **Jwt__Key** — lo genero con `openssl rand -base64 64` 4. **Password de conexión** a la DB — en el handoff dice `<>` pero confirmá si es el correcto para k8s ## Verificación - `git diff` para revisar los cambios - `git push` triggera Flux CD que aplica los manifests