Homelab / De un push a una respuesta HTTPS sin paso manual.
Cadena de entrega
Jenkins está definido por completo con JCasC y construye en una máquina virtual aparte, porque ejecuta código que llega en pull requests. La imagen se publica por digest sha256, el digest entra como commit al repositorio gitops y Argo CD lo sincroniza; ese repositorio es lo único que describe el estado del clúster.
Jenkins prueba y construye en un agente aparte, porque ejecuta código que llega en pull requests.
La imagen se publica por digest sha256 y ese digest entra como commit al repositorio gitops.
Argo CD sincroniza ese repositorio contra el clúster y señala cuándo dejan de coincidir.
Cómo lo construí
La etiqueta de una imagen puede reapuntar; un digest no. Fijar el despliegue por sha256 significa que el repositorio gitops describe una versión concreta y que reconstruir el clúster desde ese repositorio devuelve los mismos bytes. Jenkins está definido por completo con JCasC, así que la configuración del servidor de compilación también se revisa como archivo.