Comando `./launcher rebuild` falha quando app.yml contém uma variável de ambiente longa

Estou tentando adicionar uma chave privada ao ambiente via app.yml.

Depois que a adiciono, tudo para de funcionar. Se a removo, parece que tudo volta ao normal.

O valor que estou tentando adicionar se parece com isto e é uma linha com 1755 caracteres:

PRIVATE_KEY: “-----BEGIN PRIVATE KEY-----\n…\n…\n-----END PRIVATE KEY-----\n”

Como posso corrigir isso?

> Garantindo que o launcher está atualizado
> 
> Buscando origin
> 
> remote: Enumerando objetos: 7, concluído.
> 
> remote: Contando objetos: 100% (7/7), concluído.
> 
> remote: Comprimindo objetos: 100% (4/4), concluído.
> 
> remote: Total 4 (delta 2), reutilizados 0 (delta 0), pacotes reutilizados 0
> 
> Descompactando objetos: 100% (4/4), concluído.
> 
> De gitlab.com: REPO
> 
> 6075498..d46af48 master -> origin/master
> 
> Atualizando Launcher
> 
> Atualizando 6075498..d46af48
> 
> Fast-forward
> 
> containers/app.yml | 6 ++----
> 
> 1 arquivo alterado, 2 inserções(+), 4 exclusões(-)
> 
> Garantindo que o launcher está atualizado
> 
> Buscando origin
> 
> Launcher está atualizado
> 
> Parando container antigo
> 
> + /usr/bin/docker stop -t 60 app
> 
> app
> 
> cd /pups && git pull && /pups/bin/pups --stdin
> 
> /usr/bin/docker: formato de referência inválido: o nome do repositório deve estar em minúsculas.
> 
> Veja '/usr/bin/docker run --help'.
> 
> cat: cids/app_bootstrap.cid: Arquivo ou diretório não encontrado
> 
> "docker rm" requer pelo menos 1 argumento.
> 
> Veja 'docker rm --help'.
> 
> Uso: docker rm [OPÇÕES] CONTAINER [CONTAINER...]
> 
> Remover um ou mais containers
> 
> rm: não foi possível remover 'cids/app_bootstrap.cid': Arquivo ou diretório não encontrado
> 
> ** FALHA NO BOOTSTRAP ** por favor, role para cima e procure mensagens de erro anteriores, pode haver mais de uma.
> 
> ./discourse-doctor pode ajudar a diagnosticar o problema.

Você removeu as quebras de linha? Elas podem ser substituídas por \n?

Armazene a chave privada em um arquivo separado e passe-a.

@Stephen, você pode me ajudar com isso?

Se eu tivesse o arquivo.json no mesmo diretório que o app.yml, como ficaria a linha no app.yml?

Criei 27 variáveis… terminando com quebras de linha… aparentemente ele não aceita duas quebras de linha em uma variável, mas não consigo usá-la assim. Preciso que ela esteja em uma variável de ambiente com um nome específico.

Você já tentou usar YAML multilinha em vez disso?

Tentei usar o formato |, pois preciso das quebras de linha. Isso me deu outro erro, algo sobre um comentário. Acabei recorrendo ao parâmetro --env-file docker_args ao chamar o comando ./launcher. Ele atribuiu algo à variável de ambiente, mas preciso verificar se está correto.

O arquivo cert.env criado continha apenas uma variável de ambiente: o certificado.

Volto mais tarde com novidades, depois de verificar.

Sim, parece funcionar. Vou fazer mais testes, mas por enquanto acho que é uma boa solução.