This repository contains a Terraform Module that will deploy an Active-Active Cluster of Sonatype Nexus Repository Manager Pro.
It has some pre-requisites:
- You have already got a PostgreSQL service available, know where it is and have ADMIN access to it
- You have a valid Sonatype license file for Nexus Repository Pro
Name | Version |
---|---|
terraform | >= 1.4.5 |
aws | >= 4.6.0 |
kubernetes | >= 2.19.0 |
postgresql | >= 1.15.0 |
Name | Version |
---|---|
kubernetes | 2.19.0 |
random | 3.5.1 |
Name | Source | Version |
---|---|---|
nxrm_pg_database | git::ssh://[email protected]/vendorcorp/terraform-aws-rds-database.git | v0.1.1 |
Name | Type |
---|---|
kubernetes_deployment.nxrm3 | resource |
kubernetes_namespace.nxrm | resource |
kubernetes_persistent_volume_claim.nxrm3 | resource |
kubernetes_secret.nxrm | resource |
kubernetes_service.nxrm3 | resource |
random_string.identifier | resource |
random_string.pg_suffix | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
database_name_prefix | Prefix for the PostgreSQL database name. | string |
"nxrm" |
no |
default_resource_tags | List of tags to apply to all resources created in AWS | map(string) |
{} |
no |
nxrm_license_data | Sonatype License data for Nexus Repository Manager Pro (base64 encoded). | string |
n/a | yes |
nxrm_version | Version of Sonatype Nexus Repository to deploy. | string |
"3.64.0" |
no |
pg_admin_password | Administrator/Root password to access your PostgreSQL service. | string |
null |
no |
pg_admin_username | Administrator/Root user to access your PostgreSQL service. | string |
null |
no |
pg_hostname | The hostname where your PostgreSQL service is accessible at. | string |
null |
no |
pg_port | The port where your PostgreSQL service is accessible at. | string |
null |
no |
purpose | Helpful description of the purpose / use for this Sonatype IQ Server | string |
n/a | yes |
replica_count | Number of replicas to run in the Active-Active NXRM HA Cluster. | number |
1 |
no |
storage_class_name | Storage Class to use for PVs - must support 'ReadWriteMany' mode. | string |
null |
no |
storage_volume_size | Size of the PV for Sonatype IQ Server | string |
"5Gi" |
no |
target_namespace | Namespace in which to deploy Sonatype IQ Server | string |
null |
no |
Name | Description |
---|---|
nxrm_ha_service_id | n/a |
nxrm_ha_service_name | n/a |
nxrm_identifier | n/a |
At the time of writing I work for Sonatype, and it is worth nothing that this is NOT SUPPORTED by Sonatype - it is purely a contribution to the open source community (read: you!).
Remember:
- Use this contribution at the risk tolerance that you have
- Do NOT file Sonatype support tickets related to cheque support in regard to this project
- DO file issues here on GitHub, so that the community can pitch in