Skip to content

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.

CompositeDescriptionResources
HelmWebAppWeb applicationDeployment, Service, Ingress?, HPA?, ServiceAccount?
HelmStatefulServiceStateful workloadStatefulSet, headless Service, PVC
HelmCronJobScheduled jobCronJob
HelmMicroserviceFull microserviceDeployment, Service, Ingress?, HPA?, PDB?, ServiceAccount, ConfigMap?
HelmLibraryLibrary chartChart.yaml (type: library), _helpers.tpl
HelmCRDLifecycleManaged CRD lifecycleJob (hook), ConfigMap, ServiceAccount, ClusterRole, ClusterRoleBinding
HelmDaemonSetNode-level workloadDaemonSet, ServiceAccount?
HelmWorkerBackground processorDeployment (no Service), ServiceAccount, HPA?, PDB?
HelmExternalSecretSecret managementExternalSecret CR (external-secrets.io)
HelmBatchJobOne-shot batch jobJob, ServiceAccount?, Role?, RoleBinding?
HelmMonitoredServiceService with monitoringDeployment, Service, ServiceAccount?, ServiceMonitor, PrometheusRule?
HelmSecureIngressTLS ingress + cert-managerIngress, Certificate?
HelmNamespaceEnvNamespace environmentNamespace, ResourceQuota?, LimitRange?, NetworkPolicy?
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