app.yml에 긴 환경 변수가 있으면 ./launcher rebuild 명령이 실패합니다

app.yml를 통해 env에 개인 키를 추가하려고 하고 있습니다.

추가한 후 모든 기능이 작동하지 않습니다. 제거하면 다시 정상으로 돌아오는 것 같습니다.

추가하려는 값은 다음과 같은 형태이며, 1755자 길이의 한 줄입니다.

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

이를 어떻게 수정할 수 있을까요?

> Ensuring launcher is up to date
> 
> Fetching origin
> 
> remote: Enumerating objects: 7, done.
> 
> remote: Counting objects: 100% (7/7), done.
> 
> remote: Compressing objects: 100% (4/4), done.
> 
> remote: Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
> 
> Unpacking objects: 100% (4/4), done.
> 
> From gitlab.com: REPO
> 
> 6075498..d46af48 master -> origin/master
> 
> Updating Launcher
> 
> Updating 6075498..d46af48
> 
> Fast-forward
> 
> containers/app.yml | 6 ++----
> 
> 1 file changed, 2 insertions(+), 4 deletions(-)
> 
> Ensuring launcher is up to date
> 
> Fetching origin
> 
> Launcher is up-to-date
> 
> Stopping old container
> 
> + /usr/bin/docker stop -t 60 app
> 
> app
> 
> cd /pups && git pull && /pups/bin/pups --stdin
> 
> /usr/bin/docker: invalid reference format: repository name must be lowercase.
> 
> See '/usr/bin/docker run --help'.
> 
> cat: cids/app_bootstrap.cid: No such file or directory
> 
> "docker rm" requires at least 1 argument.
> 
> See 'docker rm --help'.
> 
> Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...]
> 
> Remove one or more containers
> 
> rm: cannot remove 'cids/app_bootstrap.cid': No such file or directory
> 
> ** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
> 
> ./discourse-doctor may help diagnose the problem.

줄바꿈을 제거하셨나요? \n으로 대체할 수 있나요?

개인 키를 별도의 파일에 저장하고 전달하세요.

@Stephen 이걸 도와줄 수 있나요?

file.json이 app.yml과 같은 디렉토리에 있는 경우, app.yml의 해당 줄은 어떻게 작성해야 하나요?

27개의 변수를 만들었는데 … 줄바꿈으로 끝나네요… 변수에 줄바꿈이 2개 연속으로 있는 것을 허용하지 않는 것 같지만, 이렇게 사용할 수는 없습니다. 특정 이름의 환경 변수로 필요합니다.

멀티라인 YAML을 사용해 보셨나요?

| 형식을 시도해 보았는데, 줄바꿈이 필요해서 그랬습니다. 하지만 이번에는 주석과 관련된 다른 오류가 발생했습니다. 결국 ./launcher 명령을 호출할 때 —env-file docker_args 매개변수를 사용하기로 했습니다. 이 환경 변수에 무언가가 할당되었지만, 값이 올바른지 확인해야 합니다.

생성된 cert.env 파일에는 cert 환경 변수 하나만 포함되어 있었습니다.

확인해 본 후 나중에 소식 전하겠습니다.

네, 작동하는 것 같습니다. 더 많은 테스트를 해보겠지만, 지금은 좋은 해결책이라고 생각합니다.