Skip to main content

Deploy Corsha Enterprise

This guide covers the installation of a new Corsha Enterprise stack. Should you run into any issues during installation, please do not hesitate to reach out to your Corsha Technical Point of Contact (TPOC) who will happily assist you further.

Environment Prerequisites​

The Corsha Enterprise platform is a distributed system built upon Kubernetes. Communications are secured using mutual TLS (mTLS). To run Corsha Enterprise you will need to provide:

  • A Kubernetes cluster (Version 1.32+)
  • A top-level domain (TLD) for server certificates
  • A nameserver to resolve DNS for hosts created under this TLD
  • A signing key to generate server certificates

Local Prerequisites​

The installation workflow documented here assumes the availability of several software packages on the local system being used to deploy the Corsha Enterprise components:

  1. Kubectl (Version v1.32+)
  2. Helm (Version v3.18+)
  3. Helm Secrets Plugin (Version v4.6+)
  4. Sops (Version v3.9+)
  5. Yq (Version v4.45+)

Cluster Prerequisites​

There are several Kubernetes cluster-level prerequisites for the installation of the Corsha Enterprise Components. The Helm charts are linked and encouraged for a seamless installation. Additionally, the necessary installation commands have been provided.

  1. Ingress NGINX (Version 4.12.1)
  2. cert-manager (Version 1.14.4)

Installing Cluster Prerequisites​

  • Install Ingress NGINX:

    helm upgrade --install \
    ingress-nginx ingress-nginx \
    --repo https://kubernetes.github.io/ingress-nginx \
    --namespace ingress-nginx --create-namespace \
    --version 4.12.1 \
    --set controller.extraArgs.enable-ssl-passthrough=""
  • Install cert-manager:

    helm upgrade --install \
    cert-manager cert-manager \
    --repo https://charts.jetstack.io \
    --namespace cert-manager --create-namespace \
    --version v1.14.4 \
    --set installCRDs=true
info

To automatically configure DNS entries with a cloud-based nameserver, install ExternalDNS. Configuration will vary per cloud provider, see the ExternalDNS documentation for the values that will be needed for your cloud provider. Ensure you replace example.com with your domain(s).

helm upgrade --install \
external-dns external-dns \
--repo https://charts.bitnami.com/bitnami \
--namespace external-dns --create-namespace \
--version 8.3.3 \
--set domainFilters='{example.com}'

Set up the Corsha Helm repository​

To simplify the subsequent steps, we will add the Corsha repo to your local Helm Repository, allowing you easier access to the repository’s contents for the upcoming instructions.

  1. Log in to Corsha's Helm Repository using the username and password provided in your Deployment Guide. You may skip to step 2, if you have already performed this step before.
    helm repo add corsha https://corsha.jfrog.io/corsha/corsha --username <Your Corsha Artifactory Username>
info

You may be prompted to provide a password; this is your Artifactory password provided in the Deployment Guide.

tip

If you've previously added Corsha's Helm Repo, you may disregard the following error and proceed to step 2.

Error: repository name (corsha) already exists, please specify a different name
  1. Once the repository has been added, we will need to run an update command to fetch the latest information about the repository’s contents.
    helm repo update

Import Corsha Helm Provenance Signing Key​

Follow the instructions on the Releases page to import Corsha's public key used to sign Helm charts. Having this key ensures that the Helm Charts you're installing are authentic and signed by Corsha.

Configure the Corsha Enterprise Components​

Corsha provides a script to simplify additional configuration of the Enterprise Components. This script will generate the required configuration material for your Corsha Enterprise environment after it has been modified with your unique data. The instructions to update, install, and operate this script are linked in your Deployment Guide.

After completing the configuration provided within your Deployment Guide, you will be ready to deploy Corsha Enterprise!

Install the Corsha Enterprise Components​

  • Install the Corsha DLN with Helm using the version provided by your Corsha TPOC:

    helm upgrade --install \
    corsha-dln corsha/corsha-dln \
    -f umbrella-values.dln.yaml \
    --namespace corsha --create-namespace \
    --verify --version <version>
  • Install the Corsha Control Plane with Helm using the version provided by your Corsha TPOC:

    helm upgrade --install \
    corsha-control-plane corsha/control-plane \
    -f umbrella-values.control-plane.yaml \
    --namespace corsha --create-namespace \
    --verify --version <version>

Validate the Corsha Enterprise Installation​

Visit the Console guide to access the Console for the first time and validate your Corsha Enterprise installation.

Next steps​

Now that you have successfully configured and installed Corsha Enterprise, you're ready to visit our guides on setting up a Gatekeeper and an Authenticator to protect your API services.