Deployment
This section describes how to deploy the Keycloak SSI solution using the provided Helm chart. Helm is a package manager for Kubernetes, allowing you to define, install, and upgrade even the most complex Kubernetes applications.
Helm Chart Structure
The infrastructure/keycloak-chart directory contains the Helm chart for deploying Keycloak. Key files and directories include:
Chart.yaml: Defines the metadata for the Helm chart, such as its name, version, and description.values.yaml: Contains default configuration values for the chart. You can override these values during deployment to customize the Keycloak instance.templates/: This directory holds the Kubernetes manifest templates that Helm processes to generate deployable Kubernetes resources. These templates typically include deployments, services, ingresses, and other necessary components for Keycloak.create-config-map.yaml: Template for creating Kubernetes ConfigMaps, which can store configuration data.external-secrets.yml: Template for integrating with external secret management systems.job-rbac.yaml: Template for Kubernetes Jobs and Role-Based Access Control (RBAC) configurations.
local_test_minikube/: This directory contains specific configurations for testing the Helm chart locally using Minikube.configmap-rbac.yaml: ConfigMap for RBAC settings in a local Minikube environment.secret-store.yaml: Secret store configuration for local testing.
Deploying with Helm
To deploy the Keycloak SSI solution to a Kubernetes cluster using Helm, follow these general steps:
-
Add the Helm repository (if applicable): If your chart is hosted in a Helm repository, you would add it using:
helm repo add <repo-name> <repo-url>
helm repo update -
Install the chart: Navigate to the root of the
keycloak-ssi-deploymentrepository and install the chart. You can override default values using the--setflag or by providing a customvalues.yamlfile.helm install my-keycloak ./infrastructure/keycloak-chart -f my-values.yamlReplace
my-keycloakwith your desired release name andmy-values.yamlwith your custom values file. -
Verify the deployment: After installation, you can check the status of your Kubernetes pods and services:
kubectl get pods
kubectl get svc
This process allows for consistent and automated deployment of the Keycloak SSI environment across different Kubernetes clusters.