01 · CATÁLOGO
O mapa que serve de endereço para todos os módulos.
Domain, System, Component e environment. O release, o incidente, o acesso de rede e a infraestrutura apontam para o mesmo Component — e não para quatro cadastros que alguém precisa reconciliar.
Abre uma conversa no WhatsApp. Prefere e-mail? [email protected]
O que faz
Quem pertence a quem
Um Domain é uma área de negócio, como pagamentos. Um System é um produto dentro dela, como checkout. Um Component é o que se implanta: uma API, um worker. Cada peça de infraestrutura é um Resource e pertence a um System. O environment atravessa todos os níveis.
O que cai junto
Cada dependência entre Components tem um tipo — runtime, build, test ou data —, e o Heimdall recusa dependência circular. heimdall component blast-radius lista todos os Components que caem junto com este, direta ou indiretamente, e a distância de cada um. Antes de uma janela de manutenção, é a lista de quem avisar.
O que não se apaga por engano
Não se apaga um Component do qual outro depende, nem um System que ainda tenha Components ou Resources, nem um Domain que ainda tenha Systems. Apagar nunca leva nada junto.
O que fica registrado
Toda criação, alteração ou exclusão de Domain, System e Component, e todo vínculo ou desvínculo de dependência, entra na trilha de auditoria da organização, com o registro de quem fez.
Como funciona
Você escreve o catálogo pelo CLI ou pela API, ou o importa de outra instalação do Heimdall. Os outros módulos não guardam o nome do serviço como texto, e sim uma referência ao Component, ao System ou ao environment da mesma organização, e o banco recusa referências a itens que não existem.
heimdall component blast-radius 218d2d21-d628-40fc-8bd8-8cd2de4528ab
SERVICE_ID SERVICE_NAME DEPTH
2a5e9fa9-e606-4306-883e-842f4082901d checkout-api 1
56dd2bfa-0988-448e-9057-e2e54fa6b3f7 payments-worker 1
heimdall graph critical
COMPONENT TIER DIRECT_DEPENDENTS TRANSITIVE_DEPENDENTS
Auth Service critical 4 6
User Profile high 3 3
Notification Service medium 1 3
Billing Service high 2 2
ledger high 2 2
heimdall dependency add --component 218d2d21-d628-40fc-8bd8-8cd2de4528ab --depends-on 2a5e9fa9-e606-4306-883e-842f4082901d --type runtime
Error: CYCLIC_DEPENDENCY: adding this dependency would create a cycle
heimdall component delete 218d2d21-d628-40fc-8bd8-8cd2de4528ab --yes
Error: HAS_DEPENDENTS: component has dependents and cannot be deleted
heimdall component blast-radius e heimdall graph critical.Onde o dado fica
Tudo roda na sua infraestrutura. Mesmo assim, a divisão abaixo importa dentro da sua empresa, porque mostra quem, no seu time, tem acesso a quê.
| NA API, QUE É SUA | NO AGENTE |
|---|---|
Domain, System, Component, Resource, | Nada do catálogo. O que é sensível e está ligado a ele fica no Agente e na sua conta de cloud: o valor dos secrets e o state do Terraform. |
Cada organização vê só o próprio catálogo, porque quem impõe o isolamento é o banco, e não a tela.
Quem aprova o quê
| ATO | QUEM |
|---|---|
| Ler o catálogo | todo membro |
| Criar, alterar e apagar | Por padrão, owner e admin. Uma policy da organização pode mudar isso |
Com os outros módulos
-
02
Infrastructure Manager
Todo Resource pertence a um System e é provisionado na conta de cloud mais próxima: a do System, a do Domain ou a da organização.
-
03
Secret Manager
Um
secretpode ser ligado aos Components que o usam. -
05
Acesso a aplicações internas
Nenhum serviço fica acessível pela borda sem estar no catálogo, com Component e
environment. -
06
Release Manager
Alvo, aprovadores, janela e congelamento são definidos por Component e por
environment. -
07
Incident Manager
Um incidente se refere a um Component, a um System, a um banco ou a um Resource, e o rollback abre um incidente sobre o Component revertido.
Converse com quem constrói o Heimdall.
Conte como a sua engenharia guarda secrets e acessa o banco hoje. Respondemos dizendo o que o Heimdall colocaria sob regra primeiro e como a implantação chegaria lá.
Abre uma conversa no WhatsApp. Prefere e-mail? [email protected]