This commit introduces a new workflow file for building the Helm chart
for Keycloak in the Gitea CI/CD pipeline. The workflow is triggered on
push events to the main branch specifically when changes are made to
the "charts/keycloak/Chart.yaml" file.
The workflow includes several steps:
- **Checkout the repository**: It pulls the latest code.
- **Set Helm Chart App Name and Version**: It extracts the app name
and version from the Chart.yaml file, allowing the Helm package to
be named correctly.
- **Setup Helm**: It installs Helm version 3.18.3 for packaging
purposes.
- **Package Helm Chart**: It updates dependencies, lints the chart,
and packages it into a tgz file.
- **Upload Helm Package**: It uploads the newly created Helm chart
package to the specified Helm registry using credentials stored in
Gitea secrets.
This addition is necessary to automate the process of building and
deploying the Helm chart, ensuring consistency and efficiency in the
CI/CD pipeline.
This commit introduces a complete Helm chart for deploying Keycloak on
Kubernetes. The chart includes a variety of configurations such as
service and ingress definitions, metrics exposure, resource limits, and
autoscaling options.
Key features include:
- Full support for PostgreSQL as a database, configurable through chart
values.
- Ingress resources for external access, including support for TLS and
admin interfaces.
- Options to use custom configurations and initialization scripts via
ConfigMaps.
- Metrics service for Prometheus integration, alongside ServiceMonitor
configurations for Kubernetes monitoring.
- Enhanced environment variables management, including secret handling
for sensitive data like passwords.
These changes provide a robust foundation for deploying Keycloak in
both development and production environments. Users should be aware
that this initial setup gives flexibility for customization, but care
should be taken when altering default configurations to ensure
compatibility with existing deployments.