feat(argo-workflows): Support Azure Blob Storage for artifact (#1488)

* feat(argo-workflows): Support Azure Blob Storage for artifact
Signed-off-by: yu-croco <yu.croco@gmail.com>

* chore(argo-workflows): refactor, from if/else to with
Signed-off-by: yu-croco <yu.croco@gmail.com>
This commit is contained in:
Aikawa 2022-09-26 13:11:00 +09:00 committed by GitHub
parent bf2420767b
commit ab2ab593b3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 29 additions and 7 deletions

View file

@ -3,7 +3,7 @@ appVersion: v3.4.0
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.19.3 version: 0.19.4
icon: https://raw.githubusercontent.com/argoproj/argo-workflows/master/docs/assets/argo.png icon: https://raw.githubusercontent.com/argoproj/argo-workflows/master/docs/assets/argo.png
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm
sources: sources:
@ -13,4 +13,4 @@ maintainers:
url: https://argoproj.github.io/ url: https://argoproj.github.io/
annotations: annotations:
artifacthub.io/changes: | artifacthub.io/changes: |
- "[Fixed]: Change default type of `.mainContainer.env` and `.executor.env` from object to array" - "[Added]: Support Azure Blob Storage for artifact"

View file

@ -213,6 +213,7 @@ Fields to note:
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| artifactRepository.archiveLogs | bool | `false` | Archive the main container logs as an artifact | | artifactRepository.archiveLogs | bool | `false` | Archive the main container logs as an artifact |
| 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 |
| useDefaultArtifactRepo | bool | `false` | Influences the creation of the ConfigMap for the workflow-controller itself. | | useDefaultArtifactRepo | bool | `false` | Influences the creation of the ConfigMap for the workflow-controller itself. |

View file

@ -56,10 +56,13 @@ data:
{{- if .Values.artifactRepository.archiveLogs }} {{- if .Values.artifactRepository.archiveLogs }}
archiveLogs: {{ .Values.artifactRepository.archiveLogs }} archiveLogs: {{ .Values.artifactRepository.archiveLogs }}
{{- end }} {{- end }}
{{- if .Values.artifactRepository.gcs }} {{- with .Values.artifactRepository.gcs }}
gcs: gcs: {{- toYaml . | nindent 8 }}
{{ toYaml .Values.artifactRepository.gcs | indent 8}} {{- end }}
{{- else }} {{- with .Values.artifactRepository.azure }}
azure: {{- toYaml . | nindent 8 }}
{{- end }}
{{- if and (not .Values.artifactRepository.gcs) (not .Values.artifactRepository.azure) }}
s3: s3:
{{- if .Values.useStaticCredentials }} {{- if .Values.useStaticCredentials }}
accessKeySecret: accessKeySecret:
@ -89,7 +92,7 @@ data:
{{- toYaml . | nindent 10 }} {{- toYaml . | nindent 10 }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- end}} {{- end }}
{{- if .Values.controller.metricsConfig.enabled }} {{- if .Values.controller.metricsConfig.enabled }}
metricsConfig: metricsConfig:
enabled: {{ .Values.controller.metricsConfig.enabled }} enabled: {{ .Values.controller.metricsConfig.enabled }}

View file

@ -539,3 +539,21 @@ artifactRepository:
# serviceAccountKeySecret: # serviceAccountKeySecret:
# name: my-gcs-credentials # name: my-gcs-credentials
# key: serviceAccountKey # key: serviceAccountKey
# -- Store artifact in Azure Blob Storage
# @default -- `{}` (See [values.yaml])
azure: {}
# endpoint: https://mystorageaccountname.blob.core.windows.net
# container: my-container-name
# blob: path/in/container
## accountKeySecret is a secret selector.
## It references the k8s secret named 'my-azure-storage-credentials'.
## This secret is expected to have have the key 'account-access-key',
## containing the base64 encoded credentials to the storage account.
## If a managed identity has been assigned to the machines running the
## workflow (e.g., https://docs.microsoft.com/en-us/azure/aks/use-managed-identity)
## then accountKeySecret is not needed, and useSDKCreds should be
## set to true instead:
# useSDKCreds: true
# accountKeySecret:
# name: my-azure-storage-credentials
# key: account-access-key