# Plan: Agregar SSL al deployment de luminarrh ## Contexto La base de datos PostgreSQL de luminarrh ahora requiere conexión SSL obligatoria. El certificado SSL ya fue proporcionado. Hay que crear un Secret de Kubernetes con el certificado, montarlo en el pod y actualizar la connection string con los parámetros SSL. ## Cambios ### 1. Crear nuevo archivo: `00a-ssl-secret.yaml` Crear un Kubernetes Secret con el certificado SSL: - Tipo: `Opaque` - Data: el certificado base64-encoded como `ca.crt` - Namespace: `luminarrh` ### 2. Modificar: `01-luminarrh-deployment.yaml` - Agregar un volume que monte el secret como archivo: ```yaml volumes: - name: ssl-cert secret: secretName: luminarrh-ssl-cert ``` - Agregar volumeMount al container: ```yaml volumeMounts: - name: ssl-cert mountPath: /etc/ssl/certs/luminarrh-ca.crt subPath: ca.crt ``` - Actualizar la connection string para incluir SSL: ``` Host=<>;Port=5436;Database=sarh_db;Username=sarh2;Password=<>;SslMode=require;SslRootCert=/etc/ssl/certs/luminarrh-ca.crt ``` ### 3. No modificar: - `00-ns-and-sa.yaml` — no cambios - `02-luminarrh-svc.yaml` — no cambios - `03-ingress.yaml` — no cambios - `04-luminarrh-hpa.yaml` — no cambios - `00-pullsecret.yaml` — no cambios ## Verificación - Aplicar los cambios: `kubectl apply -f apps/luminarrh/` - Verificar que el secret se creó: `kubectl get secret luminarrh-ssl-cert -n luminarrh` - Verificar que el pod levanta: `kubectl get pods -n luminarrh` - Verificar que el certificado está montado: `kubectl exec -n luminarrh -- cat /etc/ssl/certs/luminarrh-ca.crt`