Skip to main content

Signadot Operator

INFO

If you don't have a Kubernetes cluster available for installing the Signadot Operator yet, you can try Signadot on a Playground Cluster that you can self-provision from the Dashboard. See Quick Start for details.

This document outlines the steps to set up your cluster to use with Signadot.

Installation

Prerequisites

  1. A Kubernetes cluster with appropriate permissions. You can also use a local cluster (minikube/k3s).
  2. An installation of helm

Installing the Operator

You need to install the Signadot Operator in one or more Kubernetes clusters where you wish to create Sandboxes. You need to authenticate your Kubernetes cluster to Signadot using a cluster token that can be generated using the Signadot Dashboard. Copy the cluster token value for the next installation step.

In the Signadot Dashboard, navigate to Clusters > Connect Cluster, and then supply a name that identifies the cluster you are connecting. Once you create the connection, the dashboard will present you with installation instructions that you can copy and paste.

Note that these install instructions contain your cluster token and as a result will not be shown again. For reference, the install instructions (without a cluster token) follow.

kubectl create ns signadot
kubectl -n signadot create secret generic cluster-agent --from-literal=token='<cluster-token>'
helm repo add signadot https://charts.signadot.com
helm install signadot-operator signadot/operator

Upgrading the Operator

You upgrade an existing installation by running the following Helm commands.

# To upgrade an existing release
helm repo update
helm upgrade signadot-operator signadot/operator

Uninstalling the Operator

To uninstall the operator, first, remove the Helm chart, and then delete the signadot namespace.

helm uninstall signadot-operator
kubectl delete ns signadot

Configuration

You can optionally specify additional parameters to customize your operator installation. This can be done through a Helm values.yaml file or on the command line. For getting the full list of customizable parameters please check helm parameters documentation.

This is an example of how to specify custom parameters:

# Add custom labels to all deployed objects
helm install signadot-operator signadot/operator \
--set 'commonLabels.some-label=value1' \
--set 'commonLabels.other-label=value2'

Or create a values.yaml file with the following content:

# Add these labels to all objects deployed by this chart.
commonLabels:
some-label: value1
other-label: value2

And run the following command

helm install signadot-operator signadot/operator -f values.yaml

That will apply the some-label and other-label labels to all deployed objects including namespaces, CRDs, ClusterRoles, etc.