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
|
||||
description: A Helm chart for Argo Workflows
|
||||
type: application
|
||||
version: 0.30.0
|
||||
version: 0.31.0
|
||||
icon: https://argoproj.github.io/argo-workflows/assets/logo.png
|
||||
home: https://github.com/argoproj/argo-helm
|
||||
sources:
|
||||
|
@ -16,5 +16,5 @@ annotations:
|
|||
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
|
||||
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
|
||||
artifacthub.io/changes: |
|
||||
- kind: fixed
|
||||
description: artifactRepository will not be configured by default
|
||||
- kind: added
|
||||
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.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 |
|
||||
| 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) |
|
||||
| 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+
|
||||
## See more: https://argoproj.github.io/argo-workflows/default-workflow-specs/
|
||||
workflowDefaults: {}
|
||||
# spec:
|
||||
# ttlStrategy:
|
||||
# secondsAfterCompletion: 84600
|
||||
# spec:
|
||||
# ttlStrategy:
|
||||
# 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
|
||||
workflowWorkers: # 32
|
||||
|
@ -770,6 +774,59 @@ customArtifactRepository: {}
|
|||
# name: artifactory-creds
|
||||
# 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:
|
||||
# -- 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
|
||||
|
|
Loading…
Reference in a new issue