Skip to content

aws_config_directory configured in clp-config.yml does not resolve ~. #1257

@junhaoliao

Description

@junhaoliao

Bug

aws_config_directory configured in clp-config.yml does not resolve ~ though it was provided as an example in the docstring:

## Location of the AWS tools' config files (e.g., `~/.aws`)
#aws_config_directory: null

also in the docs:

### profile
Settings for this type are shown below. Replace fields in angle brackets (`<>`) with the appropriate
values:
```yaml
aws_authentication:
type: "profile"
profile: "<profile-name>"
```
`<profile-name>` should be the name of an existing [AWS CLI profile](index.md#named-profiles).
In addition, the _top-level_ config `aws_config_directory` must be set to the directory containing
the profile configurations (typically `~/.aws`):

:::{note}
Profile configurations are stored in your AWS config directory (typically `~/.aws`).
:::

CLP version

4fa8a55

Environment

junhao@ASUS-X870E:~/workspace/clp/build/clp-package/sbin$ cat /etc/os-release 
PRETTY_NAME="Ubuntu 22.04.5 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.5 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
junhao@ASUS-X870E:~/workspace/clp/build/clp-package/sbin$ python3 --version
Python 3.10.1
junhao@ASUS-X870E:~/workspace/clp/build/clp-package/sbin$ env
SHELL=/bin/bash
NVM_INC=/home/junhao/.nvm/versions/node/v22.18.0/include/node
WSL2_GUI_APPS_ENABLED=1
WSL_DISTRO_NAME=Ubuntu-22.04
NAME=ASUS-X870E
PWD=/home/junhao/workspace/clp/build/clp-package/sbin
LOGNAME=junhao
HOME=/home/junhao
LANG=C.UTF-8
WSL_INTEROP=/run/WSL/15046_interop
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
WAYLAND_DISPLAY=wayland-0
NVM_DIR=/home/junhao/.nvm
LESSCLOSE=/usr/bin/lesspipe %s %s
TERM=xterm-256color
LESSOPEN=| /usr/bin/lesspipe %s
USER=junhao
DISPLAY=:0
SHLVL=1
NVM_CD_FLAGS=
XDG_RUNTIME_DIR=/run/user/1000/
WSLENV=
XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop
PATH=/home/junhao/.nvm/versions/node/v22.18.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Program Files/Python313/Scripts/:/mnt/c/Program Files/Python313/:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program Files (x86)/ZeroTier/One/:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files/dotnet/:/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/Docker/host/bin:/mnt/c/Users/junhao/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/junhao/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Users/junhao/AppData/Local/JetBrains/Toolbox/scripts:/mnt/c/Users/junhao/AppData/Local/nvm:/mnt/c/nvm4w/nodejs:/snap/bin
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
NVM_BIN=/home/junhao/.nvm/versions/node/v22.18.0/bin
HOSTTYPE=x86_64
PULSE_SERVER=unix:/mnt/wslg/PulseServer
OLDPWD=/home/junhao/workspace/clp/build/clp-package
_=/usr/bin/en

Reproduction steps

  1. set aws_config_directory: ~/.aws in clp-package/etc/clp-config.yml
  2. start-clp.sh:
    ~/workspace/clp/build/clp-package/sbin$ ./start-clp.sh 
    2025-08-24T04:06:43.459 ERROR [start_clp] Failed to load config.
    Traceback (most recent call last):
      File "/home/junhao/workspace/clp/build/clp-package/lib/python3/site-packages/clp_package_utils/scripts/start_clp.py", line 1226, in main
        clp_config.validate_aws_config_dir()
      File "/home/junhao/workspace/clp/build/clp-package/lib/python3/site-packages/clp_py_utils/clp_config.py", line 902, in validate_aws_config_dir
        raise ValueError("aws_config_directory does not exist")
    ValueError: aws_config_directory does not exist
    
    expected: the package starter script should detect the directory and start the package

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions