Skip to content
This repository was archived by the owner on Jan 23, 2026. It is now read-only.

Commit 55bcb81

Browse files
authored
Merge branch 'main' into cursor-rules
2 parents 1e5c207 + 6f78e5c commit 55bcb81

169 files changed

Lines changed: 13467 additions & 2135 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/trigger-packages-index.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ jobs:
1818
with:
1919
app-id: ${{ secrets.JUMPSTARTER_BACKPORT_BOT_APP_ID }}
2020
private-key: ${{ secrets.JUMPSTARTER_BACKPORT_BOT_PRIVATE_KEY }}
21+
owner: ${{ github.repository_owner }}
22+
repositories: |
23+
packages
2124
2225
- name: Trigger packages repository index generation
2326
uses: peter-evans/repository-dispatch@v3

Makefile

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ help:
88
@echo ""
99
@echo "Build targets:"
1010
@echo " build - Build all packages"
11-
@echo " generate - Generate code from protobuf definitions"
11+
@echo " protobuf-gen - Generate code from protobuf definitions"
1212
@echo " sync - Sync all packages and extras"
1313
@echo ""
1414
@echo "Documentation targets:"
@@ -75,8 +75,18 @@ pkg-ty-all: $(addprefix pkg-ty-,$(PKG_TARGETS))
7575
build:
7676
uv build --all --out-dir dist
7777

78-
generate:
79-
buf generate
78+
protobuf-gen:
79+
podman run --volume "$(shell pwd):/workspace" --workdir /workspace docker.io/bufbuild/buf:latest generate
80+
# Fix Python imports: convert absolute imports to relative imports
81+
# In jumpstarter/client/v1: from jumpstarter.v1 import -> from ...v1 import
82+
find packages/jumpstarter-protocol/jumpstarter_protocol/jumpstarter/client/v1 -name "*_pb2*.py" -type f -exec sed -i.bak \
83+
-e 's|^from jumpstarter\.v1 import|from ...v1 import|g' \
84+
-e 's|^from jumpstarter\.client\.v1 import|from . import|g' \
85+
{} \; -exec rm {}.bak \;
86+
# In jumpstarter/v1: from jumpstarter.v1 import -> from . import
87+
find packages/jumpstarter-protocol/jumpstarter_protocol/jumpstarter/v1 -name "*_pb2*.py" -type f -exec sed -i.bak \
88+
-e 's|^from jumpstarter\.v1 import|from . import|g' \
89+
{} \; -exec rm {}.bak \;
8090

8191
sync:
8292
uv sync --all-packages --all-extras

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ pip install --extra-index-url https://pkg.jumpstarter.dev/ jumpstarter-cli
3434
```
3535

3636
To install the [Jumpstarter
37-
Service](https://jumpstarter.dev/introduction/service.html) in your Kubernetes
37+
Service](https://jumpstarter.dev/main/introduction/service.html) in your Kubernetes
3838
cluster, see the [Service
39-
Installation](https://jumpstarter.dev/installation/service/index.html)
39+
Installation](https://jumpstarter.dev/main/getting-started/installation/index.html)
4040
documentation.
4141

4242
## Documentation
@@ -51,7 +51,7 @@ Additionally, the command line reference documentation can be viewed with `jmp
5151

5252
Jumpstarter welcomes contributors of all levels of experience and would love to
5353
see you involved in the project. See the [contributing
54-
guide](https://jumpstarter.dev/contributing/) to get started.
54+
guide](https://jumpstarter.dev/main/contributing.html) to get started.
5555

5656
## License
5757

buf.gen.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@ plugins:
88
out: ./packages/jumpstarter-protocol/jumpstarter_protocol
99
inputs:
1010
- git_repo: https://github.com/jumpstarter-dev/jumpstarter-protocol.git
11+
branch: main
1112
subdir: proto

docs/source/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import os
1111
import sys
1212

13-
from jumpstarter_cli_admin.controller import get_latest_compatible_controller_version
13+
from jumpstarter_kubernetes.controller import get_latest_compatible_controller_version
1414

1515
os.environ["TERM"] = "dumb"
1616

@@ -32,7 +32,7 @@
3232
"sphinx_click",
3333
"sphinx_substitution_extensions",
3434
"sphinx_copybutton",
35-
"sphinx_inline_tabs"
35+
"sphinx_inline_tabs",
3636
]
3737

