arkade icon indicating copy to clipboard operation
arkade copied to clipboard

Add robusta to arkade

Open aantn opened this issue 3 years ago • 6 comments

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.

aantn avatar Mar 23 '22 15:03 aantn

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?

Shikachuu avatar May 24 '22 17:05 Shikachuu

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.

aantn avatar May 24 '22 19:05 aantn

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.

Shikachuu avatar Jul 27 '22 17:07 Shikachuu

/add label: status/approved

Shikachuu avatar Jul 27 '22 17:07 Shikachuu

@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?

alexellis avatar Aug 11 '22 17:08 alexellis

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!

aantn avatar Aug 12 '22 20:08 aantn

Closed as @aantn went in another direction.

alexellis avatar Jun 15 '23 08:06 alexellis