From 87d6e396a784089bb26e1ed00be331c01587df87 Mon Sep 17 00:00:00 2001 From: Aikawa Date: Tue, 20 Sep 2022 01:10:20 +0900 Subject: [PATCH] chore(argo-workflows): upgrade version v3.4.0 (#1463) * chore(argo-workflows): upgrade version v3.4.0 Signed-off-by: yu-croco * fix(argo-workflows): Remove unsupported attributes on metricsConfig and telemetryConfig, from workflow-controller-configmap Signed-off-by: yu-croco * fix(argo-workflows): update CRDs Signed-off-by: yu-croco * fix(argo-workflows): upgrade CRDs Signed-off-by: yu-croco --- charts/argo-workflows/Chart.yaml | 7 +- charts/argo-workflows/README.md | 8 +- .../argoproj.io_workflowartifactgctasks.yaml | 41 +++++ .../crds/argoproj.io_workflows.yaml | 5 + .../crds/argoproj.io_workflowtaskresults.yaml | 159 ++++++++++++++++++ .../workflow-controller-cluster-roles.yaml | 1 + .../workflow-controller-config-map.yaml | 25 ++- charts/argo-workflows/values.yaml | 21 ++- 8 files changed, 246 insertions(+), 21 deletions(-) create mode 100644 charts/argo-workflows/crds/argoproj.io_workflowartifactgctasks.yaml diff --git a/charts/argo-workflows/Chart.yaml b/charts/argo-workflows/Chart.yaml index b2ea7525..c991b85a 100644 --- a/charts/argo-workflows/Chart.yaml +++ b/charts/argo-workflows/Chart.yaml @@ -1,9 +1,9 @@ apiVersion: v2 -appVersion: v3.3.9 +appVersion: v3.4.0 name: argo-workflows description: A Helm chart for Argo Workflows type: application -version: 0.17.1 +version: 0.18.0 icon: https://raw.githubusercontent.com/argoproj/argo-workflows/master/docs/assets/argo.png home: https://github.com/argoproj/argo-helm sources: @@ -13,4 +13,5 @@ maintainers: url: https://argoproj.github.io/ annotations: artifacthub.io/changes: | - - "[Changed]: Helm chart maintainers standardized to argoproj" + - "[Changed]: Upgrade ArgoWorkflows to v3.4.0" + - "[Fixed]: Remove unsupported attributes on metricsConfig and telemetryConfig, from workflow-controller-configmap" diff --git a/charts/argo-workflows/README.md b/charts/argo-workflows/README.md index 7d14a64f..130a035c 100644 --- a/charts/argo-workflows/README.md +++ b/charts/argo-workflows/README.md @@ -66,8 +66,6 @@ Fields to note: |-----|------|---------|-------------| | controller.affinity | object | `{}` | Assign custom [affinity] rules | | controller.clusterWorkflowTemplates.enabled | bool | `true` | Create a ClusterRole and CRB for the controller to access ClusterWorkflowTemplates. | -| controller.containerRuntimeExecutor | string | `"emissary"` | Specifies the container runtime interface to use (one of: `docker`, `kubelet`, `k8sapi`, `pns`, `emissary`) | -| controller.containerRuntimeExecutors | list | `[]` | Specifies the executor to use. This has precedence over `controller.containerRuntimeExecutor`. | | controller.deploymentAnnotations | object | `{}` | deploymentAnnotations is an optional map of annotations to be applied to the controller Deployment | | controller.extraArgs | list | `[]` | Extra arguments to be added to the controller | | controller.extraContainers | list | `[]` | Extra containers to be added to the controller deployment | @@ -85,9 +83,12 @@ Fields to note: | controller.logging.globallevel | string | `"0"` | Set the glog logging level | | controller.logging.level | string | `"info"` | Set the logging level (one of: `debug`, `info`, `warn`, `error`) | | controller.metricsConfig.enabled | bool | `false` | Enables prometheus metrics server | +| controller.metricsConfig.ignoreErrors | bool | `false` | Flag that instructs prometheus to ignore metric emission errors. | +| controller.metricsConfig.metricsTTL | string | `""` | How often custom metrics are cleared from memory | | controller.metricsConfig.path | string | `"/metrics"` | Path is the path where metrics are emitted. Must start with a "/". | | controller.metricsConfig.port | int | `9090` | Port is the port where metrics are emitted | | controller.metricsConfig.portName | string | `"metrics"` | Container metrics port name | +| controller.metricsConfig.secure | bool | `false` | Flag that use a self-signed cert for TLS | | controller.metricsConfig.servicePort | int | `8080` | Service metrics port | | controller.metricsConfig.servicePortName | string | `"metrics"` | Service metrics port name | | controller.name | string | `"workflow-controller"` | Workflow controller name string | @@ -116,8 +117,11 @@ Fields to note: | controller.serviceMonitor.namespace | string | `""` | Prometheus ServiceMonitor namespace | | controller.serviceType | string | `"ClusterIP"` | Service type of the controller Service | | controller.telemetryConfig.enabled | bool | `false` | Enables prometheus telemetry server | +| controller.telemetryConfig.ignoreErrors | bool | `false` | Flag that instructs prometheus to ignore metric emission errors. | +| controller.telemetryConfig.metricsTTL | string | `""` | How often custom metrics are cleared from memory | | controller.telemetryConfig.path | string | `"/telemetry"` | telemetry path | | controller.telemetryConfig.port | int | `8081` | telemetry container port | +| controller.telemetryConfig.secure | bool | `false` | Flag that use a self-signed cert for TLS | | controller.telemetryConfig.servicePort | int | `8081` | telemetry service port | | controller.telemetryConfig.servicePortName | string | `"telemetry"` | telemetry service port name | | controller.tolerations | list | `[]` | [Tolerations] for use with node taints | diff --git a/charts/argo-workflows/crds/argoproj.io_workflowartifactgctasks.yaml b/charts/argo-workflows/crds/argoproj.io_workflowartifactgctasks.yaml new file mode 100644 index 00000000..dbc98e91 --- /dev/null +++ b/charts/argo-workflows/crds/argoproj.io_workflowartifactgctasks.yaml @@ -0,0 +1,41 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: workflowartifactgctasks.argoproj.io +spec: + group: argoproj.io + names: + kind: WorkflowArtifactGCTask + listKind: WorkflowArtifactGCTaskList + plural: workflowartifactgctasks + shortNames: + - wfat + singular: workflowartifactgctask + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + type: object + x-kubernetes-map-type: atomic + x-kubernetes-preserve-unknown-fields: true + status: + type: object + x-kubernetes-map-type: atomic + x-kubernetes-preserve-unknown-fields: true + required: + - metadata + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/argo-workflows/crds/argoproj.io_workflows.yaml b/charts/argo-workflows/crds/argoproj.io_workflows.yaml index 6e646adc..7a5b598d 100644 --- a/charts/argo-workflows/crds/argoproj.io_workflows.yaml +++ b/charts/argo-workflows/crds/argoproj.io_workflows.yaml @@ -23,6 +23,11 @@ spec: jsonPath: .status.startedAt name: Age type: date + - description: Human readable message indicating details about why the workflow + is in this condition. + jsonPath: .status.message + name: Message + type: string name: v1alpha1 schema: openAPIV3Schema: diff --git a/charts/argo-workflows/crds/argoproj.io_workflowtaskresults.yaml b/charts/argo-workflows/crds/argoproj.io_workflowtaskresults.yaml index 84d60f3e..e76677f7 100644 --- a/charts/argo-workflows/crds/argoproj.io_workflowtaskresults.yaml +++ b/charts/argo-workflows/crds/argoproj.io_workflowtaskresults.yaml @@ -43,6 +43,29 @@ spec: type: object archiveLogs: type: boolean + artifactGC: + properties: + podMetadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + serviceAccountName: + type: string + strategy: + enum: + - "" + - OnWorkflowCompletion + - OnWorkflowDeletion + - Never + type: string + type: object artifactory: properties: passwordSecret: @@ -72,6 +95,34 @@ spec: required: - url type: object + azure: + properties: + accountKeySecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + blob: + type: string + container: + type: string + endpoint: + type: string + useSDKCreds: + type: boolean + required: + - blob + - container + - endpoint + type: object + deleted: + type: boolean from: type: string fromExpression: @@ -98,6 +149,8 @@ spec: type: object git: properties: + branch: + type: string depth: format: int64 type: integer @@ -124,6 +177,8 @@ spec: type: string revision: type: string + singleBranch: + type: boolean sshPrivateKeySecret: properties: key: @@ -207,6 +262,110 @@ spec: type: object http: properties: + auth: + properties: + basicAuth: + properties: + passwordSecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + usernameSecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + clientCert: + properties: + clientCertSecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + clientKeySecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + oauth2: + properties: + clientIDSecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + clientSecretSecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + endpointParams: + items: + properties: + key: + type: string + value: + type: string + required: + - key + type: object + type: array + scopes: + items: + type: string + type: array + tokenURLSecret: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + type: object headers: items: properties: diff --git a/charts/argo-workflows/templates/controller/workflow-controller-cluster-roles.yaml b/charts/argo-workflows/templates/controller/workflow-controller-cluster-roles.yaml index bab7cc23..4b0f389a 100644 --- a/charts/argo-workflows/templates/controller/workflow-controller-cluster-roles.yaml +++ b/charts/argo-workflows/templates/controller/workflow-controller-cluster-roles.yaml @@ -48,6 +48,7 @@ rules: - workflows/finalizers - workflowtasksets - workflowtasksets/finalizers + - workflowartifactgctasks verbs: - get - list diff --git a/charts/argo-workflows/templates/controller/workflow-controller-config-map.yaml b/charts/argo-workflows/templates/controller/workflow-controller-config-map.yaml index 75b4af1a..f0744cf0 100644 --- a/charts/argo-workflows/templates/controller/workflow-controller-config-map.yaml +++ b/charts/argo-workflows/templates/controller/workflow-controller-config-map.yaml @@ -13,11 +13,6 @@ data: instanceID: {{ .Values.controller.instanceID.explicitID }} {{- end }} {{- end }} - containerRuntimeExecutor: {{ .Values.controller.containerRuntimeExecutor }} - {{- with .Values.controller.containerRuntimeExecutors }} - containerRuntimeExecutors: - {{- toYaml . | nindent 6 }} - {{- end }} {{- if .Values.controller.parallelism }} parallelism: {{ .Values.controller.parallelism }} {{- end }} @@ -97,10 +92,26 @@ data: {{- end}} {{- if .Values.controller.metricsConfig.enabled }} metricsConfig: -{{ toYaml .Values.controller.metricsConfig | indent 6}}{{- end }} + enabled: {{ .Values.controller.metricsConfig.enabled }} + path: {{ .Values.controller.metricsConfig.path }} + port: {{ .Values.controller.metricsConfig.port }} + {{- if .Values.controller.metricsConfig.metricsTTL }} + metricsTTL: {{ .Values.controller.metricsConfig.metricsTTL }} + {{- end }} + ignoreErrors: {{ .Values.controller.metricsConfig.ignoreErrors }} + secure: {{ .Values.controller.metricsConfig.secure }} + {{- end }} {{- if .Values.controller.telemetryConfig.enabled }} telemetryConfig: -{{ toYaml .Values.controller.telemetryConfig | indent 6}}{{- end }} + enabled: {{ .Values.controller.telemetryConfig.enabled }} + path: {{ .Values.controller.telemetryConfig.path }} + port: {{ .Values.controller.telemetryConfig.port }} + {{- if .Values.controller.telemetryConfig.metricsTTL }} + metricsTTL: {{ .Values.controller.telemetryConfig.metricsTTL }} + {{- end }} + ignoreErrors: {{ .Values.controller.telemetryConfig.ignoreErrors }} + secure: {{ .Values.controller.telemetryConfig.secure }} + {{- end }} {{- if .Values.controller.persistence }} persistence: {{ toYaml .Values.controller.persistence | indent 6 }}{{- end }} diff --git a/charts/argo-workflows/values.yaml b/charts/argo-workflows/values.yaml index da69440a..578fb1da 100644 --- a/charts/argo-workflows/values.yaml +++ b/charts/argo-workflows/values.yaml @@ -82,6 +82,12 @@ controller: path: /metrics # -- Port is the port where metrics are emitted port: 9090 + # -- How often custom metrics are cleared from memory + metricsTTL: "" + # -- Flag that instructs prometheus to ignore metric emission errors. + ignoreErrors: false + # -- Flag that use a self-signed cert for TLS + secure: false # -- Container metrics port name portName: metrics # -- Service metrics port @@ -142,6 +148,12 @@ controller: path: /telemetry # -- telemetry container port port: 8081 + # -- How often custom metrics are cleared from memory + metricsTTL: "" + # -- Flag that instructs prometheus to ignore metric emission errors. + ignoreErrors: false + # -- Flag that use a self-signed cert for TLS + secure: false # -- telemetry service port servicePort: 8081 # -- telemetry service port name @@ -170,15 +182,6 @@ controller: workflowNamespaces: - default - # -- Specifies the container runtime interface to use (one of: `docker`, `kubelet`, `k8sapi`, `pns`, `emissary`) - ## Ref: https://argoproj.github.io/argo-workflows/workflow-executors/ - containerRuntimeExecutor: emissary - # -- Specifies the executor to use. This has precedence over `controller.containerRuntimeExecutor`. - containerRuntimeExecutors: [] - # - name: emissary - # selector: - # matchLabels: - # workflows.argoproj.io/container-runtime-executor: emissary instanceID: # -- Configures the controller to filter workflow submissions # to only those which have a matching instanceID attribute.