Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ENH] Add Argo CLI to base Nebari image #83

Open
kcpevey opened this issue Jul 3, 2023 · 9 comments
Open

[ENH] Add Argo CLI to base Nebari image #83

kcpevey opened this issue Jul 3, 2023 · 9 comments
Labels
type: enhancement 💅🏼 New feature or request

Comments

@kcpevey
Copy link

kcpevey commented Jul 3, 2023

Feature description

While I'm writing Argo workflows its very helpful to be able to debug in the command line. It would be great if the Argo CLI were installed by default.

Installing it on my local machine might be easy, but there are some things about working on Nebari that make this more involved.

First, the Argo docs recommend you follow the instructions on the Releases page

This includes the command mv ./argo-linux-amd64 /usr/local/bin/argo which will not work on Nebari. You'll first need to create the directory mkdir -p ~/bin/argo and then move it into there mv ./argo-linux-amd64 ~/bin/argo since our /usr/local is not writable.

There may be a better location that is already being added to PATH, but if you put it in the above path, you'll also need to create a .bash_profile with

export PATH="/home/kcpevey@quansight.com/bin/argo:$PATH"
alias argo="argo-linux-amd64"

This will cause you to lose all the fancy coloring and conda env display that is specified in the .bashrc. I dont have time right now to work through that, but you get the point. Its frustrating.

Value and/or benefit

It will be easier for users to debug Argo things, and they don't have to go through the above.

Anything else?

No response

@kcpevey kcpevey added the type: enhancement 💅🏼 New feature or request label Jul 3, 2023
@kcpevey
Copy link
Author

kcpevey commented Jul 3, 2023

Note to self: You also have to set up env vars or argo list will fail (though argo version will work for a check).

export ARGO_SERVER='your_nebari_url:443' 
export ARGO_HTTP1=true  
export ARGO_SECURE=true
export ARGO_BASE_HREF=/argo # NOTE: this has a different location for the slash than in the argo docs
export ARGO_TOKEN='REDACTED' 
export ARGO_NAMESPACE=dev ;# NOTE: Nebari deploys to `dev` by default
export KUBECONFIG=/dev/null ;# recommended

@maxrjones
Copy link

Hi @kcpevey, do you have any recommendations for circumventing this in order to use the Argo CLI on Nebari?

@kcpevey
Copy link
Author

kcpevey commented Apr 24, 2024

If I'm not mistaken, the summary above is the workaround to using it on nebari. Unfortunately I wrote it not as a guide but rather a "see how involved this is?". I think it should cover everything you need to get it working though.

@maxrjones
Copy link

If I'm not mistaken, the summary above is the workaround to using it on nebari. Unfortunately I wrote it not as a guide but rather a "see how involved this is?". I think it should cover everything you need to get it working though.

the summary above is the workaround to using it on nebari

Just to make sure I understand, this summary is for creating a docker image that inherits from the base Nebari image and includes the Argo CLI, which can then be specified in the Nebari config?

@kcpevey
Copy link
Author

kcpevey commented Apr 24, 2024

No, although you can certainly do it that way. My approach was just to install the argo cli manually for only my user in my user instance.

@dharhas
Copy link
Member

dharhas commented Apr 29, 2024

This issue is a proposal to add argo-cli to the base image so it would be available to everyone. Currently, you have to add it manually by uploading to somewhere in your path.

@maxrjones
Copy link

This issue is a proposal to add argo-cli to the base image so it would be available to everyone. Currently, you have to add it manually by uploading to somewhere in your path.

If you're open to contributions I would be glad to submit a PR with this feature. We are currently using a separate docker image when argo-cli is needed (https://github.com/carbonplan/argo-docker) but I agree it would be great for everyone to have easier access to the argo cli.

@maxrjones
Copy link

Also, fwiw it seems the argo cli increases the image size by ~.2 GB.

@dharhas
Copy link
Member

dharhas commented Apr 30, 2024

I think a PR would be welcome, plus any improvements to docs that help using Argo effectively.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement 💅🏼 New feature or request
Projects
Status: New 🚦
Development

No branches or pull requests

3 participants