Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions helm/gen3-workflow/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.7
version: 0.1.8

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
Expand All @@ -24,7 +24,7 @@ appVersion: "master"

dependencies:
- name: common
version: 0.1.28
version: 0.1.29
repository: file://../common
- name: funnel
# NOTE:
Expand All @@ -34,5 +34,5 @@ dependencies:
#
# ArgoCD relies on this checked-in .tgz reference — if it's missing,
# Funnel will not be deployed as a dependency.
version: 0.1.58
version: 0.1.71
repository: "https://ohsu-comp-bio.github.io/helm-charts"
18 changes: 7 additions & 11 deletions helm/gen3-workflow/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# gen3-workflow

![Version: 0.1.7](https://img.shields.io/badge/Version-0.1.7-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: master](https://img.shields.io/badge/AppVersion-master-informational?style=flat-square)
![Version: 0.1.8](https://img.shields.io/badge/Version-0.1.8-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: master](https://img.shields.io/badge/AppVersion-master-informational?style=flat-square)

A Helm chart for Kubernetes

## Requirements

| Repository | Name | Version |
|------------|------|---------|
| file://../common | common | 0.1.28 |
| https://ohsu-comp-bio.github.io/helm-charts | funnel | 0.1.58 |
| file://../common | common | 0.1.29 |
| https://ohsu-comp-bio.github.io/helm-charts | funnel | 0.1.71 |

## Values

Expand Down Expand Up @@ -47,14 +47,8 @@ A Helm chart for Kubernetes
| externalSecrets.gen3workflowG3auto | string | `""` | Will override the name of the aws secrets manager secret. Default is "gen3workflow-g3auto" |
| extraLabels | map | `{"dbgen3workflow":"yes","netnolimit":"yes","public":"yes"}` | Will completely override the extraLabels defined in the common chart's _label_setup.tpl |
| fullnameOverride | string | `""` | Override the full name of the chart, which is used as the name of resources created by the chart |
| funnel.Kubernetes.ExecutorTemplate | string | `"# Task Executor\napiVersion: batch/v1\nkind: Job\nmetadata:\n name: {{.TaskId}}-{{.JobId}}\n namespace: {{.JobsNamespace}}\n labels:\n app: funnel-executor\n job-name: {{.TaskId}}-{{.JobId}}\nspec:\n backoffLimit: 1\n completions: 1\n template:\n spec:\n restartPolicy: OnFailure\n serviceAccountName: funnel-sa-{{.Namespace}}\n containers:\n - name: funnel-worker-{{.TaskId}}\n image: {{.Image}}\n imagePullPolicy: Always\n command: [\"/bin/sh\", \"-c\"]\n args: {{.Command}}\n workingDir: {{.Workdir}}\n resources:\n requests:\n cpu: {{if ne .Cpus 0 -}}{{.Cpus}}{{ else }}{{\"100m\"}}{{end}}\n memory: '{{if ne .RamGb 0.0 -}}{{printf \"%.0fG\" .RamGb}}{{else}}{{\"4G\"}}{{end}}'\n ephemeral-storage: '{{if ne .DiskGb 0.0 -}}{{printf \"%.0fG\" .DiskGb}}{{else}}{{\"2G\"}}{{end}}'\n\n volumeMounts:\n ### DO NOT CHANGE THIS\n {{- if .NeedsPVC }}\n {{range $idx, $item := .Volumes}}\n - name: funnel-storage-{{$.TaskId}}\n mountPath: {{$item.ContainerPath}}\n subPath: {{$.TaskId}}{{$item.ContainerPath}}\n {{end}}\n {{- end }}\n\n volumes:\n {{- if .NeedsPVC }}\n - name: funnel-storage-{{.TaskId}}\n persistentVolumeClaim:\n claimName: funnel-worker-pvc-{{.TaskId}}\n {{- end }}\n"` | |
| funnel.Plugins.Params.OidcClientId | string | `"<redacted>"` | |
| funnel.Plugins.Params.OidcClientSecret | string | `"<redacted>"` | |
| funnel.Plugins.Params.OidcTokenUrl | string | `"https://{{ .Values.gen3WorkflowConfig.hostname }}/user"` | OIDC token URL for the Funnel service to use for authentication. Replace {{ .Values.gen3WorkflowConfig.hostname }} with the actual hostname where gen3-workflow is deployed. |
| funnel.Plugins.Params.S3Url | string | `"gen3-workflow-service.{{ .Release.Namespace }}.svc.cluster.local"` | |
| funnel.Plugins.Path | string | `"plugin-binaries/auth-plugin"` | |
| funnel.image | map | `{"initContainers":[{"command":["cp","/app/build/plugins/authorizer","/opt/funnel/plugin-binaries/auth-plugin"],"image":"quay.io/cdis/funnel-gen3-plugin","name":"plugin","pullPolicy":"Always","tag":"main-gen3","volumeMounts":[{"mountPath":"/opt/funnel/plugin-binaries","name":"plugin-volume"}]},{"args":["-c","echo \"Priting FUNNEL_OIDC_CLIENT_ID: $FUNNEL_OIDC_CLIENT_ID\"\n\necho \"Patching values...\"\n\n# Assuming we don't have any other occurence of OidcClientId in the config file\nsed -E \"s|(OidcClientId:).*|\\1 ${FUNNEL_OIDC_CLIENT_ID}|\" /etc/config/funnel.conf \\\n| sed -E \"s|(OidcClientSecret:).*|\\1 ${FUNNEL_OIDC_CLIENT_SECRET}|\" > /tmp/funnel-patched.conf\n\nif [[ ! -s /tmp/funnel-patched.conf ]]; then\n echo \"ERROR: Patched config is empty. Aborting.\"\n exit 1\nfi\n"],"command":["/bin/bash"],"env":[{"name":"FUNNEL_OIDC_CLIENT_ID","valueFrom":{"secretKeyRef":{"key":"client_id","name":"funnel-oidc-client","optional":false}}},{"name":"FUNNEL_OIDC_CLIENT_SECRET","valueFrom":{"secretKeyRef":{"key":"client_secret","name":"funnel-oidc-client","optional":false}}}],"image":"quay.io/cdis/awshelper","name":"secrets-updater","tag":"master","volumeMounts":[{"mountPath":"/tmp","name":"funnel-patched-config-volume"},{"mountPath":"/etc/config/funnel.conf","name":"funnel-config-volume","subPath":"funnel-server.yaml"}]}],"pullPolicy":"Always","repository":"quay.io/ohsu-comp-bio/funnel"}` | Configuration for the Funnel container image. |
| funnel.image.initContainers | map | `[{"command":["cp","/app/build/plugins/authorizer","/opt/funnel/plugin-binaries/auth-plugin"],"image":"quay.io/cdis/funnel-gen3-plugin","name":"plugin","pullPolicy":"Always","tag":"main-gen3","volumeMounts":[{"mountPath":"/opt/funnel/plugin-binaries","name":"plugin-volume"}]},{"args":["-c","echo \"Priting FUNNEL_OIDC_CLIENT_ID: $FUNNEL_OIDC_CLIENT_ID\"\n\necho \"Patching values...\"\n\n# Assuming we don't have any other occurence of OidcClientId in the config file\nsed -E \"s|(OidcClientId:).*|\\1 ${FUNNEL_OIDC_CLIENT_ID}|\" /etc/config/funnel.conf \\\n| sed -E \"s|(OidcClientSecret:).*|\\1 ${FUNNEL_OIDC_CLIENT_SECRET}|\" > /tmp/funnel-patched.conf\n\nif [[ ! -s /tmp/funnel-patched.conf ]]; then\n echo \"ERROR: Patched config is empty. Aborting.\"\n exit 1\nfi\n"],"command":["/bin/bash"],"env":[{"name":"FUNNEL_OIDC_CLIENT_ID","valueFrom":{"secretKeyRef":{"key":"client_id","name":"funnel-oidc-client","optional":false}}},{"name":"FUNNEL_OIDC_CLIENT_SECRET","valueFrom":{"secretKeyRef":{"key":"client_secret","name":"funnel-oidc-client","optional":false}}}],"image":"quay.io/cdis/awshelper","name":"secrets-updater","tag":"master","volumeMounts":[{"mountPath":"/tmp","name":"funnel-patched-config-volume"},{"mountPath":"/etc/config/funnel.conf","name":"funnel-config-volume","subPath":"funnel-server.yaml"}]}]` | Configuration for the Funnel init container. |
| funnel.image | map | `{"initContainers":[{"command":["cp","/app/build/plugins/authorizer","/opt/funnel/plugin-binaries/auth-plugin"],"image":"quay.io/cdis/funnel-gen3-plugin","name":"plugin","pullPolicy":"Always","tag":"main-gen3","volumeMounts":[{"mountPath":"/opt/funnel/plugin-binaries","name":"plugin-volume"}]},{"args":["while [ $(curl -sw '%{http_code}' http://fence-service -o /dev/null) -ne 200 ]; do sleep 5; echo 'Waiting for fence...'; done; curl -s 'http://fence-service/.well-known/openid-configuration' > /tmp/openid-config.json"],"command":["/bin/sh","-c"],"image":"curlimages/curl","imagePullPolicy":"IfNotPresent","name":"fence-url-fetcher","tag":"latest","volumeMounts":[{"mountPath":"/tmp","name":"funnel-patched-config-volume"}]},{"args":["-c","echo \"Priting FUNNEL_OIDC_CLIENT_ID: $FUNNEL_OIDC_CLIENT_ID\"\n\nnamespace=$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace)\nexport JOBS_NAMESPACE=gen3-$namespace-workflow-pods\nexport S3_URL=gen3-workflow-service.$namespace.svc.cluster.local\nexport OIDC_TOKEN_URL=$(cat /tmp/openid-config.json | jq -r \".issuer\")\n\necho \"Patching values...\"\n\nyq -y '.Kubernetes.JobsNamespace = env.JOBS_NAMESPACE | .Plugins = {\n \"Path\": \"plugin-binaries/auth-plugin\",\n \"Params\": {\n \"OidcClientId\": env.FUNNEL_OIDC_CLIENT_ID,\n \"OidcClientSecret\": env.FUNNEL_OIDC_CLIENT_SECRET,\n \"OidcTokenUrl\": env.OIDC_TOKEN_URL,\n \"S3Url\": env.S3_URL\n }\n}' /etc/config/funnel.conf > /tmp/funnel-patched.conf\n\nif [[ ! -s /tmp/funnel-patched.conf ]]; then\n echo \"ERROR: Patched config is empty. Aborting.\"\n exit 1\nfi\n"],"command":["/bin/bash"],"env":[{"name":"FUNNEL_OIDC_CLIENT_ID","valueFrom":{"secretKeyRef":{"key":"client_id","name":"funnel-oidc-client","optional":false}}},{"name":"FUNNEL_OIDC_CLIENT_SECRET","valueFrom":{"secretKeyRef":{"key":"client_secret","name":"funnel-oidc-client","optional":false}}}],"image":"quay.io/cdis/awshelper","name":"secrets-updater","tag":"master","volumeMounts":[{"mountPath":"/tmp","name":"funnel-patched-config-volume"},{"mountPath":"/etc/config/funnel.conf","name":"funnel-config-volume","subPath":"funnel-server.yaml"}]}],"pullPolicy":"Always","repository":"quay.io/ohsu-comp-bio/funnel"}` | Configuration for the Funnel container image. |
| funnel.image.initContainers | map | `[{"command":["cp","/app/build/plugins/authorizer","/opt/funnel/plugin-binaries/auth-plugin"],"image":"quay.io/cdis/funnel-gen3-plugin","name":"plugin","pullPolicy":"Always","tag":"main-gen3","volumeMounts":[{"mountPath":"/opt/funnel/plugin-binaries","name":"plugin-volume"}]},{"args":["while [ $(curl -sw '%{http_code}' http://fence-service -o /dev/null) -ne 200 ]; do sleep 5; echo 'Waiting for fence...'; done; curl -s 'http://fence-service/.well-known/openid-configuration' > /tmp/openid-config.json"],"command":["/bin/sh","-c"],"image":"curlimages/curl","imagePullPolicy":"IfNotPresent","name":"fence-url-fetcher","tag":"latest","volumeMounts":[{"mountPath":"/tmp","name":"funnel-patched-config-volume"}]},{"args":["-c","echo \"Priting FUNNEL_OIDC_CLIENT_ID: $FUNNEL_OIDC_CLIENT_ID\"\n\nnamespace=$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace)\nexport JOBS_NAMESPACE=gen3-$namespace-workflow-pods\nexport S3_URL=gen3-workflow-service.$namespace.svc.cluster.local\nexport OIDC_TOKEN_URL=$(cat /tmp/openid-config.json | jq -r \".issuer\")\n\necho \"Patching values...\"\n\nyq -y '.Kubernetes.JobsNamespace = env.JOBS_NAMESPACE | .Plugins = {\n \"Path\": \"plugin-binaries/auth-plugin\",\n \"Params\": {\n \"OidcClientId\": env.FUNNEL_OIDC_CLIENT_ID,\n \"OidcClientSecret\": env.FUNNEL_OIDC_CLIENT_SECRET,\n \"OidcTokenUrl\": env.OIDC_TOKEN_URL,\n \"S3Url\": env.S3_URL\n }\n}' /etc/config/funnel.conf > /tmp/funnel-patched.conf\n\nif [[ ! -s /tmp/funnel-patched.conf ]]; then\n echo \"ERROR: Patched config is empty. Aborting.\"\n exit 1\nfi\n"],"command":["/bin/bash"],"env":[{"name":"FUNNEL_OIDC_CLIENT_ID","valueFrom":{"secretKeyRef":{"key":"client_id","name":"funnel-oidc-client","optional":false}}},{"name":"FUNNEL_OIDC_CLIENT_SECRET","valueFrom":{"secretKeyRef":{"key":"client_secret","name":"funnel-oidc-client","optional":false}}}],"image":"quay.io/cdis/awshelper","name":"secrets-updater","tag":"master","volumeMounts":[{"mountPath":"/tmp","name":"funnel-patched-config-volume"},{"mountPath":"/etc/config/funnel.conf","name":"funnel-config-volume","subPath":"funnel-server.yaml"}]}]` | Configuration for the Funnel init container. |
| funnel.image.initContainers[0].command | list | `["cp","/app/build/plugins/authorizer","/opt/funnel/plugin-binaries/auth-plugin"]` | Arguments to pass to the init container. |
| funnel.image.initContainers[0].image | string | `"quay.io/cdis/funnel-gen3-plugin"` | The Docker image repository for the Funnel init/plugin container. |
| funnel.image.initContainers[0].pullPolicy | string | `"Always"` | When to pull the image. This value should be "Always" to ensure the latest image is used. |
Expand All @@ -66,6 +60,8 @@ A Helm chart for Kubernetes
| funnel.mongodb.readinessProbe.initialDelaySeconds | int | `20` | |
| funnel.mongodb.readinessProbe.periodSeconds | int | `10` | |
| funnel.mongodb.readinessProbe.timeoutSeconds | int | `10` | |
| funnel.resources.requests.ephemeral_storage | string | `"2Gi"` | |
| funnel.resources.requests.memory | string | `"2Gi"` | |
| funnel.volumeMounts[0].mountPath | string | `"/etc/config/funnel-server.yaml"` | |
| funnel.volumeMounts[0].name | string | `"funnel-patched-config-volume"` | |
| funnel.volumeMounts[0].subPath | string | `"funnel-patched.conf"` | |
Expand Down
Binary file removed helm/gen3-workflow/charts/funnel-0.1.58.tgz
Binary file not shown.
Binary file added helm/gen3-workflow/charts/funnel-0.1.71.tgz
Binary file not shown.
3 changes: 2 additions & 1 deletion helm/gen3-workflow/templates/crossplane.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@ spec:
"iam:PutRolePolicy",
"iam:GetRole",
"iam:GetRolePolicy",
"iam:TagRole"
"iam:TagRole",
"iam:UpdateAssumeRolePolicy"
],
"Resource": [
"arn:aws:iam::*:role/gen3wf-*",
Expand Down
8 changes: 5 additions & 3 deletions helm/gen3-workflow/templates/jobs-namespace.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
{{- if and .Values.funnel.Kubernetes.JobsNamespace (ne .Values.funnel.Kubernetes.JobsNamespace .Release.Namespace) -}}
{{- $jobsNamespace := default (printf "gen3-%s-workflow-pods" .Release.Namespace) .Values.funnel.Kubernetes.JobsNamespace }}

{{- if ne $jobsNamespace .Release.Namespace }}
apiVersion: v1
kind: Namespace
metadata:
name: {{ .Values.funnel.Kubernetes.JobsNamespace | quote }}
name: {{ $jobsNamespace | quote }}
labels:
app.kubernetes.io/name: {{ .Values.funnel.Kubernetes.JobsNamespace | quote }}
app.kubernetes.io/name: {{ $jobsNamespace | quote }}
{{- end }}
2 changes: 1 addition & 1 deletion helm/gen3-workflow/templates/netpolicy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

{{ if .Values.global.netPolicy.enabled }}

{{ $jobsNamespace := .Values.funnel.Kubernetes.JobsNamespace | default .Release.Namespace }}
{{- $jobsNamespace := default (printf "gen3-%s-workflow-pods" .Release.Namespace) .Values.funnel.Kubernetes.JobsNamespace }}

---
# Funnel needs both ingress and egress to/from gen3-workflow and funnel-mongodb
Expand Down
2 changes: 1 addition & 1 deletion helm/gen3-workflow/templates/secrets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ stringData:
# EKS CLUSTER #
#################

WORKER_PODS_NAMESPACE: {{ .Values.funnel.Kubernetes.JobsNamespace | default .Release.Namespace }}
WORKER_PODS_NAMESPACE: {{ .Values.funnel.Kubernetes.JobsNamespace | default (printf "gen3-%s-workflow-pods" .Release.Namespace) }}
EKS_CLUSTER_NAME: {{ .Values.global.clusterName }}
EKS_CLUSTER_REGION: {{ .Values.global.aws.region }}
{{- end }}
89 changes: 29 additions & 60 deletions helm/gen3-workflow/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -378,6 +378,16 @@ funnel:
volumeMounts:
- name: plugin-volume
mountPath: /opt/funnel/plugin-binaries
- name: fence-url-fetcher
image: curlimages/curl
tag: latest
imagePullPolicy: IfNotPresent
command: ["/bin/sh", "-c"]
args:
- "while [ $(curl -sw '%{http_code}' http://fence-service -o /dev/null) -ne 200 ]; do sleep 5; echo 'Waiting for fence...'; done; curl -s 'http://fence-service/.well-known/openid-configuration' > /tmp/openid-config.json"
volumeMounts:
- name: funnel-patched-config-volume
mountPath: /tmp
- name: secrets-updater
image: quay.io/cdis/awshelper
tag: master
Expand Down Expand Up @@ -406,11 +416,22 @@ funnel:
- |
echo "Priting FUNNEL_OIDC_CLIENT_ID: $FUNNEL_OIDC_CLIENT_ID"

namespace=$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace)
export JOBS_NAMESPACE=gen3-$namespace-workflow-pods
export S3_URL=gen3-workflow-service.$namespace.svc.cluster.local
export OIDC_TOKEN_URL=$(cat /tmp/openid-config.json | jq -r ".issuer")

echo "Patching values..."

# Assuming we don't have any other occurence of OidcClientId in the config file
sed -E "s|(OidcClientId:).*|\1 ${FUNNEL_OIDC_CLIENT_ID}|" /etc/config/funnel.conf \
| sed -E "s|(OidcClientSecret:).*|\1 ${FUNNEL_OIDC_CLIENT_SECRET}|" > /tmp/funnel-patched.conf
yq -y '.Kubernetes.JobsNamespace = env.JOBS_NAMESPACE | .Plugins = {
"Path": "plugin-binaries/auth-plugin",
"Params": {
"OidcClientId": env.FUNNEL_OIDC_CLIENT_ID,
"OidcClientSecret": env.FUNNEL_OIDC_CLIENT_SECRET,
"OidcTokenUrl": env.OIDC_TOKEN_URL,
"S3Url": env.S3_URL
}
}' /etc/config/funnel.conf > /tmp/funnel-patched.conf

