Pular para o conteúdo

Campos do catálogo

Esta página lista os campos dos arquivos do catálogo, os valores que cada um aceita e o que a plataforma faz com ele. Use-a ao escrever ou revisar uma entrada do catálogo: um campo que determina algo muda recursos reais assim que o seu merge request é mesclado, e um campo marcado como projetado é aceito, ou previsto, mas nada age sobre ele ainda.

A página do catálogo explica os arquivos em si e por que a intenção mora neles. Os exemplos vêm de uma organização de demonstração, uma loja on-line fictícia.

Cada linha é um campo, com quatro informações:

  • Obrigatório: se um arquivo precisa tê-lo, e o seu valor padrão quando pode ser omitido.
  • Valores: o que as verificações do catálogo aceitam. Os JSON Schemas do catálogo e o seu lint recusam qualquer outra coisa, incluindo qualquer campo que o esquema não defina (aplicado: o pipeline do catálogo roda o lint em cada merge request).
  • O que determina: o que a plataforma constrói ou decide a partir dele, e qual parte da plataforma faz isso.
  • Fonte: os arquivos que definem o campo e o código que o lê.

As tabelas descrevem a plataforma na versão da plataforma 2026.10.01-1, como estão em 2026-10-01 os esquemas do catálogo, o seu lint e o código que lê cada campo. Uma linha marcada como projetado é um campo que os contratos da plataforma especificam e que nada lê ainda, ou, nos quatro últimos campos de produto, um que o esquema ainda não aceita.

O arquivo de um produto é products/<journey>.<domain>.<context>.<product>.yaml.

product

Obrigatório
Sim.
Valores
Um slug de 2 a 10 caracteres: letras minúsculas e dígitos, palavras unidas por hifens simples, começando com uma letra. É a última parte do nome do arquivo, único dentro do seu domínio, e nunca um nome que o domínio aposentou.
O que determina
A identidade do produto em toda parte: o caminho do seu repositório, os identificadores dos seus dois projetos, o seu grupo de usuários, os seus prefixos de estado e o seu nome de host.
Fonte
catalog schema/common.schema.json, scripts/lint.mjs, docs/derivations.md

journey

Obrigatório
Sim.
Valores
O slug de uma jornada, de 3 a 10 letras minúsculas, listado em catalog.yaml. É a primeira parte do nome do arquivo.
O que determina
O primeiro nível do caminho do produto, e a zona DNS onde ficam os seus nomes de host, <journey>.projectairframe.dev.
Fonte
catalog scripts/lint.mjs; landing-zone roots/network/edge.tf

domain

Obrigatório
Sim.
Valores
O slug de um domínio, de 3 a 8 letras minúsculas. É a segunda parte do nome do arquivo, e o par <journey>/<domain> está listado em catalog.yaml.
O que determina
Os identificadores dos projetos, lk-<domain>-<product>, e qual raiz de fábrica de projetos de domínio cria os projetos e qual raiz de GitLab de domínio cria o repositório.
Fonte
catalog scripts/lint.mjs; landing-zone roots/project-factory/

context

Obrigatório
Sim.
Valores
Um slug de 3 a 12 caracteres. É a terceira parte do nome do arquivo, e o seu arquivo de contexto precisa existir.
O que determina
O grupo do GitLab do contexto, que guarda o repositório, e a pasta do contexto, que guarda os projetos.
Fonte
catalog scripts/lint.mjs; landing-zone roots/project-factory/

team

Obrigatório
Sim.
Valores
O slug de um time. O time precisa existir e morar no contexto do produto, e pelo menos uma pessoa que pode mesclar, entre os desenvolvedores e o líder do time e os líderes acima do produto, precisa ter uma conta no GitLab.
O que determina
Quem aprova e quem pode mesclar, junto com os líderes do contexto, do domínio e da jornada; os membros do grupo de usuários do produto; o acesso de leitura do grupo do time aos projetos; o rótulo team; o time no Grafana.
Fonte
catalog scripts/lint.mjs; landing-zone roots/groups/main.tf, roots/project-factory/; control-plane gate/src/core/ownership.ts

