nGene

Description

/TODO/

High-Level Design

/TODO/

Team Responsible

The team responsible for maintaining and troubleshooting the application.

Main Point of Contact:

  • Yogesh Pandit
  • Data Engineering Team
    • Slack: #ecdi-ace-data-engineering

GitHub

The repository for the application can be found at GitHub Link.

Deployment Information

It has two environments, one for development and one for production; details are as follows:

DevelopmentProduction
git branchdeveloprelease/*
Deployment environmentCluster: ace-test
Namespace: ngene-dev
Cluster: ace-prod
Namespace: gcs-ace-de-ngene
Deployment toolargocd-test/api.ngene.dev.gred.ai
argocd-test/dashboard.ngene.dev.gred.ai
argocd-test/appvs.ngene.dev.gred.ai
argocd-prod/api.ngene.gred.ai
URL- http://ngene.dev.gred.ai/
- Accessible only via VPN
- Authentication via Okta
- http://ngene.gred.ai/
- Accessible only via VPN
- Authentication via Okta
Infra resources- RDS: ace-de-dev-pg
- Neptune: /TODO/
- RDS: ace-de-prod-pg
Service AccountIRSA: irsa.ace-test.ngene-dev.apiIRSA: irsa.ace-prod.gcs-ace-de-ngene.api

The Terraform workspace for the infrastructure can be found at Terraform Workspace Link.

How does the application get access to its s3 bucket ?

EKS Service account -> IRSA IAM Role -> The role has the inline policy that allows access to the dataset buckets

Branching Flow

This represents the branching of the nGene repository.

[develop]---------+------ (development)
|                 |
+--- feature/* ---+
|
+--- release/*----------- (production)

How does Main Branch get versions?

If there is a ‘fix’, ‘feat’, or ‘hotfix’ present in the git commit, the GitHub action release will bump up the version. So it’s automatically.

How does helm Chart get new versions?

You should manually update the helm verion in Chart.yaml.

Monitoring

  • Monitoring Dashboard: Grafana

    • Metrics being monitored: Memory usage by pod, CPU usage by pod, Replica Availability, PV Capacity
  • Logging Dashboard: Logs are available on the same Grafana Dashboard.

    • To search logs in more details, please log in to OpenSearch > EKS ACE Test - Applications Dashboard > then choose namespace ngene-dev