Ir al contenido

Campos del catálogo

Esta página enumera los campos de los archivos del catálogo, los valores que acepta cada uno y lo que la plataforma hace con él. Úsala al escribir o revisar una entrada del catálogo: un campo que determina algo cambia recursos reales en cuanto se fusiona su merge request, y un campo marcado como diseñado se acepta, o está previsto, pero todavía nada actúa sobre él.

La página del catálogo explica los archivos en sí y por qué la intención vive en ellos. Los ejemplos vienen de una organización de demostración, una tienda en línea ficticia.

Cada fila es un campo, con cuatro datos:

  • Obligatorio: si un archivo debe tenerlo, y su valor por defecto cuando puede omitirse.
  • Valores: lo que aceptan las comprobaciones del catálogo. Los JSON Schemas del catálogo y su lint rechazan cualquier otra cosa, incluido cualquier campo que el esquema no defina (aplicado: el pipeline del catálogo ejecuta el lint en cada merge request).
  • Qué determina: lo que la plataforma construye o decide a partir de él, y qué parte de la plataforma lo hace.
  • Fuente: los archivos que definen el campo y el código que lo lee.

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 esquemas del catálogo, su lint y el código que lee cada campo. Una fila marcada como diseñado es un campo que los contratos de la plataforma especifican y que nada lee todavía, o, en los cuatro últimos campos de producto, uno que el esquema todavía no acepta.

El archivo de un producto es products/<journey>.<domain>.<context>.<product>.yaml.

product

Obligatorio
Sí.
Valores
Un slug de 2 a 10 caracteres: letras minúsculas y dígitos, palabras unidas por guiones simples, que empieza con una letra. Es la última parte del nombre del archivo, único dentro de su dominio, y nunca un nombre que el dominio haya retirado.
Qué determina
La identidad del producto en todas partes: la ruta de su repositorio, los identificadores de sus dos proyectos, su grupo de usuarios, sus prefijos de estado y su nombre de host.
Fuente
catalog schema/common.schema.json, scripts/lint.mjs, docs/derivations.md

journey

Obligatorio
Sí.
Valores
El slug de un recorrido, de 3 a 10 letras minúsculas, listado en catalog.yaml. Es la primera parte del nombre del archivo.
Qué determina
El primer nivel de la ruta del producto, y la zona DNS donde están sus nombres de host, <journey>.projectairframe.dev.
Fuente
catalog scripts/lint.mjs; landing-zone roots/network/edge.tf

domain

Obligatorio
Sí.
Valores
El slug de un dominio, de 3 a 8 letras minúsculas. Es la segunda parte del nombre del archivo, y el par <journey>/<domain> está listado en catalog.yaml.
Qué determina
Los identificadores de los proyectos, lk-<domain>-<product>, y qué raíz de fábrica de proyectos de dominio crea los proyectos y qué raíz de GitLab de dominio crea el repositorio.
Fuente
catalog scripts/lint.mjs; landing-zone roots/project-factory/

context

Obligatorio
Sí.
Valores
Un slug de 3 a 12 caracteres. Es la tercera parte del nombre del archivo, y su archivo de contexto debe existir.
Qué determina
El grupo de GitLab del contexto, que contiene el repositorio, y la carpeta del contexto, que contiene los proyectos.
Fuente
catalog scripts/lint.mjs; landing-zone roots/project-factory/

team

Obligatorio
Sí.
Valores
El slug de un equipo. El equipo debe existir y vivir en el contexto del producto, y al menos una persona que pueda fusionar, entre los desarrolladores y el líder del equipo y los líderes por encima del producto, debe tener una cuenta de GitLab.
Qué determina
Quién aprueba y quién puede fusionar, junto con los líderes del contexto, el dominio y el recorrido; los miembros del grupo de usuarios del producto; el acceso de lectura del grupo del equipo a los proyectos; la etiqueta team; el equipo de Grafana.
Fuente
catalog scripts/lint.mjs; landing-zone roots/groups/main.tf, roots/project-factory/; control-plane gate/src/core/ownership.ts

