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_job(job)[source]¶
Create a Kubernetes Job.
- Parameters:
job (
V1Job) – The Kubernetes Job object.- Return type:
str
- 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]
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].
-
add:
- 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¶
-
fs_group:
- 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¶
-
level:
- 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¶
-
localhost_profile:
- 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¶
-
allow_privilege_escalation:
- 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¶
-
gmsa_credential_spec:
Module contents¶
Kubernetes adapter.