-
Notifications
You must be signed in to change notification settings - Fork 7
VRO Engineer Overview
Gabriel Zurita edited this page Oct 25, 2024
·
15 revisions
VRO software leverages a wide range of tools and technologies, categorized by their purpose within the stack:
- Java: Most of the project is built using the Spring Framework.
- Python: Domain services (partner team projects) are primarily written in Python.
- Ruby: One domain service is currently written in Ruby.
- RabbitMQ: Serves as the primary communication bus between microservices, using AMQP architecture.
-
Gradle: Utilized for build automation. Refer to the
buildSrc
folder for details. -
Docker: Extensively used for local development and deployments.
- Note: In most cases, Docker Desktop is not provided. Colima is recommended as an alternative container runtime.
- Postgres: AWS RDS Postgres is employed for database services, managed through Helm charts.
- Redis: Currently in the process of being removed from the stack.
- Kubernetes: VRO’s DevOps operations are supported by LHDI infrastructure.
- ArgoCD: Used for deployment management (see this issue).
VRO also utilizes these key repositories for project management and deployments:
- VRO Public Repo: Main repository for the VRO project.
- VRO Internal Repo: Used for running SecRel scans.
- ArgoCD Repo: Contains the ArgoCD URL for viewing deployments.
- VRO Local Dev Environment Setup
- VRO Architecture Design Diagram: An overview of VRO's architecture.
- VRO Engineering Onboarding: Onboarding guidelines for new engineers.
- On-Call Responsibilities: Guidelines for on-call duties.
- Datadog Monitoring: Instructions for setting up and using Datadog for monitoring.
As of June 2024, VRO currently supports two VA.gov partner teams:
- Contention Classification (CC)
- Employee Experience (EE)
The following are the primary projects that make up the VRO system:
-
Repository:
cc-app
- Description: Maps VA.gov disability form contentions to classifications defined in the Benefits Reference Data API.
- Language: Python
- Point of Contact: Contention Classification team
-
Repository:
ep-merge-app
- Description: Automates claim merging to minimize manual intervention.
- Language: Python
- Point of Contact: Employee Experience team
-
Repository:
max-cfi-app
- Description: Provides an API for retrieving the maximum disability rating for a condition.
- Language: Python
- Point of Contact: Employee Experience team
-
Repository:
svc-bie-kafka
- Description: Handles event streams for contention changes on disability compensation forms (526).
- Language: Java (Spring Framework)
- Point of Contact: Virtual Regional Office team
-
Repository:
svc-bip-api
- Description: Exposes APIs to retrieve claim information, update statuses, and route claims.
- Language: Java (Spring Framework)
- Point of Contact: Virtual Regional Office team
-
Repository:
svc-bgs-api
- Description: Enables partner teams to create notes on veteran files.
- Language: Ruby
- Point of Contact: Virtual Regional Office team