3838
templates_path = ["_templates"]

docs/source/getting-started/guides/setup-distributed-mode.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This guide walks you through the process of creating an exporter using the
44
controller service, configuring drivers, and running the exporter.
55

66
```{warning}
7-
The jumpstarter-controller endpoints are secured by TLS. However, in release 0.6.x,
7+
The jumpstarter-controller endpoints are secured by TLS. However, in release 0.7.x,
88
the certificates are self-signed and rotated on every restart. This means the client
99
will not be able to verify the server certificate. To bypass this, you should use the
1010
`--insecure-tls-config` flag when creating clients and exporters. This issue will be

docs/source/getting-started/installation/packages.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ If you have the repository cloned locally:
3838

3939
| Installation Type | Command | Description |
4040
|------------------|---------|-------------|
41-
| Stable release (recommended) | `./install.sh` | Install stable release 0.6 |
42-
| Stable release (explicit) | `./install.sh -s release-0.6` | Install stable release 0.6 explicitly |
41+
| Stable release (recommended) | `./install.sh` | Install stable release 0.7 |
42+
| Stable release (explicit) | `./install.sh -s release-0.7` | Install stable release 0.7 explicitly |
4343
| Development version | `./install.sh -s main` | Install latest development version |
4444
| Release candidate | `./install.sh -s rc` | Install latest release candidate (when available) |
4545
| Custom directory | `./install.sh -d /opt/jumpstarter` | Install to custom directory |
@@ -73,7 +73,7 @@ echo 'source ~/.local/jumpstarter/set' >> ~/.bashrc
7373

7474
| Option | Description | Default |
7575
|--------|-------------|---------|
76-
| `-s, --source SOURCE` | Installation source (release-0.6, latest, rc, main) | `release-0.6` |
76+
| `-s, --source SOURCE` | Installation source (release-0.7, latest, rc, main) | `release-0.7` |
7777
| `-d, --dir DIR` | Installation directory | `~/.local/jumpstarter` |
7878
| `-h, --help` | Show help message | - |
7979

@@ -165,7 +165,7 @@ indexes:
165165
| ------------------------------------------------------ | --------------------------------------------------------------------- |
166166
| [releases](https://pkg.jumpstarter.dev/) | Release, or release-candidate versions |
167167
| [main](https://pkg.jumpstarter.dev/main/) | Index tracking the main branch, equivalent to installing from sources |
168-
| [release-0.6](https://pkg.jumpstarter.dev/release-0.6) | Index tracking a stable branch |
168+
| [release-0.7](https://pkg.jumpstarter.dev/release-0.7) | Index tracking a stable branch |
169169

170170
#### Installing from Source
171171

docs/source/getting-started/installation/service/service-local.md

Lines changed: 58 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,13 @@ Before installing locally, ensure you have:
1313

1414
## Install with Jumpstarter CLI
1515

16-
The Jumpstarter CLI provides the `jmp admin install` command to automatically
17-
run Helm with the correct arguments, simplifying installation in your Kubernetes
18-
cluster. This is the recommended approach for getting started quickly.
16+
The Jumpstarter CLI provides convenient commands for local demo/test cluster management and Jumpstarter installation:
17+
18+
- `jmp admin create cluster` - Creates a local cluster and installs Jumpstarter (recommended for getting started quickly)
19+
- `jmp admin delete cluster` - Deletes a local cluster completely
20+
- `jmp admin get clusters` - Get local clusters from a Kubeconfig
21+
- `jmp admin install` - Installs Jumpstarter on an existing cluster
22+
- `jmp admin uninstall` - Removes Jumpstarter from a cluster (but keeps the cluster)
1923

2024
```{warning}
2125
Sometimes the automatic IP address detection for will not work correctly, to check if Jumpstarter can determine your IP address, run `jmp admin ip`. If the IP address cannot be determined, use the `--ip` argument to manually set your IP address.
@@ -27,44 +31,65 @@ If you want to test Jumpstarter locally with more control over the setup, you ca
2731

