made flist cli work for linux and macos
This commit is contained in:
parent
8d45ef4a4c
commit
72842a70d4
39
flist.v
39
flist.v
@ -88,17 +88,6 @@ fn uninstall() {
|
|||||||
|
|
||||||
fn login() {
|
fn login() {
|
||||||
mut token_exists := os.exists(token_file)
|
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 {
|
if !token_exists {
|
||||||
tfhub_token := os.input('Please enter your tfhub token: ')
|
tfhub_token := os.input('Please enter your tfhub token: ')
|
||||||
@ -108,31 +97,23 @@ fn login() {
|
|||||||
info_message('Your Flist Hub token is already saved.')
|
info_message('Your Flist Hub token is already saved.')
|
||||||
}
|
}
|
||||||
|
|
||||||
if !docker_logged_in {
|
result := os.system('sudo docker login')
|
||||||
info_message('Logging in to Docker Hub...')
|
|
||||||
exit_code := os.system('sudo docker login')
|
if result == 0 {
|
||||||
if exit_code == 0 {
|
info_message('\nYou are already logged in to Docker.')
|
||||||
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.')
|
|
||||||
}
|
}
|
||||||
|
|
||||||
success_message('Login process completed.')
|
success_message('Login process completed.')
|
||||||
}
|
}
|
||||||
|
|
||||||
fn logout() {
|
fn logout() {
|
||||||
if !os.exists(token_file) {
|
if os.exists(token_file) {
|
||||||
error_message('You are not logged in.')
|
os.rm(token_file) or {panic(err)}
|
||||||
return
|
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')
|
exit_code := os.system('sudo docker logout')
|
||||||
if exit_code != 0 {
|
if exit_code != 0 {
|
||||||
error_message('Failed to log out from Docker Hub.')
|
error_message('Failed to log out from Docker Hub.')
|
||||||
@ -144,7 +125,7 @@ fn logout() {
|
|||||||
fn push(tag string) {
|
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')
|
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.')
|
||||||
exit(1)
|
exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user