Skip to main content

Installation

Prerequisites
  • You will access to a Kubernetes cluster with appropriate permissions.
    • You can also use a local cluster (minikube / k3s).
  • You will need need helm.

Overview

To install Signadot:

  1. Create a Signadot account. Sign up is available here.
  2. Install the signadot CLI.
  3. Install the Signadot Operator using the instructions below.

Set up a cluster connection

You need to install the Signadot Operator in one or more Kubernetes clusters where you wish to create Sandboxes. You need to connect 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.

Install the Signadot Operator

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

Custom Configuration

You can optionally specify additional labels and annotations to be added to Signadot components through a Helm values.yaml file or on the command line:

# Add custom labels.
helm install signadot-operator signadot/operator \
--set 'podLabels.some-label=value' \
--set 'podLabels.other-label=value'

For a complete example, consider a values.yaml file with the following contents:

# Add these labels to all Pods deployed by this chart.
podLabels:
examplePodLabel: PLvalue

# Add these labels to all objects deployed by this chart.
commonLabels:
exampleCommonLabel: exampleCommonLabelValue

# Add these annotations to all objects deployed by this chart.
commonAnnotations:
exampleCommonAnnotation: exampleCommonAnnotationValue

# Restrict the operator to specific namespaces.
allowedNamespaces:
- ns1
- ns2

Then the following command

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

will add the labels and annotations as configured. podLabels will only be applied to pods and podSpecs, whereas commonLabels and commonAnnotations will be applied to all objects including namespaces, CRDs, ClusterRoles, etc.

Upgrade

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

Uninstall

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

helm uninstall signadot-operator
kubectl delete ns signadot