From 62b4f0f90fac07fe2b3a3c45fbe6c96814e8145d Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Mon, 7 Jun 2021 14:53:35 -0400 Subject: [PATCH 01/55] Documentation of extraFileMappings --- README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/README.md b/README.md index 30513d89..76150767 100644 --- a/README.md +++ b/README.md @@ -258,6 +258,24 @@ jobHandlers: failureThreshhold: 3 ``` +## Extra File Mappings + +The `extraFileMappings` field can be used to inject files to arbitrary paths in the `job`, `web`, or `workflow` handlers. The contents of the file can be specified directly in the `values.yml` file with the `content` attribute, or by specifying the path to the file to be injected with the `path` attribute. + +```yaml +extraFileMappings: + /galaxy/server/static/welcome.html: + applyToWeb: true + applyToJob: false + applyToWorkflow: false + content: | + + ... + /galaxy/server/config/object_store_conf.xml: + applyToWeb: true + path: files/config/object_store_conf.xml +``` + ## Setting parameters on the command line Specify each parameter using the `--set key=value[,key=value]` argument to From 6ff43391d6179a81d4639ab36918a4e536518e8a Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Mon, 7 Jun 2021 16:07:47 -0400 Subject: [PATCH 02/55] Added note about external files --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 76150767..35a8f4a5 100644 --- a/README.md +++ b/README.md @@ -276,6 +276,12 @@ extraFileMappings: path: files/config/object_store_conf.xml ``` +**NOTE** for security reasons Helm will not load files from outside the chart so the `path` must be a relative path to location inside the chart directory. This will change when [helm#3276](https://github.com/helm/helm/issues/3276) is resolved. In the interim files can be loaded from external locations by: + +1. Creating a symbolic link in the chart directory to the external file, or +2. using `--set-file` to specify the contents of the file. E.g: + `helm upgrade --install galaxy cloudve/galaxy -n galaxy --set-file extraFileMappings."/galaxy/server/static/welcome\.html".content=/home/user/data/welcome.html` + ## Setting parameters on the command line Specify each parameter using the `--set key=value[,key=value]` argument to From 50e2e6f4bee6a800fa06c21958ffa05ae039faff Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Thu, 8 Jul 2021 12:36:45 -0400 Subject: [PATCH 03/55] Add GTN webhook --- galaxy/templates/configmap-nginx.yaml | 4 +++- galaxy/values.yaml | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/galaxy/templates/configmap-nginx.yaml b/galaxy/templates/configmap-nginx.yaml index 39d3996b..5a62ce03 100644 --- a/galaxy/templates/configmap-nginx.yaml +++ b/galaxy/templates/configmap-nginx.yaml @@ -61,7 +61,9 @@ data: add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff; } - + location /training-material/ { + proxy_pass https://training.galaxyproject.org/training-material/; + } # end server } # end http diff --git a/galaxy/values.yaml b/galaxy/values.yaml index 55e71f97..909103ea 100644 --- a/galaxy/values.yaml +++ b/galaxy/values.yaml @@ -194,6 +194,7 @@ ingress: - host: ~ paths: - path: "/galaxy" + - path: "/training-material" tls: [] # - secretName: chart-example-tls # hosts: From 5b2d170ddffd5b9f99f76a3ffa79de662456e8d5 Mon Sep 17 00:00:00 2001 From: Pablo Moreno Date: Mon, 19 Dec 2022 17:21:27 +0000 Subject: [PATCH 04/55] Required extra steps to bring down deployment --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 1c155f0b..74912bc4 100644 --- a/README.md +++ b/README.md @@ -95,6 +95,21 @@ To uninstall/delete the `my-galaxy` deployment, run: helm delete my-galaxy ``` +if you see that some RabbitMQ and Postgres elements remain after some 10 minutes or more, you should be able to issue: + +``` +kubectl delete RabbitmqCluster/my-galaxy-rabbitmq-server +kubectl delete statefulset/galaxy-my-galaxy-postgres +``` + +it might be needed to remove the finalizer from the RabbitmqCluster if the above doesn't seem to get rid of RabbitmqCluster, through a + +``` +kubectl edit RabbitmqCluster/my-galaxy-rabbitmq-server +``` + +Consider as well that if you set persistence to be enabled, Postgres and Galaxy will leave their PVCs behind, which you might want to delete or not depending on your use case. + ## Configuration The following table lists the configurable parameters of the Galaxy chart. The From 11bd8dfb82152efcb121d1216541d220ec56ce7d Mon Sep 17 00:00:00 2001 From: Pablo Moreno Date: Mon, 19 Dec 2022 17:44:48 +0000 Subject: [PATCH 05/55] Add finalizer removal --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index 74912bc4..5b185378 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,22 @@ it might be needed to remove the finalizer from the RabbitmqCluster if the above kubectl edit RabbitmqCluster/my-galaxy-rabbitmq-server ``` +and remove the finalizer in: + +``` +apiVersion: rabbitmq.com/v1beta1 +kind: RabbitmqCluster +metadata: + annotations: + meta.helm.sh/release-name: my-galaxy + meta.helm.sh/release-namespace: default + creationTimestamp: "2022-12-19T16:54:33Z" + deletionGracePeriodSeconds: 0 + deletionTimestamp: "2022-12-19T17:41:40Z" + finalizers: + - deletion.finalizers.rabbitmqclusters.rabbitmq.com +``` + Consider as well that if you set persistence to be enabled, Postgres and Galaxy will leave their PVCs behind, which you might want to delete or not depending on your use case. ## Configuration From 2f3d71293f3656d353c8bce7e6a5062926de0793 Mon Sep 17 00:00:00 2001 From: Pablo Moreno Date: Mon, 19 Dec 2022 17:47:49 +0000 Subject: [PATCH 06/55] Add removal of postgres secret --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5b185378..cc9bc259 100644 --- a/README.md +++ b/README.md @@ -108,7 +108,7 @@ it might be needed to remove the finalizer from the RabbitmqCluster if the above kubectl edit RabbitmqCluster/my-galaxy-rabbitmq-server ``` -and remove the finalizer in: +remove the finalizer in: ``` apiVersion: rabbitmq.com/v1beta1 @@ -124,6 +124,12 @@ metadata: - deletion.finalizers.rabbitmqclusters.rabbitmq.com ``` +and remove the postgres secret: + +``` +kubectl delete secrets/standby.galaxy-galaxy-dev-postgres.credentials.postgresql.acid.zalan.do +``` + Consider as well that if you set persistence to be enabled, Postgres and Galaxy will leave their PVCs behind, which you might want to delete or not depending on your use case. ## Configuration From fd2beea011a95ee0292e7f68846dc710a351384f Mon Sep 17 00:00:00 2001 From: Pablo Moreno Date: Mon, 19 Dec 2022 17:48:26 +0000 Subject: [PATCH 07/55] Fix deploy name --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cc9bc259..636b9c65 100644 --- a/README.md +++ b/README.md @@ -127,7 +127,7 @@ metadata: and remove the postgres secret: ``` -kubectl delete secrets/standby.galaxy-galaxy-dev-postgres.credentials.postgresql.acid.zalan.do +kubectl delete secrets/standby.galaxy-my-galaxy-postgres.credentials.postgresql.acid.zalan.do ``` Consider as well that if you set persistence to be enabled, Postgres and Galaxy will leave their PVCs behind, which you might want to delete or not depending on your use case. From ac7851263e23cd8f387b8d55bb270dac906f79f5 Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Wed, 15 Feb 2023 17:34:40 -0500 Subject: [PATCH 08/55] Add a flag to enable the hook and parameterize the url --- galaxy/templates/configmap-nginx.yaml | 4 +++- galaxy/values.yaml | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/galaxy/templates/configmap-nginx.yaml b/galaxy/templates/configmap-nginx.yaml index 5a62ce03..686aa9af 100644 --- a/galaxy/templates/configmap-nginx.yaml +++ b/galaxy/templates/configmap-nginx.yaml @@ -61,9 +61,11 @@ data: add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff; } +{{- if .Values.trainingHook.enabled }} location /training-material/ { - proxy_pass https://training.galaxyproject.org/training-material/; + proxy_pass {{ .Values.trainingHook.url }}; } +{{- end }} # end server } # end http diff --git a/galaxy/values.yaml b/galaxy/values.yaml index 909103ea..8640d2a9 100644 --- a/galaxy/values.yaml +++ b/galaxy/values.yaml @@ -12,6 +12,10 @@ image: imagePullSecrets: [] +trainingHook: + enabled: true + url: https://training.galaxyproject.org/training-material/ + service: type: ClusterIP port: 8000 From eefbc054604ffb76a391b3e1d628cb46e0dc3e6f Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Tue, 28 Mar 2023 17:40:40 -0400 Subject: [PATCH 09/55] First pass at a YamlDoc like utility to generate documentation from comments in the values.yaml file. --- VALUES.md | 49 ++++++++++++++++ galaxy/values.yaml | 84 +++++++++++++++++++++------- scripts/values_table.py | 10 +++- scripts/yamldoc.py | 120 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 241 insertions(+), 22 deletions(-) create mode 100644 VALUES.md create mode 100644 scripts/yamldoc.py diff --git a/VALUES.md b/VALUES.md new file mode 100644 index 00000000..0585741d --- /dev/null +++ b/VALUES.md @@ -0,0 +1,49 @@ +| Key | Description | +| nameOverride | Partial override of the `galaxy.fullname`. The `.Release.Name` will be prepended to generate the fullname. | +| fullnameOverride | Fully override the `galaxy.fullname` | +| image.repository | Repository containing the Galaxy image. | +| image.tag | Galaxy Docker image tag (generally corresponds to the desired Galaxy version) | +| image.pullPolicy | Galaxy image [pull policy](https://kubernetes.io/docs/concepts/configuration/overview/#container-images) | +| imagePullSecrets | Secrets used to [access a Galaxy image from a private repository](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) | +| trainingHook.enabled | Enable the GTN webhook to link references to tools in tutorials to the corresponding tool panel in Galaxy. | +| trainingHook.url | The training material server used to service the training-material webhook. | +| service.type | The Galaxy service type | +| service.port | The port Galaxy is listening to | +| service.nodePort | The external port exposed on each node | +| metrics.enabled | Enable the metrics server. Defaults to `false` | +| serviceAccount.create | Specifies whether a service account should be created | +| serviceAccount.annotations | Annotations to add to the service account | +| serviceAccount.name | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | +| rbac.enabled | Does the cluster use role based access control. | +| securityContext.fsGroup | Security context and file system group used by jobs. | +| persistence | Configure the PVC used by Galaxy for local storage. | +| persistence.enabled | Persistence is enabled by default | +| persistence.name | Name of the PVC to create | +| persistence.storageClass | StorageClass for the PVC. Must support `ReadWriteMany`. | +| persistence.existingClaim | The name of an existing PVC to use for persistence. | +| setupJob | tasks to perform once after installation | +| setupJob.createDatabase | create the database | +| setupJob.securityContext.runAsUser | the setup jobs will run as this user | +| setupJob.securityContext.runAsGroup | the `runAsUser` will belong to this group. | +| setupJob.securityContext.fsGroup | the filesystem group | +| setupJob.downloadToolConfs.archives.startup | A tar.gz publicly accessible archive containing AT LEAST conf files and XML tool wrappers. Meant to be enough for Galaxy handlers to startup | +| setupJob.downloadToolConfs.archives.running | A tar.gz publicly accessible archive containing AT LEAST confs, tool wrappers, and scripts excluding test data. Meant to be enough for Galaxy handlers to run jobs. | +| setupJob.downloadToolConfs.archives.full | A tar.gz publicly accessible archive containing the full `tools` directory, including each tool's test data. Meant to be enough to run automated tool-tests, fully mimicking CVMFS setup | +| extraInitContainers | Allow users to specify extra init containers | +| ingress.enabled | Should ingress be enabled. Defaults to `true` | +| ingress.ingressClassName | | +| resources.requests | We recommend updating these based on the usage levels of the server. | +| postgresql.deploy | Whether to deploy the postgresl operator. In general, we recommend installing the operator globally in production. | +| postgresql.existingDatabase | hostname and port of an existing database to use. | +| refdata | Configuration block for reference data | +| refdata.enabled | Whether or not to mount cloud-hosted Galaxy reference data and tools. | +| refdata.type | `s3fs` or `cvmfs`, determines the CSI to use for mounting reference data. `cvmfs` is the default and recommended for the time being. | +| cvmfs | Configuration block if `cvmfs` is used as `refdata.type` | +| cvmfs.deploy | Deploy the Galaxy-CVMFS-CSI Helm Chart. This is an optional dependency, and for production scenarios it should be deployed separately as a cluster-wide resource | +| s3csi | Configuration block if `s3csi` is used as the `refdata.type` | +| s3csi.deploy | Deploy the CSI-S3 Helm Chart. This is an optional dependency, and for production scenarios it should be deployed separately as a cluster-wide resource. | +| useSecretConfigs | When this flag is set to true, all configs will be set in secrets, when it is set to false, all configs will be set in configmaps | +| configs | All config files will be relative to `/galaxy/server/config/` directory | +| configs.galaxy\.yml | Galaxy configuration. See the [Galaxy documentation](https://docs.galaxyproject.org/en/master/admin/config.html) for more information. | +| jobs | Additional dynamic rules to map into the container. | +| jobs.priorityClass.enabled | Assign a [priorityClass](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass) to the dispatched jobs. | diff --git a/galaxy/values.yaml b/galaxy/values.yaml index a181407c..0d5a994d 100644 --- a/galaxy/values.yaml +++ b/galaxy/values.yaml @@ -1,19 +1,34 @@ # Default values for Galaxy. # Declare variables to be passed into your templates. +#- Partial override of the `galaxy.fullname`. The `.Release.Name` will be prepended to generate the fullname. nameOverride: "" +#- Fully override the `galaxy.fullname` fullnameOverride: "" image: + #- Repository containing the Galaxy image. repository: quay.io/galaxyproject/galaxy-min + #- Galaxy Docker image tag (generally corresponds to the desired Galaxy version) tag: "23.0" # Value must be quoted + #- Galaxy image [pull policy](https://kubernetes.io/docs/concepts/configuration/overview/#container-images) pullPolicy: IfNotPresent +#- Secrets used to [access a Galaxy image from a private repository](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) imagePullSecrets: [] +trainingHook: + #- Enable the GTN webhook to link references to tools in tutorials to the corresponding tool panel in Galaxy. + enabled: true + #- The training material server used to service the training-material webhook. + url: https://training.galaxyproject.org/training-material/ + service: + #- The Galaxy service type type: ClusterIP + #- The port Galaxy is listening to port: 8000 + #- The external port exposed on each node nodePort: 30700 workflowHandlers: @@ -141,6 +156,7 @@ celeryBeat: timeoutSeconds: 10 metrics: + #- Enable the metrics server. Defaults to `false` enabled: false annotations: {} podAnnotations: {} @@ -151,25 +167,32 @@ metrics: pullPolicy: IfNotPresent serviceAccount: - # Specifies whether a service account should be created + #- Specifies whether a service account should be created create: true - # Annotations to add to the service account + #- Annotations to add to the service account annotations: {} - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template + #- The name of the service account to use. + #- If not set and create is true, a name is generated using the fullname template name: "" rbac: + #- Does the cluster use role based access control. enabled: true securityContext: + #- Security context and file system group used by jobs. fsGroup: 101 +#- Configure the PVC used by Galaxy for local storage. persistence: + #- Persistence is enabled by default enabled: true + #- Name of the PVC to create name: galaxy-pvc annotations: {} + #- StorageClass for the PVC. Must support `ReadWriteMany`. storageClass: "" + #- The name of an existing PVC to use for persistence. existingClaim: null accessMode: ReadWriteMany size: 5Gi @@ -184,11 +207,16 @@ extraVolumeMounts: [] # - name: shared-data # mountPath: /mnt/project/shared-data +#- tasks to perform once after installation setupJob: + #- create the database createDatabase: true securityContext: + #- the setup jobs will run as this user runAsUser: 101 + #- the `runAsUser` will belong to this group. runAsGroup: 101 + #- the filesystem group fsGroup: 101 ttlSecondsAfterFinished: 300 downloadToolConfs: @@ -198,18 +226,19 @@ setupJob: subPath: cvmfsclone # on galaxy-data volume (avoid config, tools, lib, etc...) mountPath: /cvmfs/cloud.galaxyproject.org archives: - # A tar.gz publicly accessible archive containing AT LEAST conf files and XML tool wrappers. - # Meant to be enough for Galaxy handlers to startup + #- A tar.gz publicly accessible archive containing AT LEAST conf files and XML tool wrappers. + #- Meant to be enough for Galaxy handlers to startup startup: https://storage.googleapis.com/cloud-cvmfs/startup.tar.gz - # A tar.gz publicly accessible archive containing AT LEAST confs, tool wrappers, and scripts - # excluding test data. - # Meant to be enough for Galaxy handlers to run jobs. + #- A tar.gz publicly accessible archive containing AT LEAST confs, tool wrappers, and scripts + #- excluding test data. + #- Meant to be enough for Galaxy handlers to run jobs. running: https://storage.googleapis.com/cloud-cvmfs/partial.tar.gz - # A tar.gz publicly accessible archive containing the full `tools` directory, - # including each tool's test data. - # Meant to be enough to run automated tool-tests, fully mimicking CVMFS setup + #- A tar.gz publicly accessible archive containing the full `tools` directory, + #- including each tool's test data. + #- Meant to be enough to run automated tool-tests, fully mimicking CVMFS setup full: https://storage.googleapis.com/cloud-cvmfs/contents.tar.gz +#- Allow users to specify extra init containers extraInitContainers: [] # - name: my-first-container # applyToJob: true @@ -239,7 +268,9 @@ extraEnv: [] # value: MY_VALUE ingress: + #- Should ingress be enabled. Defaults to `true` enabled: true + #- ingressClassName: nginx canary: enabled: true @@ -253,13 +284,14 @@ ingress: - host: ~ paths: - path: "/galaxy" + - path: "/training-material" tls: [] # - secretName: chart-example-tls # hosts: # - chart-example.local resources: - # We recommend updating these based on the usage levels of the server + #- We recommend updating these based on the usage levels of the server. requests: cpu: 100m memory: 1G @@ -277,10 +309,10 @@ affinity: {} postgresql: enabled: true - # Whether to deploy the postgresl operator. - # In general, we recommend installing the operator globally in production. + #- Whether to deploy the postgresl operator. + #- In general, we recommend installing the operator globally in production. deploy: true - # hostname and port of an existing database to use. + #- hostname and port of an existing database to use. existingDatabase: galaxyDatabaseUser: galaxydbuser galaxyConnectionParams: "?sslmode=require" @@ -300,17 +332,25 @@ postgresql: # matchLabels: # label-key: label-value +#- Configuration block for reference data refdata: + #- Whether or not to mount cloud-hosted Galaxy reference data and tools. enabled: true + #- `s3fs` or `cvmfs`, determines the CSI to use for mounting reference data. + #-`cvmfs` is the default and recommended for the time being. type: cvmfs pvc: size: 10Gi +#- Configuration block if `cvmfs` is used as `refdata.type` cvmfs: + #- Deploy the Galaxy-CVMFS-CSI Helm Chart. This is an optional dependency, and for production scenarios it should be deployed separately as a cluster-wide resource deploy: true storageClassName: "{{ $.Release.Name }}-cvmfs" +#- Configuration block if `s3csi` is used as the `refdata.type` s3csi: + #- Deploy the CSI-S3 Helm Chart. This is an optional dependency, and for production scenarios it should be deployed separately as a cluster-wide resource. deploy: false images: csi: cloudve/csi-s3:0.31.3 @@ -329,11 +369,11 @@ s3csi: usePrefix: true prefix: /galaxy/v1/data.galaxyproject.org -# When this flag is set to true, all configs will be set in secrets, -# when it is set to false, all configs will be set in configmaps +#- When this flag is set to true, all configs will be set in secrets, +#- when it is set to false, all configs will be set in configmaps useSecretConfigs: false -# All files will be relative to `/galaxy/server/config/` directory +#- All config files will be relative to `/galaxy/server/config/` directory configs: job_conf.yml: runners: @@ -389,6 +429,9 @@ configs: # value: 5 # - type: anonymous_user_concurrent_jobs # value: 2 + + #- Galaxy configuration. See the [Galaxy documentation](https://docs.galaxyproject.org/en/master/admin/config.html) + #- for more information. galaxy.yml: galaxy: galaxy_url_prefix: "{{ .Values.ingress.path }}" @@ -493,9 +536,10 @@ configs: tool_conf.xml: | {{- (.Files.Get "files/configs/tool_conf.xml") }} -# Additional dynamic rules to map into the container. +#- Additional dynamic rules to map into the container. jobs: priorityClass: + #- Assign a [priorityClass](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass) to the dispatched jobs. enabled: true existingClass: "" rules: diff --git a/scripts/values_table.py b/scripts/values_table.py index e3f9903f..2da51487 100644 --- a/scripts/values_table.py +++ b/scripts/values_table.py @@ -49,6 +49,8 @@ "jobs.", "refdata.deploy", "refdata.enabled", + "cvmfs", + "s3csi", "refdata.", "setupJob.", "ingress.", @@ -75,10 +77,12 @@ "postgresql.", "s3csi.", "tusd.", + "rabbitmq", + "trainingHook", ] # Entries that should be ignored. -ignored = [ ] +ignored = [ 'startupProbe', 'readinesProbe', 'livenessProbe' ] longest_key = -1 longest_desc = -1 @@ -120,6 +124,8 @@ def print_table(): numbered_order[full_key] = i for key in sorted(set(key_list), key=lambda d: numbered_order[d]): print_table_row(key) + # for key in README_ORDER: + # print_table_row(key) # Prints a single row in the table. def print_table_row(key): @@ -156,7 +162,7 @@ def parse_value(key, value, label=None): record_key('postgresql.enabled') return - if label in ignored: + if label in ignored or key in ignored: # print(f"Ignoring {label}") return diff --git a/scripts/yamldoc.py b/scripts/yamldoc.py new file mode 100644 index 00000000..ec996b5d --- /dev/null +++ b/scripts/yamldoc.py @@ -0,0 +1,120 @@ +# This is NOT a YAML parser. This script does the bare minimum to match +# comments with keys but may get it wrong. Output from this script MUST be +# curated by a human. + +import sys +import argparse + +# Character string used to indicate the comment is a YamlDoc comment. +chars = '#-' + + +class LineProvider: + ''' + A simple iterator type class. Mostly needed because occasionally we need + to push a line back after searching for the end of a multi-line string. + Also collapses lines that end with '\' into a single line. + ''' + def __init__(self, inputPath: str): + with open(inputPath) as f: + self._lines = f.read().splitlines() + self._current = 0 + self._previous = None + + def hasNext(self): + return self._current < len(self._lines) + + + def getNext(self): + self._previous = self._current + line = self._collect_line() + return line + + def back(self): + if self._previous is not None: + self._current = self._previous + else: + self._current -= 1 + + def _next_line(self): + line = self._lines[self._current].rstrip(' ') + self._current += 1 + return line + + def _collect_line(self): + segments = [] + collecting = True + while collecting and self.hasNext(): + line = self._next_line() + if line.endswith('\\'): + line = line.rstrip('\\') + else: + collecting = False + segments.append(line) + return ' '.join(segments) + + + +def get_line_indent(line: str) -> int: + return len(line) - len(line.lstrip()) + + +def print_table_row(path: list, key: str, comments: list): + key = key.replace('.', '\.') + if len(path) == 0: + full_path = key + else: + full_path = f"{'.'.join(path)}.{key}" + print(f"| {full_path} | { ' '.join(comments)} |") + + +def main(filename: str, chars: str): + lp = LineProvider(filename) + path = [] + doc_lines = [] + indent_stack = [ 0 ] + key = '' + print("| Key | Description |") + while lp.hasNext(): + line = lp.getNext().rstrip() + if line.lstrip().startswith(chars): + doc_lines.append(line.replace(chars, '').strip()) + continue + + if len(line.strip()) == 0 or line.lstrip().startswith('#'): + continue + indent = get_line_indent(line) + if indent > indent_stack[-1]: + indent_stack.append(indent) + path.append(key) + elif indent < indent_stack[-1]: + while indent != indent_stack[-1]: + indent_stack.pop() + path.pop() + + if ':' in line: + kv = line.split(':') + key = kv[0].strip() + if len(doc_lines) > 0: + print_table_row(path, key, doc_lines) + doc_lines = [] + # Skip over multi-line strings + if line.endswith('|') or line.endswith('|-') or line.endswith('>-'): + while lp.hasNext() and get_line_indent(line) >= indent: + line = lp.getNext() + # The above loop finds the first line that is NOT part of the + # multi-line string so we need to put that line back into the + # buffer. + lp.back() + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + prog="yamldoc", + description="Generate a Markdown table with descriptions of the YAML keys in a Helm Chart's vales.yaml file.", + epilog="Copyright 2023 The Galaxy Project" + ) + parser.add_argument('filename', nargs=1) + parser.add_argument('-c', '--chars', default="#-") + args = parser.parse_args() + main(args.filename[0], args.chars) \ No newline at end of file From ac52769a6349dff30b33b9ea522b5ba4eab90e4e Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Tue, 28 Mar 2023 17:51:21 -0400 Subject: [PATCH 10/55] Fix table header in output --- scripts/yamldoc.py | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/yamldoc.py b/scripts/yamldoc.py index ec996b5d..99cb9890 100644 --- a/scripts/yamldoc.py +++ b/scripts/yamldoc.py @@ -75,6 +75,7 @@ def main(filename: str, chars: str): indent_stack = [ 0 ] key = '' print("| Key | Description |") + print("|-----|-------------|") while lp.hasNext(): line = lp.getNext().rstrip() if line.lstrip().startswith(chars): From 156eb1f5019ee95f32f9eb38535c9932520b290e Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Tue, 28 Mar 2023 17:51:37 -0400 Subject: [PATCH 11/55] New values table --- VALUES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/VALUES.md b/VALUES.md index 0585741d..bbae4835 100644 --- a/VALUES.md +++ b/VALUES.md @@ -1,4 +1,5 @@ | Key | Description | +|-----|-------------| | nameOverride | Partial override of the `galaxy.fullname`. The `.Release.Name` will be prepended to generate the fullname. | | fullnameOverride | Fully override the `galaxy.fullname` | | image.repository | Repository containing the Galaxy image. | From bc7ad594e3a8a3f1426e908f8ec0caedccbc8e3e Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Mon, 10 Apr 2023 15:47:31 -0400 Subject: [PATCH 12/55] Disable the training materials hook by default to preserve existing behavior. --- galaxy/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/values.yaml b/galaxy/values.yaml index 8640d2a9..38de3290 100644 --- a/galaxy/values.yaml +++ b/galaxy/values.yaml @@ -13,7 +13,7 @@ image: imagePullSecrets: [] trainingHook: - enabled: true + enabled: false url: https://training.galaxyproject.org/training-material/ service: From fc5717528b5dba572e5ce5ed63908eceb169d375 Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Mon, 10 Apr 2023 15:52:33 -0400 Subject: [PATCH 13/55] Copy /galaxy/server/tools to the correct path. --- galaxy/templates/_helpers.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/templates/_helpers.tpl b/galaxy/templates/_helpers.tpl index 762601d5..4fef16b0 100644 --- a/galaxy/templates/_helpers.tpl +++ b/galaxy/templates/_helpers.tpl @@ -161,7 +161,7 @@ cp -anL /galaxy/server/config/sanitize_allowlist.txt /galaxy/server/config/mutab cp -anL /galaxy/server/config/data_manager_conf.xml.sample /galaxy/server/config/mutable/shed_data_manager_conf.xml; cp -anL /galaxy/server/config/tool_data_table_conf.xml.sample /galaxy/server/config/mutable/shed_tool_data_table_conf.xml; cp -aruL /galaxy/server/tool-data {{.Values.persistence.mountPath}}/; -cp -aruL /galaxy/server/tools {{.Values.persistence.mountPath}}/tools | true; +cp -aruL /galaxy/server/tools {{.Values.persistence.mountPath}} | true; echo "Done" > /galaxy/server/config/mutable/init_mounts_done_{{.Release.Revision}}; {{- end -}} From a4867d9103280cad9deadd9a941fc8e36f6c7db5 Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Mon, 10 Apr 2023 15:59:12 -0400 Subject: [PATCH 14/55] Add missing trailing slash --- galaxy/templates/_helpers.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/templates/_helpers.tpl b/galaxy/templates/_helpers.tpl index 4fef16b0..921cb76f 100644 --- a/galaxy/templates/_helpers.tpl +++ b/galaxy/templates/_helpers.tpl @@ -161,7 +161,7 @@ cp -anL /galaxy/server/config/sanitize_allowlist.txt /galaxy/server/config/mutab cp -anL /galaxy/server/config/data_manager_conf.xml.sample /galaxy/server/config/mutable/shed_data_manager_conf.xml; cp -anL /galaxy/server/config/tool_data_table_conf.xml.sample /galaxy/server/config/mutable/shed_tool_data_table_conf.xml; cp -aruL /galaxy/server/tool-data {{.Values.persistence.mountPath}}/; -cp -aruL /galaxy/server/tools {{.Values.persistence.mountPath}} | true; +cp -aruL /galaxy/server/tools {{.Values.persistence.mountPath}}/ | true; echo "Done" > /galaxy/server/config/mutable/init_mounts_done_{{.Release.Revision}}; {{- end -}} From a6b46bb9b35281b2ebb66058345a33337908d434 Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Mon, 10 Apr 2023 17:07:31 -0400 Subject: [PATCH 15/55] Update galaxy/templates/_helpers.tpl Co-authored-by: Alexandru Mahmoud --- galaxy/templates/_helpers.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/templates/_helpers.tpl b/galaxy/templates/_helpers.tpl index 921cb76f..9af7a401 100644 --- a/galaxy/templates/_helpers.tpl +++ b/galaxy/templates/_helpers.tpl @@ -161,7 +161,7 @@ cp -anL /galaxy/server/config/sanitize_allowlist.txt /galaxy/server/config/mutab cp -anL /galaxy/server/config/data_manager_conf.xml.sample /galaxy/server/config/mutable/shed_data_manager_conf.xml; cp -anL /galaxy/server/config/tool_data_table_conf.xml.sample /galaxy/server/config/mutable/shed_tool_data_table_conf.xml; cp -aruL /galaxy/server/tool-data {{.Values.persistence.mountPath}}/; -cp -aruL /galaxy/server/tools {{.Values.persistence.mountPath}}/ | true; +cp -aruL /galaxy/server/tools {{.Values.persistence.mountPath}}/ || true; echo "Done" > /galaxy/server/config/mutable/init_mounts_done_{{.Release.Revision}}; {{- end -}} From 7fefa3c0210d96934b46526e67a3a0cd09d0d8a5 Mon Sep 17 00:00:00 2001 From: Nuwan Goonasekera <2070605+nuwang@users.noreply.github.com> Date: Wed, 26 Apr 2023 10:35:48 +0530 Subject: [PATCH 16/55] Update s3-csi version to 0.35.2 xref: https://github.com/CloudVE/helm-charts/pull/4 --- galaxy/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/Chart.yaml b/galaxy/Chart.yaml index f9bc667a..a7a2d244 100644 --- a/galaxy/Chart.yaml +++ b/galaxy/Chart.yaml @@ -15,7 +15,7 @@ dependencies: - deploy-postgres - name: csi-s3 repository: https://raw.githubusercontent.com/cloudve/helm-charts/master/ - version: 0.31.3 + version: 0.35.2 condition: s3csi.deploy alias: s3csi tags: From 9effe0c51828cc5d430effe82b8e37345f3d6c35 Mon Sep 17 00:00:00 2001 From: Yegor Tokmakov Date: Tue, 9 May 2023 23:26:54 +0200 Subject: [PATCH 17/55] fix non-yaml config template set via values --- galaxy/templates/configs-galaxy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/templates/configs-galaxy.yaml b/galaxy/templates/configs-galaxy.yaml index bd61eaba..a2f377fa 100644 --- a/galaxy/templates/configs-galaxy.yaml +++ b/galaxy/templates/configs-galaxy.yaml @@ -14,7 +14,7 @@ data: {{- range $key, $entry := .Values.configs -}} {{- if $entry -}} {{- $key | nindent 2 }}: | - {{- $original := (toYaml $entry) -}} + {{- $original := (ternary (toYaml $entry) $entry (hasSuffix ".yml" $key)) }} {{- $nomultiline := (regexReplaceAll "^^\\s*\\|\\n*" $original "") -}} {{- $nowhitespace := (regexReplaceAll "{{\\s*([^}\\s]+)\\s*}}" $nomultiline "{{$1}}") -}} {{- tpl (tpl $nowhitespace $) $ | nindent 4 -}} From 5cbe3e4aeb832b6418b47e853c276e53e1ccd6ec Mon Sep 17 00:00:00 2001 From: Yegor Tokmakov Date: Mon, 15 May 2023 13:52:11 +0200 Subject: [PATCH 18/55] configs template: yaml file extensions, multiline --- galaxy/templates/configs-galaxy.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/galaxy/templates/configs-galaxy.yaml b/galaxy/templates/configs-galaxy.yaml index a2f377fa..eb8f029b 100644 --- a/galaxy/templates/configs-galaxy.yaml +++ b/galaxy/templates/configs-galaxy.yaml @@ -13,10 +13,10 @@ data: {{- end }} {{- range $key, $entry := .Values.configs -}} {{- if $entry -}} - {{- $key | nindent 2 }}: | - {{- $original := (ternary (toYaml $entry) $entry (hasSuffix ".yml" $key)) }} - {{- $nomultiline := (regexReplaceAll "^^\\s*\\|\\n*" $original "") -}} - {{- $nowhitespace := (regexReplaceAll "{{\\s*([^}\\s]+)\\s*}}" $nomultiline "{{$1}}") -}} + {{- $key | nindent 2 -}}: | + {{- $isYamlFile := (or (hasSuffix ".yml" $key) (hasSuffix ".yaml" $key)) -}} + {{- $original := (ternary (toYaml $entry) $entry $isYamlFile) -}} + {{- $nowhitespace := (regexReplaceAll "{{\\s*([^}\\s]+)\\s*}}" $original "{{$1}}") -}} {{- tpl (tpl $nowhitespace $) $ | nindent 4 -}} {{- end -}} {{- end -}} From 31a01df69d3bc2a9a2b03df946446c13da2a7cfc Mon Sep 17 00:00:00 2001 From: Yegor Tokmakov Date: Mon, 15 May 2023 13:58:25 +0200 Subject: [PATCH 19/55] configs template: finemae lowercase --- galaxy/templates/configs-galaxy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/templates/configs-galaxy.yaml b/galaxy/templates/configs-galaxy.yaml index eb8f029b..1218ed0a 100644 --- a/galaxy/templates/configs-galaxy.yaml +++ b/galaxy/templates/configs-galaxy.yaml @@ -14,7 +14,7 @@ data: {{- range $key, $entry := .Values.configs -}} {{- if $entry -}} {{- $key | nindent 2 -}}: | - {{- $isYamlFile := (or (hasSuffix ".yml" $key) (hasSuffix ".yaml" $key)) -}} + {{- $isYamlFile := (or (hasSuffix ".yml" (lower $key)) (hasSuffix ".yaml" (lower $key))) -}} {{- $original := (ternary (toYaml $entry) $entry $isYamlFile) -}} {{- $nowhitespace := (regexReplaceAll "{{\\s*([^}\\s]+)\\s*}}" $original "{{$1}}") -}} {{- tpl (tpl $nowhitespace $) $ | nindent 4 -}} From 8248cdc08690c16848515987f3548d85f9c9f06f Mon Sep 17 00:00:00 2001 From: nuwang <2070605+nuwang@users.noreply.github.com> Date: Wed, 24 May 2023 00:28:58 +0530 Subject: [PATCH 20/55] Do not run toYaml on string object --- galaxy/templates/configs-galaxy.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/galaxy/templates/configs-galaxy.yaml b/galaxy/templates/configs-galaxy.yaml index 1218ed0a..f1b0e229 100644 --- a/galaxy/templates/configs-galaxy.yaml +++ b/galaxy/templates/configs-galaxy.yaml @@ -14,8 +14,9 @@ data: {{- range $key, $entry := .Values.configs -}} {{- if $entry -}} {{- $key | nindent 2 -}}: | - {{- $isYamlFile := (or (hasSuffix ".yml" (lower $key)) (hasSuffix ".yaml" (lower $key))) -}} - {{- $original := (ternary (toYaml $entry) $entry $isYamlFile) -}} + {{- /* Don't call toYaml on string objects, only on maps or other complex objects. */}} + {{- $isStringObject := (kindIs "string" $entry) -}} + {{- $original := (ternary $entry (toYaml $entry) $isStringObject) -}} {{- $nowhitespace := (regexReplaceAll "{{\\s*([^}\\s]+)\\s*}}" $original "{{$1}}") -}} {{- tpl (tpl $nowhitespace $) $ | nindent 4 -}} {{- end -}} From b3dbafcc42da4fcfc34d58d6f8d699d3317efef4 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 30 May 2023 19:36:03 +0000 Subject: [PATCH 21/55] Automatic Version Bumping from 5.7.1 to 5.7.2 --- galaxy/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/Chart.yaml b/galaxy/Chart.yaml index f9bc667a..3aa847a4 100644 --- a/galaxy/Chart.yaml +++ b/galaxy/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: galaxy type: application -version: 5.7.1 +version: 5.7.2 appVersion: "23.0" description: Chart for Galaxy, an open, web-based platform for accessible, reproducible, and transparent computational biomedical research. icon: https://galaxyproject.org/images/galaxy-logos/galaxy_project_logo_square.png From bf40e3fe509d5e5a775a31e760243cf94c01853c Mon Sep 17 00:00:00 2001 From: Nuwan Goonasekera <2070605+nuwang@users.noreply.github.com> Date: Tue, 6 Jun 2023 23:53:40 +0530 Subject: [PATCH 22/55] Remove forcing evaluation to true --- galaxy/templates/_helpers.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/templates/_helpers.tpl b/galaxy/templates/_helpers.tpl index 9af7a401..4d7bb779 100644 --- a/galaxy/templates/_helpers.tpl +++ b/galaxy/templates/_helpers.tpl @@ -161,7 +161,7 @@ cp -anL /galaxy/server/config/sanitize_allowlist.txt /galaxy/server/config/mutab cp -anL /galaxy/server/config/data_manager_conf.xml.sample /galaxy/server/config/mutable/shed_data_manager_conf.xml; cp -anL /galaxy/server/config/tool_data_table_conf.xml.sample /galaxy/server/config/mutable/shed_tool_data_table_conf.xml; cp -aruL /galaxy/server/tool-data {{.Values.persistence.mountPath}}/; -cp -aruL /galaxy/server/tools {{.Values.persistence.mountPath}}/ || true; +cp -aruL /galaxy/server/tools {{.Values.persistence.mountPath}}/; echo "Done" > /galaxy/server/config/mutable/init_mounts_done_{{.Release.Revision}}; {{- end -}} From 17abde2472b2a062725bc48cb33b89904f014e79 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 6 Jun 2023 18:32:59 +0000 Subject: [PATCH 23/55] Automatic Version Bumping from 5.7.2 to 5.7.3 --- galaxy/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/Chart.yaml b/galaxy/Chart.yaml index 79adfea1..0f06eb18 100644 --- a/galaxy/Chart.yaml +++ b/galaxy/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: galaxy type: application -version: 5.7.2 +version: 5.7.3 appVersion: "23.0" description: Chart for Galaxy, an open, web-based platform for accessible, reproducible, and transparent computational biomedical research. icon: https://galaxyproject.org/images/galaxy-logos/galaxy_project_logo_square.png From a14262e5c5ed20eca86e62f2e9dd76db151c4d57 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 6 Jun 2023 18:39:30 +0000 Subject: [PATCH 24/55] Automatic Version Bumping from 5.7.3 to 5.7.4 --- galaxy/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/Chart.yaml b/galaxy/Chart.yaml index 0f06eb18..ff80f99d 100644 --- a/galaxy/Chart.yaml +++ b/galaxy/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: galaxy type: application -version: 5.7.3 +version: 5.7.4 appVersion: "23.0" description: Chart for Galaxy, an open, web-based platform for accessible, reproducible, and transparent computational biomedical research. icon: https://galaxyproject.org/images/galaxy-logos/galaxy_project_logo_square.png From 5b45f9caa24f6dd19e3e095f308f3ece04b3b7a3 Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Tue, 13 Jun 2023 09:17:17 -0400 Subject: [PATCH 25/55] Update the galaxy-cvmfs-csi to fix subPath problems --- galaxy/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/Chart.yaml b/galaxy/Chart.yaml index f9bc667a..3b2dfd4e 100644 --- a/galaxy/Chart.yaml +++ b/galaxy/Chart.yaml @@ -22,7 +22,7 @@ dependencies: - deploy-s3csi - name: galaxy-cvmfs-csi repository: https://raw.githubusercontent.com/cloudve/helm-charts/master/ - version: 2.0.0 + version: 2.2.0 condition: cvmfs.deploy alias: cvmfs tags: From aa82e5f5511e97eba6e7079a0a48f751feb948d9 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 13 Jun 2023 13:36:13 +0000 Subject: [PATCH 26/55] Automatic Version Bumping from 5.7.4 to 5.7.5 --- galaxy/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/Chart.yaml b/galaxy/Chart.yaml index 7c8c533b..6c08ca16 100644 --- a/galaxy/Chart.yaml +++ b/galaxy/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: galaxy type: application -version: 5.7.4 +version: 5.7.5 appVersion: "23.0" description: Chart for Galaxy, an open, web-based platform for accessible, reproducible, and transparent computational biomedical research. icon: https://galaxyproject.org/images/galaxy-logos/galaxy_project_logo_square.png From 69f8d1655429fb5f6ec53521ba0da2a13e85fd24 Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Fri, 4 Aug 2023 08:15:52 -0400 Subject: [PATCH 27/55] Disable to tool document cache to avoid race conditions --- galaxy/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/values.yaml b/galaxy/values.yaml index 117bd8f8..a4f66343 100644 --- a/galaxy/values.yaml +++ b/galaxy/values.yaml @@ -448,7 +448,7 @@ configs: sanitize_allowlist_file: "/galaxy/server/config/mutable/sanitize_allowlist.txt" tool_config_file: "/galaxy/server/config/tool_conf.xml{{if .Values.setupJob.downloadToolConfs.enabled}},{{ .Values.setupJob.downloadToolConfs.volume.mountPath }}/config/shed_tool_conf.xml{{end}}" shed_tool_config_file: "/galaxy/server/config/mutable/editable_shed_tool_conf.xml" - enable_tool_document_cache: true + enable_tool_document_cache: false tool_data_table_config_path: |- {{ if .Values.setupJob.downloadToolConfs.enabled }} {{- .Values.setupJob.downloadToolConfs.volume.mountPath }}/config/shed_tool_data_table_conf.xml From 7c489f480cdc96562d6c7155e4bfb43167b232ba Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Fri, 18 Aug 2023 15:46:26 -0400 Subject: [PATCH 28/55] Only execute the if CVMFS is actually enabled. --- galaxy/templates/hook-cvmfs-fix.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/galaxy/templates/hook-cvmfs-fix.yaml b/galaxy/templates/hook-cvmfs-fix.yaml index 12ab3cbd..1caa21ba 100644 --- a/galaxy/templates/hook-cvmfs-fix.yaml +++ b/galaxy/templates/hook-cvmfs-fix.yaml @@ -1,3 +1,5 @@ +{{- if and .Values.refdata.enabled (eq .Values.refdata.type "cvmfs") }} + # Include the code you want to run when both conditions are met apiVersion: batch/v1 kind: Job metadata: @@ -33,3 +35,5 @@ spec: - name: kubectl-script configMap: name: "{{ .Release.Name }}-configmap-cvmfs-fix" +{{- end }} + From 1d444a57c9561b6a451b0f92ade709cbfa276d14 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Sat, 19 Aug 2023 07:05:15 +0000 Subject: [PATCH 29/55] Automatic Version Bumping from 5.7.5 to 5.7.6 --- galaxy/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/Chart.yaml b/galaxy/Chart.yaml index 6c08ca16..5be19d0a 100644 --- a/galaxy/Chart.yaml +++ b/galaxy/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: galaxy type: application -version: 5.7.5 +version: 5.7.6 appVersion: "23.0" description: Chart for Galaxy, an open, web-based platform for accessible, reproducible, and transparent computational biomedical research. icon: https://galaxyproject.org/images/galaxy-logos/galaxy_project_logo_square.png From eac6d583c74e0c31e71ec6bae8197858295045a1 Mon Sep 17 00:00:00 2001 From: nuwang <2070605+nuwang@users.noreply.github.com> Date: Thu, 14 Sep 2023 00:52:20 +0530 Subject: [PATCH 30/55] Update to latest tusd --- galaxy/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/values.yaml b/galaxy/values.yaml index a4f66343..85a7273e 100644 --- a/galaxy/values.yaml +++ b/galaxy/values.yaml @@ -680,7 +680,7 @@ tusd: fsGroup: 101 image: repository: tusproject/tusd - tag: v1.9.1 + tag: v1.13.0 pullPolicy: IfNotPresent ingress: enabled: true From afeb930a3aa2db16315822c8b35f8066ff5cf554 Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Thu, 14 Sep 2023 12:22:27 -0400 Subject: [PATCH 31/55] Add job to generate GitHub tags and releases to the packaging workflow --- .github/workflows/packaging.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/packaging.yml b/.github/workflows/packaging.yml index 6aae1d47..badfd6e7 100644 --- a/.github/workflows/packaging.yml +++ b/.github/workflows/packaging.yml @@ -47,3 +47,14 @@ jobs: charts-token: ${{ secrets.CHARTS_TOKEN }} github-labels: ${{ github.event.inputs.version-bump }} git-branch: ${{ github.event.inputs.branch-name }} + tag-and-release: + needs: [ package-from-pr, package-from-manual ] + name: Create a tag and GitHub release for this version. + runs-on: ubuntu-latest + steps: + - name: Tag and release + run: | + version=v$(cat galaxy/Chart.yaml | grep ~version: | awk -F: '{print $2}') + git tag -a $version -m "Automatic release of $version" + git push origin $version + gh release create $version --generate-notes From fdfc431f50ff133935f3039343a333ccb5d4f3f6 Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Thu, 14 Sep 2023 12:30:47 -0400 Subject: [PATCH 32/55] Fix version parsing --- .github/workflows/packaging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/packaging.yml b/.github/workflows/packaging.yml index badfd6e7..4064be71 100644 --- a/.github/workflows/packaging.yml +++ b/.github/workflows/packaging.yml @@ -54,7 +54,7 @@ jobs: steps: - name: Tag and release run: | - version=v$(cat galaxy/Chart.yaml | grep ~version: | awk -F: '{print $2}') + version=v$(cat galaxy/Chart.yaml | grep ^version: | awk '{print $2}') git tag -a $version -m "Automatic release of $version" git push origin $version gh release create $version --generate-notes From cff035bd9b1dccb498162da14b72bc05ef44e9ff Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Wed, 11 Oct 2023 10:35:55 -0400 Subject: [PATCH 33/55] Update app version to 23.1 --- galaxy/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/Chart.yaml b/galaxy/Chart.yaml index 5be19d0a..359c6113 100644 --- a/galaxy/Chart.yaml +++ b/galaxy/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: galaxy type: application version: 5.7.6 -appVersion: "23.0" +appVersion: "23.1" description: Chart for Galaxy, an open, web-based platform for accessible, reproducible, and transparent computational biomedical research. icon: https://galaxyproject.org/images/galaxy-logos/galaxy_project_logo_square.png dependencies: From 49c054f6f657b6c3b442667a209fe894a830848b Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Wed, 11 Oct 2023 10:39:37 -0400 Subject: [PATCH 34/55] Update the image.tag version --- galaxy/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/values.yaml b/galaxy/values.yaml index 85a7273e..b03befdd 100644 --- a/galaxy/values.yaml +++ b/galaxy/values.yaml @@ -10,7 +10,7 @@ image: #- Repository containing the Galaxy image. repository: quay.io/galaxyproject/galaxy-min #- Galaxy Docker image tag (generally corresponds to the desired Galaxy version) - tag: "23.0" # Value must be quoted + tag: "23.1" # Value must be quoted #- Galaxy image [pull policy](https://kubernetes.io/docs/concepts/configuration/overview/#container-images) pullPolicy: IfNotPresent From d3df0a83cb12c72b72887f4f960a3b6b69540df0 Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Wed, 11 Oct 2023 18:45:20 -0400 Subject: [PATCH 35/55] Revert the image.tag to trigger another build --- galaxy/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/values.yaml b/galaxy/values.yaml index b03befdd..85a7273e 100644 --- a/galaxy/values.yaml +++ b/galaxy/values.yaml @@ -10,7 +10,7 @@ image: #- Repository containing the Galaxy image. repository: quay.io/galaxyproject/galaxy-min #- Galaxy Docker image tag (generally corresponds to the desired Galaxy version) - tag: "23.1" # Value must be quoted + tag: "23.0" # Value must be quoted #- Galaxy image [pull policy](https://kubernetes.io/docs/concepts/configuration/overview/#container-images) pullPolicy: IfNotPresent From c7774291b160e8d350552f273d598552ecfd015e Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Wed, 11 Oct 2023 18:52:53 -0400 Subject: [PATCH 36/55] Back to 23.1 --- galaxy/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/values.yaml b/galaxy/values.yaml index 85a7273e..b03befdd 100644 --- a/galaxy/values.yaml +++ b/galaxy/values.yaml @@ -10,7 +10,7 @@ image: #- Repository containing the Galaxy image. repository: quay.io/galaxyproject/galaxy-min #- Galaxy Docker image tag (generally corresponds to the desired Galaxy version) - tag: "23.0" # Value must be quoted + tag: "23.1" # Value must be quoted #- Galaxy image [pull policy](https://kubernetes.io/docs/concepts/configuration/overview/#container-images) pullPolicy: IfNotPresent From 444b03cd8ca86183e812e7f22367d8196e2a29bb Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Thu, 12 Oct 2023 09:33:47 -0400 Subject: [PATCH 37/55] Allow test to be run on workflow dispatch. Revert to k3s 1.25 --- .github/workflows/test.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index e9ab20ae..1372c862 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -5,6 +5,7 @@ on: - master - anvil pull_request: {} + workflow_dispatch: {} jobs: linting: runs-on: ubuntu-latest @@ -33,7 +34,7 @@ jobs: - name: Start k8s locally uses: jupyterhub/action-k3s-helm@v3 with: - k3s-version: v1.26.1+k3s1 # releases: https://github.com/k3s-io/k3s/tags + k3s-version: v1.25.14+k3s1 #v1.26.1+k3s1 # releases: https://github.com/k3s-io/k3s/tags metrics-enabled: false traefik-enabled: false - name: Verify function of k8s, kubectl, and helm From abe0c18adc6fc13f838c22d74e2dc00d45974058 Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Tue, 17 Oct 2023 15:30:40 -0400 Subject: [PATCH 38/55] Try testing with the 23.1-auto image --- galaxy/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/values.yaml b/galaxy/values.yaml index b03befdd..27c59bb2 100644 --- a/galaxy/values.yaml +++ b/galaxy/values.yaml @@ -10,7 +10,7 @@ image: #- Repository containing the Galaxy image. repository: quay.io/galaxyproject/galaxy-min #- Galaxy Docker image tag (generally corresponds to the desired Galaxy version) - tag: "23.1" # Value must be quoted + tag: "23.1-auto" # Value must be quoted #- Galaxy image [pull policy](https://kubernetes.io/docs/concepts/configuration/overview/#container-images) pullPolicy: IfNotPresent From cc219e291df7bc597bff1b346635300c2e1aefb4 Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Wed, 18 Oct 2023 12:46:06 -0400 Subject: [PATCH 39/55] Back to 23.1 --- galaxy/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/values.yaml b/galaxy/values.yaml index 27c59bb2..b03befdd 100644 --- a/galaxy/values.yaml +++ b/galaxy/values.yaml @@ -10,7 +10,7 @@ image: #- Repository containing the Galaxy image. repository: quay.io/galaxyproject/galaxy-min #- Galaxy Docker image tag (generally corresponds to the desired Galaxy version) - tag: "23.1-auto" # Value must be quoted + tag: "23.1" # Value must be quoted #- Galaxy image [pull policy](https://kubernetes.io/docs/concepts/configuration/overview/#container-images) pullPolicy: IfNotPresent From 0c30c34e969d256e5329b0f5cef0ff696071b5b0 Mon Sep 17 00:00:00 2001 From: Enis Afgan Date: Thu, 16 Nov 2023 12:19:02 -0500 Subject: [PATCH 40/55] Update the path to base css file --- .github/workflows/test.yaml | 2 +- galaxy/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 1372c862..bbde0299 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -34,7 +34,7 @@ jobs: - name: Start k8s locally uses: jupyterhub/action-k3s-helm@v3 with: - k3s-version: v1.25.14+k3s1 #v1.26.1+k3s1 # releases: https://github.com/k3s-io/k3s/tags + k3s-version: v1.25.15+k3s2 # releases: https://github.com/k3s-io/k3s/tags metrics-enabled: false traefik-enabled: false - name: Verify function of k8s, kubectl, and helm diff --git a/galaxy/values.yaml b/galaxy/values.yaml index b03befdd..9c85c0c0 100644 --- a/galaxy/values.yaml +++ b/galaxy/values.yaml @@ -616,7 +616,7 @@ extraFileMappings: - +
From 4e12bbb7caee93cd05d997ba93ff33e7a596c74e Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Fri, 17 Nov 2023 15:12:36 +0000 Subject: [PATCH 41/55] Automatic Version Bumping from 5.7.6 to 5.8.0 --- galaxy/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/Chart.yaml b/galaxy/Chart.yaml index 359c6113..ae6c4aa8 100644 --- a/galaxy/Chart.yaml +++ b/galaxy/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: galaxy type: application -version: 5.7.6 +version: 5.8.0 appVersion: "23.1" description: Chart for Galaxy, an open, web-based platform for accessible, reproducible, and transparent computational biomedical research. icon: https://galaxyproject.org/images/galaxy-logos/galaxy_project_logo_square.png From fce1ae63ea88b510d0d59d659614ee772c499ddb Mon Sep 17 00:00:00 2001 From: Nuwan Goonasekera <2070605+nuwang@users.noreply.github.com> Date: Wed, 14 Feb 2024 15:17:18 +0530 Subject: [PATCH 42/55] Add short link to the TPV shared database --- galaxy/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/values.yaml b/galaxy/values.yaml index 9c85c0c0..8ec05fbf 100644 --- a/galaxy/values.yaml +++ b/galaxy/values.yaml @@ -422,7 +422,7 @@ configs: rules_module: tpv.rules docker_default_container_id: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" tpv_config_files: - - https://raw.githubusercontent.com/galaxyproject/tpv-shared-database/main/tools.yml + - https://gxy.io/tpv/db.yml - lib/galaxy/jobs/rules/tpv_rules_local.yml # limits: # - type: registered_user_concurrent_jobs From 9905ab2dca399eb44c07bf80c3efc98799195e81 Mon Sep 17 00:00:00 2001 From: Matt Pawelczyk Date: Thu, 15 Feb 2024 16:37:44 +0100 Subject: [PATCH 43/55] Exposes job.PriorityClass.value as modifiable value --- galaxy/templates/priorityclass-job.yaml | 8 ++++++-- galaxy/values.yaml | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/galaxy/templates/priorityclass-job.yaml b/galaxy/templates/priorityclass-job.yaml index 1d5e2b24..980ebbdb 100644 --- a/galaxy/templates/priorityclass-job.yaml +++ b/galaxy/templates/priorityclass-job.yaml @@ -5,8 +5,12 @@ metadata: name: {{ include "galaxy.pod-priority-class" . }} labels: {{- include "galaxy.labels" . | nindent 4 }} -value: -1000 +value: {{ if .Values.jobs.priorityClass.value -}} + {{ .Values.jobs.priorityClass.value}} + {{- else -}} + -1000 + {{- end}} preemptionPolicy: Never globalDefault: false -description: "Galaxy jobs will run when cluster resources are available and will not preempt existing workloads." +description: "Galaxy jobs will not preempt existing workloads and depending on the value spin up new resources for the computation." {{ end }} diff --git a/galaxy/values.yaml b/galaxy/values.yaml index 8ec05fbf..4c2ebae0 100644 --- a/galaxy/values.yaml +++ b/galaxy/values.yaml @@ -542,6 +542,7 @@ jobs: #- Assign a [priorityClass](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass) to the dispatched jobs. enabled: true existingClass: "" + value: -1000 rules: tpv_rules_local.yml: global: From 4ed41b3bd978f55c32e92d42def86ba0a2141ccc Mon Sep 17 00:00:00 2001 From: Matt Pawelczyk <125464188+mapk-amazon@users.noreply.github.com> Date: Thu, 15 Feb 2024 17:20:00 +0100 Subject: [PATCH 44/55] Update galaxy/templates/priorityclass-job.yaml Updated description according to afgane's input. Co-authored-by: Enis Afgan --- galaxy/templates/priorityclass-job.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/templates/priorityclass-job.yaml b/galaxy/templates/priorityclass-job.yaml index 980ebbdb..31220a6e 100644 --- a/galaxy/templates/priorityclass-job.yaml +++ b/galaxy/templates/priorityclass-job.yaml @@ -12,5 +12,5 @@ value: {{ if .Values.jobs.priorityClass.value -}} {{- end}} preemptionPolicy: Never globalDefault: false -description: "Galaxy jobs will not preempt existing workloads and depending on the value spin up new resources for the computation." +description: "By default, Galaxy jobs will not preempt existing workloads but will run when cluster resources are available. Depending on the cluster setup, the preemption value can be modified to prompt scaling of the cluster for the computation." {{ end }} From dcf177094bb0556860edb74e57d7a47fcfb2d828 Mon Sep 17 00:00:00 2001 From: Matt Pawelczyk <125464188+mapk-amazon@users.noreply.github.com> Date: Thu, 15 Feb 2024 17:37:48 +0100 Subject: [PATCH 45/55] Update galaxy/templates/priorityclass-job.yaml Simplifying if/else by default as suggested by nuwang. Co-authored-by: Nuwan Goonasekera <2070605+nuwang@users.noreply.github.com> --- galaxy/templates/priorityclass-job.yaml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/galaxy/templates/priorityclass-job.yaml b/galaxy/templates/priorityclass-job.yaml index 31220a6e..36a73936 100644 --- a/galaxy/templates/priorityclass-job.yaml +++ b/galaxy/templates/priorityclass-job.yaml @@ -5,11 +5,7 @@ metadata: name: {{ include "galaxy.pod-priority-class" . }} labels: {{- include "galaxy.labels" . | nindent 4 }} -value: {{ if .Values.jobs.priorityClass.value -}} - {{ .Values.jobs.priorityClass.value}} - {{- else -}} - -1000 - {{- end}} +value: {{ default "-1000" .Values.jobs.priorityClass.value -}} preemptionPolicy: Never globalDefault: false description: "By default, Galaxy jobs will not preempt existing workloads but will run when cluster resources are available. Depending on the cluster setup, the preemption value can be modified to prompt scaling of the cluster for the computation." From cdd1f393861274e9da7e1deb1c5b1fac8bf36616 Mon Sep 17 00:00:00 2001 From: Matt Pawelczyk <125464188+mapk-amazon@users.noreply.github.com> Date: Thu, 15 Feb 2024 17:45:16 +0100 Subject: [PATCH 46/55] Update galaxy/templates/priorityclass-job.yaml Fixing last line chomp. Co-authored-by: Nuwan Goonasekera <2070605+nuwang@users.noreply.github.com> --- galaxy/templates/priorityclass-job.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/templates/priorityclass-job.yaml b/galaxy/templates/priorityclass-job.yaml index 36a73936..df518387 100644 --- a/galaxy/templates/priorityclass-job.yaml +++ b/galaxy/templates/priorityclass-job.yaml @@ -5,7 +5,7 @@ metadata: name: {{ include "galaxy.pod-priority-class" . }} labels: {{- include "galaxy.labels" . | nindent 4 }} -value: {{ default "-1000" .Values.jobs.priorityClass.value -}} +value: {{ default "-1000" .Values.jobs.priorityClass.value }} preemptionPolicy: Never globalDefault: false description: "By default, Galaxy jobs will not preempt existing workloads but will run when cluster resources are available. Depending on the cluster setup, the preemption value can be modified to prompt scaling of the cluster for the computation." From b66b2bf11c9e1ea3fbb834e0c64aa0558374b7f4 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Fri, 16 Feb 2024 04:40:46 +0000 Subject: [PATCH 47/55] Automatic Version Bumping from 5.8.0 to 5.9.0 --- galaxy/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/Chart.yaml b/galaxy/Chart.yaml index ae6c4aa8..572b68bb 100644 --- a/galaxy/Chart.yaml +++ b/galaxy/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: galaxy type: application -version: 5.8.0 +version: 5.9.0 appVersion: "23.1" description: Chart for Galaxy, an open, web-based platform for accessible, reproducible, and transparent computational biomedical research. icon: https://galaxyproject.org/images/galaxy-logos/galaxy_project_logo_square.png From 29f01e62b8e79091a7d289bc15b8151d20a086d0 Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Mon, 19 Feb 2024 12:48:27 -0500 Subject: [PATCH 48/55] Ensure that one of the dependent jobs succeeded. --- .github/workflows/packaging.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/packaging.yml b/.github/workflows/packaging.yml index 4064be71..8700be98 100644 --- a/.github/workflows/packaging.yml +++ b/.github/workflows/packaging.yml @@ -51,6 +51,10 @@ jobs: needs: [ package-from-pr, package-from-manual ] name: Create a tag and GitHub release for this version. runs-on: ubuntu-latest + if: | + always() + && contains(needs.*.result, 'success') + && !contains(needs.*.result, 'failure') steps: - name: Tag and release run: | From 0a2fdd85eba59aedc59ecf49fd1b8b73ab1cfe76 Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Tue, 20 Feb 2024 13:14:50 -0500 Subject: [PATCH 49/55] Mark the last release as the --latest --- .github/workflows/packaging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/packaging.yml b/.github/workflows/packaging.yml index 8700be98..7436a068 100644 --- a/.github/workflows/packaging.yml +++ b/.github/workflows/packaging.yml @@ -61,4 +61,4 @@ jobs: version=v$(cat galaxy/Chart.yaml | grep ^version: | awk '{print $2}') git tag -a $version -m "Automatic release of $version" git push origin $version - gh release create $version --generate-notes + gh release create $version --generate-notes --latest From 24920ed1772cd802404563456895b1c386bf288c Mon Sep 17 00:00:00 2001 From: nuwang <2070605+nuwang@users.noreply.github.com> Date: Wed, 21 Feb 2024 00:12:38 +0530 Subject: [PATCH 50/55] Add more notes on product deployments and chart installations --- README.md | 47 +++++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 3c150f37..f7684f85 100644 --- a/README.md +++ b/README.md @@ -34,18 +34,40 @@ helm upgrade --install ingress-nginx ingress-nginx \ This chart relies on the features of other charts for common functionality: - [postgres-operator](https://github.com/zalando/postgres-operator) for the database; -- [CSI-S3 chart](https://github.com/ctrox/csi-s3/pull/75/) for linking the - reference data to Galaxy and jobs based on S3FS. +- [galaxy-cvmfs-csi](https://github.com/CloudVE/galaxy-cvmfs-csi-helm) for linking the + reference data to Galaxy and jobs based on CVMFS (default). +- [csi-s3](https://github.com/ctrox/csi-s3/pull/75/) for linking + reference data to Galaxy and jobs based on S3FS (optional/alternative to CVMFS). +- [rabbitmq-cluster-operator](https://github.com/rabbitmq/cluster-operator) for deploying + the message queue. In a production setting, especially if the intention is to run multiple Galaxies in a single cluster, we recommend installing the dependency charts separately once per cluster, and installing Galaxy with `--set postgresql.deploy=false ---set s3csi.deploy=false`. +--set s3csi.deploy=false --set cvmfs.deploy=false --set rabbitmq.deploy=false`. --- ## Installing the chart +### Using the chart from the packaged chart repo + +1. The chart is automatically packaged, versioned and uploaded to a helm repository +on each accepted PR. Therefore, the latest version of the chart can be downloaded +from this repository. + +```console +helm repo add cloudve https://raw.githubusercontent.com/CloudVE/helm-charts/master/ +helm repo update +``` + +2. Install the chart with the release name `my-galaxy`. It is not advisable to + install Galaxy in the `default` namespace. + +```console +helm install my-galaxy-release cloudve/galaxy +``` + ### Using the chart from GitHub repo 1. Clone this repository and add required dependency charts: @@ -68,25 +90,6 @@ In several minute, Galaxy will be available at `/galaxy/` URL of your Kubernetes cluster. If you are running the development Kubernetes, Galaxy will be available at `http://localhost/galaxy/` (note the trailing slash). -### Using the chart from the packaged chart repo - -1. Instead of using the source code repo, you can install the packaged version -of the chart and hence not need to clone this GitHub repo. The packaged version -may contain a bit older but possibly more stable code than what is the GitHub -repo at any a given point in time. - -```console -helm repo add cloudve https://raw.githubusercontent.com/CloudVE/helm-charts/master/ -helm repo update -``` - -2. Install the chart with the release name `my-galaxy`. It is not advisable to - install Galaxy in the `default` namespace. - -```console -helm install my-galaxy-release cloudve/galaxy -``` - ## Uninstalling the chart To uninstall/delete the `my-galaxy` deployment, run: From 54d93c86677415af0004e132d7d7f0ba14108421 Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Wed, 21 Feb 2024 16:56:32 -0500 Subject: [PATCH 51/55] This is the script I have been using to tag and release prior versions. --- scripts/tag-and-release.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 scripts/tag-and-release.sh diff --git a/scripts/tag-and-release.sh b/scripts/tag-and-release.sh new file mode 100755 index 00000000..52981968 --- /dev/null +++ b/scripts/tag-and-release.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +# Date since the last release. We will search for commits newer than this. +# TODO There is probably some Git magic we could do to figure this out +SINCE=${SINCE:-2023-08-19} + +# The last version that was tagged. +# TODO There is probably some Git magic we could do to figure this out +LATEST=${LATEST:-5.7.6} + +# Search the git log for commits that did an Automatic version bump. +git log --oneline --grep=Automatic --since=$SINCE | awk '{print $1,$NF}' | grep -v $LATEST | tail -r | while read -r line ; do + commit=$(echo $line | awk '{print $1}') + tag=v$(echo $line | awk '{print $2}') + # Get the actual date the commit was made + export GIT_COMMITTER_DATE=$(git show --format=%aD $commit | head -1) + # Tag the commit + echo "Tagging $commit as $tag $GIT_COMMITTER_DATE" + git checkout $commit + git tag -a -m "Automatic tagging of $tag" $tag + git push origin $tag + # Generate the release. + gh release create $tag --generate-notes --latest +done +git checkout master +echo "Done." \ No newline at end of file From ba4a0e98e104b021ee7f771279b6ee447afac110 Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Thu, 22 Feb 2024 22:10:26 -0500 Subject: [PATCH 52/55] Generate notes and command line parsing --- scripts/tag-and-release.sh | 68 ++++++++++++++++++++++++++++++++++---- 1 file changed, 62 insertions(+), 6 deletions(-) diff --git a/scripts/tag-and-release.sh b/scripts/tag-and-release.sh index 52981968..a4fc62f9 100755 --- a/scripts/tag-and-release.sh +++ b/scripts/tag-and-release.sh @@ -1,12 +1,67 @@ #!/usr/bin/env bash -# Date since the last release. We will search for commits newer than this. -# TODO There is probably some Git magic we could do to figure this out -SINCE=${SINCE:-2023-08-19} +# Determine our name for use in the help message. +SCRIPT=$(basename $(realpath $0)) + +# ANSI color codes for the console. +reset="\033[0m" +bold="\033[1m" +ital="\033[3m" # does not work on OS X + +# Function used to highlight text. +function hi() { + echo -e "$bold$@$reset" +} # The last version that was tagged. -# TODO There is probably some Git magic we could do to figure this out -LATEST=${LATEST:-5.7.6} +LATEST=$(git describe --tags `git rev-list --tags --max-count=1` | tr -d 'v') + +# Date since the last release. We will search for commits newer than this. +SINCE=$(git log -1 --format=%as v$LATEST) + +function help() { + less -RX << EOF + +$(hi NAME) + $SCRIPT + +$(hi DESCRIPTION) + Tags and generates a GitHub release for all commits that have "Automatic" in the + commit messages. These will be the commits that were generated by the packaging + GitHub action. + +$(hi SYNOPSIS) + $SCRIPT --size DATE --latest TAG_NAME + +$(hi OPTIONS) + -l|--latest the tag name of the last commit that was tagged. Default to $LATEST + -s|--since search the git log after this date (YYYY-MM-DD). Defaults to $SINCE + -h|--help prints this help message and exits + + The $(hi --latest) and $(hi --since) fields will be determined from the Git log + if they are not provided. + +EOF +} + +while [[ $# > 0 ]] ; do + case $1 in + -l|--latest) + LATEST=$2 + shift + ;; + -s|--since) + SINCE=$2 + shift + ;; + -h|--help|help) + help + exit + ;; + esac + shift +done +PREVIOUS="v$LATEST" # Search the git log for commits that did an Automatic version bump. git log --oneline --grep=Automatic --since=$SINCE | awk '{print $1,$NF}' | grep -v $LATEST | tail -r | while read -r line ; do @@ -20,7 +75,8 @@ git log --oneline --grep=Automatic --since=$SINCE | awk '{print $1,$NF}' | grep git tag -a -m "Automatic tagging of $tag" $tag git push origin $tag # Generate the release. - gh release create $tag --generate-notes --latest + gh release create $tag --generate-notes --latest --notes-start-tag $PREVIOUS + PREVIOUS=$tag done git checkout master echo "Done." \ No newline at end of file From 5752ec697382bde7fdec734789fe694e906380ed Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Thu, 22 Feb 2024 22:24:52 -0500 Subject: [PATCH 53/55] Add Press Q to quit to the help message --- scripts/tag-and-release.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/tag-and-release.sh b/scripts/tag-and-release.sh index a4fc62f9..1d2771f2 100755 --- a/scripts/tag-and-release.sh +++ b/scripts/tag-and-release.sh @@ -41,6 +41,8 @@ $(hi OPTIONS) The $(hi --latest) and $(hi --since) fields will be determined from the Git log if they are not provided. +Press $(hi Q) to quit this help. + EOF } From 1f4240d1b7b82302cc1ec33a1a5a314a3c7c37ce Mon Sep 17 00:00:00 2001 From: Keith Suderman Date: Fri, 23 Feb 2024 06:47:09 -0500 Subject: [PATCH 54/55] Fix typo in help. Handle invalid options --- scripts/tag-and-release.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/tag-and-release.sh b/scripts/tag-and-release.sh index 1d2771f2..0a110ada 100755 --- a/scripts/tag-and-release.sh +++ b/scripts/tag-and-release.sh @@ -31,7 +31,7 @@ $(hi DESCRIPTION) GitHub action. $(hi SYNOPSIS) - $SCRIPT --size DATE --latest TAG_NAME + $SCRIPT --since DATE --latest TAG_NAME $(hi OPTIONS) -l|--latest the tag name of the last commit that was tagged. Default to $LATEST @@ -60,6 +60,10 @@ while [[ $# > 0 ]] ; do help exit ;; + *) + echo "Invalid option $1" + echo "Run $(hi $SCRIPT help) for usage information" + exit esac shift done From 174f5a8a91f9e7ce2c6be027717318ce578774fc Mon Sep 17 00:00:00 2001 From: Enis Afgan Date: Mon, 18 Mar 2024 14:37:42 -0400 Subject: [PATCH 55/55] Use anvil's image --- galaxy/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/values.yaml b/galaxy/values.yaml index 6abc15b3..09d50603 100644 --- a/galaxy/values.yaml +++ b/galaxy/values.yaml @@ -8,7 +8,7 @@ fullnameOverride: "" image: #- Repository containing the Galaxy image. - repository: quay.io/galaxyproject/galaxy-min + repository: quay.io/galaxyproject/galaxy-anvil #- Galaxy Docker image tag (generally corresponds to the desired Galaxy version) tag: "24.0" # Value must be quoted #- Galaxy image [pull policy](https://kubernetes.io/docs/concepts/configuration/overview/#container-images)