- Sensor and Gateway controllers are the components which manage Sensor and Gateway resources.
- Sensor and Gateway are Kubernetes Custom Resources. For more information on K8 CRDs visit, https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/
Provide the instance-id
and the namespace for controller
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 watches gateway resource and manages lifecycle of a gateway.
Sensor controller watches sensor resource and manages lifecycle of a sensor.