Getting startedGuidesReferenceChangelog
Apoxy:// Docs / Reference / WorkerPool

WorkerPool

API reference for Worker Pools (clrk.apoxy.dev/v1alpha1)

API Group: clrk.apoxy.dev/v1alpha1

Operations

List WorkerPool

GET/apis/clrk.apoxy.dev/v1alpha1/namespaces/{namespace}/workerpools

List WorkerPool

Response

  • 200: OK

List WorkerPool

GET/apis/clrk.apoxy.dev/v1alpha1/workerpools

List WorkerPool

Response

  • 200: OK

Create WorkerPool

POST/apis/clrk.apoxy.dev/v1alpha1/namespaces/{namespace}/workerpools

Create a WorkerPool

Request Body

Spec fields (WorkerPoolSpec):

FieldTypeDescription
imageCacheImageCacheConfigImageCache configures OCI image caching on worker nodes.
maxExecutionsPerWorkerinteger (int32)MaxExecutionsPerWorker caps how many agent executions a single worker pod can host simultaneously.
replicasinteger (int32)Replicas is the desired number of worker pods.
templateWorkerPodTemplateTemplate is the curated worker-pod overlay. It exposes only the pod-spec knobs that are safe to tune; the gVisor/runsc-load-bearing fields (privileged + seccomp Unconfined + the AppArmor annotation, the run/state/varlog scratch volumes, the dispatch port, and the downward-API env) are owned by the controller's pod builder and are not expressible here, so a user edit cannot break the sandbox runtime. (required)
warmPoolinteger (int32)WarmPool is the number of pre-spawned sandboxes to keep ready.

Response

  • 200: OK
  • 201: Created
  • 202: Accepted

Delete All WorkerPool

DELETE/apis/clrk.apoxy.dev/v1alpha1/namespaces/{namespace}/workerpools

Delete collection of WorkerPool

Response

  • 200: OK

Get WorkerPool

GET/apis/clrk.apoxy.dev/v1alpha1/namespaces/{namespace}/workerpools/{name}

Get the specified WorkerPool

Response

  • 200: OK

Replace WorkerPool

PUT/apis/clrk.apoxy.dev/v1alpha1/namespaces/{namespace}/workerpools/{name}

Replace the specified WorkerPool

Request Body

Spec fields (WorkerPoolSpec):

FieldTypeDescription
imageCacheImageCacheConfigImageCache configures OCI image caching on worker nodes.
maxExecutionsPerWorkerinteger (int32)MaxExecutionsPerWorker caps how many agent executions a single worker pod can host simultaneously.
replicasinteger (int32)Replicas is the desired number of worker pods.
templateWorkerPodTemplateTemplate is the curated worker-pod overlay. It exposes only the pod-spec knobs that are safe to tune; the gVisor/runsc-load-bearing fields (privileged + seccomp Unconfined + the AppArmor annotation, the run/state/varlog scratch volumes, the dispatch port, and the downward-API env) are owned by the controller's pod builder and are not expressible here, so a user edit cannot break the sandbox runtime. (required)
warmPoolinteger (int32)WarmPool is the number of pre-spawned sandboxes to keep ready.

Response

  • 200: OK
  • 201: Created

Update WorkerPool

PATCH/apis/clrk.apoxy.dev/v1alpha1/namespaces/{namespace}/workerpools/{name}

Partially update the specified WorkerPool

Response

  • 200: OK
  • 201: Created

Delete WorkerPool

DELETE/apis/clrk.apoxy.dev/v1alpha1/namespaces/{namespace}/workerpools/{name}

Delete a WorkerPool

Response

  • 200: OK
  • 202: Accepted

Schema Reference

ImageCacheConfig

FieldTypeDescription
enabledbooleanEnabled controls whether image caching is active.

WorkerPodTemplate

FieldTypeDescription
affinityAffinityAffinity is the worker pods' scheduling affinity.
envEnvVar[]Env is additional environment for the worker container, appended after the fixed downward-API vars (POD_NAME, POD_NAMESPACE, CLRK_POOL_NAME). A var named POD_NAME/POD_NAMESPACE/CLRK_POOL_NAME is always dropped (the controller owns it). CLRK_CM_OTLP_ENDPOINT/CLRK_CM_NATS_ADDR are dropped only when the controller injects them (cm mode); in single-binary mode the controller injects nothing, so an operator-supplied value here is kept.
extraVolumeMountsVolumeMount[]ExtraVolumeMounts are additional mounts on the worker container. Names colliding with a reserved volume, or mount paths overlapping a reserved runtime path, are rejected at admission.
extraVolumesVolume[]ExtraVolumes are additional pod volumes. Names colliding with the reserved runtime volumes (state, run, varlog) are rejected at admission.
imagestringImage is the worker container image. Required. It must be a clrk worker image (runsc + the sentrystack plugin); an arbitrary image will not boot the sandbox runtime. (required)
imagePullPolicystringImagePullPolicy for the worker container. Defaults to IfNotPresent. Possible enum values: - "Always" means that kubelet always attempts to pull the latest image. Container will fail If the pull fails. - "IfNotPresent" means that kubelet pulls if the image isn't present on disk. Container will fail if the image isn't present and the pull fails. - "Never" means that kubelet never pulls an image, but only uses a local image. Container will fail if the image isn't present
imagePullSecretsLocalObjectReference[]ImagePullSecrets are attached to the worker pod for pulling Image.
nodeSelectorobjectNodeSelector constrains worker pods to matching nodes.
priorityClassNamestringPriorityClassName sets the worker pods' scheduling priority.
resourcesResourceRequirementsResources are the worker container's compute resource requests/limits.
serviceAccountNamestringServiceAccountName the worker pods run under. Defaults to clrk-worker.
tolerationsToleration[]Tolerations let worker pods schedule onto tainted nodes.
topologySpreadConstraintsTopologySpreadConstraint[]TopologySpreadConstraints spread worker pods across failure domains.

WorkerPodMeta

FieldTypeDescription
annotationsobjectAnnotations are merged into the pod template; the AppArmor annotation wins on key collision.
labelsobjectLabels are merged into the pod template; the pool selector labels win on key collision.