Documentation
¶
Overview ¶
Package primitives hosts cross-kind contracts shared by the concrete primitive packages under pkg/primitives. It depends only on the mutation editor and selector packages, never on its own subpackages, so the subpackages can import it without creating an import cycle.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type WorkloadMutator ¶
type WorkloadMutator interface {
EditContainers(selector selectors.ContainerSelector, edit func(*editors.ContainerEditor) error)
EditInitContainers(selector selectors.ContainerSelector, edit func(*editors.ContainerEditor) error)
EnsureContainer(container corev1.Container)
RemoveContainer(name string)
RemoveContainers(names []string)
EnsureInitContainer(container corev1.Container)
RemoveInitContainer(name string)
RemoveInitContainers(names []string)
EditPodSpec(edit func(*editors.PodSpecEditor) error)
EditPodTemplateMetadata(edit func(*editors.ObjectMetaEditor) error)
EditObjectMetadata(edit func(*editors.ObjectMetaEditor) error)
EnsureContainerEnvVar(ev corev1.EnvVar)
RemoveContainerEnvVar(name string)
RemoveContainerEnvVars(names []string)
EnsureContainerArg(arg string)
RemoveContainerArg(arg string)
RemoveContainerArgs(args []string)
}
WorkloadMutator is the editing surface shared by the StatefulSet, Deployment, and DaemonSet mutators (*statefulset.Mutator, *deployment.Mutator, *daemonset.Mutator). It lets a consumer express one workload-kind-agnostic mutation (for example, emitting a shared set of environment variables on the application container) and apply it to any of those kinds through the per-package LiftMutation adapters.
It is exactly the intersection of those three mutators' editing methods. Kind-specific operations are intentionally excluded and remain on the concrete types: the spec editors (EditStatefulSetSpec, EditDeploymentSpec, EditDaemonSetSpec), EnsureReplicas (absent from the DaemonSet mutator, which has no replica field), and the StatefulSet-only VolumeClaimTemplate methods. The lifecycle methods Apply and NextFeature are also excluded; they are driven by the framework, not by an emitter.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package clusterrole provides a builder and resource for managing Kubernetes ClusterRoles.
|
Package clusterrole provides a builder and resource for managing Kubernetes ClusterRoles. |
|
Package clusterrolebinding provides a builder and resource for managing Kubernetes ClusterRoleBindings.
|
Package clusterrolebinding provides a builder and resource for managing Kubernetes ClusterRoleBindings. |
|
Package configmap provides a builder and resource for managing Kubernetes ConfigMaps.
|
Package configmap provides a builder and resource for managing Kubernetes ConfigMaps. |
|
Package cronjob provides a builder and resource for managing Kubernetes CronJobs.
|
Package cronjob provides a builder and resource for managing Kubernetes CronJobs. |
|
Package daemonset provides a builder and resource for managing Kubernetes DaemonSets.
|
Package daemonset provides a builder and resource for managing Kubernetes DaemonSets. |
|
Package deployment provides a builder and resource for managing Kubernetes Deployments.
|
Package deployment provides a builder and resource for managing Kubernetes Deployments. |
|
Package hpa provides a builder and resource for managing Kubernetes HorizontalPodAutoscalers.
|
Package hpa provides a builder and resource for managing Kubernetes HorizontalPodAutoscalers. |
|
Package ingress provides a builder and resource for managing Kubernetes Ingresses.
|
Package ingress provides a builder and resource for managing Kubernetes Ingresses. |
|
Package job provides a builder and resource for managing Kubernetes Jobs.
|
Package job provides a builder and resource for managing Kubernetes Jobs. |
|
Package networkpolicy provides a builder and resource for managing Kubernetes NetworkPolicies.
|
Package networkpolicy provides a builder and resource for managing Kubernetes NetworkPolicies. |
|
Package pdb provides a builder and resource for managing Kubernetes PodDisruptionBudgets.
|
Package pdb provides a builder and resource for managing Kubernetes PodDisruptionBudgets. |
|
Package pod provides a builder and resource for managing Kubernetes Pods.
|
Package pod provides a builder and resource for managing Kubernetes Pods. |
|
Package pv provides a builder and resource for managing Kubernetes PersistentVolumes.
|
Package pv provides a builder and resource for managing Kubernetes PersistentVolumes. |
|
Package pvc provides a builder and resource for managing Kubernetes PersistentVolumeClaims.
|
Package pvc provides a builder and resource for managing Kubernetes PersistentVolumeClaims. |
|
Package replicaset provides a builder and resource for managing Kubernetes ReplicaSets.
|
Package replicaset provides a builder and resource for managing Kubernetes ReplicaSets. |
|
Package role provides a builder and resource for managing Kubernetes Roles.
|
Package role provides a builder and resource for managing Kubernetes Roles. |
|
Package rolebinding provides a builder and resource for managing Kubernetes RoleBindings.
|
Package rolebinding provides a builder and resource for managing Kubernetes RoleBindings. |
|
Package secret provides a builder and resource for managing Kubernetes Secrets.
|
Package secret provides a builder and resource for managing Kubernetes Secrets. |
|
Package service provides a builder and resource for managing Kubernetes Services.
|
Package service provides a builder and resource for managing Kubernetes Services. |
|
Package serviceaccount provides a builder and resource for managing Kubernetes ServiceAccounts.
|
Package serviceaccount provides a builder and resource for managing Kubernetes ServiceAccounts. |
|
Package statefulset provides a builder and resource for managing Kubernetes StatefulSets.
|
Package statefulset provides a builder and resource for managing Kubernetes StatefulSets. |
|
Package unstructured provides shared types for building unstructured Kubernetes resource primitives.
|
Package unstructured provides shared types for building unstructured Kubernetes resource primitives. |
|
integration
Package integration provides an unstructured resource primitive for Kubernetes integration objects that depend on external assignments and require operational status tracking and suspension support.
|
Package integration provides an unstructured resource primitive for Kubernetes integration objects that depend on external assignments and require operational status tracking and suspension support. |
|
static
Package static provides an unstructured resource primitive for static Kubernetes objects that do not model convergence health, grace periods, or suspension.
|
Package static provides an unstructured resource primitive for static Kubernetes objects that do not model convergence health, grace periods, or suspension. |
|
task
Package task provides an unstructured resource primitive for Kubernetes objects that run to completion, requiring completion status tracking and suspension support.
|
Package task provides an unstructured resource primitive for Kubernetes objects that run to completion, requiring completion status tracking and suspension support. |
|
workload
Package workload provides an unstructured resource primitive for long-running Kubernetes workload objects that require health tracking, graceful rollouts, and suspension support.
|
Package workload provides an unstructured resource primitive for long-running Kubernetes workload objects that require health tracking, graceful rollouts, and suspension support. |