This repository holds a sample stand-alone Agent implementation Gradle project for Amazon API Gateway, utilizing the Agent SDK. Key functionalities include:
- Registering AWS API Gateway with API Control Plane.
- Retrieving AWS API Gateway’s health status and sending it to API Control Plane.
- Publishing AWS API Gateway’s assets to API Control Plane.
- Synchronizing assets between AWS API Gateway and API Control Plane.
- Retrieving metrics from AWS API Gateway to API Control Plane.
The implementation utilizes the Manual approach, leveraging the AWS SDK for connection management and authentication. For details about the approaches, see Agent SDK documentation.
Additionally, AWS CloudWatch and CloudTrail services are leveraged to monitor API metrics and API activity respectively.
Note: The agent implementation is compatible with API Control Plane version, 11.0.3. The current implementation supports only the REST APIs of AWS API Gateway.
API Control Plane Agent for Amazon API Gateway offers two distinct deployment modes:
- Spring Boot application
- AWS Lambda
To know how the repository is structured, see Repository structure.
To understand the co-relation between Amazon API Gateway and API Control Plane terminologies, see Co-relation.
To build the Gradle project, see How to build?
The Jars are created at the following locations for both the deployment modes:
Spring boot application: application-0.0.1-SNAPSHOT is created at application / build / libs
AWS Lambda:
- lambda-layer.zip is created at functions / build / libs, which includes all dependencies to run lambda function.
- send-asset.jar is created at Functions / send–asset / build / libs
- send-heartbeat.jar is created at Functions / send-heartbeat / build / libs
- send-metrics.jar is created at Functions / send-metrics / build / libs
To deploy a Spring boot application in Docker, see How to deploy?
To learn about the best practices, see Best Practices.
To learn about authentication, see Authentication section.