if [[ ! -s /tmp/funnel-patched.conf ]]; then
echo "ERROR: Patched config is empty. Aborting."
Expand Down Expand Up @@ -455,53 +476,11 @@ funnel:
- name: plugin-volume
mountPath: /opt/funnel/plugin-binaries

Kubernetes:
ExecutorTemplate: |
# Task Executor
apiVersion: batch/v1
kind: Job
metadata:
name: {{.TaskId}}-{{.JobId}}
namespace: {{.JobsNamespace}}
labels:
app: funnel-executor
job-name: {{.TaskId}}-{{.JobId}}
spec:
backoffLimit: 1
completions: 1
template:
spec:
restartPolicy: OnFailure
serviceAccountName: funnel-sa-{{.Namespace}}
containers:
- name: funnel-worker-{{.TaskId}}
image: {{.Image}}
imagePullPolicy: Always
command: ["/bin/sh", "-c"]
args: {{.Command}}
workingDir: {{.Workdir}}
resources:
requests:
cpu: {{if ne .Cpus 0 -}}{{.Cpus}}{{ else }}{{"100m"}}{{end}}
memory: '{{if ne .RamGb 0.0 -}}{{printf "%.0fG" .RamGb}}{{else}}{{"4G"}}{{end}}'
ephemeral-storage: '{{if ne .DiskGb 0.0 -}}{{printf "%.0fG" .DiskGb}}{{else}}{{"2G"}}{{end}}'