lifecycle

Obligatorio
No. Por defecto { status: active }.
Valores
status es active, retiring o removed. retire_after, una fecha, es obligatorio para los dos últimos. removed llega solo después de retiring, y solo una vez pasada esa fecha.
Qué determina
El retiro saca los servicios del producto del borde compartido y conserva cada recurso. La eliminación borra sus proyectos, su grupo de usuarios y su repositorio, y exige una lápida para que el nombre no se reutilice nunca. Un cambio de estado necesita la etiqueta lifecycle y dos aprobaciones: una del equipo y otra de un líder del dominio o del equipo de plataforma.
Fuente
catalog scripts/lint.mjs, scripts/lifecycle-check.mjs; control-plane gate/src/core/ownership.ts; golden-path modules/cloud-run-service/main.tf

criticality

Obligatorio
Sí.
Valores
1, 2 o 3; 1 es el más crítico.
Qué determina
La etiqueta criticality; el nivel de la base de datos de producción y, con 1, su disponibilidad regional; el límite de instancias de cada servicio; si producción espera el apply del sandbox (1 y 2). Con 1 o 2 el equipo necesita dos miembros de guardia, y con 1 un horario de guardia always.
Fuente
golden-path modules/cloud-sql/main.tf, modules/cloud-run-service/main.tf, template/.gitlab-ci.yml.jinja; catalog scripts/lint.mjs

data_classification

Obligatorio
Sí.
Valores
public, internal, confidential o restricted. restricted exige inner_source: false.
Qué determina
La etiqueta data_classification en los recursos del producto.
Fuente
golden-path modules/airframe-context/main.tf; catalog scripts/lint.mjs

rto, rpo

Obligatorio
Sí.
Valores
Un número entero positivo seguido de m, h o d, como 1h o 15m; el lint lo comprueba para rpo. Un rpo menor que 5m necesita criticidad 1.
Qué determina
La recuperación de la base de datos de producción: un rpo menor que un día activa la recuperación a un punto en el tiempo, y el módulo de Cloud SQL del golden path rechaza un objetivo que no puede cumplir.
Fuente
catalog scripts/lint.mjs; golden-path modules/cloud-sql/main.tf

monthly_budget

Obligatorio
Sí.
Valores
Dólares estadounidenses enteros, al menos 1. La suma de los presupuestos de productos y playgrounds no puede superar el presupuesto de la carpeta en catalog.yaml.
Qué determina
Un presupuesto de Google Cloud en cada proyecto facturado, 70 por ciento producción y 30 por ciento no producción, con alertas al 80 y al 100 por ciento. La comprobación de costo de Airframe rechaza un cambio cuyos planes con precio lo superan. Subirlo necesita un líder del dominio.
Fuente
landing-zone roots/project-factory/; control-plane policy/airframe/cost.rego, gate/src/core/ownership.ts; catalog scripts/lint.mjs

template

Obligatorio
Sí.
Valores
fullstack o none. none exige source_repo o repos.
Qué determina
Si el job de generación escribe el primer commit del repositorio a partir del template del golden path. Con none, el repositorio que crea la plataforma queda vacío.
Fuente
control-plane lifecycle/render.sh; catalog scripts/lint.mjs

stack

Obligatorio
No. Por defecto node.
Valores
node, python-fastapi o java-spring.
Qué determina
La aplicación que genera el template. El job inyectado de compilación y pruebas se elige luego según los archivos que esa pila deja en el repositorio.
Fuente
catalog schema/product.schema.json; control-plane templates/build-test/template.yml

slo

Obligatorio
Sí.
Valores
availability, un porcentaje de 90 a 99.99, y latency_p95_ms, un número entero de milisegundos.
Qué determina
Los objetivos del tablero de SLO del producto y su regla de alerta de presupuesto de error en Grafana.
Fuente
operations roots/grafana/pack.tf

quality

