feat(argo-workflows): Add support for artifactRepositoryRef (#2135)
Signed-off-by: tomoki-yamaguchi <toyamagu2021@gmail.com> Co-authored-by: Aikawa <yu.croco@gmail.com> Co-authored-by: Tim Collins <45351296+tico24@users.noreply.github.com>
This commit is contained in:
parent
4f6f25198e
commit
5ec59e90fa
5 changed files with 124 additions and 6 deletions
|
@ -3,7 +3,7 @@ appVersion: v3.4.8
|
||||||
name: argo-workflows
|
name: argo-workflows
|
||||||
description: A Helm chart for Argo Workflows
|
description: A Helm chart for Argo Workflows
|
||||||
type: application
|
type: application
|
||||||
version: 0.30.0
|
version: 0.31.0
|
||||||
icon: https://argoproj.github.io/argo-workflows/assets/logo.png
|
icon: https://argoproj.github.io/argo-workflows/assets/logo.png
|
||||||
home: https://github.com/argoproj/argo-helm
|
home: https://github.com/argoproj/argo-helm
|
||||||
sources:
|
sources:
|
||||||
|
@ -16,5 +16,5 @@ annotations:
|
||||||
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
|
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
|
||||||
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
|
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
|
||||||
artifacthub.io/changes: |
|
artifacthub.io/changes: |
|
||||||
- kind: fixed
|
- kind: added
|
||||||
description: artifactRepository will not be configured by default
|
description: Add support for artifactRepositoryRef
|
||||||
|
|
|
@ -331,6 +331,7 @@ Fields to note:
|
||||||
| artifactRepository.azure | object | `{}` (See [values.yaml]) | Store artifact in Azure Blob Storage |
|
| artifactRepository.azure | object | `{}` (See [values.yaml]) | Store artifact in Azure Blob Storage |
|
||||||
| artifactRepository.gcs | object | `{}` (See [values.yaml]) | Store artifact in a GCS object store |
|
| artifactRepository.gcs | object | `{}` (See [values.yaml]) | Store artifact in a GCS object store |
|
||||||
| artifactRepository.s3 | object | See [values.yaml] | Store artifact in a S3-compliant object store |
|
| artifactRepository.s3 | object | See [values.yaml] | Store artifact in a S3-compliant object store |
|
||||||
|
| artifactRepositoryRef | object | `{}` (See [values.yaml]) | The section of [artifact repository ref](https://argoproj.github.io/argo-workflows/artifact-repository-ref/). Each map key is the name of configmap |
|
||||||
| customArtifactRepository | object | `{}` | The section of custom artifact repository. Utilize a custom artifact repository that is not one of the current base ones (s3, gcs, azure) |
|
| customArtifactRepository | object | `{}` | The section of custom artifact repository. Utilize a custom artifact repository that is not one of the current base ones (s3, gcs, azure) |
|
||||||
| useStaticCredentials | bool | `true` | Use static credentials for S3 (eg. when not using AWS IRSA) |
|
| useStaticCredentials | bool | `true` | Use static credentials for S3 (eg. when not using AWS IRSA) |
|
||||||
|
|
||||||
|
|
41
charts/argo-workflows/ci/enable-artifact-repo-ref.yaml
Normal file
41
charts/argo-workflows/ci/enable-artifact-repo-ref.yaml
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
artifactRepositoryRef:
|
||||||
|
# 1st ConfigMap
|
||||||
|
artifact-repositories:
|
||||||
|
annotations:
|
||||||
|
workflows.argoproj.io/default-artifact-repository: default-v1-s3-artifact-repository
|
||||||
|
# 1st data
|
||||||
|
default-v1-s3-artifact-repository:
|
||||||
|
archiveLogs: true
|
||||||
|
s3:
|
||||||
|
bucket: my-bucket
|
||||||
|
endpoint: minio:9000
|
||||||
|
insecure: true
|
||||||
|
accessKeySecret:
|
||||||
|
name: my-minio-cred
|
||||||
|
key: accesskey
|
||||||
|
secretKeySecret:
|
||||||
|
name: my-minio-cred
|
||||||
|
key: secretkey
|
||||||
|
# 2nd data
|
||||||
|
oss-artifact-repository:
|
||||||
|
archiveLogs: false
|
||||||
|
oss:
|
||||||
|
endpoint: http://oss-cn-zhangjiakou-internal.aliyuncs.com
|
||||||
|
bucket: $mybucket
|
||||||
|
accessKeySecret:
|
||||||
|
name: $mybucket-credentials
|
||||||
|
key: accessKey
|
||||||
|
secretKeySecret:
|
||||||
|
name: $mybucket-credentials
|
||||||
|
key: secretKey
|
||||||
|
# 2nd ConfigMap
|
||||||
|
another-artifact-repositories:
|
||||||
|
annotations:
|
||||||
|
workflows.argoproj.io/default-artifact-repository: gcs
|
||||||
|
gcs:
|
||||||
|
archiveLogs: false
|
||||||
|
bucket: my-bucket
|
||||||
|
keyFormat: prefix/in/bucket/{{workflow.name}}/{{pod.name}}
|
||||||
|
serviceAccountKeySecret:
|
||||||
|
name: my-gcs-credentials
|
||||||
|
key: serviceAccountKey
|
|
@ -0,0 +1,19 @@
|
||||||
|
{{- range $cm_name, $cm_val := .Values.artifactRepositoryRef }}
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: {{ $cm_name }}
|
||||||
|
namespace: {{ $.Release.Namespace | quote }}
|
||||||
|
labels:
|
||||||
|
{{- include "argo-workflows.labels" (dict "context" $ "component" $.Values.controller.name "name" $cm_name) | nindent 4 }}
|
||||||
|
{{- with $cm_val.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
data:
|
||||||
|
{{- range $data_key, $data_val := (omit $cm_val "annotations") }}
|
||||||
|
{{- $data_key | nindent 2 }}: |
|
||||||
|
{{- toYaml $data_val | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -161,9 +161,13 @@ controller:
|
||||||
# Only valid for 2.7+
|
# Only valid for 2.7+
|
||||||
## See more: https://argoproj.github.io/argo-workflows/default-workflow-specs/
|
## See more: https://argoproj.github.io/argo-workflows/default-workflow-specs/
|
||||||
workflowDefaults: {}
|
workflowDefaults: {}
|
||||||
# spec:
|
# spec:
|
||||||
# ttlStrategy:
|
# ttlStrategy:
|
||||||
# secondsAfterCompletion: 84600
|
# secondsAfterCompletion: 84600
|
||||||
|
# # Ref: https://argoproj.github.io/argo-workflows/artifact-repository-ref/
|
||||||
|
# artifactRepositoryRef:
|
||||||
|
# configMap: my-artifact-repository # default is "artifact-repositories"
|
||||||
|
# key: v2-s3-artifact-repository # default can be set by the `workflows.argoproj.io/default-artifact-repository` annotation in config map.
|
||||||
|
|
||||||
# -- Number of workflow workers
|
# -- Number of workflow workers
|
||||||
workflowWorkers: # 32
|
workflowWorkers: # 32
|
||||||
|
@ -770,6 +774,59 @@ customArtifactRepository: {}
|
||||||
# name: artifactory-creds
|
# name: artifactory-creds
|
||||||
# key: password
|
# key: password
|
||||||
|
|
||||||
|
# -- The section of [artifact repository ref](https://argoproj.github.io/argo-workflows/artifact-repository-ref/).
|
||||||
|
# Each map key is the name of configmap
|
||||||
|
# @default -- `{}` (See [values.yaml])
|
||||||
|
artifactRepositoryRef: {}
|
||||||
|
# # -- 1st ConfigMap
|
||||||
|
# # If you want to use this config map by default, name it "artifact-repositories".
|
||||||
|
# # Otherwise, you can provide a reference to a
|
||||||
|
# # different config map in `artifactRepositoryRef.configMap`.
|
||||||
|
# artifact-repositories:
|
||||||
|
# # -- v3.0 and after - if you want to use a specific key, put that key into this annotation.
|
||||||
|
# annotations:
|
||||||
|
# workflows.argoproj.io/default-artifact-repository: default-v1-s3-artifact-repository
|
||||||
|
# # 1st data of configmap. See above artifactRepository or customArtifactRepository.
|
||||||
|
# default-v1-s3-artifact-repository:
|
||||||
|
# archiveLogs: false
|
||||||
|
# s3:
|
||||||
|
# bucket: my-bucket
|
||||||
|
# endpoint: minio:9000
|
||||||
|
# insecure: true
|
||||||
|
# accessKeySecret:
|
||||||
|
# name: my-minio-cred
|
||||||
|
# key: accesskey
|
||||||
|
# secretKeySecret:
|
||||||
|
# name: my-minio-cred
|
||||||
|
# key: secretkey
|
||||||
|
# # 2nd data
|
||||||
|
# oss-artifact-repository:
|
||||||
|
# archiveLogs: false
|
||||||
|
# oss:
|
||||||
|
# endpoint: http://oss-cn-zhangjiakou-internal.aliyuncs.com
|
||||||
|
# bucket: $mybucket
|
||||||
|
# # accessKeySecret and secretKeySecret are secret selectors.
|
||||||
|
# # It references the k8s secret named 'bucket-workflow-artifect-credentials'.
|
||||||
|
# # This secret is expected to have have the keys 'accessKey'
|
||||||
|
# # and 'secretKey', containing the base64 encoded credentials
|
||||||
|
# # to the bucket.
|
||||||
|
# accessKeySecret:
|
||||||
|
# name: $mybucket-credentials
|
||||||
|
# key: accessKey
|
||||||
|
# secretKeySecret:
|
||||||
|
# name: $mybucket-credentials
|
||||||
|
# key: secretKey
|
||||||
|
# # 2nd ConfigMap
|
||||||
|
# another-artifact-repositories:
|
||||||
|
# annotations:
|
||||||
|
# workflows.argoproj.io/default-artifact-repository: gcs
|
||||||
|
# gcs:
|
||||||
|
# bucket: my-bucket
|
||||||
|
# keyFormat: prefix/in/bucket/{{workflow.name}}/{{pod.name}}
|
||||||
|
# serviceAccountKeySecret:
|
||||||
|
# name: my-gcs-credentials
|
||||||
|
# key: serviceAccountKey
|
||||||
|
|
||||||
emissary:
|
emissary:
|
||||||
# -- The command/args for each image on workflow, needed when the command is not specified and the emissary executor is used.
|
# -- The command/args for each image on workflow, needed when the command is not specified and the emissary executor is used.
|
||||||
## See more: https://argoproj.github.io/argo-workflows/workflow-executors/#emissary-emissary
|
## See more: https://argoproj.github.io/argo-workflows/workflow-executors/#emissary-emissary
|
||||||
|
|
Loading…
Reference in a new issue