I am utilizing gitlab CICD and a shell executor to talk to my juju controller on a piece of hardware I own and control… I noticed after a while that sometimes when I go to execute commands it fails and gives this
$ juju add-model "${CI_PROJECT_NAME}-$SAFE_BRANCH_NAME-${CI_CONCURRENT_ID}" || true
please enter password for gitlab-runner on localhost-localhost:
ERROR opening API connection: cannot get discharge from "https://123.456.777.10:17070/auth": EOF
Cleaning up project directory and file based variables
I went ahead and manually SSH’d into the box and logged into as the user… tested by just doing
juju deploy test
suddenly there’s no issue… and the model is created… I go back to the CICD and that now succeeds too!? I am guessing there is some sort of token being refreshed…? but how can I keep this refreshed without manually SSHing in and doing a one-off command via SSH? do I
juju login -u gitlab-runner
and somehow feed the password via CICD ?
EDIT:
After even just minutes… seems the macaroon is lost and I cannot do anything… I might end up just reinstalling everything from scratch but put the admin on gitlab-runner user … instead of fiddling with users in juju