Skip to main content

Choose your installation method

Before installing the application, you'll have to choose between three installation types:

  • Embedded Cluster,
  • Existing Cluster using KOTS,
  • Existing Cluster using Helm.

This guide will explain the differences between these methods and help you decide which is the best for your needs.

What is Helm?

Helm is a package manager for Kubernetes, often referred to as the "Kubernetes equivalent of apt/yum/homebrew." It allows you to define, install, and upgrade even the most complex Kubernetes applications. Helm uses "charts," which are collections of files that describe a related set of Kubernetes resources. This tool simplifies the management of Kubernetes applications by providing a single command to deploy an application, manage its lifecycle, and track version history.

What is KOTS?

KOTS (Kubernetes Off-The-Shelf) is a framework designed to help software vendors manage the lifecycle of Kubernetes applications in a way that’s user-friendly for enterprise customers. It provides a set of tools and a UI that simplifies the deployment, management, and support of Kubernetes applications. With KOTS, you can install applications on existing clusters and manage updates, configuration changes, and troubleshooting with ease.

What is an Embedded Cluster Installation

The Embedded Installation is an "all-in-one" installation where the Kubernetes cluster is created on your machine, and all components needed for the application are installed.

Embedded Installation Schema

You can also use external databases to your embedded Kubernetes cluster. The database preparation section will help you correctly configure them for your environment.

You can find more details about Embedded Cluster Installation in the Replicated documentation.

What is an Existing Cluster Installation

You can install the application on an existing Kubernetes cluster that already contains nodes. Ensure this cluster meets the system and network requirements.

The database preparation section will help you correctly configure them for your environment.

Existing Installation Schema with an external database

You can find more details about Existing Cluster Installation in the Replicated documentation.

If you plan to install GitGuardian on an OpenShift cluster, please refer to the detailed guidelines for OpenShift cluster installation.

On existing clusters, you can choose between two installation methods:

Existing cluster installation using KOTS

With this installation method, you'll use the Web KOTS Admin Console provided by Replicated. This interface will allow you to configure, deploy, backup and troubleshoot your application without writing code.

This installation is also referred as KOTS-based installation.

Existing cluster installation using Helm

Helm is a package management tool for Kubernetes clusters. It allows fine-tuning the configuration through a YAML file that can be versioned in a Git Repository. It also integrates well with CD tools like Argo CD.

This installation is also referred as Helm-based installation.

How to choose between these options

Before installing the application, you'll have to reply to some considerations:

  • do you possess the necessary resources and expertise to manage your Kubernetes cluster?
  • do you have security policies in place in your Kubernetes cluster?
  • do you have the expertise and resources to handle your own databasess?
  • do you lean towards a user-friendly web UI or prefer configuring as code?
  • will you require fine-tuning of the application?

If you already have a Kubernetes cluster, that is running different applications, with precise management and security policies and a dedicated maintainer in your teams, you should use the existing cluster installation using KOTS or the existing cluster installation using Helm. Please, note you will also need access to a Postgres and Redis databases.

While KOTS Admin Console is well suited where you won't need to fine-tune the application, Helm installation will offer more configuration options and will be more easily integrated into automation pipelines. Choosing between these 2 installation methods also depends on your processes and resources. Web UI doesn't require specific knowledge as Helm does.

If you don't have resources dedicated to the maintenance of a Kubernetes cluster and databases, prefer the embedded installation. However, please note that embedded installations are not recommended for production use and are better suited for trial or Proof of Concept (PoC) purposes.

%%{ init: { 'theme': 'base', 'themeVariables': { 'primaryColor': '#e1edff', 'primaryTextColor': '#3654b8', 'primaryBorderColor': '#081736', 'lineColor': '#081736', 'secondaryColor': '#fff', 'tertiaryColor': '#fff' } } }%% graph TB A(Choosing GitGuardian Installation Method) A --> C(Production Deployment 🏭) A --> B("Trial/PoC Deployment 🧪") ---> F C --->|Have a Kubernetes Cluster?| G C -->|No Kubernetes Cluster?| F("Choose Embedded Cluster Installation <u>External</u> or <u>Embedded</u> PostgreSQL & Redis <a href='./databases/database-config' target='_blank'>databases</a>") G("Choose Existing Cluster Installation <u>External</u> PostgreSQL & Redis <a href='./databases/database-config' target='_blank'>databases</a>") G -->|🖼️ Prefer Graphical User Interface?| J(Choose KOTS Admin Console) G -->|📜 Prefer Infrastructure as Code?| K(Choose Helm Installation) J --> L(Follow <a href='./installation-existing-cluster' target='_blank'>Existing Cluster Installation using KOTS</a>. Less Technical Knowledge Required.) K --> M(Follow <a href='./installation-existing-helm' target='_blank'>Existing Cluster Installation using Helm</a>. More Technical Knowledge Required.) F ---> |⚠️ Recommended to <a href='/self-hosting/management/infrastructure-management/high-availability' target='_blank'>setup HA</a> for Production use Small-scale limitation.|N("Follow <a href='./installation-embedded-cluster' target='_blank'>Embedded Cluster Installation using KOTS</a>. Less Technical Knowledge Required.") style L fill:#ffffff,color:#081736 style M fill:#ffffff,color:#081736 style N fill:#ffffff,color:#081736

Feature Matrix Helm vs KOTS

This feature matrix provides a comprehensive comparison between Helm and KOTS installations, highlighting their capabilities and key differences.

Feature NameHelm installKOTS install
Infrastructure as Code (IaC) deployment
Graphical User Interface (GUI) deployment
Airgap deployment
Support OpenShift
External PostgreSQL and Redis (recommended)
Embedded PostgreSQL and Redis
Workload management (Replicas count)
Resources management (CPU/memory requests/limits)
Horizontal Pod Autoscaling (coming sooon)
Load balancer + Ingress
HTTP Proxy
Custom CA
Generic Ephemeral Inline Volumes
Advanced pod scheduling options
Istio service mesh
Set custom labels on pods
Existing Kubernetes secrets
Private Docker Registry
Deploy with ArgoCD

How can I help you ?