Getting Started
This guide walks you through installing Knodex, verifying the deployment, and deploying your first instance.
Requirements
- Kubernetes cluster (1.32+)
- KRO — or let the chart install it (see compatibility matrix below)
- kubectl configured
- Helm 3.x
Version Compatibility
Each Knodex release is tested against a specific KRO version. Using a different KRO version may work but is not guaranteed.
| Knodex | KRO | Kubernetes | Helm |
|---|---|---|---|
| 0.5.0 | 0.9.1 | 1.32+ | 3.x |
The Helm chart bundles the matching KRO version as an optional dependency. Setting kro.enabled=true installs the correct version automatically.
Install with Helm
helm install knodex oci://ghcr.io/knodex/charts/knodex \
--namespace knodex \
--create-namespace \
--set kro.enabled=true
Omit --set kro.enabled=true if KRO is already installed on your cluster.
Verify Installation
Check that all pods are running:
kubectl get pods -n knodex
Expected output:
NAME READY STATUS RESTARTS AGE
knodex-server-6f8b9c7d4-x2k9m 1/1 Running 0 2m
knodex-redis-59ddd568d9-xxxxx 1/1 Running 0 2m
Verify the server is healthy:
kubectl port-forward svc/knodex-server 8080:8080 -n knodex
curl http://localhost:8080/healthz
# {"status":"healthy"}
Log In
Get the auto-generated admin password:
kubectl get secret knodex-initial-admin-password -n knodex \
-o jsonpath='{.data.password}' | base64 -d && echo
Open http://localhost:8080 and log in with username admin and the retrieved password.
Deploy a Sample RGD
Apply a sample ResourceGraphDefinition:
kubectl apply -f https://raw.githubusercontent.com/knodex/knodex/main/deploy/examples/rgds/simple-app.yaml
Verify it's active:
kubectl get rgd simple-app
NAME STATE AGE
simple-app Active 30s
The simple-app RGD has the knodex.io/catalog: "true" annotation, so it appears in the catalog automatically.
Deploy Your First Instance
- Navigate to the Catalog in the sidebar
- Select the Simple Application RGD — it accepts
appName,image(defaults tonginx:latest), andport(defaults to80) - Click Deploy, fill in
appName(e.g.,my-first-app), select a namespace - Review the YAML preview and click Submit
Monitor the instance in the Instances view. Verify with kubectl:
kubectl get simpleapps -A
Upgrading
helm upgrade knodex oci://ghcr.io/knodex/charts/knodex \
--namespace knodex \
-f values.yaml
Uninstalling
helm uninstall knodex --namespace knodex
To also remove the namespace and any persistent data:
kubectl delete namespace knodex
Deleting the namespace removes all data, including Redis state. Ensure you have backups if needed.
Next Steps
| Topic | Description |
|---|---|
| User Guide | Browse the catalog, deploy and manage instances |
| Administration | Configure OIDC, RBAC, and production settings |
| RGD Authoring | Write and configure ResourceGraphDefinitions |