Skip to content

Terraform module to deploy Sonatype Nexus Repository Manager Pro (in HA)

License

Notifications You must be signed in to change notification settings

vendorcorp/terraform-aws-eks-nxrm

Repository files navigation

Terraform Module: Sonatype Nexus Repository Manager Pro

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

Requirements

Name Version
terraform >= 1.4.5
aws >= 4.6.0
kubernetes >= 2.19.0
postgresql >= 1.15.0

Providers

Name Version
kubernetes 2.19.0
random 3.5.1

Modules

Name Source Version
nxrm_pg_database git::ssh://[email protected]/vendorcorp/terraform-aws-rds-database.git v0.1.1

Resources

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

Inputs

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

Outputs

Name Description
nxrm_ha_service_id n/a
nxrm_ha_service_name n/a
nxrm_identifier n/a

The Fine Print

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