Running in a Container

For interacting with the Jumpstarter service without installing the Python packages locally, you can create an alias to run the jmp client in a container.

Tip

It is recommended to add the alias to your shell profile.

$ alias jmp='podman run --rm -it -e JUMPSTARTER_GRPC_INSECURE=1 \
              -v "${HOME}/.config/jumpstarter/:/root/.config/jumpstarter" \
               quay.io/jumpstarter-dev/jumpstarter:0.5.0 jmp'

Then you can try:

$ jmp client list-configs
CURRENT   NAME      ENDPOINT                         PATH
*         default   grpc.devel.jumpstarter.dev:443   /root/.config/jumpstarter/clients/default.yaml
          test      grpc.devel.jumpstarter.dev:443   /root/.config/jumpstarter/clients/test.yaml

Hardware Access for Exporters

If you need access to your hardware, i.e. because you are running the jmp exporter or you are following the local-only workflow (i.e. without a distributed service), you need to mount access to devices into the container, provide host network access, and run the container in privileged mode, this probably needs to be run as root.

$ mkdir -p "${HOME}/.config/jumpstarter/" /etc/jumpstarter

# you may want to add this alias to the profile
$ alias jmp-exporter='podman run --rm -it -e JUMPSTARTER_GRPC_INSECURE=1 \
              -v "${HOME}/.config/jumpstarter/:/root/.config/jumpstarter" \
              --net=host  --privileged \
              -v /run/udev:/run/udev -v /dev:/dev -v /etc/jumpstarter:/etc/jumpstarter \
              quay.io/jumpstarter-dev/jumpstarter:0.5.0 jmp-exporter'