lifecycle

Obrigatório
Não. Padrão { status: active }.
Valores
status é active, retiring ou removed. retire_after, uma data, é obrigatório para os dois últimos. removed vem só depois de retiring, e só quando essa data já passou.
O que determina
A aposentadoria tira os serviços do produto da borda compartilhada e mantém cada recurso. A remoção apaga os seus projetos, o seu grupo de usuários e o seu repositório, e exige uma lápide para que o nome nunca seja reutilizado. Uma mudança de estado precisa do rótulo lifecycle e de duas aprovações: uma do time e outra de um líder do domínio ou do time de plataforma.
Fonte
catalog scripts/lint.mjs, scripts/lifecycle-check.mjs; control-plane gate/src/core/ownership.ts; golden-path modules/cloud-run-service/main.tf

criticality

Obrigatório
Sim.
Valores
1, 2 ou 3; 1 é o mais crítico.
O que determina
O rótulo criticality; o nível do banco de dados de produção e, com 1, a sua disponibilidade regional; o limite de instâncias de cada serviço; se a produção espera o apply do sandbox (1 e 2). Com 1 ou 2 o time precisa de dois membros de plantão, e com 1 de horário de plantão always.
Fonte
golden-path modules/cloud-sql/main.tf, modules/cloud-run-service/main.tf, template/.gitlab-ci.yml.jinja; catalog scripts/lint.mjs

data_classification

Obrigatório
Sim.
Valores
public, internal, confidential ou restricted. restricted exige inner_source: false.
O que determina
O rótulo data_classification nos recursos do produto.
Fonte
golden-path modules/airframe-context/main.tf; catalog scripts/lint.mjs

rto, rpo

Obrigatório
Sim.
Valores
Um número inteiro positivo seguido de m, h ou d, como 1h ou 15m; o lint verifica isso para rpo. Um rpo menor que 5m precisa de criticidade 1.
O que determina
A recuperação do banco de dados de produção: um rpo menor que um dia liga a recuperação a um ponto no tempo, e o módulo de Cloud SQL do golden path recusa um objetivo que não consegue cumprir.
Fonte
catalog scripts/lint.mjs; golden-path modules/cloud-sql/main.tf

monthly_budget

Obrigatório
Sim.
Valores
Dólares americanos inteiros, pelo menos 1. A soma dos orçamentos de produtos e playgrounds não pode passar do orçamento da pasta em catalog.yaml.
O que determina
Um orçamento do Google Cloud em cada projeto faturado, 70 por cento produção e 30 por cento não produção, com alertas em 80 e 100 por cento. A verificação de custo do Airframe recusa uma mudança cujos planos com preço passam dele. Aumentá-lo precisa de um líder do domínio.
Fonte
landing-zone roots/project-factory/; control-plane policy/airframe/cost.rego, gate/src/core/ownership.ts; catalog scripts/lint.mjs

template

Obrigatório
Sim.
Valores
fullstack ou none. none exige source_repo ou repos.
O que determina
Se o job de renderização escreve o primeiro commit do repositório a partir do template do golden path. Com none, o repositório que a plataforma cria fica vazio.
Fonte
control-plane lifecycle/render.sh; catalog scripts/lint.mjs

stack

Obrigatório
Não. Padrão node.
Valores
node, python-fastapi ou java-spring.
O que determina
A aplicação que o template renderiza. O job injetado de build e testes é escolhido depois pelos arquivos que essa pilha deixa no repositório.
Fonte
catalog schema/product.schema.json; control-plane templates/build-test/template.yml

slo

Obrigatório
Sim.
Valores
availability, uma porcentagem de 90 a 99.99, e latency_p95_ms, um número inteiro de milissegundos.
O que determina
Os objetivos do painel de SLO do produto e a sua regra de alerta de orçamento de erro no Grafana.
Fonte
operations roots/grafana/pack.tf

