Skip to content

SealedSecrets

Vinicius Aguiar edited this page May 21, 2024 · 3 revisions

Via Lens

Mudando secrets

Para mudar o secret de um Agente do Kubernetes é preciso seguir os seguintes passos:

  1. Abrir o Lens: Configurations-> Secrets

Nessa visualização, é possível ver os secrets codificados duplamente com base64. Para visualizar o valor de um secret, basta rodar:

cd utils
python main.py double-decode-base64 [secret_code]
  1. Criar um arquivo secret_0X.yaml

Este arquivo servirá de base para a criação do arquivo criptografado que vamos subir para o agente. Este arquivo não deve ser commitado. O valor de X depende do secret que você quer substituir. Por exemplo, se o arquivo a ser substituido chama-se secret-01_sealed.yaml, então o arquivo temporário que servirá de base para criptografia será chamado secret_01.yaml. O arquivo temporário deve seguir um template similar ao seguinte (ver mais detalhes na documentação):

apiVersion: v1
kind: Secret
metadata:
  name: gcp-credentials
  namespace: prefect-agent-basedosdados-perguntas
data:
  BASEDOSDADOS_CONFIG: XXXXX
  BASEDOSDADOS_CREDENTIALS_PROD: XXXX
  BASEDOSDADOS_CREDENTIALS_STAGING: XXXX
  1. Editar o valor do secret em secret_0X.yaml

Para edição do valor do secret siga os seguintes passos:

  1. Imprimir valor do secret atual no terminal
  2. Edita o valor conforme necessidade
  3. Codifica o novo valor usando base64 duplamente

Use o novo código gerado pelo passo 3 para substituir os valores no template.

  1. Criptografar novo secret via kubeseal
kubeseal -f secret_01.yaml -w secret-01_sealed.yaml -o yaml
  1. Subir alterações no kubernetes
kubectl apply -f secret-01_sealed.yaml

Via kubectl

...

Clone this wiki locally