Skip to main content

Examples

Artifact Hub

This page contains a few copy/paste-ready examples for common component-chart scenarios.

Example: Basic web API (Deployment + Service)

containers:
- name: demo
image: nginx
imageTag: "latest"

service:
ports:
- port: 80

Example: Ingress with TLS (cert-manager)

containers:
- name: api
image: mendhak/http-https-echo
imageTag: "38"

service:
ports:
- port: 8080

ingress:
certmanager: true
ingressClassName: nginx
rules:
- host: api.example.com
path: /
servicePort: 80
tls: true
tlsClusterIssuer: lets-encrypt-http-issuer

Example: Persistent volume (StatefulSet) + mount

When at least one writable volume is mounted into a container, the chart switches to a StatefulSet and uses a headless serviceName.

serviceName: my-app

containers:
- name: postgres
image: postgres
imageTag: "17"
volumeMounts:
- containerPath: /var/lib/postgresql/data
volume:
name: data
readOnly: false

volumes:
- name: data
size: 10Gi

Example: ExternalSecret (External Secrets Operator) + mount via volume secret

This creates the ExternalSecret resource which in turn creates a Kubernetes Secret (target.name). You can then reference/mount that Secret using volumes.

externalSecrets:
- name: app-secrets
refreshInterval: "1h"
secretStoreRef:
name: my-secret-store
kind: SecretStore
target:
name: app-secrets
creationPolicy: Owner
data:
- secretKey: DATABASE_URL
remoteRef:
key: /prod/app/database_url

containers:
- name: api
image: mendhak/http-https-echo
imageTag: "38"
volumeMounts:
- containerPath: /etc/secrets
volume:
name: app-secrets
readOnly: true

volumes:
- name: app-secrets
secret:
secretName: app-secrets

Example: Create a ServiceAccount

serviceaccount:
name: my-app
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::123456789012:role/my-app

containers:
- name: api
image: mendhak/http-https-echo
imageTag: "38"

Example: Create a ConfigMap + consume via env

configmap:
name: api
data:
LOG_LEVEL: info

containers:
- name: api
image: mendhak/http-https-echo
imageTag: latest
envFrom:
- configMapRef:
name: api

Example: Render extraObjects verbatim

containers:
- name: api
image: mendhak/http-https-echo
imageTag: "38"

extraObjects:
- apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: my-app
spec:
minAvailable: 1
selector:
matchLabels:
app.kubernetes.io/name: devspace-app
app.kubernetes.io/component: my-app