kurtosis-tech / kurtosis

A platform for packaging and launching ephemeral backend stacks with a focus on approachability for the average developer.
https://docs.kurtosistech.com/
Apache License 2.0
314 stars 42 forks source link

install with curl #1918

Open galenmarchetti opened 7 months ago

galenmarchetti commented 7 months ago

Background & motivation

installing xcode, a requirement for homebrew, is slow and a pain

Desired behaviour

i want to install kurtosis with just a shell command, minimum dependencies

How important is this to you?

Painful; the lack of this feature makes using Kurtosis frictionful.

What area of the product does this pertain to?

CLI: the Command Line Interface

joscha commented 6 months ago

I gave this a short try. It was roughly inspired by https://github.com/codecov/codecov-bash and borrows some code from https://github.com/joscha/codecov-buildkite-plugin.

The result is here: https://gist.github.com/joscha/da683f7436d339ebb5df9f9d248c326d

I made a few assumptions based on your described pain, so it currently does not install the kurtosis CLI into the general bin location nor adds it to the path. It merely puts the CLI into a stable temporary location on your system if not there yet, or uses it if it's already been downloaded. It also does not install shell completions. This means that without changing anything on the system (other than storing a binary in a temp dir) it can execute the kurtosis CLI with a bash oneliner.

I only tried this on a Mac M1, so very likely there might be some hiccups regarding OS and architecture detection. The version of the downloaded CLI is also fixed right now.

With a lot of trust you can try it out directly from the gist via:

bash <(curl -s https://gist.githubusercontent.com/joscha/da683f7436d339ebb5df9f9d248c326d/raw/f3addb23367e66c87cc2a96272caf72608a5b879/kurtosis_exec.sh)

definitely not recommended for longterm use and is also lacking any SHASUM validation on the receiving side, which would be a must for using such a script.