Installing edu-sharing using Kubernetes (Helm)
Prerequisites
Make sure to have kubectl and helm installed on your system and working properly.
Add our edu-sharing helm repository
helm repo add edu-sharing https://artifacts.edu-sharing.com/repository/helm
On your cluster site, make sure to have
An ingress setup
An cert issuer (in case you want to automatically get https certificates)
A storage class provider for RWM storage volumes
Configuration
Create a custom configuration yaml file for your install
global:
cluster:
storage:
data:
permission: false
spec:
storageClassName: ssd
share:
permission: false
spec:
storageClassName: ssd
edusharing_repository:
edusharing_repository_service:
ingress:
hosts:
- &host my-domain.com
tls:
- hosts:
- *host
secretName: my-domain.com-tls
edusharing_services_rendering:
edusharing_services_rendering_service:
ingress:
hosts:
- &rsHost services.rendering.my-domain.com
tls:
- hosts:
- *rsHost
secretName: services.rendering.my-domain.com-tls
Note: This is just a very basic and minimal example. Refer to the helm chart values to find out what you can configure. We strongly recommend to configure the resources and limits to your specific needs.
Install the community helm release
for instance 9.0.0-RC0:
helm diff upgrade --install edu-sharing edu-sharing/edu_sharing-projects-community --version 9.0.0-RC0 -f values.yaml
or a snapshot version (only recommended for test enviroments):
helm diff upgrade --install edu-sharing edu-sharing/edu_sharing-projects-community --version 9.0.9998 -f values.yaml
Note: The chart “edu_sharing-projects-community” refers to the community version without any customizing. If you want to install a specific customer version, make sure to use the appropriate chart id.
Also check our release page for more available versions.
Install a custom helm release
If you want to rollout an customer specific release, make sure to have a custom username/password access to https://artifacts.edu-sharing.com/ (contact the support if you don’t have one)
Add the given user to your values.yaml
global:
image:
pullSecrets:
- name: registry
image:
pullSecrets:
- name: registry
server: docker.edu-sharing.com
username: username
password: xxxx
(This will allow the access from your cluster to the login protected images)
Install the release
helm diff upgrade --install edu-sharing edu-sharing/edu_sharing-projects-your-project --version 9.0.0-RC0 -f values.yaml