This repository contains the helm chart to deploy an Invenio instance.
:warning: Please note that this configuration is not meant to be used in production. This configuration should be adapted and hardened depending on your infrastructure and constraints.
Depending on the underlying technology, pre-requisites and configuration might change.
:warning: Before installing you need to configure two things in your
values.yaml
file.
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 🚀