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 |
Links To¶
resources:ResourcesserviceAccountConfigure:ServiceAccountConfigure