This repository contains all required sources for the Sonatype Nexus 3 instance hosted at https://repo.eclipse.org and https://repo-staging.eclipse.org.
- Helm chart for Nexus 3
- Deployment script for Nexus 3
- Configuration files for staging and production environments
Before deploying Nexus 3, you need to create a Kubernetes secret containing the PostgreSQL database credentials:
kubectl -n <namespace> create secret generic nexus3-postgressql-db \
--from-literal=db_name='nexus3_<env>' \
--from-literal=db_user='nexus3_<env>_rw' \
--from-literal=db_pw='...'Replace:
<namespace>: the Kubernetes namespace (e.g.,repo3-eclipse-org)<env>: the environment name (e.g.,stagingorproduction)db_pw: the actual database password
Place your Nexus Repository Manager license file in the following location:
charts/nexus3/secrets/nxrm-license.lic
This file will be automatically mounted into the container at /etc/nxrm-license/nxrm-license.lic.
To deploy Nexus 3 to the staging environment:
./helm-deploy-nexus3.sh stagingThis will:
- Use the configuration from
charts/nexus3/values-staging.yaml - Deploy to namespace
repo-eclipse-org-staging - Create/upgrade the Helm release
nexus3-staging
To deploy Nexus 3 to the production environment:
./helm-deploy-nexus3.sh productionThis will:
- Use the configuration from
charts/nexus3/values.yaml - Deploy to namespace
repo3-eclipse-org - Create/upgrade the Helm release
nexus3-production - Show a diff before applying changes (for upgrades)
You can optionally specify a custom image tag:
./helm-deploy-nexus3.sh <environment> <image-tag>Example:
./helm-deploy-nexus3.sh staging 3.70.1-
Staging:
charts/nexus3/values-staging.yaml- Namespace:
repo-eclipse-org-staging - Host:
repo-staging.eclipse.org - SELinux level:
s0:c34,c19
- Namespace:
-
Production:
charts/nexus3/values.yaml- Namespace:
repo3-eclipse-org - Host:
repo.eclipse.org - SELinux level:
s0:c66,c15
- Namespace: