ska_src_api_global_execution.models.config

All configuration models for the API.

Module Contents

Classes

AbstractConfig

Abstract base class for configuration models.

PandaJobDeploymentConfig

Configuration for Panda Kubernetes jobs.

class ska_src_api_global_execution.models.config.AbstractConfig

Bases: abc.ABC

digraph inheritanceeb87f49cc6 { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "ABC" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Helper class that provides a standard way to create an ABC using"]; "AbstractConfig" [URL="#ska_src_api_global_execution.models.config.AbstractConfig",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Abstract base class for configuration models."]; "ABC" -> "AbstractConfig" [arrowsize=0.5,style="setlinewidth(0.5)"]; }

Abstract base class for configuration models.

abstract is_valid()

Check if the configuration is valid.

class ska_src_api_global_execution.models.config.PandaJobDeploymentConfig(job_deployment_cfg=None)

Bases: AbstractConfig

digraph inheritanced84f3bda17 { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "ABC" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Helper class that provides a standard way to create an ABC using"]; "AbstractConfig" [URL="#ska_src_api_global_execution.models.config.AbstractConfig",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Abstract base class for configuration models."]; "ABC" -> "AbstractConfig" [arrowsize=0.5,style="setlinewidth(0.5)"]; "PandaJobDeploymentConfig" [URL="#ska_src_api_global_execution.models.config.PandaJobDeploymentConfig",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Configuration for Panda Kubernetes jobs."]; "AbstractConfig" -> "PandaJobDeploymentConfig" [arrowsize=0.5,style="setlinewidth(0.5)"]; }

Configuration for Panda Kubernetes jobs.

annotations: dict

Annotations to be applied to the job deployment.

backoff_limit: int = 3

Number of retries before the job is considered failed.

image: str | None

Docker image to be used for the job.

image_pull_policy: str | None = 'Always'

Policy for pulling the Docker image (default is ‘Always’).

labels: dict[str, str]

Labels to be applied to the job deployment.

namespace: str | None

Kubernetes namespace where the job will be executed.

node_selector: dict | None

Node selector for the job deployment, if applicable.

priority_class_name: str | None

Priority class name for the job deployment, if applicable.

required_configmaps: list[str] = []

List of required ConfigMaps for the job deployment.

required_secrets: list[str] = []

List of required Secrets for the job deployment.

resource_limits: dict

Resource limits for the job deployment, including CPU and memory requests and limits.

script_location: str

Location of the script to be executed in the job.

security_context: dict | None

Security context for the job deployment, if applicable.

service_account: str | None

Service account to be used for the job deployment.

tolerations: list[dict] | None

Tolerations for the job deployment, if applicable.

ttl_seconds_after_finished: int = 600

Time to live for the job after it has finished, in seconds.

is_valid()

Check if the configuration is valid.