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 CIVITAS/CORE.

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 your status:

If Minikube cluster is not ready

If a Minikube cluster is not yet up and running, run the following command to install Minikube and start a new cluster:

./startup.sh -m # The flag -m will install and start a Minikube cluster

To see the help page, run ./startup.sh -h.

If you have a Minikube cluster up and running

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

./startup.sh # Without any flag the script will install CIVITAS/CORE

To see the help page, run ./startup.sh -h.

If you use another Kubernetes cluster

If you already have another Kubernetes cluster, 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.