Some links:
- FAIRscape publication: https://www.biorxiv.org/content/10.1101/2020.08.10.244947v3.full.pdf
- FAIRscape GitHub repositories: https://github.com/fairscape
- Data Science Research Infrastructure (DSRI, OpenShift cluster) documentation: https://maastrichtu-ids.github.io/dsri-documentation/
To redeploy easily FAIRscape on any Kubernetes cluster.
Check the documentation to create a Helm chart:
Helm create
docs: https://helm.sh/docs/helm/helm_create/- Create Helm chart (Bitnami): https://docs.bitnami.com/tutorials/create-your-first-helm-chart/
- Helm tips and trick: https://helm.sh/docs/howto/charts_tips_and_tricks/
- Define parameters go to
values.yaml
(variables and their values to be used by the templates) - Then the deployment is defined in
templates/deployment.yaml
and can use variables defined invalues.yaml
Charts/
folder is for external charts dependencies (if we want to define FAIRscape using multiple charts for modularity)
Added: defined OpenShift Route in the Helm chart (alongside Ingress)
- cf. https://www.ibm.com/cloud/blog/deploying-helm-charts-on-openshift
- https://artifacthub.io/packages/helm/appuio/openshift-route
- Example
openshift-route
chart: https://github.com/appuio/charts/tree/master/openshift-route
Check if the Helm chart is properly defined:
helm lint fairscape
To run the chart in dry-run mode:
helm install --dry-run --debug ./fairscape --set service.internalPort=8080 --generate-name
Check the fairscape/values.yaml
file to see the parameters of the chart.
- Deploy the chart on OpenShift DSRI:
helm install fairscape ./fairscape --set service.type=NodePort,serviceAccount.name=anyuid,openshiftRoute.enabled=true
We override
service.type
andserviceAccount.name
from thevalues.yaml
file
- Or deploy on Kubernetes with Ingress routes:
helm install fairscape ./fairscape --set service.type=NodePort,ingress.enabled=true
Upgrade the deployed chart using local source code:
helm upgrade fairscape ./fairscape --set service.type=NodePort,serviceAccount.name=anyuid,openshiftRoute.enabled=true
helm uninstall fairscape
Helm Swagger API validation reject when we provide an empty string as host ""
- cf. deploying OpenShift Route: https://bugzilla.redhat.com/show_bug.cgi?id=1773682
- cf issue: openshift/origin#24060
Current fix: host
is hardcoded as ""
in the template instead of using value from values.yaml
It was previously (in templates/openshiftRoute.yaml
):
spec:
host: {{ .Values.openshiftRoute.host }}
Recommended to use Stardog (licensed triplestore) for its path explanation feature
- Academic trial (1 year): https://www.stardog.com/academic-trial/
- Request academic trial: https://community.stardog.com/t/academic-license/1883/7 (use an academic email)
- Setup instructions: https://www.stardog.com/docs/#_starting_stardog