chore: add remove-signer command, fix bugs, and update release notes

- Add registry admin remove-signer command to remove a signer and all their authorizations
- Fix remove_package_signer condition (is_some -> is_none) for correct not-found error
- Use log_err() instead of silently swallowing asset fetch errors
- Trim leading '#' from version in s9pk publish path
- Add --delete-removed to s3 sync in publish-deb.sh
- Expand v0.4.0 release notes with additional features
- Regenerate man pages and add i18n entries
This commit is contained in:
Aiden McClelland
2026-04-01 16:09:32 -06:00
parent 0eedcf58f5
commit de7fbeff2c
94 changed files with 647 additions and 88 deletions

View File

@@ -138,7 +138,7 @@ fi
# Upload to S3
echo "Uploading to s3://${BUCKET}/ ..."
s3 sync --acl-public --no-mime-magic "$REPO_DIR/" "s3://${BUCKET}/"
s3 sync --acl-public --no-mime-magic --delete-removed "$REPO_DIR/" "s3://${BUCKET}/"
[ -n "$S3CMD_CONFIG" ] && rm -f "$S3CMD_CONFIG"
echo "Done."

View File

@@ -5480,6 +5480,13 @@ about.remove-package-signer:
fr_FR: "Supprimer le signataire du package"
pl_PL: "Usuń sygnatariusza pakietu"
about.remove-signer:
en_US: "Remove signer and all their authorizations"
de_DE: "Unterzeichner und alle Autorisierungen entfernen"
es_ES: "Eliminar firmante y todas sus autorizaciones"
fr_FR: "Supprimer le signataire et toutes ses autorisations"
pl_PL: "Usuń sygnatariusza i wszystkie jego autoryzacje"
about.remove-port-forward:
en_US: "Remove port forward"
de_DE: "Portweiterleitung entfernen"

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-net-forward-dump-table 1 "dump-table "
.SH NAME
start\-cli\-net\-forward\-dump\-table
start\-cli\-net\-forward\-dump\-table \- Dump port forward table
.SH SYNOPSIS
\fBstart\-cli net forward dump\-table\fR [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR]
.SH DESCRIPTION
Dump port forward table
.SH OPTIONS
.TP
\fB\-\-format\fR

View File

@@ -14,3 +14,4 @@ Print help
.SH SUBCOMMANDS
.TP
start\-cli\-net\-forward\-dump\-table(1)
Dump port forward table

View File

