Files
qwen3-6-lora/data/raw/sanitized/plans/tengo-que-agregar-una-expressive-wren.md

2.3 KiB

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 <<INTERNAL_IP_1>>: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":"<TOKEN>","email":"<EMAIL>","auth":"<base64>"}}}' | 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.<dominio> 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 <<DB_PASSWORD_1>> 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