Kubernetes

Configuration schema for Kubernetes.

Example

soopervisor.yaml
k8s-config:
  exclude: [my-venv/]
  repository: my-docker.repository.io/some-name
  mounted_volumes:
    - name: shared-folder
      spec:
        hostPath:
          path: /host

The above soopervisor.yaml, translates into the following Argo spec:

argo.yaml
  apiVersion: argoproj.io/v1alpha1
  kind: Workflow
  spec:
    templates:
      script:
        volumeMounts:
        - mountPath: /mnt/shared-folder
          name: shared-folder
          subPath: ''
        # continues ...
    - dag:
        tasks:
          # continues...
    volumes:
    - hostPath:
        path: /host
      name: shared-folder

Schema

class soopervisor.abc.AbstractConfig

Abstract class for configuration objects

Parameters

preset (str) – The preset to use, this determines certain settings and is backend-specific

class soopervisor.argo.config.ArgoConfig

Configuration for exporting to Argo

Parameters
  • repository (str) –

    Repository for uploading the Docker image.

    Important

    If repository is null, it sets the imagePullPolicy in the generated spec to Never.

  • mounted_volumes (list, optional) – List of volumes to mount on each Pod, described with the ArgoMountedVolumes schema.

class soopervisor.argo.config.ArgoMountedVolume

Volume to mount in the Pod at /mnt/{name}

Parameters
  • name (str) – Volume’s name

  • sub_path (str, default='') – Sub path from the volume to mount in the Pod (set in volumeMounts[*].subPath). Defaults to the volume’s root

  • spec (dict) – The volume spec, passed directly to the output spec. e.g: {'persistentVolumeClaim': {'claimName': 'someName'}}