Obligatorio
No. Por defecto: cobertura de 80, sin trinquete, los hallazgos nunca fallan.
Valores
minimum_coverage, de 0 a 100; coverage_ratchet, true o false; block_on_quality, uno de off, info, minor, major, critical o blocker.
Qué determina
El job inyectado build:quality lo lee del catálogo al ejecutarse y falla por debajo de la cobertura, por debajo de la cobertura de main cuando el trinquete está activo, o ante hallazgos de esa gravedad o mayor. Un cambio necesita un líder del equipo o un líder del dominio.
Fuente
control-plane templates/build-test/template.yml, gate/src/core/ownership.ts

external_ingressdiseñado

Obligatorio
No. Por defecto false.
Valores
true o false.
Qué determina
Pensado para que una ruta que el producto declara pública no pase por el inicio de sesión único. El golden path lo pasa a los módulos del producto, pero cada backend de producto sigue teniendo inicio de sesión único, y el paquete de políticas rechaza uno sin él: la pieza para una ruta pública no está construida.
Fuente
golden-path modules/service-project/main.tf, modules/cloud-run-service/main.tf; control-plane policy/airframe/cloud_run.rego

inner_source

Obligatorio
No. Por defecto true.
Valores
true o false.
Qué determina
Con false, en un dominio que tiene un grupo restringido, el repositorio va allí y es privado. En los demás casos el repositorio es público.
Fuente
control-plane modules/product-repositories/main.tf; landing-zone roots/project-factory/

agentic_opsdiseñado

Obligatorio
No. Por defecto diagnose.
Valores
diagnose, act, auto o propose.
Qué determina
Hasta dónde puede actuar sobre el producto el agente de operaciones. Nada lo lee: ese agente no está construido.
Fuente
catalog schema/product.schema.json; landing-zone docs/contracts.md 1.4

preview_concurrency

Obligatorio
No. Por defecto 2.
Valores
De 1 a 16.
Qué determina
El tamaño de la instancia compartida de base de datos de las vistas previas, cuando preview_db es shared.
Fuente
golden-path modules/preview-substrate/variables.tf, template/infra/np/main.tf.jinja

preview_db

Obligatorio
No. Por defecto sidecar.
Valores
sidecar o shared.
Qué determina
Cómo obtiene su base de datos una vista previa: un contenedor de PostgreSQL junto al servicio de la vista previa, o una base de datos propia en una instancia compartida de Cloud SQL por producto.
Fuente
golden-path modules/preview-substrate/variables.tf, template/infra/eph/main.tf.jinja

preview_ttl_hours

Obligatorio
No. Por defecto 72.
Valores
De 1 a 168.
Qué determina
Cuánto vive una vista previa después de su último apply, llevado como la etiqueta expires en sus servicios; después se destruye.
Fuente
golden-path modules/preview-substrate/variables.tf, modules/cloud-run-service/main.tf

previewdiseñado

Obligatorio
No. Por defecto standard.
Valores
standard o custom.
Qué determina
Si el producto trae su propio componente de vista previa. Nada lo lee; cada vista previa usa el enrutador estándar.
Fuente
catalog schema/product.schema.json; landing-zone docs/contracts.md 1.4

conformance_leveldiseñado

Obligatorio
No.
Valores
1, 2 o 3.
Qué determina
Cuánto ha avanzado el producto en la escalera de adopción. Nada lo lee todavía.
Fuente
catalog schema/product.schema.json; landing-zone docs/contracts.md 1.4

residency_profilediseñado

Obligatorio
No. Por defecto default.
Valores
Solo default.
Qué determina
Dónde pueden residir los datos del producto. Solo existe un perfil, y nada lee el campo.
Fuente
catalog schema/product.schema.json; landing-zone docs/contracts.md 1.4

componentsdiseñado

Obligatorio
No.
Valores
Una lista de name, con criticality y data_classification opcionales. El nombre del producto, un guion y el nombre del componente suman como mucho 10 caracteres.
Qué determina
Proyectos separados para una parte del producto con un perfil distinto. Ninguna fábrica de proyectos los crea todavía.
Fuente
catalog schema/product.schema.json, scripts/lint.mjs; landing-zone roots/project-factory/

