poiesis.core.adaptors.kubernetes package¶
Submodules¶
poiesis.core.adaptors.kubernetes.kubernetes module¶
Kubernetes adaptor.
- class poiesis.core.adaptors.kubernetes.kubernetes.KubernetesAdapter[source]¶
Bases:
KubernetesPortKubernetes adaptor.
- core_api¶
The Kubernetes Core API
- batch_api¶
The Kubernetes Batch API
- namespace¶
The Kubernetes namespace
- async create_config_map(configmap)[source]¶
Create a config map.
- Parameters:
configmap (
V1ConfigMap) – The ConfigMap object.- Return type:
V1ConfigMap
- async create_job(job)[source]¶
Create a Kubernetes Job.
- Parameters:
job (
V1Job) – The Kubernetes Job object.- Return type:
V1Job
- async create_pod(pod)[source]¶
Create a task execution pod.
- Parameters:
pod (
V1Pod) – The pod object.- Return type:
str
- async create_pvc(pvc)[source]¶
Create a Persistent Volume Claim.
- Parameters:
pvc (
V1PersistentVolumeClaim) – The Persistent Volume Claim object.- Return type:
str
- async delete_job(name)[source]¶
Delete a job.
- Parameters:
name (
str) – The name of the job.- Return type:
None
- async delete_jobs_by_label(label_selector)[source]¶
Delete jobs by label selector.
- Parameters:
label_selector (
str) – The label selector.- Return type:
None
- async delete_pods_by_label(label_selector)[source]¶
Delete pods by label selector.
- Parameters:
label_selector (
str) – The label selector.- Return type:
None
- async delete_pvcs_by_label(label_selector)[source]¶
Delete PVCs by label selector.
- Parameters:
label_selector (
str) – The label selector.- Return type:
None
Notes
Uses ‘Foreground’ propagation policy to ensure dependent resources are deleted before the PVC is removed.
- async get_job(name)[source]¶
Get a Kubernetes Job.
- Parameters:
name (
str) – The name of the Job.- Return type:
V1Job
- async get_pod(name)[source]¶
Get a specific pod.
- Parameters:
name (
str) – The name of the pod.- Return type:
V1Pod
- async get_pod_log(name)[source]¶
Get log of a pod.
- Parameters:
name (
str) – The name of the pod.- Return type:
str
- async get_pods(label_selector)[source]¶
Get all pods matching the label selector.
- Parameters:
label_selector (
str) – The label selector.- Return type:
list[V1Pod]
- async list_jobs_by_label(label_selector)[source]¶
List jobs by label selector.
- Parameters:
label_selector (
str) – The label selector.- Return type:
list[V1Job]
- async list_pods_by_label(label_selector)[source]¶
List pods by label selector.
- Parameters:
label_selector (
str) – The label selector.- Return type:
list[V1Pod]
poiesis.core.adaptors.kubernetes.models module¶
Models for the core services.
- class poiesis.core.adaptors.kubernetes.models.V1CapabilitiesPydanticModel(**data)[source]¶
Bases:
BaseModelCapabilities.
- add: list[str] | None¶
- drop: list[str] | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class poiesis.core.adaptors.kubernetes.models.V1PodSecurityContextPydanticModel(**data)[source]¶
Bases:
BaseModelPod security context.
- fs_group: int | None¶
- fs_group_change_policy: str | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- run_as_group: int | None¶
- run_as_non_root: bool | None¶
- run_as_user: int | None¶
- se_linux_options: V1SELinuxOptionsPydanticModel | None¶
- seccomp_profile: V1SeccompProfilePydanticModel | None¶
- supplemental_groups: list[int] | None¶
- sysctls: list[V1SysctlPydanticModel] | None¶
- windows_options: V1WindowsSecurityContextOptionsPydanticModel | None¶
- class poiesis.core.adaptors.kubernetes.models.V1SELinuxOptionsPydanticModel(**data)[source]¶
Bases:
BaseModelSELinux options.
- level: str | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- role: str | None¶
- type: str | None¶
- user: str | None¶
- class poiesis.core.adaptors.kubernetes.models.V1SeccompProfilePydanticModel(**data)[source]¶
Bases:
BaseModelSeccomp profile.
- localhost_profile: str | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: str¶
- class poiesis.core.adaptors.kubernetes.models.V1SecurityContextPydanticModel(**data)[source]¶
Bases:
BaseModelSecurity context.
- allow_privilege_escalation: bool | None¶
- capabilities: V1CapabilitiesPydanticModel | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- privileged: bool | None¶
- proc_mount: str | None¶
- read_only_root_filesystem: bool | None¶
- run_as_group: int | None¶
- run_as_non_root: bool | None¶
- run_as_user: int | None¶
- se_linux_options: V1SELinuxOptionsPydanticModel | None¶
- seccomp_profile: V1SeccompProfilePydanticModel | None¶
- windows_options: V1WindowsSecurityContextOptionsPydanticModel | None¶
- class poiesis.core.adaptors.kubernetes.models.V1SysctlPydanticModel(**data)[source]¶
Bases:
BaseModelSysctl.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- value: str¶
- class poiesis.core.adaptors.kubernetes.models.V1WindowsSecurityContextOptionsPydanticModel(**data)[source]¶
Bases:
BaseModelWindows security context options.
- gmsa_credential_spec: str | None¶
- gmsa_credential_spec_name: str | None¶
- host_process: bool | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- run_as_user_name: str | None¶
Module contents¶
Kubernetes adapter.