You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This tool uses a file at $HOME/.juliahub to store credentials.
The reasons for that are:
do not specify the selected server again and again
follow the paradigm of npm, git, aws and other cli tools
"own" the credentials; i.e. not have them rewritten by a julia process running in the background
Having said that, jh rundoes copy these credentials to the well known location, while it also sets the JULIA_PKG_SERVER and JULIA_PKG_USE_CLI_GIT in the child process' so it will then use them.
Let's discuss improvements to this approach (i.e. remember the server in ~/.juliahub, but mkdir -p and store the credentials themselves in the well known location, or something similar)
Avik: There are various tools that already look in the standard location; jh should work in our nodes. Reversely, julia should work with the credentials if we are logged in the jh tool.
For the file lock concern, see Pkg; (mainly atomic copy).
We should always get the latest refresh token (both in Pkg, jh and any julia user of the token (because refresh tokens expire (citation needed) 10 minutes after refreshing).
To be a good refresh token citizen
a. write the new refresh token immediately.
b. with a file? atomic operations/pidfiles?
c. read the latest latest refresh token (and lock until refresh is done)
Activity
pankgeorg commentedon Sep 9, 2025
Avik: There are various tools that already look in the standard location;
jhshould work in our nodes. Reversely,juliashould work with the credentials if we are logged in thejhtool.jhand any julia user of the token (because refresh tokens expire (citation needed) 10 minutes after refreshing).To be a good refresh token citizen
a. write the new refresh token immediately.
b. with a file? atomic operations/pidfiles?
c. read the latest latest refresh token (and lock until refresh is done)