2832
[**kind**](https://kind.sigs.k8s.io/docs/user/quick-start/) (Kubernetes in Docker) is a tool for running local Kubernetes clusters using Docker or Podman containerized "nodes". It's lightweight and fast to start, making it excellent for CI/CD pipelines and quick local testing.
2933

30-
[**minikube**](https://minikube.sigs.k8s.io/docs/start/) runs local Kubernetes clusters using VMs or container "nodes". It works across several platforms and supports different hypervisors, making it ideal for local development and testing. It's particularly useful in environments requiring untrusted certificates.
34+
[**minikube**](https://minikube.sigs.k8s.io/docs/start/) runs local Kubernetes clusters using VMs or container "nodes". It works across several platforms and supports different hypervisors, making it ideal for local development and testing. Minikube works better if you don't have a local Docker/Podman installation.
35+
36+
The admin CLI can automatically create a local cluster and install Jumpstarter with a single command:
37+
38+
By default, Jumpstarter will try to detect which local cluster tools are installed:
3139

3240
```{tip}
33-
Consider minikube for environments requiring [untrusted certificates](https://minikube.sigs.k8s.io/docs/handbook/untrusted_certs/).
41+
By default, Jumpstarter will use `kind` if available, use the `--minikube` argument to force Jumpstarter to use minikube instead.
3442
```
3543

36-
The admin CLI can automatically create a local cluster and install Jumpstarter with a single command:
44+
```{code-block} console
45+
$ jmp admin create cluster
46+
```
47+
48+
However, you can also explicitly specify a local cluster tool:
3749

3850
````{tab} kind
3951
```{code-block} console
40-
$ jmp admin install --kind --create-cluster
52+
$ jmp admin create cluster --kind
4153
```
54+
55+
Additional options for cluster creation:
56+
57+
- Custom cluster name: Specify as the first argument (default: `jumpstarter-lab`)
58+
- `--kind <PATH>`: Path to the kind binary to use for cluster management
59+
- `--helm <PATH>`: Path to the Helm binary to install the Jumpstarter service with
60+
- `--force-recreate`: Force recreate the cluster if it already exists (destroys all data)
61+
- `--kind-extra-args`: Pass additional arguments to kind cluster creation
62+
- `--skip-install`: Create the cluster without installing Jumpstarter
63+
- `--extra-certs <PATH>`: Path to custom CA certificate bundle file to inject into the cluster
4264
````
4365

4466
````{tab} minikube
4567
```{code-block} console
46-
$ jmp admin install --minikube --create-cluster
68+
$ jmp admin create cluster --minikube
4769
```
48-
````
4970
5071
Additional options for cluster creation:
5172
52-
- `--cluster-name`: Specify a custom cluster name (default: `jumpstarter-lab`)
53-
- `--force-recreate-cluster`: Force recreate the cluster if it already exists (destroys all data)
54-
- `--kind-extra-args`: Pass additional arguments to kind cluster creation
73+
- Custom cluster name: Specify as the first argument (default: `jumpstarter-lab`)
74+
- `--minikube <PATH>`: Path to the minikube binary to use for cluster management
75+
- `--helm <PATH>`: Path to the Helm binary to install the Jumpstarter service with
76+
- `--force-recreate`: Force recreate the cluster if it already exists (destroys all data)
5577
- `--minikube-extra-args`: Pass additional arguments to minikube cluster creation
78+
- `--skip-install`: Create the cluster without installing Jumpstarter
79+
- `--extra-certs <PATH>`: Path to custom CA certificate bundle file to inject into the cluster
80+
````
5681

5782
To set a custom cluster name:
5883

5984
````{tab} kind
6085
```{code-block} console
61-
$ jmp admin install --kind --create-cluster --cluster-name my-jumpstarter-cluster
86+
$ jmp admin create cluster my-jumpstarter-cluster --kind
6287
```
6388
````
6489

6590
````{tab} minikube
6691
```{code-block} console
67-
$ jmp admin install --minikube --create-cluster --cluster-name my-jumpstarter-cluster
92+
$ jmp admin create cluster my-jumpstarter-cluster --minikube
6893
```
6994
````
7095

@@ -90,28 +115,41 @@ $ jmp admin install --minikube
90115

91116
### Uninstall Jumpstarter
92117

93-
Uninstall Jumpstarter with the CLI:
118+
Uninstall Jumpstarter from the cluster with the CLI:
94119

95120
```{code-block} console
96121
$ jmp admin uninstall
97122
```
98123

99-
To delete the local cluster when uninstalling, use the `--delete-cluster` flag:
124+
To delete the local cluster completely, use the cluster delete command:
125+
126+
````{tab} kind
127+
```{code-block} console
128+
$ jmp admin delete cluster --kind
129+
```
130+
````
131+
132+
````{tab} minikube
133+
```{code-block} console
134+
$ jmp admin delete cluster --minikube
135+
```
136+
````
137+
138+
To delete a cluster with a custom name:
100139

101140
````{tab} kind
102141
```{code-block} console
103-
$ jmp admin uninstall --kind --delete-cluster
142+
$ jmp admin delete cluster my-jumpstarter-cluster --kind
104143
```
105144
````
106145

107146
````{tab} minikube
108147
```{code-block} console
109-
$ jmp admin uninstall --minikube --delete-cluster
148+
$ jmp admin delete cluster my-jumpstarter-cluster --minikube
110149
```
111150
````
112151

113-
For complete documentation of the `jmp admin install` command and all available
114-
options, see the [MAN pages](../../../reference/man-pages/jmp.md).
152+
For complete documentation of the `jmp admin create cluster`, `jmp admin delete cluster`, `jmp admin get clusters`, and `jmp admin install` commands and all available options, see the [MAN pages](../../../reference/man-pages/jmp.md).
115153

116154
## Manual Local Cluster Install
117155

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../../packages/jumpstarter-driver-ble/README.md

docs/source/reference/package-apis/drivers/index.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Drivers that control the power state and basic operation of devices:
3030

3131
Drivers that provide various communication interfaces:
3232

33+
* **[BLE](ble.md)** (`jumpstarter-driver-ble`) - Bluetooth Low Energy communication
3334
* **[CAN](can.md)** (`jumpstarter-driver-can`) - Controller Area Network
3435
communication
3536
* **[HTTP](http.md)** (`jumpstarter-driver-http`) - HTTP communication
@@ -79,9 +80,12 @@ Drivers for debugging and programming devices:
7980
General-purpose utility drivers:
8081

8182
* **[Shell](shell.md)** (`jumpstarter-driver-shell`) - Shell command execution
83+
* **[TMT](tmt.md)** (`jumpstarter-driver-tmt`) - TMT (Test Management Tool) wrapper driver
84+
* **[SSH](ssh.md)** (`jumpstarter-driver-ssh`) - SSH wrapper driver
8285

8386
```{toctree}
8487
:hidden:
88+
ble.md
8589
can.md
8690
corellium.md
8791
dutlink.md
@@ -100,8 +104,10 @@ gpiod.md
100104
ridesx.md
101105
sdwire.md
102106
shell.md
107+
ssh.md
103108
snmp.md
104109
tasmota.md
110+
tmt.md
105111
tftp.md
106112
uboot.md
107113
ustreamer.md

0 commit comments

Comments
 (0)