Helm chart development workflow including chart structure, values management, testing, linting, and publishing for EKS deployments with Keycloak integration
View on GitHubLobbi-Docs/claude
aws-eks-helm-keycloak
January 24, 2026
Select agents to install to:
npx add-skill https://github.com/Lobbi-Docs/claude/blob/main/plugins/aws-eks-helm-keycloak/skills/helm-development/SKILL.md -a claude-code --skill helm-developmentInstallation paths:
.claude/skills/helm-development/# Helm Development Skill
Develop, test, and publish Helm charts for EKS deployments.
## Use For
- Chart scaffolding, values management, chart testing
- Linting, security scanning, chart publishing
## Chart Structure for EKS + Keycloak
```
charts/my-service/
├── Chart.yaml
├── Chart.lock
├── values.yaml
├── values-dev.yaml
├── values-staging.yaml
├── values-prod.yaml
├── .helmignore
├── templates/
│ ├── _helpers.tpl
│ ├── deployment.yaml
│ ├── service.yaml
│ ├── ingress.yaml
│ ├── serviceaccount.yaml
│ ├── hpa.yaml
│ ├── pdb.yaml
│ ├── configmap.yaml
│ ├── secret.yaml
│ ├── external-secret.yaml # For AWS Secrets Manager
│ ├── networkpolicy.yaml
│ └── tests/
│ └── test-connection.yaml
└── ci/
├── test-values.yaml
└── lint-values.yaml
```
## Chart.yaml Template
```yaml
apiVersion: v2
name: my-service
description: A Helm chart for my-service with Keycloak authentication
type: application
version: 0.1.0
appVersion: "1.0.0"
kubeVersion: ">=1.25.0"
keywords:
- microservice
- keycloak
- eks
home: https://github.com/org/my-service
sources:
- https://github.com/org/my-service
maintainers:
- name: Platform Team
email: platform@example.com
dependencies:
- name: common
version: "2.x.x"
repository: "https://charts.bitnami.com/bitnami"
condition: common.enabled
annotations:
artifacthub.io/category: integration
artifacthub.io/license: MIT
```
## Values Schema (values.yaml)
```yaml
# Default values for my-service
# -- Number of replicas
replicaCount: 1
image:
# -- Image repository
repository: ""
# -- Image pull policy
pullPolicy: IfNotPresent
# -- Image tag (defaults to chart appVersion)
tag: ""
# -- Image pull secrets
imagePullSecrets: []
# -- Override chart name
nameOverride: ""
# -- Override full name
fullnameOverride: ""
serviceAccount:
# -- Create service account
create: true
# -- Service account annotations (for IRSA)
annotations: {}
# -- Service account name
nam