apiVersion: v1
kind: ConfigMap
metadata:
  name: workflow-controller-configmap
data:
  # References:
  # * https://github.com/argoproj/argo-workflows/blob/v2.12.9/config/config.go
  # * https://github.com/argoproj/argo-workflows/blob/v2.12.9/docs/workflow-controller-configmap.md
  # * https://github.com/argoproj/argo-workflows/blob/v2.12.9/docs/workflow-controller-configmap.yaml

  # pns executor is a more portable default, see https://github.com/kubeflow/pipelines/issues/1654.
  # However, it is flaky for containers that run really fast, see https://github.com/kubeflow/pipelines/issues/5285.
  # So we still default to docker for now.
  containerRuntimeExecutor: docker

  # In artifactRepository.s3.endpoint, $(kfp-namespace) is needed, because in multi-user mode, pipelines may run in other namespaces.
  artifactRepository: |
    archiveLogs: true
    s3:
      endpoint: "minio-service.$(kfp-namespace):9000"
      bucket: "$(kfp-artifact-bucket-name)"
      keyFormat: "artifacts/{{workflow.name}}/{{pod.name}}"
      # insecure will disable TLS. Primarily used for minio installs not configured with TLS
      insecure: true
      accessKeySecret:
        name: mlpipeline-minio-artifact
        key: accesskey
      secretKeySecret:
        name: mlpipeline-minio-artifact
        key: secretkey
