Skip to content

Commit f3bc3f7

Browse files
feat: Add version check (command) (#421)
* chore: Adjust Rust toolchain in rustfmt override * chore: Add built * feat: Add release check (command) * refactor: Update transfer client and cache related code * chore: Apply suggestions Co-authored-by: Nick <10092581+NickLarsenNZ@users.noreply.github.com> * chore: Revert accidental commented-out instrument attribute * chore: Add timeout to version check --------- Co-authored-by: Nick <10092581+NickLarsenNZ@users.noreply.github.com>
1 parent 545748b commit f3bc3f7

File tree

35 files changed

+1223
-177
lines changed

35 files changed

+1223
-177
lines changed

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"rust-analyzer.cargo.features": "all",
44
"rust-analyzer.rustfmt.overrideCommand": [
55
"rustfmt",
6-
"+nightly-2025-01-15",
6+
"+nightly-2025-10-23",
77
"--edition",
88
"2024",
99
"--"

Cargo.lock

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.nix

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ axum = { version = "0.7", features = ["http2"] }
2222
axum-extra = { version = "0.9", features = ["typed-header"] }
2323
bcrypt = "0.15"
2424
bindgen = "0.70.1"
25+
built = "0.8.0"
2526
cc = "1.0.106"
2627
clap = { version = "4.5", features = ["derive", "env"] }
2728
clap_complete = "4.5"

docs/modules/stackablectl/partials/commands/help.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ Commands:
1414
completions Generate shell completions for this tool
1515
cache Interact with locally cached files
1616
experimental-debug EXPERIMENTAL: Launch a debug container for a Pod
17+
version Retrieve version data of the stackablectl installation
1718
help Print this message or the help of the given subcommand(s)
1819
----

docs/modules/stackablectl/partials/commands/index.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Commands:
1414
completions Generate shell completions for this tool
1515
cache Interact with locally cached files
1616
experimental-debug EXPERIMENTAL: Launch a debug container for a Pod
17+
version Retrieve version data of the stackablectl installation
1718
help Print this message or the help of the given subcommand(s)
1819
1920
Options:
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
// Autogenerated by cargo xtask gen-docs. DO NOT CHANGE MANUALLY!
2+
[source,console]
3+
----
4+
Retrieve version data of the stackablectl installation
5+
6+
Usage: stackablectl version [OPTIONS] <COMMAND>
7+
8+
Commands:
9+
check Check if there is a new version available
10+
help Print this message or the help of the given subcommand(s)
11+
12+
Options:
13+
-l, --log-level <LOG_LEVEL>
14+
Log level this application uses
15+
16+
--no-cache
17+
Do not cache the remote (default) demo, stack and release files
18+
19+
Cached files are saved at '$XDG_CACHE_HOME/stackablectl', which is usually
20+
'$HOME/.cache/stackablectl' when not explicitly set.
21+
22+
-h, --help
23+
Print help (see a summary with '-h')
24+
25+
-V, --version
26+
Print version
27+
28+
File options:
29+
-d, --demo-file <DEMO_FILE>
30+
Provide one or more additional (custom) demo file(s)
31+
32+
Demos are loaded in the following order: Remote (default) demo file, custom
33+
demo files provided via the 'STACKABLE_DEMO_FILES' environment variable, and
34+
lastly demo files provided via the '-d/--demo-file' argument(s). If there are
35+
demos with the same name, the last demo definition will be used.
36+
37+
Use "stackablectl [OPTIONS] <COMMAND> -d path/to/demos1.yaml -d path/to/demos2.yaml"
38+
to provide multiple additional demo files.
39+
40+
-s, --stack-file <STACK_FILE>
41+
Provide one or more additional (custom) stack file(s)
42+
43+
Stacks are loaded in the following order: Remote (default) stack file, custom
44+
stack files provided via the 'STACKABLE_STACK_FILES' environment variable, and
45+
lastly demo files provided via the '-s/--stack-file' argument(s). If there are
46+
stacks with the same name, the last stack definition will be used.
47+
48+
Use "stackablectl [OPTIONS] <COMMAND> -s path/to/stacks1.yaml -s path/to/stacks2.yaml"
49+
to provide multiple additional stack files.
50+
51+
-r, --release-file <RELEASE_FILE>
52+
Provide one or more additional (custom) release file(s)
53+
54+
Releases are loaded in the following order: Remote (default) release file,
55+
custom release files provided via the 'STACKABLE_RELEASE_FILES' environment
56+
variable, and lastly release files provided via the '-r/--release-file'
57+
argument(s). If there are releases with the same name, the last release
58+
definition will be used.
59+
60+
Use "stackablectl [OPTIONS] <COMMAND> -r path/to/releases1.yaml -r path/to/releases2.yaml"
61+
to provide multiple additional release files.
62+
63+
Helm repository options:
64+
--helm-repo-stable <URL>
65+
Provide a custom Helm stable repository URL
66+
67+
[default: https://repo.stackable.tech/repository/helm-stable/]
68+
69+
--helm-repo-test <URL>
70+
Provide a custom Helm test repository URL
71+
72+
[default: https://repo.stackable.tech/repository/helm-test/]
73+
74+
--helm-repo-dev <URL>
75+
Provide a custom Helm dev repository URL
76+
77+
[default: https://repo.stackable.tech/repository/helm-dev/]
78+
79+
--chart-source <CHART_SOURCE>
80+
Source the charts from either a OCI registry or from index.yaml-based repositories.
81+
82+
Possible values:
83+
- oci: OCI registry
84+
- repo: index.yaml-based repositories: resolution (dev, test, stable) is based on the version and thus will be operator-specific
85+
86+
[default: oci]
87+
88+
Operator specific configurations:
89+
--listener-class-preset <LISTENER_CLASS_PRESET>
90+
Choose the ListenerClass preset (`none`, `ephemeral-nodes` or `stable-nodes`).
91+
92+
This maps to the listener-operator Helm Chart preset value, see [the listener-operator documentation](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass/#presets) for details.
93+
94+
[possible values: none, stable-nodes, ephemeral-nodes]
95+
----

extra/completions/_stackablectl

Lines changed: 147 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)