Skip to content

Union-Admin-API

Union Admin API is built and maintained in its own repository. API is secured via access_token that we get from the UI. Also it comes with some security via CORS policy on the API gateway.

Project Details

Infra Management/Hosting

union-admin-api.png

Create/Update/Delete infra
  • UnionAdmin is using Terraform IAC to deploy infra to AWS.
  • The IAC code is stored in this repo.
Kubernetes Configurations
  • The Kubernetes Config for UnionAdmin is stored in this repo.
  • Update the image tag in the corresponding HelmRelease.
  • HelmReleases for non-prod can be found here
  • HelmReleases for prod can be found here
Notes
  • API uses Aurora PostgreSQL on AWS to store the data. - The IAC code for database infra can be found here - The database cannot be accessed from outside the EKS cluster.

Technology stack

  • API is built using .NET Core C# 6.0 Web API
  • It’s hosted on AWS Elastic Kubernetes Service(EKS).
  • Swagger specs are used and google’s JSON guidelines are implemented
  • XUnit testing framework is used for unit testing the code
  • Aurora PostgreSQL is used to store user application permission settings
  • You can check the version of the API using the path - {domain}/health
Environment Current URL
DEV https://api-admin.dev.finapps.ihsmarkit.com/swagger
QA https://api-admin.qa.finapps.ihsmarkit.com/swagger
UAT https://api-admin.uat.finapps.ihsmarkit.com/swagger
PROD https://api-admin.finapps.ihsmarkit.com/swagger

Workflow/Release Management/Code deployments

Developer Notes
  • Developer should create a bugfixes/features branch, branched off master
  • Work on the changes, test them out thoroughly and push them to the remote repository
  • If everything looks good, open a PR to merge to master
  • Make sure the CI-CD Pipeline - API builds your feature branch without any errors
  • After the feature branch is merged to master, it will be automatically deployed to DEV through this pipeline. It will take about 20 minutes.
  • To deploy this change to other environments as well, update the image tag in the corresponding HelmRelease in the flux repo.