quality

Obrigatório
Não. Padrão: cobertura de 80, sem catraca, achados nunca falham.
Valores
minimum_coverage, de 0 a 100; coverage_ratchet, true ou false; block_on_quality, um de off, info, minor, major, critical ou blocker.
O que determina
O job injetado build:quality o lê do catálogo na hora da execução e falha abaixo da cobertura, abaixo da cobertura da main quando a catraca está ligada, ou diante de achados dessa gravidade ou maior. Uma mudança precisa de um líder do time ou de um líder do domínio.
Fonte
control-plane templates/build-test/template.yml, gate/src/core/ownership.ts

external_ingressprojetado

Obrigatório
Não. Padrão false.
Valores
true ou false.
O que determina
Pensado para deixar uma rota que o produto declara pública sem login único. O golden path o passa para os módulos do produto, mas todo backend de produto continua com login único, e o pacote de políticas recusa um sem ele: a peça para uma rota pública não está construída.
Fonte
golden-path modules/service-project/main.tf, modules/cloud-run-service/main.tf; control-plane policy/airframe/cloud_run.rego

inner_source

Obrigatório
Não. Padrão true.
Valores
true ou false.
O que determina
Com false, num domínio que tem um grupo restrito, o repositório vai para lá e é privado. Nos outros casos o repositório é público.
Fonte
control-plane modules/product-repositories/main.tf; landing-zone roots/project-factory/

agentic_opsprojetado

Obrigatório
Não. Padrão diagnose.
Valores
diagnose, act, auto ou propose.
O que determina
Até onde o agente de operações pode agir sobre o produto. Nada o lê: esse agente não está construído.
Fonte
catalog schema/product.schema.json; landing-zone docs/contracts.md 1.4

preview_concurrency

Obrigatório
Não. Padrão 2.
Valores
De 1 a 16.
O que determina
O tamanho da instância compartilhada de banco de dados das prévias, quando preview_db é shared.
Fonte
golden-path modules/preview-substrate/variables.tf, template/infra/np/main.tf.jinja

preview_db

Obrigatório
Não. Padrão sidecar.
Valores
sidecar ou shared.
O que determina
Como uma prévia obtém o seu banco de dados: um contêiner de PostgreSQL ao lado do serviço da prévia, ou um banco de dados próprio numa instância compartilhada de Cloud SQL por produto.
Fonte
golden-path modules/preview-substrate/variables.tf, template/infra/eph/main.tf.jinja

preview_ttl_hours

Obrigatório
Não. Padrão 72.
Valores
De 1 a 168.
O que determina
Quanto tempo uma prévia vive depois do seu último apply, levado como o rótulo expires nos seus serviços; depois disso ela é destruída.
Fonte
golden-path modules/preview-substrate/variables.tf, modules/cloud-run-service/main.tf

previewprojetado

Obrigatório
Não. Padrão standard.
Valores
standard ou custom.
O que determina
Se o produto traz o seu próprio componente de prévia. Nada o lê; toda prévia usa o roteador padrão.
Fonte
catalog schema/product.schema.json; landing-zone docs/contracts.md 1.4

conformance_levelprojetado

Obrigatório
Não.
Valores
1, 2 ou 3.
O que determina
Quanto o produto já avançou na escada de adoção. Nada o lê ainda.
Fonte
catalog schema/product.schema.json; landing-zone docs/contracts.md 1.4

residency_profileprojetado

Obrigatório
Não. Padrão default.
Valores
Só default.
O que determina
Onde os dados do produto podem ficar. Só existe um perfil, e nada lê o campo.
Fonte
catalog schema/product.schema.json; landing-zone docs/contracts.md 1.4

componentsprojetado

Obrigatório
Não.
Valores
Uma lista de name, com criticality e data_classification opcionais. O nome do produto, um hífen e o nome do componente somam no máximo 10 caracteres.
O que determina
Projetos separados para uma parte do produto com um perfil diferente. Nenhuma fábrica de projetos os cria ainda.
Fonte
catalog schema/product.schema.json, scripts/lint.mjs; landing-zone roots/project-factory/

database

Obrigatório
Não.
Valores
tier, o nome de um nível do Cloud SQL que começa com db-.
O que determina
O nível das instâncias de Cloud SQL do produto, no lugar do padrão do módulo: o menor fora da produção, o da criticidade na produção.
Fonte
catalog schema/product.schema.json; golden-path template/infra/prod/main.tf.jinja, template/infra/np/main.tf.jinja

services

Obrigatório
Não.
Valores
Nomes de arquivos em services/ do catálogo, cada um um serviço do Google Cloud que a plataforma aprovou.
O que determina
A API de cada serviço é habilitada nos projetos faturados do produto e os seus papéis são concedidos às identidades de apply do produto. Adicionar um precisa de um líder do domínio.
Fonte
catalog scripts/lint.mjs; landing-zone roots/project-factory/; control-plane gate/src/core/ownership.ts

sandbox

Obrigatório
Não. Padrão false.
Valores
true, ou tier com o nome de um nível do Cloud SQL. Obrigatório quando outro produto consome os eventos deste produto ou o chama.
O que determina
Um ambiente permanente com a versão da main no projeto de não produção, com o seu próprio banco de dados no menor nível ou no indicado, para outros produtos testarem contra ele.
Fonte
catalog scripts/lint.mjs; golden-path template/infra/sandbox/main.tf.jinja

egress

Obrigatório
Não.
Valores
Nomes de host, sem curingas e sem endereços.
O que determina
As regras de permissão do proxy de saída para os serviços do produto. O proxy vem desligado porque custa dinheiro mesmo parado, e enquanto está desligado um produto que declara egress não consegue fazer deploy.
Fonte
landing-zone roots/network/egress.tf

egress_tcpprojetado

Obrigatório
Não.
Valores
Uma lista de name, cidrs e port.
O que determina
Conexões de saída que não são requisições web, para faixas de endereços com nome. Nada o lê ainda.
Fonte
catalog schema/product.schema.json; landing-zone roots/network/variables.tf

consumes

Obrigatório
Não.
Valores
Uma lista de topic, o caminho e o evento do publicador como <journey>/<domain>/<context>/<product>/<event>, e subscription, único no produto. O publicador precisa declarar o evento.
O que determina
Adicionar um precisa da aprovação dos responsáveis pelo publicador, a não ser que o evento esteja marcado como inner_source. O evento aparece como recebido na página do produto no catálogo de arquitetura. Nenhum módulo cria a assinatura ainda, então essa parte é projetada.
Fonte
catalog scripts/lint.mjs; control-plane gate/src/core/ownership.ts, cli/fragment.py

topics

Obrigatório
Não.
Valores
Uma lista de event, duas palavras minúsculas unidas por um ponto como order.placed; schema, um caminho no repositório do produto; e inner_source, padrão false.
O que determina
Os eventos que outros produtos podem consumir, e as suas páginas no catálogo de arquitetura. Nenhum módulo cria o tópico do Pub/Sub ainda, então essa parte é projetada.
Fonte
catalog scripts/lint.mjs; control-plane cli/fragment.py

calls

Obrigatório
Não.
Valores
Caminhos de produtos, <journey>/<domain>/<context>/<product>, nunca o próprio produto.
O que determina
Adicionar uma precisa da aprovação dos responsáveis pelo produto chamado, e o produto chamado precisa ter um sandbox. A chamada aparece no catálogo de arquitetura.
Fonte
catalog scripts/lint.mjs; control-plane gate/src/core/ownership.ts, cli/fragment.py

iap_accessprojetado

Obrigatório
Não.
Valores
Uma lista de team ou group.
O que determina
Quem mais pode chegar ao produto atrás do login único. Nada o lê ainda: o grupo de usuários do produto tem os membros do próprio time.
Fonte
catalog schema/product.schema.json; landing-zone roots/groups/main.tf

