Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/manics/kubernetes-omero
Kubernetes Helm charts for OMERO
https://github.com/manics/kubernetes-omero
data-management helm helm-chart image-management kubernetes kubernetes-helm-charts ome omero openmicroscopy openscience
Last synced: 11 days ago
JSON representation
Kubernetes Helm charts for OMERO
- Host: GitHub
- URL: https://github.com/manics/kubernetes-omero
- Owner: manics
- License: apache-2.0
- Created: 2017-12-19T19:07:52.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2024-10-20T12:35:25.000Z (24 days ago)
- Last Synced: 2024-10-24T15:55:43.559Z (20 days ago)
- Topics: data-management, helm, helm-chart, image-management, kubernetes, kubernetes-helm-charts, ome, omero, openmicroscopy, openscience
- Language: Python
- Homepage: https://www.manicstreetpreacher.co.uk/kubernetes-omero/
- Size: 1.64 MB
- Stars: 6
- Watchers: 3
- Forks: 10
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Kubernetes OMERO
[![CI Status](https://github.com/manics/kubernetes-omero/workflows/Test%20and%20Publish/badge.svg)](https://github.com/manics/kubernetes-omero/actions?query=branch%3Amain)
Kubernetes Helm charts for [OMERO](https://www.openmicroscopy.org/).
## Quick start
Add the OMERO Helm chart repository:
helm repo add omero https://www.manicstreetpreacher.co.uk/kubernetes-omero/
helm repo updateOptionally create your OMERO.server and OMERO.web Helm configuration files.
You can use [`test-omero-server.yaml`](test-omero-server.yaml) and [`test-omero-web.yaml`](test-omero-web.yaml) as examples.Create a PostgreSQL database, and add the credentials to your OMERO.server chart configuration file.
For testing you could use the `bitnami/postgresql` Helm chart:helm repo add bitnami https://charts.bitnami.com/bitnami
helm upgrade --install postgresql bitnami/postgresql -f test-postgresql.yamlInstall OMERO.server and OMERO.web
helm upgrade --install omero-server omero/omero-server -f test-omero-server.yaml
helm upgrade --install omero-web omero/omero-web -f test-omero-web.yamlFor the full set of configuration options see
- [omero-server/values.yaml](omero-server/values.yaml)
- [omero-web/values.yaml](omero-web/values.yaml)## Storage volumes
You can define existing PersistentVolumeClaims to use for PostgreSQL and OMERO.server data storage.
Alternatively PersistentVolumes can be automatically created using dynamic provisioning if supported by your cluster.
These volumes will _not_ be deleted by `helm delete` to reduce the likehood of inadvertent data loss, and will be reused if the chart is re-installed.
You must delete the PVCs manually if you want a fresh installation.## Breaking changes
### OMERO.server 0.4.0
- PostgreSQL is no longer automatically deployed due to the complexity of managing major version upgrades.
You are strongly recommended to deploy a PostgreSQL server separately, for example:- using a Helm chart such as [bitnami/postgresql](https://artifacthub.io/packages/helm/bitnami/postgresql)
- using an operator such as- [CloudNativePG](https://github.com/cloudnative-pg/cloudnative-pg)
- [Postgres Operator from Zalondo](https://github.com/zalando/postgres-operator)
- [PGO from Crunchy Data](https://access.crunchydata.com/documentation/postgres-operator/)which generally provide better support for major PostgreSQL upgrades
- using a managed service such as [Amazon RDS](https://aws.amazon.com/rds/postgresql/) or [Google Cloud SQL](https://cloud.google.com/sql/docs/postgres)
- Kubernetes 1.21+ is required.
### OMERO.web 0.4.0
- Kubernetes 1.21+ is required.
## Development
Install build dependencies:
pip install dev-requirements.txt
Install chart dependencies:
helm dependency update omero-server/
helm dependency update omero-web/Install a test server on K3S (assumes the default ingress and dynamic local volumes are enabled):
helm upgrade --install omero-server ./omero-server -f test-omero-server.yaml
helm upgrade --install omero-web ./omero-web -f test-omero-web.yamlWait for all pods to be ready:
kubectl get pods
Optionally check logs:
kubectl logs -f statefulset/omero-server
kubectl logs -f deploy/omero-webGet the OMERO.server 4064 external port mapping:
kubectl get svc omero-server -o jsonpath='{.spec.ports[0].nodePort}'
## Release process
Tags and Docker images are automatically pushed when the Chart.yaml versions are changed.
Charts are versioned independently. GitHub tags are prefixed with the component name.This is all handled using [Chartpress](./ci/chartpress.py).
See:
- [`.github/workflows/test.yml`](.github/workflows/test.yml)