If one runs syk up while the environment files are still in their decrypted state, the result is a somewhat cryptic failure from docker-compose.
❯ syk up
Traceback (most recent call last):
File "docker-compose", line 3, in <module>
File "compose/cli/main.py", line 67, in main
File "compose/cli/main.py", line 123, in perform_command
File "compose/cli/command.py", line 69, in project_from_options
File "compose/cli/command.py", line 127, in get_project
File "compose/config/config.py", line 406, in load
File "compose/config/config.py", line 520, in load_services
File "compose/config/config.py", line 501, in build_services
File "compose/config/config.py", line 501, in <listcomp>
File "compose/config/config.py", line 493, in build_service
File "compose/config/config.py", line 910, in finalize_service
File "compose/config/config.py", line 695, in resolve_environment
File "compose/config/environment.py", line 38, in env_vars_from_file
File "site-packages/dotenv/main.py", line 318, in dotenv_values
File "site-packages/dotenv/main.py", line 86, in dict
File "site-packages/dotenv/main.py", line 93, in parse
File "site-packages/dotenv/main.py", line 48, in with_warn_for_invalid_lines
File "site-packages/dotenv/parser.py", line 235, in parse_stream
File "site-packages/dotenv/parser.py", line 107, in __init__
File "/Users/administrator/jenkins/workspace/dsg_compose_1.27.4/venv/lib/python3.7/codecs.py", line 322, in decode
File "/Users/administrator/jenkins/workspace/dsg_compose_1.27.4/venv/lib/python3.7/encodings/utf_8_sig.py", line 69, in _buffer_decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe8 in position 13: invalid continuation byte
[28536] Failed to execute script docker-compose
We could either check the .env files to ensure they are plain text before calling docker-compose, or else catch a CalledProcessError that encapsulates the UnicodeDecodeError raised by dotenv when it tries to open the encrypted file.
If one runs
syk up
while the environment files are still in their decrypted state, the result is a somewhat cryptic failure fromdocker-compose
.We could either check the .env files to ensure they are plain text before calling
docker-compose
, or else catch a CalledProcessError that encapsulates the UnicodeDecodeError raised by dotenv when it tries to open the encrypted file.