Controller is deprecated from version 1.18.0. You can still enable it using -
controller.enabledflag in helm charts.
Controller is the component that the client talks to. It contains CRUD APIs for functions, triggers, environments, Kubernetes event watches, etc. and proxy APIs to internal 3rd-party services.
All fission resources are stored in Kubernetes CRDs. It needs to be able to talk to Kubernetes API service. To access CRDs in all namespaces, a service account with cluster-wide admin permission is used by Controller.
- The clients send requests to the endpoints on Controller.
- (A) Controller operates the CRDs based on the request.
- (B) If a request is to another internal service, proxy the request to the service.
See here for more details.
/v2/apidocs.json: The OpenAPI 2.0 (Swagger) doc of all CRUD APIs for Fission CRDs.
/proxy/*: The proxy APIs to internal services.
/v2/<resources>/*: The CRUD APIs for Fission CRDs.
/healthz: The health check endpoint.