Helm/Keycloak

From Chorke Wiki
Jump to navigation Jump to search
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update && helm repo list
kubectl config get-contexts

Config

export KUBECONFIG="${HOME}/.kube/dev-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/gcp-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/config"

Install

cat << DDL | psql -U ${USER}
CREATE DATABASE keycloak;
CREATE USER keycloak WITH ENCRYPTED PASSWORD 'sadaqah!';
GRANT ALL PRIVILEGES ON DATABASE   keycloak TO keycloak;
DDL

kubectl create namespace keycloak
cat <<YML | helm -n keycloak install keycloak bitnami/keycloak --version 19.3.3 -f -
tls:
  enabled: false
auth:
  adminUser: admin
  adminPassword: "sadaqah!"
ingress:
  enabled: true
  hostname: keycloak.k8s.local
  ingressClassName: nginx
postgresql:
  enabled: true
  auth:
    username: keycloak
    password: "sadaqah!"
    database: keycloak
    postgresPassword: "sadaqah!"
  architecture: standalone
YML

xdg-open http://keycloak.k8s.local &>/dev/null &
gnome-open http://keycloak.k8s.local &>/dev/null &
x-www-browser http://keycloak.k8s.local &>/dev/null &
sensible-browser http://keycloak.k8s.local &>/dev/null &

Uninstall

helm uninstall -n keycloak keycloak
kubectl delete namespace keycloak

Playground

helm -n keycloak install    keycloak bitnami/keycloak --version 19.3.3
helm -n keycloak upgrade -i keycloak bitnami/keycloak --version 22.0.0
helm show values bitnami/keycloak --version 19.3.3|less

kubectl -n keycloak exec -it svc/keycloak -c keycloak -- /opt/bitnami/keycloak/bin/kc.sh --version
kubectl -n keycloak exec -it svc/keycloak -c keycloak -- cat /opt/bitnami/keycloak/version.txt

ADMIN_PASS=$(kubectl -n keycloak get secret keycloak -o json|jq -r '.data."admin-password"'|base64 -d)
ADMIN_PASS=$(kubectl -n keycloak get secret keycloak -o jsonpath="{.data.admin-password}"|base64 -d)

kubectl -n keycloak exec -it svc/keycloak-postgresql -c postgresql -- psql -Ukeycloak
kubectl -n keycloak exec -it svc/keycloak-postgresql -c postgresql -- bash
kubectl -n keycloak exec -it svc/keycloak -c keycloak -- ls -lah /var
kubectl -n keycloak exec -it svc/keycloak -c keycloak -- bash
kubectl -n keycloak exec -it keycloak-postgresql-0 -- bash

kubectl config --kubeconfig=${HOME}/.kube/aws-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/dev-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/gcp-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/config view --flatten

kubectl -n keycloak delete all --all
kubectl -n keycloak delete ing --all
kubectl -n keycloak delete sts --all
kubectl -n keycloak delete svc --all
kubectl -n keycloak delete pvc --all
kubectl -n keycloak delete pv  --all

kubectl -n keycloak rollout history sts keycloak
kubectl -n keycloak rollout restart sts keycloak
kubectl -n keycloak rollout status  sts keycloak
kubectl -n keycloak exec -it keycloak-postgresql-0 -- psql -Ukeycloak
kubectl -n keycloak logs -f keycloak-postgresql-0
kubectl -n keycloak logs -f keycloak-0

References