As a developer, I can configure and deploy Azure API Management service
Description (Story incomplete)
As a developer, I can configure and deploy Azure API Management Service
For Cobalt, the APIM service should provide:
- Reverse proxy for API calls
- Logging for API traffic
- SSL termination (Still waiting on response/Open question)
- Service authentication via JWT tokens (Still waiting on response/Open question)
Acceptance Criteria
Reference: [Done-Done Checklist] (https://github.com/Microsoft/code-with-engineering- playbook/blob/master/Engineering/BestPractices/DoneDone.md)
-
[ ] App service and api manager will need app insight config to be added (Possible/ Check info)
-
[ ] Test with Provider version 1.27 else 1.24.
-
[ ] azurerm_api_management_api - service_url to link App service to API manager
-
[ ] No hardcoded variables in module config; everything set through Terraform template
-
[ ] Usage referenced in Azure Simple template
-
[ ] Screenshot showing resource provisioned in Azure Portal
Also, here are a few points that need to be addressed:
- No hardcoded variables in module config; everything set through Terraform template
Resources
Tasks
Stories are intended to be completed in a single sprint; if task breakdown creates addition work then team should discuss promoting the Story to an Epic. Reference: [Minimal Valuable Slices] (https://github.com/Microsoft/code-with-engineering-playbook/blob/master/Engineering/BestPractices/MinimalSlices.md)
Reference: [How to Write Better Tasks] (http://agilebutpragmatic.blogspot.com/2012/04/splitting-story-into-tasks-how-to-write.html)
Assignee should break down work into tasks here
@James-Nance / @erikschlegel : I was able to deploy the api manager, but had questions for the other requirements mentioned in the story, because of my lack of experience with Azure API manager:
- Reverse proxy for API calls - provided by API manager
- Do we plan on using
Azure Event Hubfor Logging for API traffic or API manager provides this too? - SSL termination - Provided when API manager is in a VNET. Presumably azure-simple.
- Service authentication via JWT tokens - I would think it should be policy but its for XML and not JSON.
cc @code4clouds
Also FYI, I have observed that the average time to deploy an API manager is > 20 minutes. azurerm_api_management.apimgmt: Creation complete after 20m8s