Skip to content
Merged
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
2 changes: 1 addition & 1 deletion .github/workflows/lint_test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
- name: Run chart-testing (lint)
run: ct lint --config .github/ct.yaml

# TODO: add back in when we have tests
# TODO: add back in when tests are re-enabled
# deploy-and-test-chart:
# name: Deploy and Test Chart
# timeout-minutes: 20
Expand Down
5 changes: 5 additions & 0 deletions helm/aws-es-proxy/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,11 @@ resources:
# -- (string) The maximum amount of memory the container can use
memory: 2Gi

# Added default to resolve nil pointer error with `ct` linting:
# <.Values.persistence.capacity>: nil pointer evaluating interface {}.capacity
persistence:
capacity: 1Gi

# -- (map) Kubernetes service information.
service:
# -- (string) Type of service. Valid values are "ClusterIP", "NodePort", "LoadBalancer", "ExternalName".
Expand Down
23 changes: 23 additions & 0 deletions helm/backups/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
25 changes: 25 additions & 0 deletions helm/backups/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
apiVersion: v2
name: backups
description: A Helm chart for Kubernetes

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
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.5.1

# 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
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
# Ref: https://github.com/calypr/backup-service/releases
appVersion: "1.15.1"
24 changes: 24 additions & 0 deletions helm/backups/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# backups

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

A Helm chart for Kubernetes

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| backups.grip.graph | string | `"CALYPR"` | |
| backups.grip.host | string | `"grip-service.default.svc.cluster.local"` | |
| backups.image | string | `"quay.io/ohsu-comp-bio/backup-service:main"` | |
| backups.postgres.host | string | `"local-postgresql.default.svc.cluster.local"` | |
| backups.postgres.secret | string | `"local-postgresql"` | |
| backups.postgres.user | string | `"postgres"` | |
| backups.s3.bucket | string | `"calypr-backups"` | |
| backups.s3.dir | string | `"calypr-dev"` | |
| backups.s3.endpoint | string | `"https://aced-storage.ohsu.edu"` | |
| backups.s3.secret | string | `"s3-credentials"` | |
| backups.schedule | string | `"0 2 * * *"` | |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
77 changes: 77 additions & 0 deletions helm/backups/templates/cronjob.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# templates/cronjob.yaml (or the new CronJob.yaml location in a Helm chart)
apiVersion: batch/v1
kind: CronJob
metadata:
name: backup-service-cronjob
spec:
# Use the schedule from values.yaml
schedule: "{{ .Values.backups.schedule }}"
jobTemplate:
spec:
template:
spec:
restartPolicy: OnFailure
containers:
- name: backup-service
image: "{{ .Values.backups.image }}"
imagePullPolicy: Always

env:
# GRIP Host
- name: GRIP_HOST
value: "{{ .Values.backups.grip.host }}"

# GRIP Graph
- name: GRIP_GRAPH
value: "{{ .Values.backups.grip.graph }}"

# Postgres Host
- name: PGHOST
value: "{{ .Values.backups.postgres.host }}"

# Postgres User
- name: PGUSER
value: "{{ .Values.backups.postgres.user }}"

# Postgres Password
# Note: this secret relies on the existing Gen3 Postgres secret
# and is not expected to be created separately.
- name: PGPASSWORD
valueFrom:
secretKeyRef:
name: "{{ .Values.backups.postgres.secret }}"
key: postgres-password

# S3 Endpoint
- name: ENDPOINT
value: "{{ .Values.backups.s3.endpoint }}"

# S3 Bucket
- name: BUCKET
value: "{{ .Values.backups.s3.bucket }}"

# S3 Directory
- name: DIR
value: "{{ .Values.backups.s3.dir }}"

# S3 Access Key
# TODO: This secret requires creation; it is not part of Gen3 by default.
#
# MinIO client requires the Access Key to be set to AWS_ACCESS_KEY
# Ref: https://github.com/minio/minio-py/blob/7.2.20/minio/credentials/providers.py#L251
- name: AWS_ACCESS_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.backups.s3.secret }}"
key: ACCESS_KEY

# S3 Secret Key
# TODO: This secret requires creation; it is not part of Gen3 by default.
#
# MinIO client requires the Secret Key to be set to AWS_SECRET_KEY
# Ref: https://github.com/minio/minio-py/blob/7.2.20/minio/credentials/providers.py#L258
- name: AWS_SECRET_KEY
valueFrom:
secretKeyRef:
name: "{{ .Values.backups.s3.secret }}"
key: SECRET_KEY
23 changes: 23 additions & 0 deletions helm/backups/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# values.yaml
backups:
# CronJob configuration (Daily at 2am)
schedule: "0 2 * * *"
image: "quay.io/ohsu-comp-bio/backup-service:main"

# GRIP
grip:
host: grip-service.default.svc.cluster.local
graph: CALYPR

# Postgres
postgres:
host: local-postgresql.default.svc.cluster.local
user: postgres
secret: local-postgresql

# S3
s3:
endpoint: https://aced-storage.ohsu.edu
bucket: calypr-backups
dir: "calypr-dev"
secret: s3-credentials
23 changes: 23 additions & 0 deletions helm/funnel/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
37 changes: 37 additions & 0 deletions helm/funnel/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
apiVersion: v2
name: funnel
description: A toolkit for distributed task execution ⚙️
keywords:
- funnel

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
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.76

# 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
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "2025-12-22"

dependencies:
- name: postgresql
version: 18.1.15
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled

- name: mongodb
version: 13.9.4
repository: https://charts.bitnami.com/bitnami
condition: mongodb.enabled
Loading