This document describes how to deploy the Federated Catalogue on IONOS DCD.
These are the services that are deployed:
- Demo Portal: A demo portal to showcase the Federated Catalogue.
- Federated Catalogue: The Federated Catalogue service.
- Keycloak: An open source identity and access management solution.
- Neo4j: A graph database management system.
- PostgreSQL: Open source object-relational database system.
Before you start deploying the Federated Catalogue, make sure you meet the requirements:
- Terraform
- kubectl
- Docker
- Helm
- DNS server and domain name
- Kubernetes cluster with installed cert-manager, NGINX ingress, and external-dns
Set environment variables
# copy .env-template to .env and set the values of the required parameters
cp .env-template .env
# load the configuration
source .env
Follow these instructions to create Kubernetes cluster with installed cert-manager, NGINX ingress, and optionally external-dns.
Skip this step if you want to use Ionos DNS service.
If you already have a Kubernetes cluster and have skipped step1 of this deployment procedure, you must configure the path to the KUBECONFIG like so:
export TF_VAR_kubeconfig="path/to/kubeconfig"
and set USE_IONOS_DNS
variable to False:
export USE_IONOS_DNS=False
Follow these instructions for external-dns.
In order to use the DNS service, you should have skipped step 2 and you will need NS record pointing to Ionos name servers
ns-ic.ui-dns.com
ns-ic.ui-dns.de
ns-ic.ui-dns.org
ns-ic.ui-dns.biz
You will also need to set USE_IONOS_DNS
variable to True:
export USE_IONOS_DNS=True
If you have DNS zone already configured set IONOS_DNS_ZONE_ID
environment variable.
To install the other services run the script deploy-services.sh
in terraform
directory.
cd terraform
./deploy-services.sh
Open the Keycloak admin console in your browser https://fc-key-server.<DOMAIN>/admin/master/console/#/create/user/gaia-x
and login with admin/admin
.
Note: Replace <DOMAIN>
with the domain name you have set in the environment variable TF_VAR_domain
.
Fill in the form and click on Save. Make sure "Email Verified" is set to ON.
Next click on Credentials and set a password for the user.
After that click on Role Mappings. On Client Roles dropdown select federated-catalogue and move Ro-MU-A, Ro-MU-CA, Ro-PA-A, and Ro-SD-A to Assigned Roles.
Go to https://fc-demo-portal.<DOMAIN>
and login with the user you have created in the previous step.
Note: Replace <DOMAIN>
with the domain name you have set in the environment variable TF_VAR_domain
.
To uninstall the federated-catalogue services run the script uninstall-services.sh
in terraform
directory.
./uninstall-services.sh
Documentation for the IONOS Cloud API
Documentation for the IONOSCLOUD Terraform provider