@@ -2,11 +2,11 @@
.el .ds Aq '
.TH start-cli-net-gateway-check-port 1 "check-port "
.SH NAME
start\-cli\-net\-gateway\-check\-port \- about.check\-port\-reachability
start\-cli\-net\-gateway\-check\-port \- Check if a port is reachable from the WAN
.SH SYNOPSIS
\fBstart\-cli net gateway check\-port\fR [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIPORT\fR> <\fIGATEWAY\fR>
.SH DESCRIPTION
about.check\-port\-reachability
Check if a port is reachable from the WAN
.SH OPTIONS
.TP
\fB\-\-format\fR
@@ -16,7 +16,7 @@ about.check\-port\-reachability
Print help
.TP
<\fIPORT\fR>
help.arg.port
Port number
.TP
<\fIGATEWAY\fR>
Gateway identifier

View File

@@ -2,11 +2,11 @@
.el .ds Aq '
.TH start-cli-net-gateway-set-default-outbound 1 "set-default-outbound "
.SH NAME
start\-cli\-net\-gateway\-set\-default\-outbound \- about.set\-default\-outbound\-gateway
start\-cli\-net\-gateway\-set\-default\-outbound \- Set the default outbound gateway
.SH SYNOPSIS
\fBstart\-cli net gateway set\-default\-outbound\fR [\fB\-h\fR|\fB\-\-help\fR] [\fIGATEWAY\fR]
.SH DESCRIPTION
about.set\-default\-outbound\-gateway
Set the default outbound gateway
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR

View File

@@ -17,7 +17,7 @@ start\-cli\-net\-gateway\-check\-dns(1)
Check DNS configuration for a gateway
.TP
start\-cli\-net\-gateway\-check\-port(1)
about.check\-port\-reachability
Check if a port is reachable from the WAN
.TP
start\-cli\-net\-gateway\-forget(1)
Forget a disconnected gateway
@@ -26,7 +26,7 @@ start\-cli\-net\-gateway\-list(1)
Show gateways StartOS can listen on
.TP
start\-cli\-net\-gateway\-set\-default\-outbound(1)
about.set\-default\-outbound\-gateway
Set the default outbound gateway
.TP
start\-cli\-net\-gateway\-set\-name(1)
Rename a gateway

View File

@@ -0,0 +1,22 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-cli-net-ssl-generate-certificate 1 "generate-certificate "
.SH NAME
start\-cli\-net\-ssl\-generate\-certificate \- Generate an SSL certificate from the system root CA
.SH SYNOPSIS
\fBstart\-cli net ssl generate\-certificate\fR [\fB\-\-ed25519\fR] [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fIHOSTNAMES\fR]
.SH DESCRIPTION
Generate an SSL certificate from the system root CA
.SH OPTIONS
.TP
\fB\-\-ed25519\fR
Use Ed25519 instead of NIST P\-256
.TP
\fB\-\-format\fR
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
.TP
[\fIHOSTNAMES\fR]
Hostnames to include in the certificate

View File

@@ -0,0 +1,17 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-cli-net-ssl 1 "ssl "
.SH NAME
start\-cli\-net\-ssl \- Manage SSL certificates
.SH SYNOPSIS
\fBstart\-cli net ssl\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Manage SSL certificates
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
.SH SUBCOMMANDS
.TP
start\-cli\-net\-ssl\-generate\-certificate(1)
Generate an SSL certificate from the system root CA

View File

@@ -10,7 +10,7 @@ Add a new tunnel
.SH OPTIONS
.TP
\fB\-\-set\-as\-default\-outbound\fR
help.arg.set\-as\-default\-outbound
Set as the default outbound gateway
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
@@ -22,7 +22,7 @@ Tunnel name
WireGuard configuration
.TP
[\fIGATEWAY_TYPE\fR]
help.arg.gateway\-type
Type of gateway
.br
.br

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-net-vhost-add-passthrough 1 "add-passthrough "
.SH NAME
start\-cli\-net\-vhost\-add\-passthrough
start\-cli\-net\-vhost\-add\-passthrough \- Add vhost passthrough
.SH SYNOPSIS
\fBstart\-cli net vhost add\-passthrough\fR <\fB\-\-hostname\fR> <\fB\-\-listen\-port\fR> <\fB\-\-backend\fR> [\fB\-\-public\-gateway\fR] [\fB\-\-private\-ip\fR] [\fB\-h\fR|\fB\-\-help\fR]
.SH DESCRIPTION
Add vhost passthrough
.SH OPTIONS
.TP
\fB\-\-hostname\fR \fI<HOSTNAME>\fR

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-net-vhost-dump-table 1 "dump-table "
.SH NAME
start\-cli\-net\-vhost\-dump\-table
start\-cli\-net\-vhost\-dump\-table \- Dump vhost proxy table
.SH SYNOPSIS
\fBstart\-cli net vhost dump\-table\fR [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR]
.SH DESCRIPTION
Dump vhost proxy table
.SH OPTIONS
.TP
\fB\-\-format\fR

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-net-vhost-list-passthrough 1 "list-passthrough "
.SH NAME
start\-cli\-net\-vhost\-list\-passthrough
start\-cli\-net\-vhost\-list\-passthrough \- List vhost passthroughs
.SH SYNOPSIS
\fBstart\-cli net vhost list\-passthrough\fR [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR]
.SH DESCRIPTION
List vhost passthroughs
.SH OPTIONS
.TP
\fB\-\-format\fR

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-net-vhost-remove-passthrough 1 "remove-passthrough "
.SH NAME
start\-cli\-net\-vhost\-remove\-passthrough
start\-cli\-net\-vhost\-remove\-passthrough \- Remove vhost passthrough
.SH SYNOPSIS
\fBstart\-cli net vhost remove\-passthrough\fR <\fB\-\-hostname\fR> <\fB\-\-listen\-port\fR> [\fB\-h\fR|\fB\-\-help\fR]
.SH DESCRIPTION
Remove vhost passthrough
.SH OPTIONS
.TP
\fB\-\-hostname\fR \fI<HOSTNAME>\fR

View File

@@ -14,9 +14,13 @@ Print help
.SH SUBCOMMANDS
.TP
start\-cli\-net\-vhost\-add\-passthrough(1)
Add vhost passthrough
.TP
start\-cli\-net\-vhost\-dump\-table(1)
Dump vhost proxy table
.TP
start\-cli\-net\-vhost\-list\-passthrough(1)
List vhost passthroughs
.TP
start\-cli\-net\-vhost\-remove\-passthrough(1)
Remove vhost passthrough

View File

@@ -25,6 +25,9 @@ Manage port forwards
start\-cli\-net\-gateway(1)
View and edit gateway configurations
.TP
start\-cli\-net\-ssl(1)
Manage SSL certificates
.TP
start\-cli\-net\-tunnel(1)
Manage tunnels
.TP

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-package-attach 1 "attach "
.SH NAME
start\-cli\-package\-attach
start\-cli\-package\-attach \- Execute commands in container
.SH SYNOPSIS
\fBstart\-cli package attach\fR [\fB\-\-force\-tty\fR] [\fB\-s\fR|\fB\-\-subcontainer\fR] [\fB\-n\fR|\fB\-\-name\fR] [\fB\-u\fR|\fB\-\-user\fR] [\fB\-i\fR|\fB\-\-image\-id\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIID\fR> [\fICOMMAND\fR]
.SH DESCRIPTION
Execute commands in container
.SH OPTIONS
.TP
\fB\-\-force\-tty\fR

View File

@@ -4,11 +4,14 @@
.SH NAME
start\-cli\-package\-backup\-restore \- Restore packages from backup
.SH SYNOPSIS
\fBstart\-cli package backup restore\fR [\fB\-h\fR|\fB\-\-help\fR] <\fITARGET_ID\fR> <\fIPASSWORD\fR> [\fIIDS\fR]
\fBstart\-cli package backup restore\fR [\fB\-\-server\-id\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fITARGET_ID\fR> <\fIPASSWORD\fR> [\fIIDS\fR]
.SH DESCRIPTION
Restore packages from backup
.SH OPTIONS
.TP
\fB\-\-server\-id\fR \fI<SERVER_ID>\fR
Unique server identifier
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
.TP

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-package-host-address-domain-private 1 "private "
.SH NAME
start\-cli\-package\-host\-address\-domain\-private
start\-cli\-package\-host\-address\-domain\-private \- Commands for managing private domains for a host
.SH SYNOPSIS
\fBstart\-cli package host address domain private\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing private domains for a host
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-package-host-address-domain-public 1 "public "
.SH NAME
start\-cli\-package\-host\-address\-domain\-public
start\-cli\-package\-host\-address\-domain\-public \- Commands for managing public domains for a host
.SH SYNOPSIS
\fBstart\-cli package host address domain public\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing public domains for a host
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-package-host-address-domain 1 "domain "
.SH NAME
start\-cli\-package\-host\-address\-domain
start\-cli\-package\-host\-address\-domain \- Commands for managing host address domains
.SH SYNOPSIS
\fBstart\-cli package host address domain\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing host address domains
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
@@ -13,5 +14,7 @@ Print help
.SH SUBCOMMANDS
.TP
start\-cli\-package\-host\-address\-domain\-private(1)
Commands for managing private domains for a host
.TP
start\-cli\-package\-host\-address\-domain\-public(1)
Commands for managing public domains for a host

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-package-host-address 1 "address "
.SH NAME
start\-cli\-package\-host\-address
start\-cli\-package\-host\-address \- Commands for managing host addresses
.SH SYNOPSIS
\fBstart\-cli package host address\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIHOST\fR> <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing host addresses
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
@@ -16,6 +17,7 @@ Host identifier
.SH SUBCOMMANDS
.TP
start\-cli\-package\-host\-address\-domain(1)
Commands for managing host address domains
.TP
start\-cli\-package\-host\-address\-list(1)
List addresses for a host

View File

@@ -2,15 +2,15 @@
.el .ds Aq '
.TH start-cli-package-host-binding-set-address-enabled 1 "set-address-enabled "
.SH NAME
start\-cli\-package\-host\-binding\-set\-address\-enabled \- about.set\-address\-enabled\-for\-binding
start\-cli\-package\-host\-binding\-set\-address\-enabled \- Set a gateway address enabled for a binding
.SH SYNOPSIS
\fBstart\-cli package host binding set\-address\-enabled\fR <\fB\-\-address\fR> [\fB\-\-enabled\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIINTERNAL_PORT\fR>
.SH DESCRIPTION
about.set\-address\-enabled\-for\-binding
Set a gateway address enabled for a binding
.SH OPTIONS
.TP
\fB\-\-address\fR \fI<ADDRESS>\fR
help.arg.address
Network address
.TP
\fB\-\-enabled\fR \fI<ENABLED>\fR
Enable or disable this binding

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-package-host-binding 1 "binding "
.SH NAME
start\-cli\-package\-host\-binding
start\-cli\-package\-host\-binding \- Commands for managing host bindings
.SH SYNOPSIS
\fBstart\-cli package host binding\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIHOST\fR> <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing host bindings
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
@@ -19,4 +20,4 @@ start\-cli\-package\-host\-binding\-list(1)
List bindings for a host
.TP
start\-cli\-package\-host\-binding\-set\-address\-enabled(1)
about.set\-address\-enabled\-for\-binding
Set a gateway address enabled for a binding

View File

@@ -17,5 +17,7 @@ Package identifier
.SH SUBCOMMANDS
.TP
start\-cli\-package\-host\-address(1)
Commands for managing host addresses
.TP
start\-cli\-package\-host\-binding(1)
Commands for managing host bindings

View File

@@ -2,11 +2,11 @@
.el .ds Aq '
.TH start-cli-package-set-outbound-gateway 1 "set-outbound-gateway "
.SH NAME
start\-cli\-package\-set\-outbound\-gateway \- about.set\-outbound\-gateway\-package
start\-cli\-package\-set\-outbound\-gateway \- Set the outbound gateway for a package
.SH SYNOPSIS
\fBstart\-cli package set\-outbound\-gateway\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIPACKAGE\fR> [\fIGATEWAY\fR]
.SH DESCRIPTION
about.set\-outbound\-gateway\-package
Set the outbound gateway for a package
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR

View File

@@ -17,6 +17,7 @@ start\-cli\-package\-action(1)
Commands to get action input or run an action
.TP
start\-cli\-package\-attach(1)
Execute commands in container
.TP
start\-cli\-package\-backup(1)
Commands for restoring package(s) from backup
@@ -46,7 +47,7 @@ start\-cli\-package\-restart(1)
Restart a service
.TP
start\-cli\-package\-set\-outbound\-gateway(1)
about.set\-outbound\-gateway\-package
Set the outbound gateway for a package
.TP
start\-cli\-package\-start(1)
Start a service

View File

@@ -0,0 +1,16 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-cli-registry-admin-signer-remove 1 "remove "
.SH NAME
start\-cli\-registry\-admin\-signer\-remove \- Remove signer and all their authorizations
.SH SYNOPSIS
\fBstart\-cli registry admin signer remove\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIID\fR>
.SH DESCRIPTION
Remove signer and all their authorizations
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
.TP
<\fIID\fR>
Signer identifier

View File

@@ -21,3 +21,6 @@ Edit signer information
.TP
start\-cli\-registry\-admin\-signer\-list(1)
List signers
.TP
start\-cli\-registry\-admin\-signer\-remove(1)
Remove signer and all their authorizations

View File

@@ -13,4 +13,4 @@ Set the registry icon
Print help
.TP
<\fIICON\fR>
Path to service icon file
Icon source: file path, file:// URL, http(s):// URL, or data: URL

View File

@@ -2,11 +2,11 @@
.el .ds Aq '
.TH start-cli-registry-info 1 "info "
.SH NAME
start\-cli\-registry\-info \- Display registry info
start\-cli\-registry\-info \- View or edit registry information
.SH SYNOPSIS
\fBstart\-cli registry info\fR [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fIsubcommands\fR]
.SH DESCRIPTION
Display registry info
View or edit registry information
.SH OPTIONS
.TP
\fB\-\-format\fR

View File

@@ -0,0 +1,28 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-cli-registry-metrics-downloads 1 "downloads "
.SH NAME
start\-cli\-registry\-metrics\-downloads \- Count package download requests with optional filters
.SH SYNOPSIS
\fBstart\-cli registry metrics downloads\fR [\fB\-\-pkg\-id\fR] [\fB\-\-version\fR] [\fB\-\-after\fR] [\fB\-\-before\fR] [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR]
.SH DESCRIPTION
Count package download requests with optional filters
.SH OPTIONS
.TP
\fB\-\-pkg\-id\fR \fI<PKG_ID>\fR
Filter by package ID
.TP
\fB\-\-version\fR \fI<VERSION>\fR
Filter by version
.TP
\fB\-\-after\fR \fI<AFTER>\fR
Start of time range (RFC 3339 timestamp)
.TP
\fB\-\-before\fR \fI<BEFORE>\fR
End of time range (RFC 3339 timestamp)
.TP
\fB\-\-format\fR
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help

View File

@@ -0,0 +1,16 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-cli-registry-metrics-summary 1 "summary "
.SH NAME
start\-cli\-registry\-metrics\-summary \- Get a summary of registry usage metrics
.SH SYNOPSIS
\fBstart\-cli registry metrics summary\fR [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR]
.SH DESCRIPTION
Get a summary of registry usage metrics
.SH OPTIONS
.TP
\fB\-\-format\fR
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help

View File

@@ -0,0 +1,22 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-cli-registry-metrics-users 1 "users "
.SH NAME
start\-cli\-registry\-metrics\-users \- Count unique active users within a time range
.SH SYNOPSIS
\fBstart\-cli registry metrics users\fR [\fB\-\-after\fR] [\fB\-\-before\fR] [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR]
.SH DESCRIPTION
Count unique active users within a time range
.SH OPTIONS
.TP
\fB\-\-after\fR \fI<AFTER>\fR
Start of time range (RFC 3339 timestamp)
.TP
\fB\-\-before\fR \fI<BEFORE>\fR
End of time range (RFC 3339 timestamp)
.TP
\fB\-\-format\fR
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help

View File

@@ -0,0 +1,23 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-cli-registry-metrics 1 "metrics "
.SH NAME
start\-cli\-registry\-metrics \- Query registry usage metrics
.SH SYNOPSIS
\fBstart\-cli registry metrics\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Query registry usage metrics
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
.SH SUBCOMMANDS
.TP
start\-cli\-registry\-metrics\-downloads(1)
Count package download requests with optional filters
.TP
start\-cli\-registry\-metrics\-summary(1)
Get a summary of registry usage metrics
.TP
start\-cli\-registry\-metrics\-users(1)
Count unique active users within a time range

View File

@@ -0,0 +1,22 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-cli-registry-os-promote 1 "promote "
.SH NAME
start\-cli\-registry\-os\-promote \- Promote an OS version from one registry to another
.SH SYNOPSIS
\fBstart\-cli registry os promote\fR [\fB\-\-from\fR] [\fB\-\-to\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIVERSION\fR>
.SH DESCRIPTION
Promote an OS version from one registry to another
.SH OPTIONS
.TP
\fB\-\-from\fR \fI<FROM>\fR
Source registry URL to promote from
.TP
\fB\-\-to\fR \fI<TO>\fR
Destination registry URL to promote to
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
.TP
<\fIVERSION\fR>
StartOS version number

View File

@@ -19,5 +19,8 @@ Commands to add, sign, or get registry assets
start\-cli\-registry\-os\-index(1)
List OS versions index
.TP
start\-cli\-registry\-os\-promote(1)
Promote an OS version from one registry to another
.TP
start\-cli\-registry\-os\-version(1)
Commands to add, remove, or list versions or version signers

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-registry-package-category-list 1 "list "
.SH NAME
start\-cli\-registry\-package\-category\-list
start\-cli\-registry\-package\-category\-list \- List registry categories
.SH SYNOPSIS
\fBstart\-cli registry package category list\fR [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR]
.SH DESCRIPTION
List registry categories
.SH OPTIONS
.TP
\fB\-\-format\fR

View File

@@ -20,6 +20,7 @@ start\-cli\-registry\-package\-category\-add\-package(1)
Add a package to a category
.TP
start\-cli\-registry\-package\-category\-list(1)
List registry categories
.TP
start\-cli\-registry\-package\-category\-remove(1)
Remove category from registry

View File

@@ -4,7 +4,7 @@
.SH NAME
start\-cli\-registry\-package\-download \- Download s9pk package
.SH SYNOPSIS
\fBstart\-cli registry package download\fR [\fB\-v\fR|\fB\-\-target\-version\fR] [\fB\-d\fR|\fB\-\-dest\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIID\fR>
\fBstart\-cli registry package download\fR [\fB\-v\fR|\fB\-\-target\-version\fR] [\fB\-d\fR|\fB\-\-dest\fR] [\fB\-a\fR|\fB\-\-arch\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIID\fR>
.SH DESCRIPTION
Download s9pk package
.SH OPTIONS
@@ -15,6 +15,9 @@ Target version range constraint
\fB\-d\fR, \fB\-\-dest\fR \fI<DEST>\fR
Destination path for download
.TP
\fB\-a\fR, \fB\-\-arch\fR \fI<ARCH>\fR
Target CPU architecture (e.g. x86_64, aarch64)
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
.TP

View File

@@ -0,0 +1,25 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-cli-registry-package-promote 1 "promote "
.SH NAME
start\-cli\-registry\-package\-promote \- Promote a package from one registry to another
.SH SYNOPSIS
\fBstart\-cli registry package promote\fR [\fB\-\-from\fR] [\fB\-\-to\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIID\fR> <\fIVERSION\fR>
.SH DESCRIPTION
Promote a package from one registry to another
.SH OPTIONS
.TP
\fB\-\-from\fR \fI<FROM>\fR
Source registry URL to promote from
.TP
\fB\-\-to\fR \fI<TO>\fR
Destination registry URL to promote to
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
.TP
<\fIID\fR>
Package identifier
.TP
<\fIVERSION\fR>
Package version

View File

@@ -31,6 +31,9 @@ List installation candidates
start\-cli\-registry\-package\-index(1)
List packages and categories
.TP
start\-cli\-registry\-package\-promote(1)
Promote a package from one registry to another
.TP
start\-cli\-registry\-package\-remove(1)
Remove package from registry
.TP

View File

@@ -23,7 +23,10 @@ start\-cli\-registry\-index(1)
List registry info and packages
.TP
start\-cli\-registry\-info(1)
Display registry info
View or edit registry information
.TP
start\-cli\-registry\-metrics(1)
Query registry usage metrics
.TP
start\-cli\-registry\-os(1)
Commands related to OS assets and versions

View File

@@ -2,11 +2,11 @@
.el .ds Aq '
.TH start-cli-s9pk-inspect-commitment 1 "commitment "
.SH NAME
start\-cli\-s9pk\-inspect\-commitment \- about.display\-s9pk\-root\-sighash\-and\-maxsize
start\-cli\-s9pk\-inspect\-commitment \- Display the s9pk root signature hash and max size
.SH SYNOPSIS
\fBstart\-cli s9pk inspect commitment\fR [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR]
.SH DESCRIPTION
about.display\-s9pk\-root\-sighash\-and\-maxsize
Display the s9pk root signature hash and max size
.SH OPTIONS
.TP
\fB\-\-format\fR

View File

@@ -20,7 +20,7 @@ start\-cli\-s9pk\-inspect\-cat(1)
Display file contents from s9pk
.TP
start\-cli\-s9pk\-inspect\-commitment(1)
about.display\-s9pk\-root\-sighash\-and\-maxsize
Display the s9pk root signature hash and max size
.TP
start\-cli\-s9pk\-inspect\-file\-tree(1)
Display list of paths in s9pk

View File

@@ -2,11 +2,11 @@
.el .ds Aq '
.TH start-cli-server-device-info 1 "device-info "
.SH NAME
start\-cli\-server\-device\-info \- about.get\-device\-info
start\-cli\-server\-device\-info \- Display device information
.SH SYNOPSIS
\fBstart\-cli server device\-info\fR [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR]
.SH DESCRIPTION
about.get\-device\-info
Display device information
.SH OPTIONS
.TP
\fB\-\-format\fR

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-server-host-address-domain-private 1 "private "
.SH NAME
start\-cli\-server\-host\-address\-domain\-private
start\-cli\-server\-host\-address\-domain\-private \- Commands for managing private domains for a host
.SH SYNOPSIS
\fBstart\-cli server host address domain private\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing private domains for a host
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-server-host-address-domain-public 1 "public "
.SH NAME
start\-cli\-server\-host\-address\-domain\-public
start\-cli\-server\-host\-address\-domain\-public \- Commands for managing public domains for a host
.SH SYNOPSIS
\fBstart\-cli server host address domain public\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing public domains for a host
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-server-host-address-domain 1 "domain "
.SH NAME
start\-cli\-server\-host\-address\-domain
start\-cli\-server\-host\-address\-domain \- Commands for managing host address domains
.SH SYNOPSIS
\fBstart\-cli server host address domain\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing host address domains
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
@@ -13,5 +14,7 @@ Print help
.SH SUBCOMMANDS
.TP
start\-cli\-server\-host\-address\-domain\-private(1)
Commands for managing private domains for a host
.TP
start\-cli\-server\-host\-address\-domain\-public(1)
Commands for managing public domains for a host

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-server-host-address 1 "address "
.SH NAME
start\-cli\-server\-host\-address
start\-cli\-server\-host\-address \- Commands for managing host addresses
.SH SYNOPSIS
\fBstart\-cli server host address\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing host addresses
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
@@ -13,6 +14,7 @@ Print help
.SH SUBCOMMANDS
.TP
start\-cli\-server\-host\-address\-domain(1)
Commands for managing host address domains
.TP
start\-cli\-server\-host\-address\-list(1)
List addresses for a host

View File

@@ -2,15 +2,15 @@
.el .ds Aq '
.TH start-cli-server-host-binding-set-address-enabled 1 "set-address-enabled "
.SH NAME
start\-cli\-server\-host\-binding\-set\-address\-enabled \- about.set\-address\-enabled\-for\-binding
start\-cli\-server\-host\-binding\-set\-address\-enabled \- Set a gateway address enabled for a binding
.SH SYNOPSIS
\fBstart\-cli server host binding set\-address\-enabled\fR <\fB\-\-address\fR> [\fB\-\-enabled\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIINTERNAL_PORT\fR>
.SH DESCRIPTION
about.set\-address\-enabled\-for\-binding
Set a gateway address enabled for a binding
.SH OPTIONS
.TP
\fB\-\-address\fR \fI<ADDRESS>\fR
help.arg.address
Network address
.TP
\fB\-\-enabled\fR \fI<ENABLED>\fR
Enable or disable this binding

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-server-host-binding 1 "binding "
.SH NAME
start\-cli\-server\-host\-binding
start\-cli\-server\-host\-binding \- Commands for managing host bindings
.SH SYNOPSIS
\fBstart\-cli server host binding\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing host bindings
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
@@ -16,4 +17,4 @@ start\-cli\-server\-host\-binding\-list(1)
List bindings for a host
.TP
start\-cli\-server\-host\-binding\-set\-address\-enabled(1)
about.set\-address\-enabled\-for\-binding
Set a gateway address enabled for a binding

View File

@@ -14,5 +14,7 @@ Print help
.SH SUBCOMMANDS
.TP
start\-cli\-server\-host\-address(1)
Commands for managing host addresses
.TP
start\-cli\-server\-host\-binding(1)
Commands for managing host bindings

View File

@@ -17,7 +17,7 @@ start\-cli\-server\-clear\-smtp(1)
Remove system smtp server and credentials
.TP
start\-cli\-server\-device\-info(1)
about.get\-device\-info
Display device information
.TP
start\-cli\-server\-experimental(1)
Commands related to configuring experimental options such as zram and cpu governor

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-tunnel-auth-key 1 "key "
.SH NAME
start\-cli\-tunnel\-auth\-key
start\-cli\-tunnel\-auth\-key \- Commands for managing authorized keys
.SH SYNOPSIS
\fBstart\-cli tunnel auth key\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing authorized keys
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR

View File

@@ -17,6 +17,7 @@ start\-cli\-tunnel\-auth\-get\-pubkey(1)
Get the public key from the server
.TP
start\-cli\-tunnel\-auth\-key(1)
Commands for managing authorized keys
.TP
start\-cli\-tunnel\-auth\-login(1)
Login to a new auth session

View File

@@ -2,11 +2,11 @@
.el .ds Aq '
.TH start-cli-tunnel-port-forward-set-enabled 1 "set-enabled "
.SH NAME
start\-cli\-tunnel\-port\-forward\-set\-enabled \- about.enable\-or\-disable\-port\-forward
start\-cli\-tunnel\-port\-forward\-set\-enabled \- Enable or disable a port forward
.SH SYNOPSIS
\fBstart\-cli tunnel port\-forward set\-enabled\fR [\fB\-\-enabled\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fISOURCE\fR>
.SH DESCRIPTION
about.enable\-or\-disable\-port\-forward
Enable or disable a port forward
.SH OPTIONS
.TP
\fB\-\-enabled\fR

View File

@@ -2,11 +2,11 @@
.el .ds Aq '
.TH start-cli-tunnel-port-forward-update-label 1 "update-label "
.SH NAME
start\-cli\-tunnel\-port\-forward\-update\-label \- about.update\-port\-forward\-label
start\-cli\-tunnel\-port\-forward\-update\-label \- Update the label of a port forward
.SH SYNOPSIS
\fBstart\-cli tunnel port\-forward update\-label\fR [\fB\-h\fR|\fB\-\-help\fR] <\fISOURCE\fR> [\fILABEL\fR]
.SH DESCRIPTION
about.update\-port\-forward\-label
Update the label of a port forward
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-tunnel-port-forward 1 "port-forward "
.SH NAME
start\-cli\-tunnel\-port\-forward
start\-cli\-tunnel\-port\-forward \- Commands for managing port forwards
.SH SYNOPSIS
\fBstart\-cli tunnel port\-forward\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing port forwards
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
@@ -19,7 +20,7 @@ start\-cli\-tunnel\-port\-forward\-remove(1)
Remove port forward
.TP
start\-cli\-tunnel\-port\-forward\-set\-enabled(1)
about.enable\-or\-disable\-port\-forward
Enable or disable a port forward
.TP
start\-cli\-tunnel\-port\-forward\-update\-label(1)
about.update\-port\-forward\-label
Update the label of a port forward

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-tunnel-update 1 "update "
.SH NAME
start\-cli\-tunnel\-update
start\-cli\-tunnel\-update \- Commands for checking and applying tunnel updates
.SH SYNOPSIS
\fBstart\-cli tunnel update\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for checking and applying tunnel updates
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-cli-tunnel-web 1 "web "
.SH NAME
start\-cli\-tunnel\-web
start\-cli\-tunnel\-web \- Commands for managing the tunnel web interface
.SH SYNOPSIS
\fBstart\-cli tunnel web\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing the tunnel web interface
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR

View File

@@ -23,6 +23,7 @@ start\-cli\-tunnel\-device(1)
Add, remove, or list devices in subnets
.TP
start\-cli\-tunnel\-port\-forward(1)
Commands for managing port forwards
.TP
start\-cli\-tunnel\-restart(1)
Reboot the tunnel server
@@ -31,5 +32,7 @@ start\-cli\-tunnel\-subnet(1)
Add, remove, or modify subnets
.TP
start\-cli\-tunnel\-update(1)
Commands for checking and applying tunnel updates
.TP
start\-cli\-tunnel\-web(1)
Commands for managing the tunnel web interface

View File

@@ -1,6 +1,6 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-cli 1 "start-cli 0.4.0-alpha.21"
.TH start-cli 1 "start-cli 0.4.0-beta.0"
.SH NAME
start\-cli
.SH SYNOPSIS
@@ -117,4 +117,4 @@ Command for calculating the blake3 hash of a file
start\-cli\-wifi(1)
Commands related to wifi networks i.e. add, connect, delete
.SH VERSION
v0.4.0\-alpha.21
v0.4.0\-beta.0

View File

@@ -0,0 +1,15 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-container-pipe-wrap 1 "pipe-wrap "
.SH NAME
start\-container\-pipe\-wrap
.SH SYNOPSIS
\fBstart\-container pipe\-wrap\fR [\fB\-h\fR|\fB\-\-help\fR] [\fICOMMAND\fR]
.SH DESCRIPTION
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
.TP
[\fICOMMAND\fR]
Command to execute in the container

View File

@@ -1,6 +1,6 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-container 1 "start-container 0.4.0-alpha.21"
.TH start-container 1 "start-container 0.4.0-beta.0"
.SH NAME
start\-container
.SH SYNOPSIS
@@ -34,6 +34,8 @@ start\-container\-get\-status(1)
.TP
start\-container\-git\-info(1)
.TP
start\-container\-pipe\-wrap(1)
.TP
start\-container\-plugin(1)
.TP
start\-container\-rebuild(1)
@@ -50,4 +52,4 @@ start\-container\-shutdown(1)
.TP
start\-container\-subcontainer(1)
.SH VERSION
v0.4.0\-alpha.21
v0.4.0\-beta.0

View File

@@ -0,0 +1,16 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-registry-admin-signer-remove 1 "remove "
.SH NAME
start\-registry\-admin\-signer\-remove \- Remove signer and all their authorizations
.SH SYNOPSIS
\fBstart\-registry admin signer remove\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIID\fR>
.SH DESCRIPTION
Remove signer and all their authorizations
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
.TP
<\fIID\fR>
Signer identifier

View File

@@ -21,3 +21,6 @@ Edit signer information
.TP
start\-registry\-admin\-signer\-list(1)
List signers
.TP
start\-registry\-admin\-signer\-remove(1)
Remove signer and all their authorizations

View File

@@ -13,4 +13,4 @@ Set the registry icon
Print help
.TP
<\fIICON\fR>
Path to service icon file
Icon source: file path, file:// URL, http(s):// URL, or data: URL

View File

@@ -2,11 +2,11 @@
.el .ds Aq '
.TH start-registry-info 1 "info "
.SH NAME
start\-registry\-info \- Display registry info
start\-registry\-info \- View or edit registry information
.SH SYNOPSIS
\fBstart\-registry info\fR [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fIsubcommands\fR]
.SH DESCRIPTION
Display registry info
View or edit registry information
.SH OPTIONS
.TP
\fB\-\-format\fR

View File

@@ -0,0 +1,28 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-registry-metrics-downloads 1 "downloads "
.SH NAME
start\-registry\-metrics\-downloads \- Count package download requests with optional filters
.SH SYNOPSIS
\fBstart\-registry metrics downloads\fR [\fB\-\-pkg\-id\fR] [\fB\-\-version\fR] [\fB\-\-after\fR] [\fB\-\-before\fR] [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR]
.SH DESCRIPTION
Count package download requests with optional filters
.SH OPTIONS
.TP
\fB\-\-pkg\-id\fR \fI<PKG_ID>\fR
Filter by package ID
.TP
\fB\-\-version\fR \fI<VERSION>\fR
Filter by version
.TP
\fB\-\-after\fR \fI<AFTER>\fR
Start of time range (RFC 3339 timestamp)
.TP
\fB\-\-before\fR \fI<BEFORE>\fR
End of time range (RFC 3339 timestamp)
.TP
\fB\-\-format\fR
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help

View File

@@ -0,0 +1,16 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-registry-metrics-summary 1 "summary "
.SH NAME
start\-registry\-metrics\-summary \- Get a summary of registry usage metrics
.SH SYNOPSIS
\fBstart\-registry metrics summary\fR [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR]
.SH DESCRIPTION
Get a summary of registry usage metrics
.SH OPTIONS
.TP
\fB\-\-format\fR
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help

View File

@@ -0,0 +1,22 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-registry-metrics-users 1 "users "
.SH NAME
start\-registry\-metrics\-users \- Count unique active users within a time range
.SH SYNOPSIS
\fBstart\-registry metrics users\fR [\fB\-\-after\fR] [\fB\-\-before\fR] [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR]
.SH DESCRIPTION
Count unique active users within a time range
.SH OPTIONS
.TP
\fB\-\-after\fR \fI<AFTER>\fR
Start of time range (RFC 3339 timestamp)
.TP
\fB\-\-before\fR \fI<BEFORE>\fR
End of time range (RFC 3339 timestamp)
.TP
\fB\-\-format\fR
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help

View File

@@ -0,0 +1,23 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-registry-metrics 1 "metrics "
.SH NAME
start\-registry\-metrics \- Query registry usage metrics
.SH SYNOPSIS
\fBstart\-registry metrics\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Query registry usage metrics
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
.SH SUBCOMMANDS
.TP
start\-registry\-metrics\-downloads(1)
Count package download requests with optional filters
.TP
start\-registry\-metrics\-summary(1)
Get a summary of registry usage metrics
.TP
start\-registry\-metrics\-users(1)
Count unique active users within a time range

View File

@@ -0,0 +1,22 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-registry-os-promote 1 "promote "
.SH NAME
start\-registry\-os\-promote \- Promote an OS version from one registry to another
.SH SYNOPSIS
\fBstart\-registry os promote\fR [\fB\-\-from\fR] [\fB\-\-to\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIVERSION\fR>
.SH DESCRIPTION
Promote an OS version from one registry to another
.SH OPTIONS
.TP
\fB\-\-from\fR \fI<FROM>\fR
Source registry URL to promote from
.TP
\fB\-\-to\fR \fI<TO>\fR
Destination registry URL to promote to
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
.TP
<\fIVERSION\fR>
StartOS version number

View File

@@ -19,5 +19,8 @@ Commands to add, sign, or get registry assets
start\-registry\-os\-index(1)
List OS versions index
.TP
start\-registry\-os\-promote(1)
Promote an OS version from one registry to another
.TP
start\-registry\-os\-version(1)
Commands to add, remove, or list versions or version signers

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-registry-package-category-list 1 "list "
.SH NAME
start\-registry\-package\-category\-list
start\-registry\-package\-category\-list \- List registry categories
.SH SYNOPSIS
\fBstart\-registry package category list\fR [\fB\-\-format\fR] [\fB\-h\fR|\fB\-\-help\fR]
.SH DESCRIPTION
List registry categories
.SH OPTIONS
.TP
\fB\-\-format\fR

View File

@@ -20,6 +20,7 @@ start\-registry\-package\-category\-add\-package(1)
Add a package to a category
.TP
start\-registry\-package\-category\-list(1)
List registry categories
.TP
start\-registry\-package\-category\-remove(1)
Remove category from registry

View File

@@ -4,7 +4,7 @@
.SH NAME
start\-registry\-package\-download \- Download s9pk package
.SH SYNOPSIS
\fBstart\-registry package download\fR [\fB\-v\fR|\fB\-\-target\-version\fR] [\fB\-d\fR|\fB\-\-dest\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIID\fR>
\fBstart\-registry package download\fR [\fB\-v\fR|\fB\-\-target\-version\fR] [\fB\-d\fR|\fB\-\-dest\fR] [\fB\-a\fR|\fB\-\-arch\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIID\fR>
.SH DESCRIPTION
Download s9pk package
.SH OPTIONS
@@ -15,6 +15,9 @@ Target version range constraint
\fB\-d\fR, \fB\-\-dest\fR \fI<DEST>\fR
Destination path for download
.TP
\fB\-a\fR, \fB\-\-arch\fR \fI<ARCH>\fR
Target CPU architecture (e.g. x86_64, aarch64)
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
.TP

View File

@@ -0,0 +1,25 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-registry-package-promote 1 "promote "
.SH NAME
start\-registry\-package\-promote \- Promote a package from one registry to another
.SH SYNOPSIS
\fBstart\-registry package promote\fR [\fB\-\-from\fR] [\fB\-\-to\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIID\fR> <\fIVERSION\fR>
.SH DESCRIPTION
Promote a package from one registry to another
.SH OPTIONS
.TP
\fB\-\-from\fR \fI<FROM>\fR
Source registry URL to promote from
.TP
\fB\-\-to\fR \fI<TO>\fR
Destination registry URL to promote to
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
.TP
<\fIID\fR>
Package identifier
.TP
<\fIVERSION\fR>
Package version

View File

@@ -31,6 +31,9 @@ List installation candidates
start\-registry\-package\-index(1)
List packages and categories
.TP
start\-registry\-package\-promote(1)
Promote a package from one registry to another
.TP
start\-registry\-package\-remove(1)
Remove package from registry
.TP

View File

@@ -1,6 +1,6 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-registry 1 "start-registry 0.4.0-alpha.21"
.TH start-registry 1 "start-registry 0.4.0-beta.0"
.SH NAME
start\-registry
.SH SYNOPSIS
@@ -55,7 +55,10 @@ start\-registry\-index(1)
List registry info and packages
.TP
start\-registry\-info(1)
Display registry info
View or edit registry information
.TP
start\-registry\-metrics(1)
Query registry usage metrics
.TP
start\-registry\-os(1)
Commands related to OS assets and versions
@@ -63,4 +66,4 @@ Commands related to OS assets and versions
start\-registry\-package(1)
Commands to index, add, or get packages
.SH VERSION
v0.4.0\-alpha.21
v0.4.0\-beta.0

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-tunnel-auth-key 1 "key "
.SH NAME
start\-tunnel\-auth\-key
start\-tunnel\-auth\-key \- Commands for managing authorized keys
.SH SYNOPSIS
\fBstart\-tunnel auth key\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing authorized keys
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR

View File

@@ -17,6 +17,7 @@ start\-tunnel\-auth\-get\-pubkey(1)
Get the public key from the server
.TP
start\-tunnel\-auth\-key(1)
Commands for managing authorized keys
.TP
start\-tunnel\-auth\-login(1)
Login to a new auth session

View File

@@ -2,11 +2,11 @@
.el .ds Aq '
.TH start-tunnel-port-forward-set-enabled 1 "set-enabled "
.SH NAME
start\-tunnel\-port\-forward\-set\-enabled \- about.enable\-or\-disable\-port\-forward
start\-tunnel\-port\-forward\-set\-enabled \- Enable or disable a port forward
.SH SYNOPSIS
\fBstart\-tunnel port\-forward set\-enabled\fR [\fB\-\-enabled\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fISOURCE\fR>
.SH DESCRIPTION
about.enable\-or\-disable\-port\-forward
Enable or disable a port forward
.SH OPTIONS
.TP
\fB\-\-enabled\fR

View File

@@ -2,11 +2,11 @@
.el .ds Aq '
.TH start-tunnel-port-forward-update-label 1 "update-label "
.SH NAME
start\-tunnel\-port\-forward\-update\-label \- about.update\-port\-forward\-label
start\-tunnel\-port\-forward\-update\-label \- Update the label of a port forward
.SH SYNOPSIS
\fBstart\-tunnel port\-forward update\-label\fR [\fB\-h\fR|\fB\-\-help\fR] <\fISOURCE\fR> [\fILABEL\fR]
.SH DESCRIPTION
about.update\-port\-forward\-label
Update the label of a port forward
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-tunnel-port-forward 1 "port-forward "
.SH NAME
start\-tunnel\-port\-forward
start\-tunnel\-port\-forward \- Commands for managing port forwards
.SH SYNOPSIS
\fBstart\-tunnel port\-forward\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing port forwards
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR
@@ -19,7 +20,7 @@ start\-tunnel\-port\-forward\-remove(1)
Remove port forward
.TP
start\-tunnel\-port\-forward\-set\-enabled(1)
about.enable\-or\-disable\-port\-forward
Enable or disable a port forward
.TP
start\-tunnel\-port\-forward\-update\-label(1)
about.update\-port\-forward\-label
Update the label of a port forward

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-tunnel-update 1 "update "
.SH NAME
start\-tunnel\-update
start\-tunnel\-update \- Commands for checking and applying tunnel updates
.SH SYNOPSIS
\fBstart\-tunnel update\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for checking and applying tunnel updates
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR

View File

@@ -2,10 +2,11 @@
.el .ds Aq '
.TH start-tunnel-web 1 "web "
.SH NAME
start\-tunnel\-web
start\-tunnel\-web \- Commands for managing the tunnel web interface
.SH SYNOPSIS
\fBstart\-tunnel web\fR [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
.SH DESCRIPTION
Commands for managing the tunnel web interface
.SH OPTIONS
.TP
\fB\-h\fR, \fB\-\-help\fR

View File

@@ -1,6 +1,6 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH start-tunnel 1 "start-tunnel 0.4.0-alpha.21"
.TH start-tunnel 1 "start-tunnel 0.4.0-beta.0"
.SH NAME
start\-tunnel
.SH SYNOPSIS
@@ -55,6 +55,7 @@ start\-tunnel\-device(1)
Add, remove, or list devices in subnets
.TP
start\-tunnel\-port\-forward(1)
Commands for managing port forwards
.TP
start\-tunnel\-restart(1)
Reboot the tunnel server
@@ -63,7 +64,9 @@ start\-tunnel\-subnet(1)
Add, remove, or modify subnets
.TP
start\-tunnel\-update(1)
Commands for checking and applying tunnel updates
.TP
start\-tunnel\-web(1)
Commands for managing the tunnel web interface
.SH VERSION
v0.4.0\-alpha.21
v0.4.0\-beta.0

View File

@@ -83,6 +83,14 @@ fn signers_api<C: Context>() -> ParentHandler<C> {
.with_about("about.edit-signer")
.with_call_remote::<CliContext>(),
)
.subcommand(
"remove",
from_fn_async(remove_signer)
.with_metadata("admin", Value::Bool(true))
.no_display()
.with_about("about.remove-signer")
.with_call_remote::<CliContext>(),
)
}
impl Model<BTreeMap<Guid, SignerInfo>> {
@@ -276,6 +284,62 @@ pub async fn edit_signer(
.result
}
#[derive(Debug, Deserialize, Serialize, Parser, TS)]
#[group(skip)]
#[serde(rename_all = "camelCase")]
#[command(rename_all = "kebab-case")]
#[ts(export)]
pub struct RemoveSignerParams {
#[arg(help = "help.arg.signer-id")]
pub id: Guid,
}
pub async fn remove_signer(
ctx: RegistryContext,
RemoveSignerParams { id }: RemoveSignerParams,
) -> Result<(), Error> {
ctx.db
.mutate(|db| {
if db
.as_index_mut()
.as_signers_mut()
.remove(&id)?
.is_none()
{
return Err(Error::new(
eyre!("{}", t!("registry.admin.unknown-signer")),
ErrorKind::NotFound,
));
}
for (_, pkg) in db
.as_index_mut()
.as_package_mut()
.as_packages_mut()
.as_entries_mut()?
{
pkg.as_authorized_mut().remove(&id)?;
}
for (_, version) in db
.as_index_mut()
.as_os_mut()
.as_versions_mut()
.as_entries_mut()?
{
version
.as_authorized_mut()
.mutate(|s| Ok(s.remove(&id)))?;
}
db.as_admins_mut().mutate(|a| Ok(a.remove(&id)))?;
Ok(())
})
.await
.result
}
#[derive(Debug, Deserialize, Serialize, Parser)]
#[group(skip)]
#[command(rename_all = "kebab-case")]

View File

@@ -59,7 +59,7 @@ impl<Commitment> RegistryAsset<Commitment> {
progress: PhaseProgressTrackerHandle,
) -> Result<BufferedHttpSource, Error> {
for url in &self.urls {
if let Ok(response) = client.get(url.clone()).send().await {
if let Some(response) = client.get(url.clone()).send().await.log_err() {
return BufferedHttpSource::from_response(response, progress).await;
}
}

View File

@@ -129,7 +129,7 @@ pub async fn remove_package_signer(
.or_not_found(&id)?
.as_authorized_mut()
.remove(&signer)?
.is_some()
.is_none()
{
return Err(Error::new(
eyre!(

View File

@@ -303,7 +303,7 @@ async fn publish(ctx: CliContext, S9pkPath { s9pk: s9pk_path }: S9pkPath) -> Res
let manifest = s9pk.as_manifest();
let path = [
manifest.id.deref(),
manifest.version.as_str(),
manifest.version.as_str().trim_start_matches('#'),
filename.deref(),
];
let mut s3url = ctx

View File

@@ -6,7 +6,7 @@ Previous backups are incompatible with v0.4.0. It is strongly recommended that y
## Summary
A server is not a toy. It is a critical component of the computing paradigm, and its failure can be catastrophic, resulting in downtime or loss of data. From the beginning, Start9 has taken a "security and reliability first" approach to the development of StartOS, favoring soundness over speed, and prioritizing essential features such as encrypted network connections, simple backups, and a reliable container runtime over nice-to-haves like custom theming and more services.
StartOS v0.4.0 is a ground-up rewrite focused on reliability, security, and correctness. Every major subsystem — networking, containers, storage, backups, and the UI — has been redesigned to provide a stronger foundation for self-hosted computing. Start9 has always taken a "security and reliability first" approach to the development of StartOS, favoring soundness over speed, and prioritizing essential features such as encrypted network connections, simple backups, and a reliable container runtime over nice-to-haves like custom theming and more services.
Start9 is paving new ground with StartOS, trying to create what most developers and IT professionals thought impossible: an OS and user experience that affords a normal person the same independent control over their data and communications as an experienced Linux sysadmin.
@@ -34,6 +34,18 @@ Actions accept arbitrary form input and return arbitrary responses, replacing th
A new progress reporting API enables package developers to define custom phases and provide real-time progress updates for operations such as installing, updating, or backing up a service.
#### System Metrics Dashboard
The new dashboard displays real-time CPU, memory, and disk usage, as well as service uptime, giving you an at-a-glance view of your server's health.
#### Cancel Install
Service installations can now be cancelled while in progress.
#### Custom Server Name
You can now set a custom name for your server, making it easier to identify when managing multiple servers.
#### Email Notifications via SMTP
You can now add your Gmail, SES, or other SMTP credentials to StartOS to deliver email notifications from StartOS and from installed services that support SMTP.
@@ -74,6 +86,10 @@ StartOS runs its own DNS server and automatically adds records for your private
By default, StartOS uses the DNS servers it receives via DHCP from its gateway(s). It is now possible to override these with custom, static DNS servers.
#### StartTunnel
[StartTunnel](https://docs.start9.com/start-tunnel/) is a free, open-source tool that turns a cheap VPS into a Wireguard reverse tunnel for your server. It hides your home IP address from visitors while giving you full control over your public-facing domains. StartTunnel instances can also be updated over-the-air.
#### Tor as a Plugin
With the expanded networking capabilities of StartOS v0.4.0, Tor is now an optional plugin that can be installed from the Marketplace. Users can run their own Tor relay, route outbound connections through Tor, and generate hidden service URLs for any service interface, including vanity addresses.
@@ -84,6 +100,26 @@ StartOS v0.4.0 supports adding and removing Tor addresses for both StartOS itsel
### System & Infrastructure
#### Btrfs Filesystem
StartOS now uses btrfs instead of ext4, enabling copy-on-write snapshots and improved data integrity.
#### Cross-Server Backup Restore
Backups created on one server can now be restored onto a different server, making it easier to migrate or recover from hardware failure.
#### Rollback on Failed Updates
Service data is automatically snapshotted before updates and restored if the update fails, preventing data loss from failed upgrades.
#### Serial Console Support
StartOS now enables serial console access for hardware that supports it, enabling headless operation and management without a monitor or keyboard.
#### RISC-V Ready
StartOS is prepared for the RISC-V RVA23 architecture, and will support compatible hardware as it becomes available.
#### LXC Container Runtime
Neither Docker nor Podman offer the reliability and flexibility needed for StartOS. Instead, v0.4.0 uses a nested container paradigm based on LXC for the outer container and Linux namespaces for sub-containers. This architecture naturally supports multi-container setups.
@@ -118,6 +154,10 @@ The S9PK archive format has been overhauled to support signature verification of
Package developers can now interact with StartOS APIs using the new `start-sdk`, available in TypeScript. A barebones StartOS package (S9PK) can be produced in minutes with minimal knowledge or skill. More advanced developers can use the SDK to create highly customized user experiences for their services.
#### Remote Container Attach
Developers can now remotely attach to a running service container for live debugging and troubleshooting.
#### Registry Protocol
The new registry protocol separates package indexing (listing and validation) from package hosting (downloading). Registries are now simple indexes that reference binaries hosted in arbitrary locations, locally or externally. For example, when someone visits the Start9 Registry, the curated list of packages comes from Start9, but when they install a service, the binary is downloaded from GitHub. The registry also validates the binary. This makes it much easier to host a custom registry, since it is just a curated list of services that reference package binaries hosted on GitHub or elsewhere.