database

Obligatorio
No.
Valores
tier, el nombre de un nivel de Cloud SQL que empieza con db-.
Qué determina
El nivel de las instancias de Cloud SQL del producto, en lugar del valor por defecto del módulo: el más pequeño fuera de producción, el de la criticidad en producción.
Fuente
catalog schema/product.schema.json; golden-path template/infra/prod/main.tf.jinja, template/infra/np/main.tf.jinja

services

Obligatorio
No.
Valores
Nombres de archivos en services/ del catálogo, cada uno un servicio de Google Cloud que la plataforma aprobó.
Qué determina
La API de cada servicio se habilita en los proyectos facturados del producto y sus roles se otorgan a las identidades de apply del producto. Agregar uno necesita un líder del dominio.
Fuente
catalog scripts/lint.mjs; landing-zone roots/project-factory/; control-plane gate/src/core/ownership.ts

sandbox

Obligatorio
No. Por defecto false.
Valores
true, o tier con el nombre de un nivel de Cloud SQL. Obligatorio cuando otro producto consume los eventos de este producto o lo llama.
Qué determina
Un entorno permanente con la versión de main en el proyecto de no producción, con su propia base de datos en el nivel más pequeño o en el indicado, para que otros productos prueben contra él.
Fuente
catalog scripts/lint.mjs; golden-path template/infra/sandbox/main.tf.jinja

egress

Obligatorio
No.
Valores
Nombres de host, sin comodines y sin direcciones.
Qué determina
Las reglas de permiso del proxy de salida para los servicios del producto. El proxy está apagado por defecto porque cuesta dinero aun en reposo, y mientras está apagado un producto que declara egress no puede desplegar.
Fuente
landing-zone roots/network/egress.tf

egress_tcpdiseñado

Obligatorio
No.
Valores
Una lista de name, cidrs y port.
Qué determina
Conexiones de salida que no son solicitudes web, hacia rangos de direcciones con nombre. Nada lo lee todavía.
Fuente
catalog schema/product.schema.json; landing-zone roots/network/variables.tf

consumes

Obligatorio
No.
Valores
Una lista de topic, la ruta y el evento del publicador como <journey>/<domain>/<context>/<product>/<event>, y subscription, único en el producto. El publicador debe declarar el evento.
Qué determina
Agregar uno necesita la aprobación de los responsables del publicador, salvo que el evento esté marcado como inner_source. El evento aparece como recibido en la página del producto en el catálogo de arquitectura. Ningún módulo crea todavía la suscripción, así que esa parte está diseñada.
Fuente
catalog scripts/lint.mjs; control-plane gate/src/core/ownership.ts, cli/fragment.py

topics

Obligatorio
No.
Valores
Una lista de event, dos palabras en minúsculas unidas por un punto como order.placed; schema, una ruta en el repositorio del producto; e inner_source, por defecto false.
Qué determina
Los eventos que otros productos pueden consumir, y sus páginas en el catálogo de arquitectura. Ningún módulo crea todavía el tópico de Pub/Sub, así que esa parte está diseñada.
Fuente
catalog scripts/lint.mjs; control-plane cli/fragment.py

calls

Obligatorio
No.
Valores
Rutas de productos, <journey>/<domain>/<context>/<product>, nunca el propio producto.
Qué determina
Agregar una necesita la aprobación de los responsables del producto llamado, y el producto llamado debe tener un sandbox. La llamada aparece en el catálogo de arquitectura.
Fuente
catalog scripts/lint.mjs; control-plane gate/src/core/ownership.ts, cli/fragment.py

iap_accessdiseñado

Obligatorio
No.
Valores
Una lista de team o group.
Qué determina
Quién más puede llegar al producto detrás del inicio de sesión único. Nada lo lee todavía: el grupo de usuarios del producto contiene a los miembros de su propio equipo.
Fuente
catalog schema/product.schema.json; landing-zone roots/groups/main.tf