source_repoprojetado

Obrigatório
Não.
Valores
O endereço do único repositório em que um sistema existente vive hoje. Só com template: none.
O que determina
Nada o lê ainda: o repositório que a plataforma cria fica vazio.
Fonte
catalog scripts/lint.mjs; control-plane lifecycle/render.sh

reposprojetado

Obrigatório
Não.
Valores
Uma lista de name e role, sendo o papel infra, service, worker, migration ou frontend. Só com template: none.
O que determina
Um produto espalhado por vários repositórios. Nada o lê ainda.
Fonte
catalog schema/product.schema.json; landing-zone docs/adr/0017-multi-repository-products-and-adoption-by-moving-the-group.md

runtimeprojetado

Obrigatório
Ainda não é aceito.
Valores
cloud-run ou gke, nos contratos.
O que determina
Onde o produto roda: Cloud Run, ou namespaces num cluster GKE compartilhado. O esquema ainda não aceita o campo, então o lint recusa uma entrada que o use.
Fonte
landing-zone docs/contracts.md 1.4; catalog schema/product.schema.json

source_groupprojetado

Obrigatório
Ainda não é aceito.
Valores
O caminho de um grupo do GitLab, nos contratos.
O que determina
O grupo em que os repositórios de um produto adotado vivem antes de passar para o caminho da plataforma. Hoje o lint o recusa.
Fonte
landing-zone docs/contracts.md 1.4; catalog schema/product.schema.json

hostnamesprojetado

Obrigatório
Ainda não é aceito.
Valores
Nomes de host sob uma zona que a organização detém, nos contratos.
O que determina
Os nomes de host com que um produto adotado chega, que a borda compartilhada serviria como apelidos dos seus. Hoje o lint o recusa.
Fonte
landing-zone docs/contracts.md 1.4 e 8; catalog schema/product.schema.json

dependenciesprojetado

Obrigatório
Ainda não é aceito.
Valores
Uma lista de name, kind, host e port, nos contratos.
O que determina
Um armazenamento de dados ou um serviço que o produto continua operando fora da plataforma; a rede abriria o caminho até ele. Hoje o lint o recusa.
Fonte
landing-zone docs/contracts.md 1.4; catalog schema/product.schema.json

Segredos nunca ficam no catálogo. O repositório de um produto os lista por nome no seu próprio arquivo de segredos, sem valores.

O arquivo de um time é teams/<team>.yaml.

team

Obrigatório
Sim.
Valores
Um slug, igual ao nome do arquivo.
O que determina
O grupo do time, lk-team-<team>@, que tem acesso de leitura aos projetos dos produtos do time, e o time, o seu ponto de contato e o roteamento dos seus alertas no Grafana.
Fonte
catalog scripts/lint.mjs; landing-zone roots/groups/main.tf, roots/project-factory/; operations roots/grafana/

context

Obrigatório
Sim.
Valores
O caminho do contexto onde o time mora, <journey>/<domain>/<context>, ou platform.
O que determina
Quais produtos o time pode gerenciar: o time de um produto precisa morar no contexto do produto.
Fonte
catalog scripts/lint.mjs

lead

Obrigatório
Sim.
Valores
Uma pessoa que é membro com o papel team_lead.
O que determina
O contato principal do time, na sua página do catálogo de arquitetura. O líder do time de plataforma administra a organização do Grafana.
Fonte
catalog scripts/lint.mjs; control-plane cli/fragment.py; operations roots/grafana/members.tf

timezone

Obrigatório
Não. Padrão Etc/UTC.
Valores
O nome de um fuso horário, como Europe/Lisbon.
O que determina
Aparece na página do time no catálogo de arquitetura. Nada mais o lê ainda.
Fonte
catalog schema/team.schema.json; control-plane cli/fragment.py

members

