arkade
arkade copied to clipboard
Add robusta to arkade
Robusta is an open source automations platform for Kubernetes. The primary use case is enriching Prometheus alerts with extra context, applying remediations when issues occur, and manually troubleshooting in-cluster applications.
Expected Behaviour
It should be possible to install both the robusta cli and helm chart using Arkade.
Robusta is already used by both commercial and non-profit organizations today. However, robusta's cli installation is tightly coupled to the user's python version. This causes issues when installing the robusta cli on systems with old python versions.
If arkade maintainers are open to it, we'd like to explore using arkade for installing the robusta cli and helm chart. We can generate a single binary on our end which includes an embedded python interpreter. However, we need a way to update that binary on demand as well as install the right binary for each architecture. Arkade seems like an excellent alternative to writing these scripts from scratch.
We believe robusta would also serve existing arkade users by making it easier to discover and install an additional Kubernetes-native open source project.
Are you a GitHub Sponsor (Yes/No?)
- [X] Yes
- [ ] No
If requesting a CLI for "arkade get"
How many downloads does this tool have? Check at:
https://somsubhra.github.io/github-release-stats/
Today the cli is downloaded from pypi (using pip) and not github, so we don't have reliable download statistics.
I queried pypi's public bigquery dataset to see how many times robusta's package (robusta-cli) was downloaded yesterday. There were 13 installs yesterday (not counting bandersnatch, which I believe is an automated tool to mirror pypi).
Please take these statistics with a grain of salt (they might include bots and they just represent a single random day on which we did not release a new version). At the very least, they show that robusta is being actively installed on new clusters daily. There are also a number of existing installations we know about due to users who have, for example, reached out and requested features or support.
Your Environment
We support everything, including open shift.
Hey @aantn, Thanks for the interest in arkade.
Currently you cannot download pypi packages with arkade only binaries and as far as I know, there aren't any plans for implementing it. (Am I right here? @alexellis)
Does it still make sense to add the helm chart without the cli?
Hi @Shikachuu, We'd like to remove pypi from the picture here. In fact, that's part of the motivation for adopting Arkade.
The plan would be to build all-in-one binaries using PyOxidizer and then distribute those via Arkade.
Hey @aantn, If you still open to it, I guess we can make this work!
Arkade uses the GitHub API to fetch the latest version of the given package, download and un-tar/zip the binary if it needs to. So for the CLI you only need to produce, some statically linked binary, for all platforms that you want to support and write a simple go template for it and it should work. Like this: https://github.com/alexellis/arkade/blob/master/pkg/get/tools.go#L876-L903 https://github.com/alexellis/arkade/blob/master/pkg/get/tools.go#L2379-L2414
For the helm chart, check out some already implemented projects, like: Kubernetes Dashboard https://github.com/alexellis/arkade/blob/master/cmd/apps/kubernetes_dashboard_app.go Or Grafana https://github.com/alexellis/arkade/blob/master/cmd/apps/grafana_app.go
From this resources you should be able to create PRs (2 separate one please), but let us know if you need help with anything.
/add label: status/approved
@aantn when do you think your binaries will be ready for arkade get?
Is your helm chart in a position to add to arkade install already?
Hey @alexellis and @Shikachuu, We're doing some work right now on preparing statically linked binaries. (Up until now we packaged up Robusta as Python package and installed it via pip, which caused a dependence on your local Python version.)
I'll touch base in another two weeks or so after things stabilize on our end with the binaries.
Thank you for the support for this!
Closed as @aantn went in another direction.