# manojkumarorsu/enterprise-hr-portal-deploy architecture

> Architecture diagram of the GitHub repository manojkumarorsu/enterprise-hr-portal-deploy, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/manojkumarorsu/enterprise-hr-portal-deploy
- Repository: https://github.com/manojkumarorsu/enterprise-hr-portal-deploy

## Overview

This repository delivers the Enterprise HR Portal to dev or prod EKS: Jenkins builds and validates the application artifact, packages and publishes a container, then deploys the Helm chart with environment-specific settings. The chart configures application pods, networking, autoscaling, availability, and secret injection. The application itself and AWS infrastructure are external products. No source excerpts were available, so relationships below rely on the README’s documented pipeline, chart responsibilities, and environment wiring; implementation details beyond those descriptions are not inferred.

Main entry points: [`helm/enterprise-hr-portal/Chart.yaml`](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/Chart.yaml) (Helm chart), [`Jenkinsfile`](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/Jenkinsfile) (Jenkins pipeline), [`helm/enterprise-hr-portal/templates/secretproviderclass.yaml`](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/secretproviderclass.yaml) (Secret provider class), [`helm/enterprise-hr-portal/templates/deployment.yaml`](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/deployment.yaml) (Application deployment)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_pipeline["Build and release"]
  node_jenkins["Jenkins pipeline"]
  node_maven["Maven build and tests"]
  node_sonar["SonarQube quality gate"]
  node_nexus[("Nexus JAR repository")]
end

subgraph group_packaging["Container packaging"]
  node_dockerfile["Runtime image definition"]
  node_trivy["Image vulnerability scan"]
  node_dockerhub[("Docker Hub image")]
end

subgraph group_configuration["Environment configuration"]
  node_chart["Helm chart<br/>[Chart.yaml]"]
  node_defaults["Chart defaults<br/>[values.yaml]"]
  node_overrides["Environment overrides"]
  node_envvars["Environment variables"]
end

subgraph group_cluster["EKS deployment"]
  node_configmap["ConfigMap template<br/>[configmap.yaml]"]
  node_secretclass["Secret provider class"]
  node_serviceaccount["IRSA service account"]
  node_deployment["Application deployment<br/>[deployment.yaml]"]
  node_service["ClusterIP service<br/>[service.yaml]"]
  node_ingress["ALB ingress<br/>[ingress.yaml]"]
  node_hpa["Pod autoscaling<br/>[hpa.yaml]"]
  node_pdb["Pod availability<br/>[pdb.yaml]"]
end

node_git(("Source repository"))
node_secrets[("AWS Secrets Manager")]
node_eks["AWS EKS"]

node_git -->|"triggers"| node_jenkins
node_jenkins -->|"builds and tests"| node_maven
node_jenkins -->|"runs quality gate"| node_sonar
node_jenkins -->|"publishes JAR"| node_nexus
node_jenkins -->|"builds image"| node_dockerfile
node_jenkins -->|"scans image"| node_trivy
node_jenkins -->|"publishes image"| node_dockerhub
node_jenkins -->|"packages and deploys"| node_chart
node_defaults -->|"sets defaults"| node_chart
node_overrides -->|"overrides values"| node_chart
node_envvars -->|"provides env values"| node_configmap
node_chart -->|"renders"| node_configmap
node_chart -->|"renders"| node_secretclass
node_secrets -->|"supplies secret keys"| node_secretclass
node_serviceaccount -->|"authorizes access"| node_secretclass
node_chart -->|"renders"| node_serviceaccount
node_chart -->|"renders"| node_deployment
node_configmap -->|"provides env configuration"| node_deployment
node_secretclass -->|"wires secret variables"| node_deployment
node_deployment -->|"runs pods on"| node_eks
node_chart -->|"renders"| node_service
node_chart -->|"renders"| node_ingress
node_chart -->|"renders"| node_hpa
node_chart -->|"renders"| node_pdb
node_service -->|"routes through"| node_ingress

