Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update installation documentation. #1562

Merged
merged 2 commits into from
Sep 9, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 16 additions & 44 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2601,16 +2601,16 @@ ghcr.io/thehyve/helm-charts/fairspace (GitHub Packages of the Fairspace reposito

We provide a number of charts for various components that can be used in combination, or separately:

- _Fairspace Keycloak_: Installs Keycloak and configures an ingress node for Keycloak. This chart is not required if Keycloak is already installed separately. You still need to <<Configure a Keycloak realm for Fairspace,configure a Keycloak realm for Fairspace>>.
(Chart source: https://github.com/thehyve/fairspace-keycloak[].)
- _Fairspace_: Installs the Fairspace application, including the _saturn_ backend, _pluto_ proxy, _mercury_ frontend and a PostgreSQL database, and configures an ingress node for Fairspace.
- _Jupyter_: Installs a version of Jupyter Hub that uses Keycloak for authentication and launches a link:https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#jupyter-datascience-notebook[jupyter-datascience-notebook] based Jupyter notebook with the Fairspace collections file system mounted automatically. (Chart source: https://github.com/thehyve/fairspace-jupyter[].)
- _Fairspace Keycloak_: Installs Keycloak and configures an ingress node for Keycloak. This chart is not required if Keycloak is already installed separately. You still need to <<Configure a Keycloak realm for Fairspace,configure a Keycloak realm for Fairspace>>
(chart source: https://github.com/thehyve/fairspace-keycloak[]).
- _Fairspace_: Installs the Fairspace application, including the _saturn_ backend, _pluto_ proxy, _mercury_ frontend and a PostgreSQL database, and configures an ingress node for Fairspace (chart source: https://github.com/thehyve/fairspace[]).
- _Jupyter_: Installs a version of Jupyter Hub that uses Keycloak for authentication and launches a link:https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#jupyter-datascience-notebook[jupyter-datascience-notebook] based Jupyter notebook with the Fairspace collections file system mounted automatically (chart source: https://github.com/thehyve/fairspace-jupyter[]).

==== Instructions for deploying to Google Cloud

===== Download and install helm and gcloud

* Download ``helm 3.14.3`` from https://github.com/helm/helm/releases/tag/v3.14.3
* Download ``helm 3.14.3`` (or higher) from https://github.com/helm/helm/releases/tag/v3.14.3
* Extract the downloaded archive to ``~/bin/helm`` and check with:
+
[source, shell]
Expand All @@ -2624,22 +2624,11 @@ We provide a number of charts for various components that can be used in combina
+
[source, shell]
----
gcloud container clusters get-credentials <cluster id> --zone europe-west1-b
----
+
Use ``fairspacecicluster`` as cluster id for the CI environment.
Ensure that your Google account has access to the ``fairspace-207108`` GCP project and set the project property
+
[source, shell]
----
gcloud config set project fairspace-207108
----
Log in using
+
[source, shell]
----
gcloud auth login
gcloud iam service-accounts keys create credentials.json --iam-account <iam account id, e.g. [email protected]>
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json
gcloud container clusters get-credentials <cluster id, e.g. fairspacecicluster> --zone europe-west1-b --project <project id, e.g. fairspace-207108>
----

* Check if all tools are correctly installed:
+
[source, shell]
Expand All @@ -2652,18 +2641,6 @@ kubectl get ns
~/bin/helm/helm list -A
----

===== Initialise helm and login to Fairspace GitHub Packages
[source, shell]
----
# Add the stable repo (prepare and use personal access token, also known as PAT, within your GitHub account as a password)
~/bin/helm/helm registry login ghcr.io/fairspace/helm-charts --username <your github account> --password-stdin
# (Optional) Add the fairspace repo via the GCS plugin for writing
~/bin/helm/helm plugin install https://github.com/hayorov/helm-gcs.git --version 0.4.2
gcloud iam service-accounts keys create credentials.json --iam-account [email protected]
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json
~/bin/helm/helm repo add fairspace-gcs gs://fairspace-helm
----

===== Configure DNS

Find the address of the Kubernetes cluster:
Expand All @@ -2676,16 +2653,10 @@ Create DNS records for the ``keycloak.example.com``, ``fairspace.example.com`` a
===== Fetch charts
[source, shell]
----
# Update repo
~/bin/helm/helm repo update
# List available fairspace-keycloak chart versions
~/bin/helm/helm search repo --versions fairspace/fairspace-keycloak
# Fetch the fairspace-keycloak chart
~/bin/helm/helm pull fairspace/fairspace-keycloak --version 0.7.0
# List available fairspace chart versions
~/bin/helm/helm search repo --versions fairspace/fairspace
~/bin/helm/helm pull oci://ghcr.io/thehyve/fairspace/helm-charts/fairspace-keycloak --version 0.7.0
# Fetch the fairspace chart
~/bin/helm/helm pull fairspace/fairspace --version 2.0.1
~/bin/helm/helm pull oci://ghcr.io/thehyve/fairspace/helm-charts/fairspace --version 2.0.1
----

===== Deploy Keycloak
Expand All @@ -2698,7 +2669,7 @@ Create a new deployment (called _release_ in helm terminology) and
install the Fairspace Keycloak chart:
[source, shell]
----
~/bin/helm/helm install keycloak-new fairspace/fairspace-keycloak --version 0.7.0 --namespace keycloak-new \
~/bin/helm/helm install keycloak-new fairspace-keycloak-0.7.0.tgz --namespace=keycloak-new \
-f /path/to/fairspace-keycloak-values.yaml
----
You can pass values files with ``-f`` or ``--values``.
Expand Down Expand Up @@ -2773,7 +2744,7 @@ Create a new deployment (called _release_ in helm terminology) and
install the Fairspace chart:
[source, shell]
----
~/bin/helm/helm install fairspace-new fairspace/fairspace --version 2.0.1 --namespace fairspace-new \
~/bin/helm/helm install fairspace-new fairspace-2.0.1.tgz --namespace=fairspace-new \
-f /path/to/values.yaml --set-file saturn.vocabulary=/path/to/vocabulary.ttl --set-file saturn.views=/path/to/views.yaml
----
You can pass values files with ``-f`` and provide a file for a specified
Expand Down Expand Up @@ -2870,7 +2841,7 @@ Additionally, to include custom icons for `fairspace.icons` option, you need to

[source, shell]
----
~/bin/helm/helm install fairspace-new fairspace/fairspace --version 2.0.1 --namespace fairspace-new \
~/bin/helm/helm install fairspace-new fairspace-2.0.1.tgz --namespace=fairspace-new \
-f /path/to/values.yaml --set-file saturn.vocabulary=/path/to/vocabulary.ttl --set-file saturn.views=/path/to/views.yaml --set-file svgicons.extra-icon=/path/to/extra-icon.svg
----

Expand All @@ -2886,7 +2857,8 @@ Create a new deployment (called _release_ in helm terminology) and
install the Jupyter Hub chart:
[source, shell]
----
~/bin/helm/helm install jupyterhub-new fairspace/jupyter --version 0.8.9 --namespace jupyterhub-new \
~/bin/helm/helm pull oci://ghcr.io/thehyve/fairspace/helm-charts/fairspace-jupyter --version 0.8.9
~/bin/helm/helm install jupyterhub-new fairspace-jupyter-0.8.9.tgz --namespace=jupyterhub-new \
-f /path/to/values.yaml
----
You can pass values files with ``-f``.
Expand Down
Loading