Exemplo n.º 1
0
def patch_container(
    container: k8s_schemas.V1Container,
    name: str = None,
    command: List[str] = None,
    args: List[str] = None,
    image: str = None,
    image_pull_policy: str = None,
    env: List[k8s_schemas.V1EnvVar] = None,
    env_from: List[k8s_schemas.V1EnvFromSource] = None,
    volume_mounts: List[k8s_schemas.V1VolumeMount] = None,
    ports: List[k8s_schemas.V1ContainerPort] = None,
    resources: k8s_schemas.V1ResourceRequirements = None,
) -> k8s_schemas.V1Container:
    container.name = name or container.name
    container.env = to_list(container.env, check_none=True) + to_list(
        env, check_none=True)
    container.env_from = to_list(container.env_from,
                                 check_none=True) + to_list(env_from,
                                                            check_none=True)
    container.volume_mounts = to_list(
        container.volume_mounts, check_none=True) + to_list(volume_mounts,
                                                            check_none=True)
    container.ports = to_list(container.ports, check_none=True) + to_list(
        ports, check_none=True)
    container.resources = container.resources or resources
    container.resources = sanitize_resources(container.resources)
    container.image_pull_policy = container.image_pull_policy or image_pull_policy
    container.image = container.image or image

    if not any([container.command, container.args]):
        container.command = command
        container.args = args

    return sanitize_container_command_args(container)
Exemplo n.º 2
0
def sanitize_container(
    container: k8s_schemas.V1Container, ) -> k8s_schemas.V1Container:
    container = sanitize_container_command_args(container)
    container.resources = sanitize_resources(container.resources)
    return sanitize_container_env(container)