Manage Exporters¶
The Jumpstarter CLI can be used to manage your exporter configurations.
Creating a exporter¶
To connect a device to Jumpstarter, an exporter instance must be registered.
Exporter creation must be done by an administrator user who has access to
the Kubernetes cluster where the jumpstarter-controller
service is hosted.
# Specify the location of the kubeconfig to use
export KUBECONFIG=/path/to/kubeconfig
# Create the exporter instance
jumpstarter exporter create my-exporter -o my-exporter.yaml
This creates an exporter named my-exporter
and outputs the configuration to a
YAML file called my-exporter.yaml
:
exporter:
name: my-exporter
endpoint: "grpcs://jumpstarter.my-lab.com:1443"
token: dGhpc2lzYXRva2VuLTEyMzQxMjM0MTIzNEyMzQtc2Rxd3Jxd2VycXdlcnF3ZXJxd2VyLTEyMzQxMjM0MTIz
# environmentConfig: /etc/jumpstarter/environment.py
Creating an exporter registers the custom resource object in the k8s API, the
jumpstarter-controller
will create an authentication token and attach it to
the object.
Running an Exporter¶
The exporter service can be run as a container either within the same cluster (using node affinity) or on a remote machine that has access to the cluster over the network.
Running using Podman¶
To run the exporter container on a test runner using Podman:
# Must be run as privileged to access hardware
podman run --cap-add=all --privileged \
-v /dev:/dev -v /lib/modules:/lib/modules -v /etc/jumpstarter/:/etc/jumpstarter \
quay.io/jumpstarter-dev/exporter -c my-exporter.yaml
# additional flags like could be necessary depending on the drivers:
# --security-opt label=disable
# --security-opt seccomp=unconfined
Running as a Service¶
To run the exporter as a service on a test runner with Jumpstarter installed:
jumpstarter config set-exporter my-exporter
sudo systemctl start jumpstarter