Nombres, etiquetas y nombres de host
Airframe deriva casi cada nombre del lugar de un producto en el catálogo, así que un nombre dice a qué pertenece una cosa sin tener que buscarlo. Esta página enumera las formas que usa la plataforma para proyectos, identidades, estado, repositorios y grupos, las etiquetas que lleva cada recurso, y el nombre de host que recibe un producto en cada entorno, con los pocos nombres de host que son públicos.
Cómo leer las tablas
Sección titulada «Cómo leer las tablas»Un producto se identifica por su ruta, <journey>/<domain>/<context>/<product>. Un nombre es único solo entre sus hermanos, así que un nombre que vive en un espacio más amplio que los propios proyectos del producto lleva los niveles que tiene por encima. Dentro de los proyectos de un producto basta con el nombre del producto, porque el proyecto es el espacio de nombres.
<rnd> son cuatro letras minúsculas y dígitos, sorteados una vez al crear un proyecto o un bucket y nunca elegidos a mano. <iid> es el número de un merge request. Los ejemplos vienen de una organización de demostración, una tienda en línea ficticia cuyo código es lk.
Las tablas describen la plataforma en la versión de la plataforma 2026.10.01-1, tal como están el 2026-10-01 los contratos y el código que crea cada nombre. Donde difieren, la tabla sigue al código. Una fila marcada como diseñado es una forma que los contratos especifican y que nada crea todavía.
Nombres
Sección titulada «Nombres»Proyectos de producto
- Forma
lk-<domain>-<product>-<rnd>ylk-<domain>-<product>-np-<rnd>- Ejemplo
lk-billing-invoicing-np-7q2m- Significado
- Los proyectos de producción y de no producción de un producto, creados por la fábrica de proyectos de su dominio. El recorrido no está en el identificador; las etiquetas dicen de qué recorrido es. El paquete de políticas rechaza un identificador de proyecto con cualquier otra forma.
- Fuente
- landing-zone
roots/project-factory/; control-planepolicy/airframe/naming.rego
Proyectos de la plataforma
- Forma
lk-<service>-<rnd>, olk-<service>-np-<rnd>- Ejemplo
lk-runtime-np-k3d8- Significado
- Los proyectos propios de la plataforma, uno por servicio:
network,runtime,observability,ci,catalog,audit,pact,eventcatalog,websiteoanalytics. Los sufijos de la fábrica de la plataforma están registrados encatalog.yaml. - Fuente
- landing-zone
docs/contracts.md2,roots/project-factory/platform/; control-planepolicy/airframe/naming.rego
Playgroundsdiseñado
- Forma
- Proyecto
lk-play-<name>-<rnd>; repositorioprojectairframe/playground/<name> - Ejemplo
lk-play-router-experiment-x1c4- Significado
- Un experimento breve de un equipo, con presupuesto y fecha de vencimiento. El esquema del catálogo describe los playgrounds, pero ninguna raíz los crea todavía.
- Fuente
- landing-zone
docs/contracts.md2; catalogschema/playground.schema.json
Identidades de plan y de apply
- Forma
<product>-plan@en cada proyecto del producto;<product>-apply@en producción y<product>-np-apply@en no producción- Ejemplo
invoicing-apply@lk-billing-invoicing-7q2m.iam- Significado
- Las identidades con las que se ejecuta el Terraform de un producto. La identidad de plan lee; la de apply cambia el proyecto. El ejecutor puede actuar como cada identidad de plan y cada identidad de apply de no producción, y como ninguna de producción. El proyecto es el espacio de nombres, así que basta con el nombre del producto.
- Fuente
- landing-zone
roots/project-factory/
Identidades de ejecución
- Forma
<product>-<name>@en el proyecto del entorno, con-sandboxo-eph-<iid>agregado en un sandbox o una vista previa- Ejemplo
invoicing-api@- Significado
- Una identidad por servicio en ejecución, con el nombre de la llamada al módulo, que tiene exactamente lo que usa ese servicio.
- Fuente
- golden-path
modules/cloud-run-service/main.tf
Identidades de las raíces de la plataforma
- Forma
platform-<root>@en el proyecto de ejecución de la plataforma; la fábrica de proyectos de un dominio esfactory-<journey>-<domain>@- Ejemplo
platform-catalog@- Significado
- Una identidad por raíz de la plataforma, que solo puede obtener un job del main protegido de su repositorio, en el entorno
platform/<root>. - Fuente
- landing-zone
roots/wif/main.tf
Buckets de estado
- Forma
lk-tfstate-platform-<rnd>ylk-tfstate-prod-<rnd>en el proyecto de ejecución;lk-tfstate-np-<rnd>en el proyecto de ejecución de no producción- Ejemplo
lk-tfstate-platform-ivww- Significado
- Donde Terraform guarda el estado: el de las raíces de la plataforma, el de producción y el de no producción, cada bucket cifrado con una clave que tiene la plataforma.
- Fuente
- landing-zone
roots/state/main.tf
Prefijos de estado de un producto
- Forma
<journey>/<domain>/<context>/<product>/seguido deprod,grafana,np,sandboxoeph/<iid>- Ejemplo
settle/billing/invoicing/invoicing/eph/42- Significado
- Donde cada raíz de un producto guarda su estado:
prodygrafanaen el bucket de producción, el resto en el de no producción. Cada identidad de apply puede escribir los prefijos de su propio producto y ningún otro. - Fuente
- landing-zone
roots/project-factory/; golden-pathtemplate/.gitlab-ci.yml.jinja
Prefijos de estado de la plataforma
- Forma
platform/<repository>/<root>- Ejemplo
platform/landing-zone/network- Significado
- El estado de cada raíz de la plataforma, en el bucket de la plataforma. La identidad de cada raíz lee y escribe su propio prefijo.
- Fuente
- landing-zone
roots/wif/grants.tf
Repositorios de producto
- Forma
projectairframe/<journey>/<domain>/<context>/<product>; en el grupo restringido de un dominio,projectairframe/<journey>/<domain>/<context>/restricted/<product>- Ejemplo
projectairframe/shop/store/ordering/orders- Significado
- Los crea la raíz de GitLab del dominio, como la cuenta de fábrica del dominio. La ruta de un producto eliminado no se reutiliza nunca.
- Fuente
- control-plane
modules/product-repositories/main.tf; landing-zoneroots/project-factory/
Repositorios de un producto repartido en variosdiseñado
- Forma
projectairframe/<journey>/<domain>/<context>/<product>/<repo>- Ejemplo
projectairframe/fulfil/shipping/tracking/tracking/api- Significado
- Un repositorio por aplicación, bajo el grupo propio del producto, cada uno con su estado, sus imágenes y su nombre de host de vista previa.
- Fuente
- landing-zone
docs/contracts.md2,docs/adr/0017-multi-repository-products-and-adoption-by-moving-the-group.md
Grupo de usuarios
- Forma
lk-<journey>-<domain>-<context>-<product>-users@projectairframe.dev- Ejemplo
lk-shop-store-ordering-orders-users@- Significado
- Las personas que pueden llegar al producto detrás del inicio de sesión único: hoy los miembros activos de su equipo.
- Fuente
- landing-zone
roots/groups/main.tf
Grupo del equipo
- Forma
lk-team-<team>@projectairframe.dev- Ejemplo
lk-team-store-core@- Significado
- Los miembros activos de un equipo, con acceso de lectura a los proyectos de los productos del equipo.
- Fuente
- landing-zone
roots/groups/main.tf,roots/project-factory/
Grupos de líderes
- Forma
lk-journey-<journey>-leads@,lk-<journey>-<domain>-leads@ylk-<journey>-<domain>-<context>-leads@, enprojectairframe.dev- Ejemplo
lk-shop-store-leads@- Significado
- Los líderes de cada nivel de la jerarquía, tal como los nombra el catálogo.
- Fuente
- landing-zone
roots/groups/main.tf
Grupos de la plataforma
- Forma
lk-platform@ylk-breakglass@, enprojectairframe.dev- Ejemplo
lk-platform@- Significado
- El equipo de plataforma, cuyos miembros aprueban cada concesión administrativa, y el grupo de break-glass, cuyos miembros pueden solicitar la mayoría de las concesiones cuando el camino normal no funciona.
- Fuente
- landing-zone
roots/pam/main.tf
Secretos
- Forma
- El nombre que le da el archivo de secretos del producto, en el proyecto del entorno
- Ejemplo
secret-key- Significado
- El repositorio de un producto enumera sus secretos por nombre en su archivo de secretos, nunca con un valor. El módulo de secretos del golden path crea cada uno, y un mantenedor agrega el valor en Secret Manager.
- Fuente
- golden-path
modules/secrets/main.tf
Tópicos y suscripciones de Pub/Subdiseñado
- Forma
- Tópico
<domain>.<product>.<noun>.<verb-past>en el proyecto del publicador; suscripción<consumer-product>-<name>en el del consumidor - Ejemplo
store.orders.order.placed- Significado
- Ningún módulo los crea todavía. Los campos
topicsyconsumesdel catálogo ya usan los nombres de los eventos. - Fuente
- landing-zone
docs/contracts.md2; golden-pathmodules/
Las raíces de Terraform de un producto
- Forma
infra/prod,infra/np,infra/sandbox,infra/epheinfra/grafana- Ejemplo
infra/eph- Significado
- Producción; no producción; el sandbox; una vista previa, que aplica el ejecutor; y los tableros propios del producto, aplicados con la identidad de apply de producción en el entorno
grafana. - Fuente
- golden-path
template/infra/,template/.gitlab-ci.yml.jinja
Entornos de GitLab
- Forma
prod,npygrafanaen un repositorio de producto;platform/<root>en un repositorio de la plataforma;platform/audit, el del informe de deriva, en ambos;executoren control-plane- Ejemplo
platform/network- Significado
- El entorno es uno de los datos que comprueba la federación de identidades de carga de trabajo, así que un job obtiene una identidad solo en su propio entorno. Un job propio de un producto no puede declarar ninguno.
- Fuente
- golden-path
template/.gitlab-ci.yml.jinja; control-plane.gitlab-ci.yml,templates/drift-report/template.yml,policy/airframe/pipeline.rego
Nombres de llamadas a módulos
- Forma
- Un slug de 2 a 14 caracteres
- Ejemplo
api,worker-mail- Significado
- El
namede una llamada a un módulo del golden path. El módulo deriva de él los nombres de sus recursos, como el servicio de Cloud Run<product>-<name>, y rechaza un nombre con cualquier otra forma. - Fuente
- golden-path
modules/cloud-run-service/variables.tf,modules/cloud-sql/variables.tf
Recursos sueltos en una raíz de producto
- Forma
<product>-<name>, con-<rnd>agregado para un nombre que Google mantiene global- Ejemplo
orders-exports-k3d8- Significado
- Un recurso que un producto declara por sí mismo, fuera de los módulos del golden path. El paquete de políticas advierte sobre cada recurso así, y también cuando su nombre no empieza con el del producto.
- Fuente
- control-plane
policy/airframe/naming.rego
Grafana
- Forma
- Una carpeta por cada nivel de la ruta del producto; los tableros
<product> service,<product> SLOy<product> costen la carpeta del producto; un punto de contacto por equipo - Ejemplo
orders service- Significado
- Los crea la raíz de Grafana de operations a partir del catálogo.
- Fuente
- operations
roots/grafana/main.tf,roots/grafana/pack.tf
Etiquetas de Google Cloud
Sección titulada «Etiquetas de Google Cloud»Cada proyecto y cada recurso llevan etiquetas que dicen a qué pertenecen: la fábrica de proyectos las pone en los proyectos y los módulos del golden path en los recursos. El paquete de políticas rechaza un recurso que declara etiquetas pero no tiene alguna de estas seis: managed_by, tenant, domain, product, env y criticality (aplicado, en el código y en el plan). Un recurso que no declara ninguna etiqueta pasa esa regla.
managed_by
- Valores
airframe- Significado
- La plataforma gestiona el recurso. La exige el paquete de políticas.
- Fuente
- landing-zone
docs/contracts.md7; control-planepolicy/airframe/naming.rego
tenant
- Valores
lk- Significado
- El código de la organización. La exige el paquete de políticas.
- Fuente
- landing-zone
docs/contracts.md7; control-planepolicy/airframe/naming.rego
journey
- Valores
- El slug de un recorrido, o
platform - Significado
- El recorrido del producto, en sus proyectos y en los recursos cuyo módulo conoce la ruta del producto.
- Fuente
- landing-zone
roots/project-factory/; golden-pathmodules/airframe-context/main.tf
domain
- Valores
- El slug de un dominio, o
platform - Significado
- El dominio del producto. La exige el paquete de políticas.
- Fuente
- golden-path
modules/airframe-context/main.tf; control-planepolicy/airframe/naming.rego
context
- Valores
- El slug de un contexto, o
platform - Significado
- El contexto del producto, puesto como
journey. - Fuente
- landing-zone
roots/project-factory/; golden-pathmodules/airframe-context/main.tf
product
- Valores
- El slug de un producto, o
platform - Significado
- El producto. La exige el paquete de políticas, que también la lee para juzgar el nombre de un recurso suelto.
- Fuente
- golden-path
modules/airframe-context/main.tf; control-planepolicy/airframe/naming.rego
component
- Valores
- El slug de un componente, o
main - Significado
- La parte del producto a la que pertenece el recurso.
- Fuente
- golden-path
modules/airframe-context/main.tf
team
- Valores
- El slug de un equipo
- Significado
- El equipo que gestiona el producto.
- Fuente
- landing-zone
roots/project-factory/; golden-pathmodules/airframe-context/main.tf
env
- Valores
prod,np,sandbox,eph-<iid>,platformoplay- Significado
- El entorno. La exige el paquete de políticas, y la leen las reglas del paquete sobre vistas previas.
- Fuente
- golden-path
modules/airframe-context/main.tf; control-planepolicy/airframe/naming.rego,cloud_run.rego
criticality
- Valores
1,2,3, oplatform- Significado
- La criticidad del producto. La exige el paquete de políticas.
- Fuente
- landing-zone
roots/project-factory/; control-planepolicy/airframe/naming.rego
data_classification
- Valores
public,internal,confidentialorestricted- Significado
- Qué tan sensibles son los datos del producto, en los recursos que crean sus módulos.
- Fuente
- golden-path
modules/airframe-context/main.tf
root
- Valores
- El prefijo de estado con cada
/cambiado por- - Significado
- Qué raíz de Terraform gestiona el recurso.
- Fuente
- golden-path
modules/airframe-context/main.tf
module
- Valores
- El nombre del módulo y su versión mayor
- Significado
- Qué módulo del golden path creó el recurso, como
cloud-run-service-0. - Fuente
- golden-path
modules/cloud-run-service/main.tf,modules/secrets/main.tf
expires
- Valores
- Una fecha
- Significado
- En los servicios de una vista previa: el fin de su tiempo de vida, que lee el recolector.
- Fuente
- golden-path
modules/cloud-run-service/main.tf
Etiquetas de GitLab
Sección titulada «Etiquetas de GitLab»La raíz de GitLab crea estas etiquetas en el grupo principal, así que cada repositorio las tiene, salvo lifecycle, que un merge request del catálogo lleva por su nombre. La mayoría las ponen personas; la tabla dice dónde algo pone o lee una.
agent
- En
- Merge requests
- Significado
- Escrito por un agente de código, cuyos commits también llevan un trailer
Generated-by. Lo pone el autor; nada lo comprueba. - Fuente
- control-plane
roots/gitlab/locals.tf; landing-zonedocs/contracts.md7
lifecycle
- En
- Merge requests del catálogo
- Significado
- Un cambio del estado de ciclo de vida de un producto. La compuerta de aprobación se niega a juzgar un cambio así sin ella, y el job de ciclo de vida del catálogo la exige.
- Fuente
- control-plane
gate/src/core/ownership.ts; catalog.gitlab-ci.yml,scripts/lifecycle-check.mjs
warndiseñado
- En
- Merge requests
- Significado
- Un hallazgo de nivel de advertencia que necesita la aprobación de la plataforma. La etiqueta existe; nada la pone, y una advertencia no detiene nada.
- Fuente
- control-plane
roots/gitlab/locals.tf,templates/validate/template.yml
exception::open, exception::accepted, exception::expireddiseñado
- En
- Merge requests e issues
- Significado
- Los estados del registro de excepciones. Las etiquetas existen; el registro no está construido.
- Fuente
- control-plane
roots/gitlab/locals.tf; landing-zonedocs/contracts.md7
preview::customdiseñado
- En
- Merge requests
- Significado
- Un producto con su propio componente de vista previa. Nada la usa, como nada lee el campo
previewdel catálogo. - Fuente
- control-plane
roots/gitlab/locals.tf
console-gap
- En
- Issues
- Significado
- Alguien necesitó la consola o una concesión: la señal de que falta un reconciliador. Se pone a mano.
- Fuente
- control-plane
roots/gitlab/locals.tf; landing-zonedocs/contracts.md7
audit::drift
- En
- Issues
- Significado
- Una raíz cuya infraestructura difiere de su código. El informe de deriva abre, reescribe y cierra estos issues en el pipeline programado de cada repositorio.
- Fuente
- control-plane
templates/drift-report/template.yml
audit::orphan, audit::duplication, audit::misconfiguration, audit::cost, audit::keepdiseñado
- En
- Issues
- Significado
- Los hallazgos del agente de auditoría y lo que se decidió sobre ellos. Las etiquetas existen; el agente de auditoría no está construido.
- Fuente
- control-plane
roots/gitlab/locals.tf; landing-zonedocs/contracts.md7
violation::perimeterdiseñado
- En
- Issues
- Significado
- Una infracción de VPC Service Controls, con la regla que la permitiría. La etiqueta existe; nada abre estos issues, y los perímetros funcionan en modo de prueba.
- Fuente
- control-plane
roots/gitlab/locals.tf; landing-zoneroots/perimeters/
postmortem, ops, adr
- En
- Issues y merge requests
- Significado
- Trabajo de postmortem; un pedido de un job operativo; un merge request que agrega o reemplaza un registro de decisión. Se ponen a mano.
- Fuente
- control-plane
roots/gitlab/locals.tf; landing-zonedocs/contracts.md7
Nombres de host
Sección titulada «Nombres de host»Cada recorrido tiene su propia zona DNS, <journey>.projectairframe.dev, y el dominio es una etiqueta dentro de ella. Los workers y los servicios internos no tienen nombre de host. Cada nombre de host está detrás del inicio de sesión único, mediante Identity-Aware Proxy, el de un producto para su grupo de usuarios, con tres excepciones: una ruta que un producto declara pública, que está diseñada; la compuerta de aprobación; y este sitio web. Grafana está en la dirección propia del proveedor.
Producción, la aplicación principal
- Nombre de host
<product>.<domain>.<journey>.projectairframe.dev- Rutas
/y/api- Etiqueta de entorno
prod- Acceso
- Inicio de sesión único.
- Fuente
- landing-zone
docs/contracts.md8,roots/network/modules/publications/main.tf; golden-pathtemplate/infra/prod/main.tf.jinja
Producción, otra aplicación
- Nombre de host
<product>-<app>.<domain>.<journey>.projectairframe.dev- Rutas
/- Etiqueta de entorno
prod- Acceso
- Inicio de sesión único. La raíz de red acepta la forma; el template no genera una segunda aplicación.
- Fuente
- landing-zone
roots/network/modules/publications/main.tf
No producción
- Nombre de host
<product>-np.<domain>.<journey>.projectairframe.dev- Rutas
/y/api- Etiqueta de entorno
np- Acceso
- Inicio de sesión único.
- Fuente
- golden-path
template/infra/np/main.tf.jinja; landing-zoneroots/network/modules/publications/main.tf
Sandbox
- Nombre de host
<product>-sandbox.<domain>.<journey>.projectairframe.dev, o<product>-<app>-sandboxpara otra aplicación- Rutas
/y/api- Etiqueta de entorno
sandbox- Acceso
- Inicio de sesión único.
- Fuente
- golden-path
template/infra/sandbox/main.tf.jinja; landing-zoneroots/network/modules/publications/main.tf
Vista previa del merge request <iid>
- Nombre de host
<product>-eph-<iid>.<domain>.<journey>.projectairframe.dev- Rutas
- Como en producción
- Etiqueta de entorno
eph-<iid>- Acceso
- Inicio de sesión único, a través del enrutador de vistas previas del producto, que lee el número del merge request en el nombre de host. El certificado y el registro comodín del dominio cubren cada vista previa.
- Fuente
- golden-path
modules/preview-substrate/main.tf,template/infra/eph/main.tf.jinja; landing-zonedocs/contracts.md8
Vista previa de un repositorio de un producto repartido en variosdiseñado
- Nombre de host
<product>-<repo>-eph-<iid>.<domain>.<journey>.projectairframe.dev- Rutas
/- Etiqueta de entorno
eph-<iid>- Acceso
- Inicio de sesión único.
- Fuente
- landing-zone
docs/contracts.md8,docs/adr/0017-multi-repository-products-and-adoption-by-moving-the-group.md
Alias de un producto adoptadodiseñado
- Nombre de host
- Cada nombre de host de
hostnamesen la entrada - Rutas
- Como la ruta propia del producto
- Etiqueta de entorno
prod- Acceso
- Como la ruta propia del producto. El catálogo todavía no acepta el campo.
- Fuente
- landing-zone
docs/contracts.md8; catalogschema/product.schema.json
Una ruta de producto declarada públicadiseñado
- Nombre de host
- Uno de los nombres de host del producto
- Rutas
- La ruta de la ruta declarada
- Etiqueta de entorno
prod- Acceso
- Pública, sin inicio de sesión único, para una ruta llamada
publicen un producto cuya entrada diceexternal_ingress: true. La pieza para eso no está construida: hoy cada backend de producto tiene inicio de sesión único, y el paquete de políticas rechaza uno sin él. - Fuente
- landing-zone
docs/contracts.md8; golden-pathmodules/cloud-run-service/main.tf; control-planepolicy/airframe/cloud_run.rego
Playgrounddiseñado
- Nombre de host
play-<name>.projectairframe.dev- Rutas
/- Etiqueta de entorno
play- Acceso
- Inicio de sesión único.
- Fuente
- landing-zone
docs/contracts.md8
El catálogo de arquitectura
- Nombre de host
catalog.projectairframe.dev- Rutas
/- Etiqueta de entorno
platform- Acceso
- Inicio de sesión único, para todas las personas de la organización.
- Fuente
- landing-zone
docs/contracts.md8; operationsroots/eventcatalog/edge.tf
La compuerta de aprobación
- Nombre de host
gate.projectairframe.dev- Rutas
/- Etiqueta de entorno
platform- Acceso
- Pública. La compuerta comprueba ella misma el token de cada llamador, y el paquete de políticas la incluye como un servicio que lo hace.
- Fuente
- landing-zone
docs/contracts.md8; control-planepolicy/airframe/data.json,policy/airframe/cloud_run.rego
Este sitio web
- Nombre de host
www.projectairframe.dev;projectairframe.devredirige a él- Rutas
/- Etiqueta de entorno
platform- Acceso
- Público. Es el único servicio que el paquete de políticas incluye como servicio público del borde.
- Fuente
- landing-zone
docs/contracts.md8,roots/network/edge.tf; control-planepolicy/airframe/data.json
Otros servicios de la plataformadiseñado
- Nombre de host
pact.projectairframe.dev,argocd.projectairframe.devyargocd-np.projectairframe.dev- Rutas
/- Etiqueta de entorno
platform- Acceso
- Inicio de sesión único. Los nombran los contratos; ninguno está construido.
- Fuente
- landing-zone
docs/contracts.md8
La página de vistas previas explica cómo el nombre de host de una vista previa llega a sus servicios, y la de límites de confianza qué protege el inicio de sesión único.
Dónde está
En el repositorio landing-zone:
- docs/contracts.md: los nombres en la sección 2, las etiquetas en la 7, los nombres de host en la 8
- roots/project-factory/: los proyectos, las identidades y los prefijos de estado
- roots/groups/main.tf: los grupos de Google
- roots/network/: el borde compartido y los nombres de host que acepta
En el repositorio golden-path:
