Set up Cloud Connect for your Cluster
This step is essential if you plan to self-host the shard. If you're using Calimero hosted cluster, you can skip this step and proceed directly to creating your workspaces.
What is Cloud Connect?
Cloud Connect is a feature within Calimero that empowers users to manage their infrastructure in a decentralized and secure manner. It allows you to interact with private chains and workspaces, providing the flexibility to use your own AWS/GCP account credentials to create your Kubernetes clusters. By connecting these clusters to your private chain and workspace, you can establish a powerful and customizable environment.
With Cloud Connect, you can:
- Utilize your own GCP account credentials to create Kubernetes (k8s) clusters.
- Seamlessly connect these clusters to your private chain and workspace.
- Maintain complete control over your data.
Prerequisite
To use Google Cloud Platform (GCP) with Calimero's Cloud Connect:
Install the gcloud command-line tool. This tool provides the primary command-line interface to Google Cloud Platform. For installation instructions, follow the official Google documentation.
To confirm the installation and setup, run the following command:
gcloud projects list
This command should list your GCP projects, ensuring your gcloud
installation and setup are successful.
Set up Cloud Connect for your Cluster
Follow these steps to set up Cloud Connect for your cluster:
- Click on Connect Cloud to create your own cluster.
- Click on the GCP cloud provider.
- After selecting your cloud provider, you'll need to connect your cloud to Calimero by entering your GCP account credentials. To generate the credential file, run the following script:
#!/usr/bin/env bash
set -exu
SA_NAME=dev-cc-new
GCP_PROJECT=<Your Project Name>
GCP_PROJECT_ID=$(gcloud projects describe $GCP_PROJECT | grep projectNumber | awk -F: '{print $2}' | tr -d "'" | tr -d ' '"'")
KEY_FILE=./gcp-credentials.json
SA_ID=$SA_NAME@$GCP_PROJECT.iam.gserviceaccount.com
gcloud --project $GCP_PROJECT services enable compute.googleapis.com container.googleapis.com iam.googleapis.com cloudresourcemanager.googleapis.com
gcloud --project $GCP_PROJECT iam service-accounts create $SA_NAME
gcloud --project $GCP_PROJECT iam service-accounts keys create $KEY_FILE \
--iam-account=$SA_ID
gcloud projects add-iam-policy-binding ${GCP_PROJECT} \
--member=serviceAccount:${SA_ID} \
--role=roles/iam.serviceAccountCreator
gcloud --project $GCP_PROJECT iam service-accounts add-iam-policy-binding \
$GCP_PROJECT_ID-compute@developer.gserviceaccount.com \
--member=serviceAccount:$SA_ID \
--role=roles/iam.serviceAccountUser
gcloud projects add-iam-policy-binding ${GCP_PROJECT} \
--member=serviceAccount:${SA_ID} \
--role=roles/container.admin
gcloud projects add-iam-policy-binding ${GCP_PROJECT} \
--member=serviceAccount:${SA_ID} \
--role=roles/container.clusterAdmin
gcloud projects add-iam-policy-binding ${GCP_PROJECT} \
--member=serviceAccount:${SA_ID} \
--role=roles/storage.admin
- Add a unique name for your GCP cloud connection with Calimero
- Then, copy and paste the account credentials
gcp-credentials.json
generated by your cloud provider from the directory where you ran the script.
Once completed, your cloud will be successfully connected.
- Specify a name for your cluster and choose the region where you want to create it. This step allows you to customize your cluster according to your needs.
- Once you've configured the cluster settings, proceed to create the cluster. Calimero will initiate the cluster creation process. Your cluster will be created successfully, and you can now create workspaces within it.