Helm
Helm, which is de facto standard package manager for Kubernetes, allows installing applications from parameterized YAML manifests called Helm charts.
To address shortcomings of static YAML manifests we provide the Helm chart to deploy the Starboard operator. The Helm chart supports all install modes.
As an example, let's install the operator in the starboard-operator namespace and
configure it to watch the default namespaces:
- Clone the chart repository:
git clone --depth 1 --branch v0.9.0 https://github.com/aquasecurity/starboard.git cd starboard - Create the
starboard-operatornamespace:kubectl create namespace starboard-operator - (Optional) Configure Starboard by creating the
starboardConfigMap and thestarboardsecret in thestarboard-operatornamespace. For example, you can use Trivy in ClientServer mode or Aqua Enterprise as an active vulnerability scanner. If you skip this step, the operator will ensure configuration objects on startup with the default settings:Review the default values and makes sure the operator is configured properly:kubectl apply -f https://raw.githubusercontent.com/aquasecurity/starboard/v0.9.0/deploy/static/05-starboard-operator.config.yamlkubectl describe cm starboard -n starboard-operator kubectl describe secret starboard -n starboard-operator - Install the chart:
helm install starboard-operator ./deploy/helm \ -n starboard-operator \ --set="targetNamespaces=default" - Check that the
starboard-operatorHelm release is created in thestarboard-operatornamespace:To confirm that the operator is running, check the number of replicas created by the$ helm list -n starboard-operator NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION starboard-operator starboard-operator 1 2021-01-27 20:09:53.158961 +0100 CET deployed starboard-operator-0.4.0 0.9.0starboard-operatorDeployment in thestarboard-operatornamespace:If for some reason it's not ready yet, check the logs of the Deployment for errors:$ kubectl get deployment -n starboard-operator NAME READY UP-TO-DATE AVAILABLE AGE starboard-operator 1/1 1 1 11mkubectl logs deployment/starboard-operator -n starboard-operator
Uninstall
You can uninstall the operator with the following command:
helm uninstall starboard-operator -n starboard-operator
Note
You have to manually delete custom resource definitions created by the helm install command:
kubectl delete crd vulnerabilityreports.aquasecurity.github.io
kubectl delete crd configauditreports.aquasecurity.github.io
Danger
Deleting custom resource definitions will also delete all security reports generated by the operator.