Skip to content

K8sPolicy

K8sPolicy with its hand-mirrored Kubernetes subtrees collapsed to opaque passthrough objects.

affinity, podSecurityContext, securityContext, and tolerations each restate a slice of the Kubernetes PodSpec API that we don't validate and don't own. Kubernetes will reject a malformed value at apply time with a better error than ours would, so we accept these as opaque objects and link out to the upstream API reference instead of re-declaring its schema.

Contexts

Context Relationship Object Path Package File Path
Database.Shard.Dap.Instances Package -> Database -> Shard -> Dap -> Instances -> K8sPolicy $.databases[*].shards[*].daps.instances.*.k8sPolicy {package-root}/databases/{db-name}/shards/{shard-name}.yaml
Database.Shard.Sequencer Package -> Database -> Shard -> Sequencer -> K8sPolicy $.databases[*].shards[*].sequencers.*.k8sPolicy {package-root}/databases/{db-name}/shards/{shard-name}.yaml
Database.Shard.Sm Package -> Database -> Shard -> Sm -> K8sPolicy $.databases[*].shards[*].sm.k8sPolicy {package-root}/databases/{db-name}/shards/{shard-name}.yaml
Pipeline.Controller Package -> Pipeline -> Controller -> K8sPolicy $.pipelines[*].controller.k8sPolicy {package-root}/pipelines/{pipeline-name}.yaml
Pipeline.Worker Package -> Pipeline -> Worker -> K8sPolicy $.pipelines[*].worker.k8sPolicy {package-root}/pipelines/{pipeline-name}.yaml
Router.Agg Package -> Router -> Agg -> K8sPolicy $.router.agg.k8sPolicy {package-root}/router/{router-name}.yaml
Router.Rc Package -> Router -> Rc -> K8sPolicy $.router.rc.k8sPolicy {package-root}/router/{router-name}.yaml

Fields

Field Type Required Description Constraints Default
affinity object | null no Kubernetes affinity rules. Passed through to the pod spec as-is and not validated here -- see the Kubernetes API reference. - null
nodeSelector map<string, string > | null no Set specific node key-values. It specifies a map of key-value pairs. For the pod to be eligible to run on a node, the node must have each of the indicated key-value pairs as labels (it can have additional labels as well). - null
podSecurityContext object | null no Kubernetes pod-level security context. Passed through to the pod spec as-is and not validated here -- see the Kubernetes API reference. - null
resources Resources | null no Set Container resource request/limits - null
securityContext object | null no Kubernetes container-level security context. Passed through to the pod spec as-is and not validated here -- see the Kubernetes API reference. - null
serviceAccount string | null no Service Account to be used for the component pattern: "^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$", max length: 253 null
serviceAccountConfigure ServiceAccountConfigure | null no Auto Create Service Account and mount Token - {"create": true}
terminationGracePeriodSeconds integer | null no This grace period applies to the total time it takes for both the PreStop hook to execute and for the Container to stop normally min: 0 null
tolerations array<object> | null no Kubernetes tolerations. Passed through to the pod spec as-is and not validated here -- see the Kubernetes API reference. - null

Used In

Back to top