Obrigatório
Sim, pelo menos um.
Valores
Uma lista de person e roles; os papéis são developer, team_lead, oncall e oncall-secondary. Um membro está ativo ou pendente, nunca desligado.
O que determina
Cada membro pode aprovar mudanças nos produtos do time; os desenvolvedores e os líderes do time também podem mesclá-las. Os membros ativos entram no grupo do time, nos grupos de usuários dos produtos do time e no time do Grafana.
Fonte
catalog scripts/lint.mjs, ownership/protected-paths.yaml; landing-zone roots/groups/main.tf

oncallprojetado

Obrigatório
Não. O time de um produto de criticidade 1 precisa dele.
Valores
rotation, weekly ou daily; layers, os papéis de plantão; hours, business ou always. Um produto de criticidade 1 precisa de always.
O que determina
A escala de plantão do time, que não está construída. Hoje os valores só aparecem na página do time no catálogo de arquitetura.
Fonte
catalog scripts/lint.mjs; control-plane cli/fragment.py

O arquivo de uma pessoa é people/<person>.yaml.

person

Obrigatório
Sim.
Valores
A parte local do endereço de e-mail, como sam.okafor, igual ao nome do arquivo.
O que determina
A identidade da pessoa em cada time, lista de líderes e aprovação.
Fonte
catalog schema/common.schema.json, scripts/lint.mjs

email

Obrigatório
Sim.
Valores
Um endereço no domínio da organização, projectairframe.dev.
O que determina
As participações em grupos: a raiz de grupos adiciona cada pessoa ativa aos seus grupos por este endereço.
Fonte
catalog schema/common.schema.json; landing-zone roots/groups/main.tf

name

Obrigatório
Sim.
Valores
Qualquer texto.
O que determina
A página da pessoa no catálogo de arquitetura.
Fonte
control-plane cli/fragment.py

status

Obrigatório
Sim.
Valores
active, pending ou departed.
O que determina
Só pessoas ativas entram em grupos. Uma pessoa pendente, ainda sem conta, mantém os seus papéis e as suas posições de líder. O lint recusa uma pessoa desligada num time ou numa lista de líderes.
Fonte
catalog scripts/lint.mjs; landing-zone roots/groups/main.tf

gitlab_username

Obrigatório
Não.
Valores
Um nome de usuário do GitLab.
O que determina
As participações e as permissões de mesclagem no GitLab, e os aprovadores nomeados da política de aprovação: só contam pessoas ativas com um nome de usuário.
Fonte
catalog scripts/lint.mjs; security-policies scripts/approvers.py; control-plane roots/gitlab/

grafana_username

Obrigatório
Não.
Valores
O login da pessoa no Grafana Cloud, depois que o login único criou a conta.
O que determina
A participação na organização do Grafana e nos times da pessoa lá.
Fonte
operations roots/grafana/members.tf

profile

Obrigatório
Não.
Valores
about, expertise, links e hours. Uma mudança precisa da pessoa: da sua aprovação, ou de um merge request que ela abriu só com commits seus.
O que determina
A página da pessoa no catálogo de arquitetura.
Fonte
catalog ownership/protected-paths.yaml; control-plane gate/src/core/ownership.ts, cli/fragment.py

O arquivo de uma jornada é journeys/<journey>.yaml.

journey

Obrigatório
Sim.
Valores
De 3 a 10 letras minúsculas, igual ao nome do arquivo e listado em catalog.yaml.
O que determina
A pasta da jornada, o seu grupo do GitLab e a sua zona DNS, <journey>.projectairframe.dev.
Fonte
catalog scripts/lint.mjs, docs/derivations.md

leads

Obrigatório
Sim, pelo menos um.
Valores
Pessoas; a primeira é o contato principal. Nenhuma pode estar desligada.
O que determina
O grupo lk-journey-<journey>-leads@. Os líderes da jornada podem mesclar em cada produto abaixo dela.
Fonte
catalog schema/journey.schema.json, scripts/lint.mjs; landing-zone roots/groups/main.tf

