cmd k8s - nself-org/cli GitHub Wiki
Deploy and manage nSelf on any Kubernetes cluster using the official Helm chart.
nself k8s <subcommand> [flags]
nself k8s deploys and manages the nSelf stack on Kubernetes via the official Helm chart,
published at https://charts.nself.org.
The chart provisions Postgres (StatefulSet), Hasura, Auth, and an Nginx Ingress in a single
helm install call. TLS is handled by cert-manager, which must be pre-installed in the cluster
before running nself k8s install.
Three subcommands cover the full lifecycle:
-
installperforms a first-time deployment and waits up to five minutes for all pods to become ready. -
upgradeapplies the latest chart version with a rolling update, reusing existing values. -
statusreturns the Helm release status as JSON output fromhelm status.
The --domain flag on install sets the primary ingress hostname for the deployment. Plugins can
be installed at deploy time via --plugins; a valid license key must be available in the
NSELF_PLUGIN_LICENSE_KEY environment variable for pro plugins to activate.
helm must be installed and available in PATH. Install from helm.sh.
| Subcommand | Description |
|---|---|
install |
Install nSelf on a Kubernetes cluster |
upgrade |
Upgrade the nSelf Helm release to the latest chart version |
status |
Show the Helm release status |
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--domain |
string | Domain for the nSelf deployment (required) | ||
--cluster |
string | Path to kubeconfig (defaults to KUBECONFIG env or ~/.kube/config) |
||
--release |
string | nself |
Helm release name | |
--plugins |
string | Comma-separated list of plugins to install at deploy time |
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--cluster |
string | Path to kubeconfig | ||
--release |
string | nself |
Helm release name |
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--cluster |
string | Path to kubeconfig | ||
--release |
string | nself |
Helm release name |
The chart is published under the nself repository alias at https://charts.nself.org. The
chart name is nself/nself. The CLI adds and updates the repository automatically before
install or upgrade runs.
Key Helm values set by the CLI:
| Value | Set by flag | Description |
|---|---|---|
domain |
--domain |
Primary ingress hostname |
license.key |
env NSELF_PLUGIN_LICENSE_KEY
|
Pro plugin license key |
plugins.install[N] |
--plugins |
Plugin names to install at deploy time |
The upgrade path uses --reuse-values, so previously set values persist across upgrades
unless explicitly overridden with --set passed directly to helm. To override values
not exposed as CLI flags, run helm upgrade directly against the nself/nself chart using
the same release name.
Install nSelf on a cluster with the default release name, pointing at a domain:
nself k8s install --domain myapp.example.comInstall with a custom release name and a specific kubeconfig:
nself k8s install --domain myapp.example.com --cluster ~/.kube/staging.yaml --release myapp-nselfInstall and activate pro plugins at deploy time (requires NSELF_PLUGIN_LICENSE_KEY):
export NSELF_PLUGIN_LICENSE_KEY=nself_pro_...
nself k8s install --domain myapp.example.com --plugins ai,claw,muxCheck the Helm release status for the default release:
nself k8s statusCheck status for a named release using a specific kubeconfig:
nself k8s status --release myapp-nself --cluster ~/.kube/prod.yamlUpgrade the default release to the latest chart version:
nself k8s upgradeUpgrade a specific release using a non-default kubeconfig:
nself k8s upgrade --release myapp-nself --cluster ~/.kube/prod.yaml- cmd-start.md — start the nSelf stack on a local or VPS deployment
- cmd-init.md — initialise a new nSelf project
- cmd-plugin.md — manage plugins after the stack is running