Prerequisites
System, infrastructure, and access requirements to prepare for a CatalyX Blockchain Manager installation on Canton Network.
Setup Kubernetes or OpenShift cluster
Supported version of Kubernetes: 1.21 and later. We recommend AWS (EKS) or Google Cloud (GKE), but you can install it on a standalone cluster as well.
Define your cluster size considering the following minimum requirements and your business needs:
Minimal requirements for the Catalyst Blockchain Manager Canton service for 1 instance with:
2 core CPU
4GB RAM
10GB disk space
Each node (Domain, participant, or application) that will be deployed consumes additional resources. Minimal requirements for one node:
Domain
1
1
1
Participant
1
1
1
Application
1
1
1
Deciding on the size of the cluster, please consider the expected load of the nodes and increase these values accordingly.
Install Helm to your workstation
Helm can be installed either from source, or from pre-built binary releases.
Follow the installation manual below:
Supported version of Helm: 3.X. No customisation is needed.
Install Traefik ingress
The ingress-controller is needed for traffic routing to expose nodes (domains & applications). The Catalyst Blockchain Manager Canton service creates a CRD resource (IngressRoute in case of using Traefik), that is automatically started and deleted along with each application (and on demand for domains).
Follow the installation manual below:
Supported version of Traefik: 2.3.
No customisation is needed, the default port ( :443 ) for HTTPS traffic will be used.
We recommend installing Traefik to a separate namespace from the application (creation of a namespace for the CatalyX Blockchain Manager Canton service is described in step 6).
Install cert-manager to create TLS certificate
TLS certificate is needed for secured communication between a User and the СatalyX Blockchain Manager Canton service components.
Follow the installation manual below:
We recommend using the last release of the official helm chart.
You can skip this step and specify your TLS certificate and key as a Kubernetes secret in Helm chart values instead later (Helm chart values are described in the Setup section). You can find the manual on how to create a Kubernetes secret here:
kubernetes.io/docs/concepts/configuration/secret/#tls-secrets
Create an A-record in a zone in your domain’s DNS management panel and assign it to the load balancer created upon Traefik or OpenShift installation
CatalyX Blockchain Manager Canton service needs a wildcard record *.<domain> to expose nodes. All created nodes (domains, participants, applications) will have a <NodeName>.<domainName> address.
For example, in case you are using AWS, follow these steps:
Go to the Route53 service.
Create a new domain or choose the existing domain.
Create an A record.
Switch “alias” to ON.
In the “Route traffic to” field select “Alias to application and classic load balancer.”
Select your region (where the cluster is installed).
Select an ELB balancer from the drop-down list.*
Choose the ELB balancer, which was automatically configured upon the Traefik chart installation as described in step 3 (or upon OpenShift installation in case of using OpenShift). You can check the ELB by the following command:
kubectl get svc -n ${ingress-namespace}where:
${ingress-namespace}is the name of the namespace, where the ingress was installed.ELB is displayed in the
EXTERNAL-IPfield.
Create a namespace for the CatalyX Blockchain Manager Canton service application
kubectl create ns ${ns_name}where ${ns_name} — name of namespace (can be any).
Get the credentials to the Helm repository in the JFrog artifactory provided by the IntellectEU admin team
Add the repo to Helm with the username and password provided:
helm repo add catbp <https://intellecteu.jfrog.io/artifactory/catbp-helm> --username ${ARTIFACTORY_USERNAME} --password ${ARTIFACTORY_PASSWORD}As a result: "catbp" has been added to your repositories
Create an ImagePullSecret to access the Catalyst Blockchain Manager Canton service deployable images
For example, create this Secret, naming it intellecteu-jfrog-access:
kubectl create secret intellecteu-jfrog-access regcred --docker-server=intellecteu-catbp-docker.jfrog.io --docker-username=${your-name} --docker-password=${your-password} --docker-email=${your-email} -n ${ns_name}where:
${your-name}+— your Docker username.${your-password}— your Docker password.${your-email}— your Docker email.${ns_name}— the namespace created for the Catalyst Blockchain Manager Canton service on the previous step.
In case you want to use a readiness check and use a private repository for the image, you should create a “secret” file with your credentials in Kubernetes for further specifying it in the Helm chart upon Catalyst Blockchain Manager installation. Please refer to the official Kubernetes documentation: kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ Helm chart configuration instructions you will find here.
Setup Keycloak realm or Auth0 tenant
For Keycloak
Download the realm.json file and import it to create necessary clients, scopes & users in your keycloak realm.
User roles canton_viewer & canton_writer will be evaluated by the Catalyst Blockchain Manager Canton service
After creating realm, set url and realm name in helm values.
For Keycloak Auth0 tenant
If you want to enable Auth0 as an option for ledger authentication, set up a tenant.
After creating tenant, make sure set 'enabled', domain, api id, client id and client secret in helm values.
(Optional) Setup Monitoring & Dashboard
The installation of the CatalyX Blockchain Manager Canton service includes templates to assist monitoring. If you use Grafana, to observe the metrics of all nodes, install the kube-prometheus-stack on your cluster.
Once installed, configure Keycloak OAuth2 authentication on Grafana following the detailed steps provided in the Grafana documentation
This file is a default dashboard that can be imported in Grafana.
After configuring Grafana, make sure set 'url' & 'clusterDashboard' in the Grafana section in helm values.
Enter License Key
Request a license key and set it in helm values.
Last updated
Was this helpful?