test with username with jq

This commit is contained in:
mik-tf 2024-10-03 01:58:37 -04:00
parent 65ad59bcb9
commit 8d45ef4a4c

View File

@ -90,7 +90,7 @@ fn login() {
mut token_exists := os.exists(token_file) mut token_exists := os.exists(token_file)
mut docker_logged_in := false mut docker_logged_in := false
docker_user_result := os.execute("sudo docker system info | grep 'Username' | cut -d ' ' -f 3") docker_user_result := os.execute('docker-credential-$(jq -r .credsStore ~/.docker/config.json) list | jq -r \'. | to_entries[] | select(.key | contains("docker.io")) | last(.value)\' | head -n 1')
if docker_user_result.exit_code == 0 && docker_user_result.output.trim_space() != '' { if docker_user_result.exit_code == 0 && docker_user_result.output.trim_space() != '' {
docker_logged_in = true docker_logged_in = true
} }
@ -142,7 +142,7 @@ fn logout() {
} }
fn push(tag string) { fn push(tag string) {
docker_user_result := os.execute("sudo docker system info | grep 'Username' | cut -d ' ' -f 3") docker_user_result := os.execute('docker-credential-$(jq -r .credsStore ~/.docker/config.json) list | jq -r \'. | to_entries[] | select(.key | contains("docker.io")) | last(.value)\' | head -n 1')
if docker_user_result.exit_code != 0 || docker_user_result.output.trim_space() == '' { if docker_user_result.exit_code != 0 || docker_user_result.output.trim_space() == '' {
error_message('Failed to get Docker username. Please ensure you are logged in to Docker.') error_message('Failed to get Docker username. Please ensure you are logged in to Docker.')
exit(1) exit(1)