Pular para o conteúdo principal

Convenção de Nomenclatura

Namespaces Kubernetes

{project}-{env}-{service}

payments-dev-api
payments-staging-worker
payments-prod-frontend
platform-mgmt-monitoring

Recursos ArgoCD

AppProject: {project} → payments
ApplicationSet: {system} → gateway
Application: {system}-{service}-{env} → gateway-api-prod

Entidades Backstage

Domain: {project} → payments
System: {system} → gateway
Component: {system}-{service} → gateway-api
Resource: {provider}-{project}-{env}-{type}-{name} → gcp-payments-prod-gke-main
Group: {slug} → team-payments
User: {username} → jane-doe

Crossplane

Namespace de infra: {project}-{env}-infra → payments-prod-infra
Nome do Claim: {resourceType}-{name} → cloudsql-main
Nome do XR: {project}-{env}-{type}-{name} → payments-prod-cloudsql-main
App ArgoCD: crossplane-{project}-{env}-{type}-{name}
Entidade Backstage: {provider}-{project}-{env}-{type}-{name}

Regras que se Aplicam em Todos os Lugares

RegraRazão
Minúsculas, separadas por hífenSeguro para DNS e válido em todos os sistemas
Máximo de 63 caracteres por segmentoLimite de namespace Kubernetes
Sem versão ou região nos nomesUse labels para essas dimensões
Sem env nos nomes de entidades BackstageEntidades são agnósticas de env; env é observado em tempo de execução
Prefixo platform-* para infra compartilhadaSepara visualmente namespaces de app dos de infra

Namespaces Reservados

NamespaceStatusMotivo
argocdFixoArgoCD usa esse nome internamente
kube-systemReservadoInternos do Kubernetes
defaultEvitarNunca implantar cargas de trabalho de aplicação aqui
crossplane-systemFixoControladores Crossplane
platform-mgmt-*ConvençãoServiços de plataforma no cluster de gerenciamento
platform-{env}-*ConvençãoServiços de plataforma por ambiente
{project}-{env}-{service}ConvençãoCargas de trabalho de aplicação
{project}-{env}-infraConvençãoClaims Crossplane por domínio por ambiente