Set up ZITADEL on Knative
Install Knative​
Follow the Knative quickstart guide to get a local kind/minikube environment with Knative capabilities.
Run CockroachDB​
Start a single-node cockroachdb as statefulset
kubectl apply -f https://raw.githubusercontent.com/zitadel/zitadel/main/deploy/knative/cockroachdb-statefulset-single-node.yaml
Start ZITADEL​
Knative Command​
kn service create zitadel \
--image ghcr.io/zitadel/zitadel:latest \
--port 8080 \
--env ZITADEL_DATABASE_COCKROACH_HOST=cockroachdb \
--env ZITADEL_EXTERNALSECURE=false \
--env ZITADEL_EXTERNALPORT=80 \
--env ZITADEL_TLS_ENABLED=false \
--env ZITADEL_EXTERNALDOMAIN=zitadel.default.127.0.0.1.sslip.io \
--arg "start-from-init" --arg "--masterkey" --arg "MasterkeyNeedsToHave32Characters"
Knavite yaml​
kubectl apply -f https://raw.githubusercontent.com/zitadel/zitadel/main/deploy/knative/zitadel-knative-service.yaml
Access ZITADEL​
Get the ZITADEL URL​
kn services list
NAME URL LATEST AGE CONDITIONS READY REASON
zitadel http://zitadel.default.127.0.0.1.sslip.io zitadel-00001 10m 3 OK / 3 True
Add the console path to the URL and open in browser http://zitadel.default.127.0.0.1.sslip.io/ui/console
If you didn't configure something else, this is the default IAM admin users login:
- username: zitadel-admin@zitadel.zitadel.default.127.0.0.1.sslip.io
- password: Password1!
This guide is based on a local setup. If you encounter an error "Instance Not Found" please read the following section: Instance not found
VideoGuide​
What's next​
For running a production grade ZITADEL instance in your environment, go on with the configure ZITADEL section.
The ZITADEL management console requires end-to-end HTTP/2 support
Disclaimer​
This guide is for development / demonstration purpose only and does NOT reflect a production setup.
Things such as TLS termination and email verification will not be available unless you
- Use an API gateway with valid certificates in front of the service
- Configure an appropriate email server