Terraform module to deploy nexus3 on kubernetes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Christophe van de Kerchove 1361405d6d
fix: removes empty maps and set a proper version.
7 months ago
examples fix: Improve disabled example 7 months ago
.gitignore tech: Add pre-commit configuration & run it 7 months ago
.pre-commit-config.yaml tech: Add pre-commit configuration & run it 7 months ago
CHANGELOG.md fix: removes empty maps and set a proper version. 7 months ago
Jenkinsfile tech: Add jenkinsfile for CI 7 months ago
LICENSE docs: Update readme and license 7 months ago
README.md fix: removes empty maps and set a proper version. 7 months ago
main.tf fix: removes empty maps and set a proper version. 7 months ago
outputs.tf fix: Output name for the name of the namespace. 7 months ago
variables.tf fix: removes empty maps and set a proper version. 7 months ago
versions.tf feat: Add initial version of the module 7 months ago

README.md

terraform-module-kubernetes-nexus3

Terraform module to deploy nexus3 on kubernetes. This module only allows for a single node nexus3 deployed in a statefulset.

Requirements

Name Version
terraform >= 0.12
kubernetes >= 1.10.0
random >= 2.0.0

Providers

Name Version
kubernetes >= 1.10.0
random >= 2.0.0

Inputs

Name Description Type Default Required
additional_ports Map of additional port on which you will configure nexus to listen on. To be used for some repository types which needs specific URL's (like a docker registry). All fields must be defined.
list(object({
port = number # Port number on which nexus will be listening (each port must be unique)
protocol = string # One of TCP or UDP
name = string # Name you want for that port (ex: dkr-reg)
service_port = number # Port number on which the service will be listening on (can be the same as port, each service port must be unique)
host = string # Host for that port that will be used (ex: registry.example.com). Set to empty string if you're not using an ingress
ingress_tls_name = string # Name of the secret that will hold the TLS certificate. Set to empty string if you're not using TLS on the ingress
}))
[] no
annotations Map of annotations that will be applied on all resources. map {} no
enabled Whether or not to enable this module. bool true no
image Image to use. string "fxinnovation/nexus3" no
image_version Version of the image to use. string "2.0.0" no
ingress_annotations Map of annotations that will be applied on the ingress. map {} no
ingress_enabled Whether or not to enable the ingress. bool true no
ingress_host Host on which the ingress wil be available (ex: nexus.example.com). string "example.com" no
ingress_labels Map of labels that will be applied on the ingress. map {} no
ingress_name Name of the ingress. string "nexus3" no
ingress_tls_enabled Whether or not TLS should be enabled on the ingress. bool true no
ingress_tls_secret_name Name of the secret to use to put TLS on the ingress. string "nexus3" no
labels Map of labels that will be applied on all resources. map {} no
namespace Name of the namespace in which to deploy the module. string "default" no
resources_limits_cpu Amount of cpu time that the application limits. string "1" no
resources_limits_memory Amount of memory that the application limits. string "2048Mi" no
resources_requests_cpu Amount of cpu time that the application requests. string "300m" no
resources_requests_memory Amount of memory that the application requests. string "1200Mi" no
service_annotations Map of annotations that will be applied on the service. map {} no
service_labels Map of labels that will be applied on the service. map {} no
service_name Name of the service. string "nexus3" no
stateful_set_annotations Map of annotations that will be applied on the statefulset. map {} no
stateful_set_labels Map of labels that will be applied on the statefulset. map {} no
stateful_set_name Name of the statefulset to deploy. string "nexus3" no
stateful_set_template_annotations Map of annotations that will be applied on the statefulset template. map {} no
stateful_set_template_labels Map of labels that will be applied on the statefulset template. map {} no
stateful_set_volume_claim_template_annotations Map of annotations that will be applied on the statefulset volume claim template. map {} no
stateful_set_volume_claim_template_enabled Whether or not to enable the volume claim template on the statefulset. bool true no
stateful_set_volume_claim_template_labels Map of labels that will be applied on the statefulset volume claim template. map {} no
stateful_set_volume_claim_template_name Name of the statefulset's volume claim template. string "nexus3" no
stateful_set_volume_claim_template_requests_storage Size of storage the stateful set volume claim template requests. string "1Ti" no
stateful_set_volume_claim_template_storage_class Storage class to use for the stateful set volume claim template. any null no

Outputs

Name Description
ingress n/a
namespace_name n/a
service n/a
statefulset n/a