This repository contains the helm chart to deploy an Invenio instance.
Depending on the underlying technology, pre-requisites and configuration might change.
values.yaml
file.
- Host
- The web/worker docker images. If you need credentials you can see how to set them up in Kubernetes.
host: yourhost.localhost
web:
image: your/invenio-image
worker:
image: your/invenio-image
It is recommended to configure the following variables. It can be done in the
values-overrides.yaml
file.
invenio:
init: true # initiates db, index, and admin roles
demo_data: true # for a demo set of records
default_users: # for creating users on install
"user@example.com": "password"
secret-key: "my-very-safe-secret"
rabbitmq:
default_password: "mq_password"
# Edit the following URI with the values from just above
celery_broker_uri: "amqp://guest:mq_password@mq:5672/"
postgresql:
user: "invenio"
password: "db_password"
host: "db"
port: "5432"
database: "invenio"
# Edit the following URI with the values from just above
sqlalchemy_db_uri: "postgresql+psycopg2://invenio:db_password@db:5432/invenio"
It's however strongly advised to override them either through a value file
or through the --set
flag, especially if running anything else than a
private test environment. If using OpenShift, you can use
Secrets.
You can see an example of the --set
option. Multiple values and/or --set
flags can be used in the same command.
DB_PASSWORD=$(openssl rand -hex 8)
helm install -f safe-values.yaml \
--set search.password=$SEARCH_PASSWORD \
--set postgresql.password=$DB_PASSWORD \
invenio ./invenio-k8s --namespace invenio
To deploy your instance you have to options, directly from GitHub or from your local clone.
$ helm repo add helm-invenio https://inveniosoftware.github.io/helm-invenio/
$ helm repo update
$ helm search invenio
NAME CHART VERSION APP VERSION DESCRIPTION
helm-invenio/invenio 0.2.0 1.16.0 Open Source framework for large-scale digital repositories
helm-invenio/invenio 0.1.0 1.16.0 Open Source framework for large-scale digital repositories
Install the desired version
$ helm install invenio helm-invenio/invenio --version 0.2.0
First, clone the GitHub repository and change directory:
git clone https://github.com/inveniosoftware/helm-invenio.git
cd helm-invenio/
If using kubernetes, you might need to add --namespace invenio
to the
install command.
Then proceed to the installation
$ helm install [-f values-overrides.yaml] invenio ./invenio
# NAME: invenio
# LAST DEPLOYED: Mon Mar 9 16:25:15 2020
# NAMESPACE: default
# STATUS: deployed
# REVISION: 1
# TEST SUITE: None
# NOTES:Invenio is ready to rock :rocket:
If for some reason you need to update parameters you can simply edit them in
the values-overrides.yaml
file and use the upgrade
command:
$ helm upgrade --atomic -f values-overrides.yaml invenio ./invenio
# Release "invenio" has been upgraded. Happy Helming!
# NAME: invenio
# LAST DEPLOYED: Tue Dec 7 15:29:08 2021
# NAMESPACE: default
# STATUS: deployed
# REVISION: 2
# TEST SUITE: None
# NOTES:
# Invenio is ready to rock 🚀