AA

Action Automation (AA) is a Kaa service that keeps track of all automation actions in the system and provides REST API to trigger a specific action by calling a webhook associated with it. When AA receives a REST API webhook call, it sends an event into NATS and expects other service(s) to be subscribed to that event type in order to run actual automation execution.

So, in a nutshell, AA is a registry for actions being agnostic to what they mean. Instead, it provides REST API to create and trigger them, and the actual execution delegates to other services.

Interfaces

AA supports a number of interfaces to perform its functional role. The key supported interfaces are summarized in the following diagram.

AA interfaces diagram

Automation invocation

AA implements 23/AIP protocol playing the role of Automation trigger service.

Tekton integration

AA is integrated with the Kaa Tekton for centralized application configuration management. It receives configuration update messages from Tekton over 17/SCMP and uses Tekton REST API to retrieve current configs.

See configuration for more information.

Kaa Tenant Manager integration

AA supports multi-tenancy with each tenant using a separate OAuth 2.0 issuer for authentication, authorization, and resource management. The list of the existing tenants is managed by the Kaa Tenant Manager, which provides REST API for retrieving tenant security configs.

See the security configuration for more details on how to enable multi-tenancy in AA.

Management interface

AA exposes an HTTP-based management interface with the following endpoints:

  • GET /health returns 200 OK if the service is up and running properly, and 500 Internal Server Error otherwise. In case of errors, the response payload contains their human-redable descriptions. This endpoint can be used by Kubernetes for liveness and readiness probing.
  • GET /metrics provides service metrics in Prometheus text-based format.