Skip to content

Union API

Union’s 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

UnionAPI_K8S.png

Create/Update/Delete infra
  • Union is using Terraform IAC to deploy infra to AWS.
  • The IAC code is stored in this repo.
Kubernetes Configurations
  • The Kubernetes Config for Union 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# Web API
  • 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 the data
  • It’s hosted on AWS Elastic Kubernetes Service(EKS).
  • You can check the version of the API using the path - {domain}/health
Environment Current URL VNext URL Notes
DEV https://api.dev.finapps.ihsmarkit.com/swagger https://vnext-api.dev.finapps.ihsmarkit.com/swagger -
QA https://api.qa.finapps.ihsmarkit.com/swagger https://vnext-api.qa.finapps.ihsmarkit.com/swagger -
UAT https://api.uat.finapps.ihsmarkit.com/swagger https://vnext-api.uat.finapps.ihsmarkit.com/swagger -
PROD https://api.finapps.ihsmarkit.com/swagger https://vnext-api.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 10 minutes.
  • To deploy this change to other environments as well, update the image tag in the corresponding HelmRelease in the flux repo.