Skip to main content
Version: Next

Quick Start: Local Cluster Setup Script

Once you have installed all the necessary tools, you can proceed with setting up your Kubernetes cluster. This cluster is your local environment for running the CIVITAS platform.

For installing the basic cluster services (Ingress, cert-manager, and load balancer) you can run the startup.sh script.

Windows Users: Since the startup.sh script is a Unix shell script, you must use a terminal that supports Unix-like commands, such as:

Clone the Civitas Repository

First, clone the repository to your local machine. This repository contains all the necessary files.

git clone https://gitlab.com/civitas-connect/civitas-core/civitas-core.git
cd civitas-core/local_deployment

The necessary files for local Kubernetes deployment are located in the local_deployment folder within the repository.

Definition of the Custom Domain

The default domain for local deployment is civitas.test. If you want to define a custom domain for your local environment, set the DOMAIN environment variable as follows:

export DOMAIN=civitas.test

If you want to use a proxy for the local deployment services, you must export the environment variables HTTP_PROXY, HTTPS_PROXY, and NO_PROXY as well.

Run the startup.sh Script

Run the script based on the cluster you're using:

If Minikube cluster is not yet installed

./startup.sh -h # optional
./startup.sh -m # The flag -m will install a Minikube cluster

For installation with existing cluster

If a Minikube cluster is already running or you want to use an existing cluster, run the following command:

./startup.sh -h # optional
./startup.sh

Custom Kubernetes cluster

If you already have another Kubernetes distribution, you can use environment variables to connect to your cluster. See ./startup.sh -h for more details. Example:

export KUBECONTEXT=k3d-civitas-local
./startup.sh

After Running startup.sh

The startup.sh script automates the setup of key components for platform deployment:

  1. Ingress-nginx: Manages external access to your services.
  2. MetalLB: Assigns external IPs to services.
  3. Cert-Manager: Manages SSL/TLS certificates.

If you are using Minikube, you must start the Minikube tunnel to access the cluster via 127.0.0.1:

minikube tunnel

After the setup completes, access the platform at http://civitas.test.

Next, proceed with deploying the CIVITAS/CORE platform as described in the following sections for local deployment.