One chart, many deployment shapes.
The chart turns a values.yaml file into the Kubernetes resources an application needs. Use the sections below as a site-native configuration reference.
Getting Started
Add the chart repository and install a release into its own namespace. The complete installation guide includes Artifact Hub and standard Helm workflows.
helm repo add universal https://chaser100.github.io/u-helm-chart helm repo update helm upgrade --install my-app universal/application \ --namespace my-app --create-namespace \ --set image=nginx --set imageTag=1.27
Configuration
The primary values define the image, Service, probes, resources, environment, security context, and optional Kubernetes resources.
image: ghcr.io/example-org/my-app
imageTag: "1.0.0"
replicaCount: 2
service:
port: 8080
resources:
requests: {cpu: 100m, memory: 128Mi}
limits: {cpu: 500m, memory: 512Mi}
readinessProbe:
httpGet: {path: /health, port: http}Open the complete configuration reference →
Networking
Use the Service as the internal boundary and select either Ingress or Gateway API for external traffic.
service: type: ClusterIP port: 8080 route: enabled: true gateway: external gatewayNamespace: gateway-system sectionName: https hostname: app.example.com
Storage
Mount only the paths an application needs. Use a PVC for durable data and an emptyDir volume for ephemeral runtime files.
persistentVolumeClaims:
- name: app-data
size: 10Gi
accessModes: [ReadWriteOnce]
mountPath: /var/lib/app
readOnly: false
volumes:
- name: runtime
emptyDir: {}
volumeMounts:
- name: runtime
mountPath: /tmpGateway API
Set a Gateway name, namespace, listener section, and hostname. The chart renders an HTTPRoute that points to the generated Service.
route: enabled: true gateway: external gatewayNamespace: gateway-system sectionName: https hostname: api.example.com path: / pathMatchType: PathPrefix
Gateway API configuration reference →
GitOps
Commit environment-specific values to Git and let Argo CD or Flux reconcile the release. Keep image tags immutable and promote by changing the tag in the environment values.
argocd app create my-app \ --repo https://github.com/example-org/platform-config.git \ --path environments/dev/my-app \ --dest-server https://kubernetes.default.svc \ --dest-namespace my-app
Upgrade
Use the same idempotent command for upgrades. Review the rendered diff, wait for readiness, and keep the previous image tag available for rollback.
helm repo update helm upgrade my-app universal/application \ --namespace my-app \ --reuse-values \ --set imageTag=1.1.0 kubectl rollout status deployment/my-app -n my-app
Choose the right abstraction
A universal chart fits conventional applications with repeatable Kubernetes patterns. Choose a dedicated chart when a product needs specialized lifecycle logic, custom CRDs, or a large opinionated API.