click node_jenkins "https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/Jenkinsfile"
click node_dockerfile "https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/Dockerfile"
click node_chart "https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/Chart.yaml"
click node_defaults "https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/values.yaml"
click node_overrides "https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/tree/main/environments"
click node_envvars "https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/tree/main/config"
click node_configmap "https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/configmap.yaml"
click node_secretclass "https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/secretproviderclass.yaml"
click node_serviceaccount "https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/serviceaccount.yaml"
click node_deployment "https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/deployment.yaml"
click node_service "https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/service.yaml"
click node_ingress "https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/ingress.yaml"
click node_hpa "https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/hpa.yaml"
click node_pdb "https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/pdb.yaml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_jenkins,node_maven,node_sonar,node_nexus toneBlue
class node_dockerfile,node_trivy,node_dockerhub,node_secrets toneAmber
class node_chart,node_defaults,node_overrides,node_envvars toneMint
class node_configmap,node_secretclass,node_serviceaccount,node_deployment,node_service,node_ingress,node_hpa,node_pdb toneRose
class node_git,node_eks toneIndigo
```

## Components

### Build and release

- [Jenkins pipeline](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/Jenkinsfile): `Jenkinsfile`
- **Maven build and tests**
- **SonarQube quality gate**
- **Nexus JAR repository**

### Container packaging

- [Runtime image definition](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/Dockerfile): `Dockerfile`
- **Image vulnerability scan**
- **Docker Hub image**

### Environment configuration

- [Helm chart](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/Chart.yaml): `helm/enterprise-hr-portal/Chart.yaml`
- [Chart defaults](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/values.yaml): `helm/enterprise-hr-portal/values.yaml`
- [Environment overrides](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/tree/main/environments): `environments`
- [Environment variables](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/tree/main/config): `config`

### EKS deployment

- [ConfigMap template](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/configmap.yaml): `helm/enterprise-hr-portal/templates/configmap.yaml`
- [Secret provider class](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/secretproviderclass.yaml): `helm/enterprise-hr-portal/templates/secretproviderclass.yaml`
- [IRSA service account](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/serviceaccount.yaml): `helm/enterprise-hr-portal/templates/serviceaccount.yaml`
- [Application deployment](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/deployment.yaml): `helm/enterprise-hr-portal/templates/deployment.yaml`
- [ClusterIP service](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/service.yaml): `helm/enterprise-hr-portal/templates/service.yaml`
- [ALB ingress](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/ingress.yaml): `helm/enterprise-hr-portal/templates/ingress.yaml`
- [Pod autoscaling](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/hpa.yaml): `helm/enterprise-hr-portal/templates/hpa.yaml`
- [Pod availability](https://github.com/manojkumarorsu/enterprise-hr-portal-deploy/blob/main/helm/enterprise-hr-portal/templates/pdb.yaml): `helm/enterprise-hr-portal/templates/pdb.yaml`

### Other components

- **Source repository**
- **AWS Secrets Manager**
- **AWS EKS**

## Connections

- Source repository → Jenkins pipeline: triggers (evidence: `README.md`)
- Jenkins pipeline → Maven build and tests: builds and tests (evidence: `README.md`)
- Jenkins pipeline → SonarQube quality gate: runs quality gate (evidence: `README.md`)
- Jenkins pipeline → Nexus JAR repository: publishes JAR (evidence: `README.md`)
- Jenkins pipeline → Runtime image definition: builds image (evidence: `README.md`)
- Jenkins pipeline → Image vulnerability scan: scans image (evidence: `README.md`)
- Jenkins pipeline → Docker Hub image: publishes image (evidence: `README.md`)
- Jenkins pipeline → Helm chart: packages and deploys (evidence: `README.md`)
- Chart defaults → Helm chart: sets defaults (evidence: `README.md`)
- Environment overrides → Helm chart: overrides values (evidence: `README.md`)
- Environment variables → ConfigMap template: provides env values (evidence: `README.md`)
- Helm chart → ConfigMap template: renders (evidence: `README.md`)
- Helm chart → Secret provider class: renders (evidence: `README.md`)
- AWS Secrets Manager → Secret provider class: supplies secret keys (evidence: `README.md`)
- IRSA service account → Secret provider class: authorizes access (evidence: `README.md`)
- Helm chart → IRSA service account: renders (evidence: `README.md`)
- Helm chart → Application deployment: renders (evidence: `README.md`)
- ConfigMap template → Application deployment: provides env configuration (evidence: `README.md`)
- Secret provider class → Application deployment: wires secret variables (evidence: `README.md`)
- Application deployment → AWS EKS: runs pods on (evidence: `README.md`)
- Helm chart → ClusterIP service: renders (evidence: `README.md`)
- Helm chart → ALB ingress: renders (evidence: `README.md`)
- Helm chart → Pod autoscaling: renders (evidence: `README.md`)
- Helm chart → Pod availability: renders (evidence: `README.md`)
- ClusterIP service → ALB ingress: routes through (evidence: `README.md`)