volumeMounts:
### DO NOT CHANGE THIS
{{- if .NeedsPVC }}
{{range $idx, $item := .Volumes}}
- name: funnel-storage-{{$.TaskId}}
mountPath: {{$item.ContainerPath}}
subPath: {{$.TaskId}}{{$item.ContainerPath}}
{{end}}
{{- end }}

volumes:
{{- if .NeedsPVC }}
- name: funnel-storage-{{.TaskId}}
persistentVolumeClaim:
claimName: funnel-worker-pvc-{{.TaskId}}
{{- end }}
resources:
requests:
memory: "2Gi"
ephemeral_storage: "2Gi"

mongodb:
# This overrides the default mongodb image used by Funnel which doesn't support ARM architecture,
# uncomment this if you're running it on an ARM chipset machine
Expand All @@ -516,16 +495,6 @@ funnel:
periodSeconds: 10
failureThreshold: 10

Plugins:
Path: plugin-binaries/auth-plugin
Params:
OidcClientId: <redacted>
OidcClientSecret: <redacted>
# Replace {{ .Release.Namespace }} with the actual namespace where gen3-workflow is deployed
S3Url: gen3-workflow-service.{{ .Release.Namespace }}.svc.cluster.local
# -- (string) OIDC token URL for the Funnel service to use for authentication. Replace {{ .Values.gen3WorkflowConfig.hostname }} with the actual hostname where gen3-workflow is deployed.
OidcTokenUrl: https://{{ .Values.gen3WorkflowConfig.hostname }}/user

karpenter:
nodeclass.yaml: |
apiVersion: karpenter.k8s.aws/v1
Expand Down
4 changes: 2 additions & 2 deletions helm/gen3/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ dependencies:
repository: "file://../gen3-user-data-library"
condition: gen3-user-data-library.enabled
- name: gen3-workflow
version: 0.1.7
version: 0.1.8
repository: "file://../gen3-workflow"
condition: gen3-workflow.enabled
- name: guppy
Expand Down Expand Up @@ -177,7 +177,7 @@ type: application
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)

version: 0.2.115
version: 0.2.116

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
Expand Down
Loading
Loading