source_repodiseñado

Obligatorio
No.
Valores
La dirección del único repositorio en el que vive hoy un sistema existente. Solo con template: none.
Qué determina
Nada lo lee todavía: el repositorio que crea la plataforma queda vacío.
Fuente
catalog scripts/lint.mjs; control-plane lifecycle/render.sh

reposdiseñado

Obligatorio
No.
Valores
Una lista de name y role, donde el rol es infra, service, worker, migration o frontend. Solo con template: none.
Qué determina
Un producto repartido en varios repositorios. Nada lo lee todavía.
Fuente
catalog schema/product.schema.json; landing-zone docs/adr/0017-multi-repository-products-and-adoption-by-moving-the-group.md

runtimediseñado

Obligatorio
Todavía no se acepta.
Valores
cloud-run o gke, en los contratos.
Qué determina
Dónde se ejecuta el producto: Cloud Run, o espacios de nombres en un clúster GKE compartido. El esquema todavía no acepta el campo, así que el lint rechaza una entrada que lo use.
Fuente
landing-zone docs/contracts.md 1.4; catalog schema/product.schema.json

source_groupdiseñado

Obligatorio
Todavía no se acepta.
Valores
La ruta de un grupo de GitLab, en los contratos.
Qué determina
El grupo en el que viven los repositorios de un producto adoptado antes de pasar a la ruta de la plataforma. Hoy el lint lo rechaza.
Fuente
landing-zone docs/contracts.md 1.4; catalog schema/product.schema.json

hostnamesdiseñado

Obligatorio
Todavía no se acepta.
Valores
Nombres de host bajo una zona que la organización posee, en los contratos.
Qué determina
Los nombres de host con los que llega un producto adoptado, que el borde compartido serviría como alias de los suyos. Hoy el lint lo rechaza.
Fuente
landing-zone docs/contracts.md 1.4 y 8; catalog schema/product.schema.json

dependenciesdiseñado

Obligatorio
Todavía no se acepta.
Valores
Una lista de name, kind, host y port, en los contratos.
Qué determina
Un almacén de datos o un servicio que el producto sigue operando fuera de la plataforma; la red le abriría el camino. Hoy el lint lo rechaza.
Fuente
landing-zone docs/contracts.md 1.4; catalog schema/product.schema.json

Los secretos nunca están en el catálogo. El repositorio de un producto los enumera por nombre en su propio archivo de secretos, sin valores.

El archivo de un equipo es teams/<team>.yaml.

team

Obligatorio
Sí.
Valores
Un slug, igual al nombre del archivo.
Qué determina
El grupo del equipo, lk-team-<team>@, que tiene acceso de lectura a los proyectos de los productos del equipo, y el equipo, su punto de contacto y el enrutamiento de sus alertas en Grafana.
Fuente
catalog scripts/lint.mjs; landing-zone roots/groups/main.tf, roots/project-factory/; operations roots/grafana/

context

Obligatorio
Sí.
Valores
La ruta del contexto en el que vive el equipo, <journey>/<domain>/<context>, o platform.
Qué determina
Qué productos puede gestionar el equipo: el equipo de un producto debe vivir en el contexto del producto.
Fuente
catalog scripts/lint.mjs

lead

Obligatorio
Sí.
Valores
Una persona que es miembro con el rol team_lead.
Qué determina
El contacto principal del equipo, en su página del catálogo de arquitectura. El líder del equipo de plataforma administra la organización de Grafana.
Fuente
catalog scripts/lint.mjs; control-plane cli/fragment.py; operations roots/grafana/members.tf

timezone

Obligatorio
No. Por defecto Etc/UTC.
Valores
El nombre de una zona horaria, como Europe/Lisbon.
Qué determina
Se muestra en la página del equipo en el catálogo de arquitectura. Nada más lo lee todavía.
Fuente
catalog schema/team.schema.json; control-plane cli/fragment.py

members

