Qué es obligatorio y qué es una opción por defecto
Tres pilas listas para usar
El golden path parte de una plantilla de Copier que ofrece tres pilas: Java (Spring), Node y Python (FastAPI). La plataforma genera con ella el repositorio de un producto nuevo, con la pila que nombra su entrada del catálogo, con las raíces de Terraform, el Dockerfile y un pipeline hecho de los componentes de la plataforma. Cada cambio a la plantilla vuelve a generar los tres ejemplos y los compara con los que están en el repositorio; el ejemplo de cada pila se compila y se prueba cada vez que cambia su parte de la plantilla o el pipeline.
O tu propio Dockerfile
Después del primer commit, la aplicación es del equipo: puede cambiar el Dockerfile o agregar otro, listado en .airframe/images.yaml. Cada FROM debe nombrar una de las imágenes base de la plataforma, fijada: hoy Node, Python, Java, Bun, PostgreSQL y Redis, y una pila que no tiene la suya le pide a la plataforma que la agregue. El compilador de confianza compila cada imagen listada en la aprobación y la atesta, como hace con las de la plantilla. Los jobs de compilación y pruebas de la plataforma conocen solo las tres pilas de la plantilla: otra pila no ejecuta ninguno, y sus merge requests no pasan la compuerta de cobertura hasta que su entrada del catálogo baja quality.minimum_coverage, algo que aprueba un líder de equipo o un líder de dominio.
Los módulos ayudan; los recursos directos se permiten
Los módulos de Terraform del golden path codifican los patrones, y una raíz de producto puede declarar recursos propios en su lugar. El paquete de políticas advierte sobre cada recurso que una raíz de producto declara fuera de un módulo y pide una razón en el merge request; una advertencia no detiene nada. Lo que el paquete deniega, lo deniega sin importar cómo se escribió el recurso: un conjunto incompleto de etiquetas, el acceso público, o una red o un proyecto, que son de la plataforma.
Un servicio se aprueba una vez
Un servicio de Google Cloud además de los que recibe todo proyecto de producto se aprueba una vez, como una entrada en la lista de servicios aprobados del catálogo, por el equipo de plataforma. Después, cualquier producto puede declararlo en su entrada: un líder de dominio aprueba la declaración (el equipo de plataforma lo reemplaza cuando el líder no tiene cuenta), y la fábrica de proyectos habilita la API del servicio en los proyectos con facturación del producto y otorga sus roles solo a las identidades de apply de ese producto. Memorystore for Redis es el primero.