Keycloak container image for Kokuwa.
- BaseImage:
- docker.io/eclipse-temurin:17-jre (amd64 & arm64)
- gcr.io/distroless/java17:nonroot (amd64)
- preconfigured with PostgeSQL
- preconfigured for Kubernetes:
- health enabled
- quarkus metrics enabled
- keycloak metrics enabled (see keycloak-event-metrics) with model names
- logs as json
- ispn cache
- preconfigured tag for realm import from directory
/realms
(see job.yaml) - integration test with k3s and deployment of example theme
in June 2022 no preconfigured Keycloak container image without legacy Keycloak was available.
Use this image if you intend to:
- use Keycloak in Quarkus version, not Wildfly version
- use PostgeSQL as backend
- deploy to Kubernetes with clustered cache
- no need for auto-build for faster startup
Alternatives:
Both are not preconfigured for PostgreSQL, have a larger base images and still use legagy version.
Registries:
Tags:
latest
<yyyyMMdd-HHmmss>
timestamped version (e.g. for FluxCD)<majorVersion>
latest major version for Keycloak<majorVersion>-<yyyyMMdd-HHmmss>
timestamped major version (e.g. for FluxCD)<version>
specific version for Keycloak<version>-<yyyyMMdd-HHmmss>
timestamped version (e.g. for FluxCD)- all tags are available with suffix
-import
for realm import without cache - all tags are available with suffix
-temurin
or-distroless
for specific base images
Created with print-size.sh: .github/print-size.sh
image | uncompressed | compressed |
---|---|---|
quay.io/keycloak/keycloak:23.0.1 | 459.018.503 bytes | 262.181.076 bytes |
docker.io/kokuwaio/keycloak:23.0.1 | 446.125.014 bytes | 256.232.904 bytes |
docker.io/kokuwaio/keycloak:23.0.1-import | 446.043.228 bytes | 256.160.692 bytes |
docker.io/kokuwaio/keycloak:23.0.1-distroless | 403.345.214 bytes | 254.675.552 bytes |
docker.io/kokuwaio/keycloak:23.0.1-distroless-import | 403.263.428 bytes | 254.603.340 bytes |
compressed
: size transfered from registryuncompressed
: size on disk
Start k3s: mvn pre-integration-test
Open http://help.127.0.0.1.nip.io:8080 or use kubectl
:
export KUBECONFIG=~/.kube/k3s-maven-plugin/mount/kubeconfig.yaml
kubectl get all --all-namespaces