Obligatorio
Sí, al menos uno.
Valores
Una lista de person y roles; los roles son developer, team_lead, oncall y oncall-secondary. Un miembro está activo o pendiente, nunca dado de baja.
Qué determina
Cada miembro puede aprobar cambios en los productos del equipo; los desarrolladores y los líderes del equipo además pueden fusionarlos. Los miembros activos entran en el grupo del equipo, en los grupos de usuarios de los productos del equipo y en el equipo de Grafana.
Fuente
catalog scripts/lint.mjs, ownership/protected-paths.yaml; landing-zone roots/groups/main.tf

oncalldiseñado

Obligatorio
No. El equipo de un producto de criticidad 1 lo necesita.
Valores
rotation, weekly o daily; layers, los roles de guardia; hours, business o always. Un producto de criticidad 1 necesita always.
Qué determina
La rotación de guardia del equipo, que no está construida. Hoy los valores solo aparecen en la página del equipo en el catálogo de arquitectura.
Fuente
catalog scripts/lint.mjs; control-plane cli/fragment.py

El archivo de una persona es people/<person>.yaml.

person

Obligatorio
Sí.
Valores
La parte local de la dirección de correo, como sam.okafor, igual al nombre del archivo.
Qué determina
La identidad de la persona en cada equipo, lista de líderes y aprobación.
Fuente
catalog schema/common.schema.json, scripts/lint.mjs

email

Obligatorio
Sí.
Valores
Una dirección en el dominio de la organización, projectairframe.dev.
Qué determina
Las membresías de grupos: la raíz de grupos agrega a cada persona activa a sus grupos con esta dirección.
Fuente
catalog schema/common.schema.json; landing-zone roots/groups/main.tf

name

Obligatorio
Sí.
Valores
Cualquier texto.
Qué determina
La página de la persona en el catálogo de arquitectura.
Fuente
control-plane cli/fragment.py

status

Obligatorio
Sí.
Valores
active, pending o departed.
Qué determina
Solo las personas activas entran en grupos. Una persona pendiente, todavía sin cuenta, conserva sus roles y sus puestos de líder. El lint rechaza a una persona dada de baja en un equipo o una lista de líderes.
Fuente
catalog scripts/lint.mjs; landing-zone roots/groups/main.tf

gitlab_username

Obligatorio
No.
Valores
Un nombre de usuario de GitLab.
Qué determina
Las membresías y los permisos de fusión en GitLab, y los aprobadores con nombre de la política de aprobación: solo cuentan las personas activas con un nombre de usuario.
Fuente
catalog scripts/lint.mjs; security-policies scripts/approvers.py; control-plane roots/gitlab/

grafana_username

Obligatorio
No.
Valores
El inicio de sesión de la persona en Grafana Cloud, una vez que el inicio de sesión único creó la cuenta.
Qué determina
La membresía en la organización de Grafana y en los equipos de la persona allí.
Fuente
operations roots/grafana/members.tf

profile

Obligatorio
No.
Valores
about, expertise, links y hours. Un cambio necesita a la persona: su aprobación, o un merge request que ella abrió solo con commits suyos.
Qué determina
La página de la persona en el catálogo de arquitectura.
Fuente
catalog ownership/protected-paths.yaml; control-plane gate/src/core/ownership.ts, cli/fragment.py

El archivo de un recorrido es journeys/<journey>.yaml.

journey

Obligatorio
Sí.
Valores
De 3 a 10 letras minúsculas, igual al nombre del archivo y listado en catalog.yaml.
Qué determina
La carpeta del recorrido, su grupo de GitLab y su zona DNS, <journey>.projectairframe.dev.
Fuente
catalog scripts/lint.mjs, docs/derivations.md

leads

Obligatorio
Sí, al menos uno.
Valores
Personas; la primera es el contacto principal. Ninguna puede estar dada de baja.
Qué determina
El grupo lk-journey-<journey>-leads@. Los líderes del recorrido pueden fusionar en cada producto que está debajo.
Fuente
catalog schema/journey.schema.json, scripts/lint.mjs; landing-zone roots/groups/main.tf

