Docker Secret
Resumo
- Crie e remova secrets do Docker em um ambiente Swarm. Semelhante a docker secret create e docker secret rm
- Adiciona aos metadados de novos secrets 'atmosphere_key', uma representação hash criptografada dos dados, que é então usada em execuções futuras para testar se um secret foi alterado. Se 'atmosphere_key não estiver presente, um secret não será atualizado a menos que a opção force seja definida.
- As atualizações dos secrets são realizadas removendo o secret e criando-o novamente.
Requisitos
- API Docker> = 1.25
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
api_version aliases: docker_api_version | string | Escolhas: - "auto" | A versão da API Docker em execução no Docker Host.O padrão é a versão mais recente da API suportada pelo Docker SDK para Python e o docker daemon.Se o valor não for especificado na tarefa, o valor da variável de ambiente DOCKER_API_VERSION será usado. Se a variável de ambiente não for definida, o valor padrão será usado. |
ca_cert aliases: tls_ca_cert, cacert_path | path | | Use um certificado CA ao executar a verificação do servidor, fornecendo o caminho para um arquivo de certificado CA.Se o valor não for especificado na tarefa e a variável de ambiente DOCKER_CERT_PATH for definida, o arquivo ca.pemdo diretório especificado na variável de ambiente DOCKER_CERT_PATHserá usado. |
client_cert aliases: tls_client_cert, cert_path | path | | Caminho para o arquivo de certificado TLS do cliente.Se o valor não for especificado na tarefa e a variável de ambiente DOCKER_CERT_PATH for definida, o arquivo cert.pemdo diretório especificado na variável de ambiente DOCKER_CERT_PATHserá usado. aliases: tls_client_cert, cert_path |
client_key aliases: tls_client_key, key_path | path | | Caminho para o arquivo de chave TLS do cliente.Se o valor não for especificado na tarefa e a variável de ambiente DOCKER_CERT_PATH for definida, o arquivo key.pemdo diretório especificado na variável de ambiente DOCKER_CERT_PATH será usado. |
data | string | | O valor do secret. Obrigatório quando o estado for present. |
data_is_b64 | boolean | Escolhas: - false (default) - true | Se definido como true, os dados são considerados codificados em Base64 e serão decodificados antes de serem usados.Para usar dados binários , é melhor mantê-los codificados em Base64 e permitir que sejam decodificados por esta opção. |
debug | boolean | Escolhas: - false (default) - true | Modo de depuração |
docker_host aliases: docker_url | string | Escolhas: - "unix://var/run/docker.sock" | O URL ou o caminho do soquete Unix usado para se conectar à API Docker. Para se conectar a um host remoto, forneça a string de conexão TCP. Por exemplo tcp://192.0.2.23:2376. Se TLS for usado para criptografar a conexão, o módulo será automaticamente substituído tcp na URL de conexão por https.Se o valor não for especificado na tarefa, o valor da variável de ambiente DOCKER_HOST será usado. Se a variável de ambiente não for definida, o valor padrão será usado. |
force | boolean | Escolhas: - false (default) - true | Use com estado presentpara sempre remover e recriar um secret existente.Se true, um secret existente será substituído, mesmo que não tenha sido alterado. |
labels | dictionary | | Um mapa de metadados chave: valor, onde se espera que a chave e o valor sejam strings.Se novos metadados forem fornecidos, ou os metadados existentes forem modificados, o secret será atualizado removendo-o e criando-o novamente. |
name - required | string | | O nome do secret. |
ssl_version | string | | Forneça um número de versão SSL válido. Valor padrão determinado pelo módulo ssl.py.Se o valor não for especificado na tarefa, o valor da variável de ambiente DOCKER_SSL_VERSION será usado. |
state | string | Escolhas: - present (default) - absent | Defina como present, se o secret existir e absent, se não existir . |
timeout | integer | Escolhas: - 60 | O tempo máximo em segundos de espera por uma resposta da API.Se o valor não for especificado na tarefa, o valor da variável de ambiente DOCKER_TIMEOUT será usado. Se a variável de ambiente não for definida, o valor padrão será usado. |
tls | boolean | Escolhas: - false (default) - true | Proteja a conexão com a API usando TLS sem verificar a autenticidade do servidor host Docker. Observe que se validate_certs também for definido yes, ele terá precedência.Se o valor não for especificado na tarefa, o valor da variável de ambiente DOCKER_TLS será usado. Se a variável de ambiente não for definida, o valor padrão será usado. |
tls_hostname | string | Escolhas: - "localhost" | Ao verificar a autenticidade do servidor Docker Host, forneça o nome esperado do servidor.Se o valor não for especificado na tarefa, o valor da variável de ambiente DOCKER_TLS_HOSTNAME será usado. Se a variável de ambiente não for definida, o valor padrão será usado. |
validate_certs aliases: tls_verify | boolean | Escolhas: - false (default) - true | Proteja a conexão com a API usando TLS e verificando a autenticidade do servidor host Docker.Se o valor não for especificado na tarefa, o valor da variável de ambiente DOCKER_TLS_VERIFY será usado. Se a variável de ambiente não for definida, o valor padrão será usado. |
Notas
- Conecte-se ao daemon Docker fornecendo parâmetros com cada tarefa ou definindo variáveis de ambiente. Você pode definir DOCKER_HOST, DOCKER_TLS_HOSTNAME, DOCKER_API_VERSION, DOCKER_CERT_PATH, DOCKER_SSL_VERSION, DOCKER_TLS, DOCKER_TLS_VERIFY e DOCKER_TIMEOUT. Se você estiver usando uma máquina docker, execute o script enviado com o produto que configura o ambiente. Ele definirá essas variáveis para você.
- Observe que o SDK do Docker para Python permite apenas especificar o caminho para a configuração do Docker para muito poucas funções. Em geral, ele será usado $HOME/.docker/config.jsons e a DOCKER_CONFIG variável de ambiente não for especificada, e caso contrário $DOCKER_CONFIG/config.json.
Exemplos
# Crie foo secret (de um arquivo na máquina de controle)
docker_secret:
name: foo
data: "{{ lookup('file', '/path/to/secret/file') | b64encode }}"
data_is_b64: true
state: present
# Altere os dados secrets
docker_secret:
name: foo
data: Goodnight everyone!
labels:
bar: baz
one: '1'
state: present
# Adicionar um novo rótulo
docker_secret:
name: foo
data: Goodnight everyone!
labels:
bar: baz
one: '1'
# Adicionar um novo rótulo irá causar a remoção/criação do secret
two: '2'
state: present
# Sem mudança
docker_secret:
name: foo
data: Goodnight everyone!
labels:
bar: baz
one: '1'
# Mesmo que "two" esteja faltando, não há alteração no secret existente
state: present
# Atualizar um rótulo existente
docker_secret:
name: foo
data: Goodnight everyone!
labels:
bar: monkey
# Alterar um rótulo irá causar a remoção/criação do segredo
one: '1'
state: present
# Força a remoção/criação do segredo
docker_secret:
name: foo
data: Goodnight everyone!
force: yes
state: present
# Remover o foo secret
docker_secret:
name: foo
state: absentValores Retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
secret_id | string | state = present | O ID atribuído pelo Docker ao objeto secret. |