Skip to content
This repository has been archived by the owner on Dec 11, 2023. It is now read-only.

Latest commit

 

History

History
52 lines (38 loc) · 1.83 KB

install.md

File metadata and controls

52 lines (38 loc) · 1.83 KB

Install

To install Scoby at a Kubernetes cluster apply manifests for both CRDs and Controller:

# Install Scoby CRDs
kubectl apply -f https://github.com/triggermesh/scoby/releases/latest/download/scoby-crds.yaml

# Install Scoby Controller
kubectl apply -f https://github.com/triggermesh/scoby/releases/latest/download/scoby.yaml

Refer to releases for previous versions.

Development Version

Development version can be installed using ko. Make sure that triggermesh namespace exists before running this command.

ko apply -f ./config

Namespaced Deployment

When Scoby is used in a reduced set of namespaces, permissions can be limited to only those namespaces.

Adapt the ClusterRoleBindings manifests contained in the config folder. For each namespace where Scoby must be supported, there must be a namespaced binding. Each ClusterRoleBinding must have a distinct name. Make sure to remove the non-namespaced binding since it should be no longer needed.

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: scoby-controller-my-namespace
  namespace: my-namespace
  labels:
    app.kubernetes.io/part-of: triggermesh
...

This way we are scoping the ClusterRoles to those namespaces in use.

The controller needs to be informed and environment variable that contains a comma separated list of supported namespaces, an empty value meaning all namespaces. Edit the controller manifest and add the environment entry.

        env:
        - name: SCOBY_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: WORKING_NAMESPACES
          value: my-namespace,your-namespace