Helm chart
The GEO Knowledge Hub deploys on Kubernetes through the upstream helm-invenio chart,
maintained by the InvenioRDM community. The chart packages the application and every supporting service into a single Helm release, with sensible
defaults for evaluation and a clear path to plugging in your own infrastructure for production.
This page describes what the chart deploys, how its main pieces fit together, and where the GEO Knowledge Hub layers its specifics on top.
Architecture at a glance
Section titled “Architecture at a glance”By default, the use of the helm-invenio chart produces the following workloads in the target namespace:
webDeployment, running the InvenioRDM web application behind nginx and uWSGI.workerandworker-beatDeployments, running Celery workers and the scheduler for asynchronous tasks (DOI minting, file processing, search index updates).flowerDeployment (optional), providing a UI for inspecting Celery jobs.- A bundled PostgreSQL (Bitnami chart), used as the application database.
- A bundled Redis (Bitnami chart), used as the cache, session store, and Celery result backend.
- A bundled RabbitMQ (Bitnami chart), used as the Celery message broker.
- A bundled OpenSearch (Bitnami chart), used as the search backend.
Configuration
Section titled “Configuration”The helm-invenio is configured through a single values.yaml file passed to helm install or helm upgrade. The file is partitioned into blocks, each setting a specific aspect of the deployment: the container image (image), the ingress (ingress), persistence (persistence), the bundled services (postgresql, redis, rabbitmq, opensearch), and the application’s runtime configuration (app.extraConfig).
For example, the app.extraConfig block is used to set application runtime configurations. It is used to set environment variables that are used to override the default InvenioRDM configuration. At install time each entry becomes a key in a ConfigMap mounted into every application Pod, so updating a setting is a helm upgrade away with no image rebuild required.
The full list of values exposed by the chart, including every app.config key, lives in the parameters reference.
Application image
Section titled “Application image”One special block used to configure the helm-invenio to work with the GEO Knowledge Hub is the image block. It allows the override of the default InvenioRDM container image. In the GEO Knowledge Hub case, we use it to define the GEO Knowledge Hub image as the default one.
The GEO Knowledge Hub image used is published on Docker Hub at geoknowledgehub/geo-knowledge-hub.
Bundled or external services
Section titled “Bundled or external services”Every service the chart bundles can be disabled and replaced with an external instance through a dedicated parameter block:
postgresqlExternalfor an external PostgreSQL.redisExternalfor an external Redis.rabbitmqExternalfor an external RabbitMQ.externalOpensearchfor an external OpenSearch.
In production, you typically run only the application and worker Deployments inside the cluster and point each external block at a managed database, cache, broker, and search service.