Documentation/Controllers

Controllers

Controller configmap

Defines the instance-id and the namespace for controller configmap e.g.

# The gateway-controller configmap includes configuration information for the gateway-controller
apiVersion: v1
kind: ConfigMap
metadata:
  name: gateway-controller-configmap
data:
  config: |
    instanceID: argo-events  # mandatory
    namespace: my-custom-namespace # optional

namespace: If you don't provide namespace, controller will watch all namespaces for gateway resource.

instance-id: it is used to map a gateway or sensor to a controller. e.g. when you create a gateway with label gateways.argoproj.io/gateway-controller-instanceid: argo-events, a controller with label argo-events will process that gateway. instance-id for controller are managed using controller-configmap. Basically instance-id is used to horizontally scale controllers, so you won't end up overwhelming a controller with large number of gateways or sensors. Also keep in mind that instance-id has nothing to do with namespace where you are deploying controllers and gateways/sensors.

Gateway controller

Gateway controller watches gateway resource and manages lifecycle of a gateway.

Sensor controller

Sensor controller watches sensor resource and manages lifecycle of a sensor.