nextflow.k8s
The nextflow.k8s package implements the Kubernetes executor and the kuberun command.
Class Diagram
            classDiagram
    %%
    %% nextflow.k8s
    %%
    Executor <|-- K8sExecutor
    TaskHandler <|-- K8sTaskHandler
    BashWrapperBuilder <|-- K8sWrapperBuilder
    K8sExecutor --> TaskPollingMonitor : init
    K8sExecutor --> K8sTaskHandler : submit
    K8sExecutor --* K8sClient
    K8sTaskHandler --> K8sWrapperBuilder : submit
    CmdKubeRun --> K8sDriverLauncher : run
    class K8sDriverLauncher {
        args : List~String~
        cmd : CmdKubeRun
        config : ConfigObject
        configMapName : String
        headCpus : int
        headImage : String
        headMemory : String
        headPreScript : String
        paramsFile : String
        pipelineName : String
        runName : String
    }
    K8sDriverLauncher --* K8sClient
    K8sDriverLauncher --* K8sConfig
    K8sClient --* ClientConfig
    %% ConfigDiscovery --> ClientConfig : discover
    class K8sConfig {
        target : Map
        podOptions : PodOptions
    }
    K8sConfig --* PodOptions
    class PodOptions {
        affinity : Map
        annotations : Map
        automountServiceAccountToken : boolean
        configMaps : Collection~PodMountConfig~
        envVars : Collection~PodEnv~
        imagePullPolicy : String
        imagePullSecret : String
        labels : Map
        nodeSelector : PodNodeSelector
        priorityClassName : String
        privileged : Boolean
        secrets : Collection~PodMountSecret~
        securityContext : PodSecurityContext
        tolerations : List~Map~
        volumeClaims : Collection~PodVolumeClaim~
    }
        
Note
Some classes may be excluded from the above diagram for brevity.
Notes
The Kubernetes integration uses the K8s HTTP API to interact with K8s clusters, and relies on the kubectl command and ~/.kube/config file for authentication.