Firstlume Docs firstlume.io PTEN EN Fale com a gente

Credenciais de registry

O código pode precisar baixar charts e imagens de registries com login (Harbor, GHCR, Docker Hub) ou módulos e providers de um registry Terraform privado. As credenciais podem vir das configurações ou do repositório.

Nas configurações

São herdadas por host: o nível mais próximo vence, e hosts diferentes se somam.

curl -X PUT -H "$H" $O/settings -d '{
  "registries": [
    {"host": "harbor.example.com", "username": "robot$infra", "password": "..."},
    {"host": "ghcr.io", "username": "bot", "password_vault": {"path": "secret/ci/ghcr", "field": "token"}},
    {"host": "tf.example.com", "kind": "terraform", "password": "..."}
  ]
}'

kind é oci por padrão, ou terraform para um registry privado de módulos e providers. A senha nunca é devolvida. Mandada vazia, a guardada continua. Sem o campo registries, as credenciais do nível ficam como estão; [] remove todas.

Um PUT de configurações substitui o que o nível define. Mande as variáveis e as outras configurações do nível junto com registries. Veja Organizações, pastas e stacks.

No repositório

Use registries no config.yaml, com as mesmas fontes da declaração ({var: ...}, {vault: ...}):

registries:
  - host: harbor.example.com
    username: robot$infra
    password: { vault: secret/infra/harbor, field: token }

Para o mesmo host, vencem as configurações.

No run

  • O Firstlume escreve o config.json do Docker no HOME da fase e aponta DOCKER_CONFIG e HELM_REGISTRY_CONFIG para ele. O provider helm e o próprio helm leem daí.
  • Para registries do tipo terraform, exporta TF_TOKEN_<host>.
  • Senhas e o usuário:senha em base64 são mascarados no log.
  • O apply usa as credenciais do plan.

Credenciais de registry valem só para registries. Não servem para clonar Git, e o token do Git não serve para registries.