description

Obrigatório
Sim.
Valores
Texto.
O que determina
A página da jornada no catálogo de arquitetura.
Fonte
control-plane cli/fragment.py

O arquivo de um domínio é domains/<journey>.<domain>.yaml.

domain

Obrigatório
Sim.
Valores
De 3 a 8 letras minúsculas, igual à segunda parte do nome do arquivo e listado como <journey>/<domain> em catalog.yaml.
O que determina
A pasta do domínio, o seu grupo de líderes e as suas duas sub-redes em cada rede saem do catálogo. Os seus grupos do GitLab, a sua raiz de fábrica de projetos e a sua raiz de GitLab de domínio são mudanças na própria plataforma.
Fonte
landing-zone roots/folders/, roots/groups/, roots/network/; control-plane roots/gitlab/

journey

Obrigatório
Sim.
Valores
A jornada a que pertence, igual à primeira parte do nome do arquivo. O arquivo da jornada precisa existir.
O que determina
Onde o domínio fica, sob a pasta e o grupo da jornada.
Fonte
catalog scripts/lint.mjs

leads

Obrigatório
Sim, pelo menos um.
Valores
Pessoas, como numa jornada.
O que determina
O grupo lk-<journey>-<domain>-leads@. Os líderes do domínio podem mesclar em cada produto abaixo dele e aprovar as suas entradas; um deles precisa aprovar um orçamento maior ou um serviço novo, e um líder do domínio ou o time de plataforma dá uma das duas aprovações de que uma mudança de ciclo de vida precisa.
Fonte
landing-zone roots/groups/main.tf; control-plane gate/src/core/ownership.ts

description

Obrigatório
Sim.
Valores
Texto, de no máximo 200 caracteres.
O que determina
A página do domínio no catálogo de arquitetura.
Fonte
catalog schema/domain.schema.json; control-plane cli/fragment.py

restricted_subtree

Obrigatório
Não. Padrão false.
Valores
true ou false.
O que determina
Um grupo restrito dentro do grupo do GitLab do domínio, onde os produtos com inner_source: false recebem repositórios privados.
Fonte
control-plane roots/gitlab/groups.tf, modules/product-repositories/main.tf

O arquivo de um contexto é contexts/<journey>.<domain>.<context>.yaml. Um domínio pequeno ainda declara um contexto, com o nome do domínio.

context

Obrigatório
Sim.
Valores
Um slug de 3 a 12 caracteres, igual à terceira parte do nome do arquivo.
O que determina
A pasta do contexto, e o seu grupo do GitLab, que guarda os repositórios dos seus produtos.
Fonte
catalog scripts/lint.mjs; landing-zone roots/folders/; control-plane roots/gitlab/

domain

Obrigatório
Sim.
Valores
O seu domínio, igual à segunda parte do nome do arquivo. O arquivo do domínio precisa existir.
O que determina
Onde o contexto fica, sob a pasta e o grupo do domínio.
Fonte
catalog scripts/lint.mjs

journey

Obrigatório
Sim.
Valores
A sua jornada, igual à primeira parte do nome do arquivo.
O que determina
Onde o contexto fica.
Fonte
catalog scripts/lint.mjs

leads

Obrigatório
Sim, pelo menos um.
Valores
Pessoas, como numa jornada.
O que determina
O grupo lk-<journey>-<domain>-<context>-leads@. Os líderes do contexto podem mesclar em cada produto do contexto e aprovar as suas entradas.
Fonte
landing-zone roots/groups/main.tf; catalog ownership/protected-paths.yaml

description

Obrigatório
Sim.
Valores
Texto.
O que determina
Aparece com o contexto na página do seu domínio no catálogo de arquitetura.
Fonte
control-plane cli/fragment.py

Onde fica

No repositório catalog:

No repositório landing-zone:

Licença MIT. Copyright dos colaboradores do Airframe.

Este site descreve a versão 2026.10.20-1 da plataforma.