Composites
When a composite call like these is assigned directly to a top-level export const — or destructured into a top-level export, e.g. export const { chart, values, deployment } = HelmWebApp({...}) — it’s one of the patterns folding can reduce with no module execution (chant #1023). It still runs like any other call if it isn’t a top-level export, or if its result is only reached through a nested value inside another resource’s properties.
Available composites
Section titled “Available composites”| Composite | Description | Resources |
|---|---|---|
HelmWebApp | Web application | Deployment, Service, Ingress?, HPA?, ServiceAccount? |
HelmStatefulService | Stateful workload | StatefulSet, headless Service, PVC |
HelmCronJob | Scheduled job | CronJob |
HelmMicroservice | Full microservice | Deployment, Service, Ingress?, HPA?, PDB?, ServiceAccount, ConfigMap? |
HelmLibrary | Library chart | Chart.yaml (type: library), _helpers.tpl |
HelmCRDLifecycle | Managed CRD lifecycle | Job (hook), ConfigMap, ServiceAccount, ClusterRole, ClusterRoleBinding |
HelmDaemonSet | Node-level workload | DaemonSet, ServiceAccount? |
HelmWorker | Background processor | Deployment (no Service), ServiceAccount, HPA?, PDB? |
HelmExternalSecret | Secret management | ExternalSecret CR (external-secrets.io) |
HelmBatchJob | One-shot batch job | Job, ServiceAccount?, Role?, RoleBinding? |
HelmMonitoredService | Service with monitoring | Deployment, Service, ServiceAccount?, ServiceMonitor, PrometheusRule? |
HelmSecureIngress | TLS ingress + cert-manager | Ingress, Certificate? |
HelmNamespaceEnv | Namespace environment | Namespace, ResourceQuota?, LimitRange?, NetworkPolicy? |
Example
Section titled “Example”import { HelmWebApp } from "@intentius/chant-lexicon-helm";
const result = HelmWebApp({ name: "my-app", imageRepository: "myregistry/app", port: 3000, replicas: 3, ingress: true, autoscaling: true,});
// result.chart, result.values, result.deployment, result.service, result.ingress, result.hpa