Skip to content

vendorcorp/terraform-aws-eks-nxiq

Repository files navigation

Terraform Module: Sonatype IQ Server

This repository contains a Terraform Module that will deploy an Active-Active Cluster of Sonatype IQ Server.

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 Sonatype IQ Server (Lifecycle of Firewall)

An exmaple using this module can be found in tools-nxiq-ha-cluster.

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 n/a

Modules

Name Source Version
nxiq_pg_database git::ssh://git@github.com/vendorcorp/terraform-aws-rds-database.git v0.1.1

Resources

Name Type
kubernetes_config_map.nxiq resource
kubernetes_deployment.nxiq resource
kubernetes_namespace.nxiq resource
kubernetes_persistent_volume_claim.nxiq resource
kubernetes_secret.nxiq resource
kubernetes_service.nxiq-admin resource
kubernetes_service.nxiq-app 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 "nxiq" no
default_resource_tags List of tags to apply to all resources created in AWS map(string) {} no
nxiq_license_data Sonatype License data for IQ Server (base64 encoded). string n/a yes
nxiq_version Version of NXIQ to deploy. string "1.171.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 NXIQ 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
nxiq_ha_admin_service_id n/a
nxiq_ha_admin_service_name n/a
nxiq_ha_service_id n/a
nxiq_ha_service_name n/a
nxiq_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 bu 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