description

Obligatorio
Sí.
Valores
Texto.
Qué determina
La página del recorrido en el catálogo de arquitectura.
Fuente
control-plane cli/fragment.py

El archivo de un dominio es domains/<journey>.<domain>.yaml.

domain

Obligatorio
Sí.
Valores
De 3 a 8 letras minúsculas, igual a la segunda parte del nombre del archivo y listado como <journey>/<domain> en catalog.yaml.
Qué determina
La carpeta del dominio, su grupo de líderes y sus dos subredes en cada red salen del catálogo. Sus grupos de GitLab, su raíz de fábrica de proyectos y su raíz de GitLab de dominio son cambios en la propia plataforma.
Fuente
landing-zone roots/folders/, roots/groups/, roots/network/; control-plane roots/gitlab/

journey

Obligatorio
Sí.
Valores
El recorrido al que pertenece, igual a la primera parte del nombre del archivo. El archivo del recorrido debe existir.
Qué determina
Dónde está el dominio, bajo la carpeta y el grupo del recorrido.
Fuente
catalog scripts/lint.mjs

leads

Obligatorio
Sí, al menos uno.
Valores
Personas, como en un recorrido.
Qué determina
El grupo lk-<journey>-<domain>-leads@. Los líderes del dominio pueden fusionar en cada producto que está debajo y aprobar sus entradas; uno debe aprobar un presupuesto mayor o un servicio nuevo, y un líder del dominio o el equipo de plataforma da una de las dos aprobaciones que necesita un cambio de ciclo de vida.
Fuente
landing-zone roots/groups/main.tf; control-plane gate/src/core/ownership.ts

description

Obligatorio
Sí.
Valores
Texto, de 200 caracteres como mucho.
Qué determina
La página del dominio en el catálogo de arquitectura.
Fuente
catalog schema/domain.schema.json; control-plane cli/fragment.py

restricted_subtree

Obligatorio
No. Por defecto false.
Valores
true o false.
Qué determina
Un grupo restringido dentro del grupo de GitLab del dominio, donde los productos con inner_source: false obtienen repositorios privados.
Fuente
control-plane roots/gitlab/groups.tf, modules/product-repositories/main.tf

El archivo de un contexto es contexts/<journey>.<domain>.<context>.yaml. Un dominio pequeño igual declara un contexto, con el nombre del dominio.

context

Obligatorio
Sí.
Valores
Un slug de 3 a 12 caracteres, igual a la tercera parte del nombre del archivo.
Qué determina
La carpeta del contexto, y su grupo de GitLab, que contiene los repositorios de sus productos.
Fuente
catalog scripts/lint.mjs; landing-zone roots/folders/; control-plane roots/gitlab/

domain

Obligatorio
Sí.
Valores
Su dominio, igual a la segunda parte del nombre del archivo. El archivo del dominio debe existir.
Qué determina
Dónde está el contexto, bajo la carpeta y el grupo del dominio.
Fuente
catalog scripts/lint.mjs

journey

Obligatorio
Sí.
Valores
Su recorrido, igual a la primera parte del nombre del archivo.
Qué determina
Dónde está el contexto.
Fuente
catalog scripts/lint.mjs

leads

Obligatorio
Sí, al menos uno.
Valores
Personas, como en un recorrido.
Qué determina
El grupo lk-<journey>-<domain>-<context>-leads@. Los líderes del contexto pueden fusionar en cada producto del contexto y aprobar sus entradas.
Fuente
landing-zone roots/groups/main.tf; catalog ownership/protected-paths.yaml

description

Obligatorio
Sí.
Valores
Texto.
Qué determina
Se muestra con el contexto en la página de su dominio en el catálogo de arquitectura.
Fuente
control-plane cli/fragment.py

Dónde está

En el repositorio catalog:

En el repositorio landing-zone:

Licencia MIT. Copyright de los colaboradores de Airframe.

Este sitio describe la versión 2026.10.20-1 de la plataforma.