Skip to main content

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:stable \
--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!

What's next

For running a production grade ZITADEL instance in your environment, go on with the configure ZITADEL section.

caution

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