From 8d45ef4a4c4e3b2e83afb163d3797271d8b2b906 Mon Sep 17 00:00:00 2001 From: mik-tf Date: Thu, 3 Oct 2024 01:58:37 -0400 Subject: [PATCH 1/2] test with username with jq --- flist.v | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/flist.v b/flist.v index 44db5b4..4f8001b 100644 --- a/flist.v +++ b/flist.v @@ -90,7 +90,7 @@ fn login() { mut token_exists := os.exists(token_file) 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() != '' { docker_logged_in = true } @@ -142,7 +142,7 @@ fn logout() { } 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() == '' { error_message('Failed to get Docker username. Please ensure you are logged in to Docker.') exit(1) From 72842a70d49c1d1c6f6f0c04ef126bcaee324698 Mon Sep 17 00:00:00 2001 From: mik-tf Date: Thu, 3 Oct 2024 02:49:11 -0400 Subject: [PATCH 2/2] made flist cli work for linux and macos --- flist.v | 39 ++++++++++----------------------------- 1 file changed, 10 insertions(+), 29 deletions(-) diff --git a/flist.v b/flist.v index 4f8001b..d544d75 100644 --- a/flist.v +++ b/flist.v @@ -88,17 +88,6 @@ fn uninstall() { fn login() { mut token_exists := os.exists(token_file) - mut docker_logged_in := false - - 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() != '' { - docker_logged_in = true - } - - if token_exists && docker_logged_in { - info_message('You are already logged in to Docker Hub and your Flist Hub token is present.') - return - } if !token_exists { tfhub_token := os.input('Please enter your tfhub token: ') @@ -108,31 +97,23 @@ fn login() { info_message('Your Flist Hub token is already saved.') } - if !docker_logged_in { - info_message('Logging in to Docker Hub...') - exit_code := os.system('sudo docker login') - if exit_code == 0 { - success_message('Successfully logged in to Docker Hub.') - } else { - error_message('Failed to log in to Docker Hub.') - return - } - } else { - info_message('Already logged in to Docker Hub.') + result := os.system('sudo docker login') + + if result == 0 { + info_message('\nYou are already logged in to Docker.') } success_message('Login process completed.') } fn logout() { - if !os.exists(token_file) { - error_message('You are not logged in.') - return + if os.exists(token_file) { + os.rm(token_file) or {panic(err)} + success_message('Your Flist Hub Token has been removed') + } else { + info_message('Your Flist Hub Token was already not present.') } - os.rm(token_file) or { panic(err) } - - info_message('Logging out from Docker Hub...') exit_code := os.system('sudo docker logout') if exit_code != 0 { error_message('Failed to log out from Docker Hub.') @@ -144,7 +125,7 @@ fn logout() { fn push(tag string) { 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() == '' { - error_message('Failed to get Docker username. Please ensure you are logged in to Docker.') + error_message('Failed to get Docker username.') exit(1) }