# sonatype/nxrm3-ha-repository architecture

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

- Interactive diagram: https://gitdiagram.com/sonatype/nxrm3-ha-repository
- Repository: https://github.com/sonatype/nxrm3-ha-repository

## Overview

This repository provides deployment resources for Nexus Repository 3 high availability, centered on a Helm chart and accompanied by AWS, Azure, GCP, and on-premises YAML examples. The documented deployment combines multiple Nexus instances with an external PostgreSQL database, shared blob storage, and a load balancer. The tree identifies chart concerns such as workloads, services, ingress, storage, secrets, and logging, but no source excerpts were supplied; chart-internal relationships are therefore shown as unverified rather than asserted as inspected.

Main entry points: [`nxrm-ha/templates/statefulset.yaml`](https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/statefulset.yaml) (Nexus workload), [`nxrm-ha/Chart.yaml`](https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/Chart.yaml) (HA chart), [`sample-aws-ha-yamls`](https://github.com/sonatype/nxrm3-ha-repository/tree/main/sample-aws-ha-yamls) (AWS examples), [`sample-azure-ha-yamls`](https://github.com/sonatype/nxrm3-ha-repository/tree/main/sample-azure-ha-yamls) (Azure examples)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_chart["Helm chart"]
  node_chart["HA chart<br/>[Chart.yaml]"]
  node_workload["Nexus workload<br/>[statefulset.yaml]"]
  node_services["Cluster services<br/>[services.yaml]"]
  node_headless["Headless service"]
  node_ingress["Ingress routing<br/>[ingress.yaml]"]
  node_storage["Storage classes<br/>[storageclass.yaml]"]
end

subgraph group_configuration["Configuration and secrets"]
  node_configuration["Application config"]
  node_secretmapping["Secret mapping"]
  node_database_secret["Database secrets"]
  node_external_secrets["External secrets"]
end

subgraph group_operations["Operations and integrations"]
  node_logging["Log forwarding<br/>[fluent-bit.yaml]"]
  node_autoscaling["Autoscaling<br/>[hpa.yaml]"]
  node_external_dns["External DNS<br/>[external-dns.yaml]"]
end

subgraph group_samples["Deployment examples"]
  node_aws["AWS examples"]
  node_azure["Azure examples"]
  node_gcp["GCP examples"]
  node_onprem["On-prem examples"]
end

node_operator(("Deployment operator"))
node_helm["Helm"]
node_kubernetes["Kubernetes"]
node_postgres[("PostgreSQL")]
node_blob[("Shared blob store")]
node_loadbalancer["Load balancer"]

node_operator -.->|"deploys with"| node_helm
node_helm -.->|"renders"| node_chart
node_chart -.->|"provisions"| node_kubernetes
node_workload -.->|"connects to"| node_postgres
node_workload -.->|"shares components"| node_blob
node_loadbalancer -.->|"routes traffic"| node_workload
node_aws -.->|"illustrates deployment"| node_workload
node_azure -.->|"illustrates deployment"| node_workload
node_gcp -.->|"illustrates deployment"| node_workload
node_onprem -.->|"illustrates deployment"| node_workload

click node_chart "https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/Chart.yaml"
click node_workload "https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/statefulset.yaml"
click node_services "https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/services.yaml"
click node_headless "https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/service-headless.yaml"
click node_ingress "https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/ingress.yaml"
click node_storage "https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/storageclass.yaml"
click node_configuration "https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/configmap-properties.yaml"
click node_secretmapping "https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/nexus-secret-mapping.yaml"
click node_database_secret "https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/database-secret.yaml"
click node_external_secrets "https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/eso-secret-store.yaml"
click node_logging "https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/fluent-bit.yaml"
click node_autoscaling "https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/hpa.yaml"
click node_external_dns "https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/external-dns.yaml"
click node_aws "https://github.com/sonatype/nxrm3-ha-repository/tree/main/sample-aws-ha-yamls"
click node_azure "https://github.com/sonatype/nxrm3-ha-repository/tree/main/sample-azure-ha-yamls"
click node_gcp "https://github.com/sonatype/nxrm3-ha-repository/tree/main/sample-gcp-ha-yamls"
click node_onprem "https://github.com/sonatype/nxrm3-ha-repository/tree/main/sample-on-prem-ha-yamls"

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_chart,node_workload,node_services,node_headless,node_ingress,node_storage toneBlue
class node_configuration,node_secretmapping,node_database_secret,node_external_secrets,node_postgres,node_blob toneAmber
class node_logging,node_autoscaling,node_external_dns toneMint
class node_aws,node_azure,node_gcp,node_onprem toneRose
class node_operator,node_helm,node_kubernetes,node_loadbalancer toneIndigo
```

## Components

### Helm chart

- [HA chart](https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/Chart.yaml): `nxrm-ha/Chart.yaml`
- [Nexus workload](https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/statefulset.yaml): `nxrm-ha/templates/statefulset.yaml`
- [Cluster services](https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/services.yaml): `nxrm-ha/templates/services.yaml`
- [Headless service](https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/service-headless.yaml): `nxrm-ha/templates/service-headless.yaml`
- [Ingress routing](https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/ingress.yaml): `nxrm-ha/templates/ingress.yaml`
- [Storage classes](https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/storageclass.yaml): `nxrm-ha/templates/storageclass.yaml`

### Configuration and secrets

- [Application config](https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/configmap-properties.yaml): `nxrm-ha/templates/configmap-properties.yaml`
- [Secret mapping](https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/nexus-secret-mapping.yaml): `nxrm-ha/templates/nexus-secret-mapping.yaml`
- [Database secrets](https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/database-secret.yaml): `nxrm-ha/templates/database-secret.yaml`
- [External secrets](https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/eso-secret-store.yaml): `nxrm-ha/templates/eso-secret-store.yaml`

### Operations and integrations

- [Log forwarding](https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/fluent-bit.yaml): `nxrm-ha/templates/fluent-bit.yaml`
- [Autoscaling](https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/hpa.yaml): `nxrm-ha/templates/hpa.yaml`
- [External DNS](https://github.com/sonatype/nxrm3-ha-repository/blob/main/nxrm-ha/templates/external-dns.yaml): `nxrm-ha/templates/external-dns.yaml`

### Deployment examples

- [AWS examples](https://github.com/sonatype/nxrm3-ha-repository/tree/main/sample-aws-ha-yamls): `sample-aws-ha-yamls`
- [Azure examples](https://github.com/sonatype/nxrm3-ha-repository/tree/main/sample-azure-ha-yamls): `sample-azure-ha-yamls`
- [GCP examples](https://github.com/sonatype/nxrm3-ha-repository/tree/main/sample-gcp-ha-yamls): `sample-gcp-ha-yamls`
- [On-prem examples](https://github.com/sonatype/nxrm3-ha-repository/tree/main/sample-on-prem-ha-yamls): `sample-on-prem-ha-yamls`

### Other components

- **Deployment operator**
- **Helm**
- **Kubernetes**
- **PostgreSQL**
- **Shared blob store**
- **Load balancer**

## Connections

- Deployment operator → Helm: deploys with
- Helm → HA chart: renders
- HA chart → Kubernetes: provisions
- Nexus workload → PostgreSQL: connects to (evidence: `README.md`)
- Nexus workload → Shared blob store: shares components (evidence: `README.md`)
- Load balancer → Nexus workload: routes traffic (evidence: `README.md`)
- AWS examples → Nexus workload: illustrates deployment
- Azure examples → Nexus workload: illustrates deployment
- GCP examples → Nexus workload: illustrates deployment
- On-prem examples → Nexus workload: illustrates deployment
