Kubernetes
Deploy Nexus with Helm
This reference describes the underlying platform. Use a Nexus school release with its school membership, class policy, and cost controls. Installing a base engine alone does not add those controls.
Check out our Resourcing Guide before getting started.
Guide#
The Nexus Helm chart packages all the required services (API, web, PostgreSQL, Vespa, etc.) into a single deployment. By default, persistent volumes will be created for stateful services (e.g. PostgreSQL, Vespa).
Add the Nexus Helm repository#
helm repo add onyx https://onyx-dot-app.github.io/onyx/
helm repo update
helm search repo onyxInstall Nexus#
Install into its own namespace (recommended):
kubectl create namespace onyx
helm install onyx onyx/onyx -n onyxThis will pull the latest Nexus chart and deploy all dependencies.
Verify the installation#
helm list -n onyx
kubectl get pods -n onyxWait until all pods are in a Running state before accessing Nexus.
Access Nexus#
By default, the chart exposes Nexus via a Kubernetes Service. For local testing, you can port-forward:
kubectl -n onyx port-forward service/onyx-nginx 8080:80Then open http://localhost:8080.
Configure Nexus#
Configure your deployment by modifying the values.yaml file in the onyx/deployment/helm/charts/onyx directory.
You'll need to restart Nexus after changing any values.yaml variables.
helm upgrade onyx onyx/onyx -n onyx -f deployment/helm/charts/onyx/values.yamlSee the Helm chart README for advanced options such as running as non-root and testing with Kind.
Enabling Nexus Craft#
Craft adds per-user sandbox pods, scoped RBAC, NetworkPolicies, an egress proxy, and a Scheduled Task worker to the Helm deployment.
Deploy Craft on Kubernetes#
Prepare sandbox nodes and authentication, configure Helm, plan capacity, and verify the runtime.
Next Steps#
Configure Authentication#
Set up authentication for your Nexus deployment with OAuth, OIDC, or SAML.
More Nexus Configuration Options#
Learn about all available configuration options for your Nexus deployment.