Skip to content

devops-ia/terraform-nexus-repository

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nexus Repository

This module allows you to create Nexus Repository as a global resource and individual Nexus Repository resources. For individual examples, see the usage snippets and examples.

Provider

You need use a Nexus provider.

provider "nexus" {
  insecure = true
  password = "admin123"
  url      = "https://127.0.0.1:8080"
  username = "admin"
}

Root module usage

nexus-repository:

module "nexus_repository" {
  source  = "devops-ia/repository/nexus"

  nexus_repository_apt_hosted = [
    {
      name         = "apt-hosted"
      online       = true
      distribution = "bullseye"
      signing = {
        keypair    = "keypair"
        passphrase = "passphrase"
      }
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
        write_policy                   = "ALLOW"
      }
      cleanup = {
        policy_names = ["policy"]
      }
      component = {
        proprietary_components = false
      }
    }
  ]
  
  nexus_repository_apt_proxy = [
    {
      name         = "apt-proxy"
      online       = true
      routing_rule = "string"
      distribution = "bionic"
      flat         = false
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://remote.repository.com"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
        connection = {
          retries                   = 0
          user_agent_suffix         = "string"
          timeout                   = 60
          enable_circular_redirects = false
          enable_cookies            = false
          use_trust_store           = false
        }
        authentication = {
          type     = "username"
          username = "admin"
          password = "admin-password"
        }
      }
      cleanup = {
        policy_names = ["policy"]
      }
    }
  ]
  
  nexus_repository_bower_group = [
    {
      name   = "bower-group"
      online = true
      group = {
        member_names = [
          "member1",
          "member2",
        ]
      }
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
    }
  ]
  
  nexus_repository_bower_hosted = [
    {
      name   = "bower-hosted"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
        write_policy                   = "ALLOW"
      }
      cleanup = {
        policy_names = ["policy"]
      }
      component = {
        proprietary_components = false
      }
    }
  ]
  
  nexus_repository_bower_proxy = [
    {
      name                 = "bower-proxy"
      online               = true
      rewrite_package_urls = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://registry.bower.io"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
    }
  ]
  
  nexus_repository_cocoapods_proxy = [
    {
      name   = "cocoapods-proxy"
      online = true
  
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://cocoapods.org/"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
    }
  ]
  
  nexus_repository_conan_proxy = [
    {
      name   = "conan-proxy"
      online = true
  
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://center.conan.io"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
    }
  ]
  
  nexus_repository_conda_proxy = [
    {
      name   = "conda-proxy"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://repo.anaconda.com/pkgs/"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
    }
  ]
  
  nexus_repository_docker_group = [
    {
      name   = "docker-group"
      online = true
      docker = {
        force_basic_auth = false
        http_port        = 8080
        https_port       = 8433
        v1_enabled       = false
        subdomain        = "docker"
      }
      group = {
        member_names = [
          "member1",
          "member2"
        ]
        writable_member = "member3"
      }
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
    }
  ]
  
  nexus_repository_docker_hosted = [
    {
      name   = "docker-hosted"
      online = true
      docker = {
        force_basic_auth = false
        v1_enabled       = false
        subdomain        = "docker" # Pro-only
      }
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
        write_policy                   = "ALLOW"
      }
    }
  ]
  
  nexus_repository_docker_proxy = [
    {
      name   = "docker-proxy"
      online = true
      docker = {
        force_basic_auth = false
        v1_enabled       = false
        subdomain        = "docker" # Pro-only
      }
      docker_proxy = {
        index_type = "HUB"
      }
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://registry-1.docker.io"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
    }
  ]
  
  nexus_repository_gitlfs_hosted = [
    {
      name   = "gitlfs-internal"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = false
        write_policy                   = "ALLOW"
      }
    }
  ]
  
  nexus_repository_go_group = [
    {
      name   = "go-group"
      online = true
      group = {
        member_names = [
          "member1",
          "member2"
        ]
      }
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
    }
  ]
  
  nexus_repository_go_proxy = [
    {
      name   = "docker-proxy"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://proxy.golang.org/"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
    }
  ]
  
  nexus_repository_helm_hosted = [
    {
      name   = "helm-internal"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = false
        write_policy                   = "ALLOW"
      }
    }
  ]
  
  nexus_repository_helm_proxy = [
    {
      name   = "helm-proxy"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://kubernetes-charts.storage.googleapis.com/"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
    }
  ]
  
  nexus_repository_maven_group = [
    {
      name   = "maven-group"
      online = true
      group = {
        member_names = [
          "member1",
          "member2"
        ]
      }
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
    }
  ]
  
  nexus_repository_maven_hosted = [
    {
      name   = "maven-releases"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = false
        write_policy                   = "ALLOW"
      }
      maven = {
        version_policy      = "RELEASE"
        layout_policy       = "STRICT"
        content_disposition = "INLINE"
      }
    }
  ]
  
  nexus_repository_maven_proxy = [
    {
      name   = "maven-central-repo1"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://repo1.maven.org/maven2/"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
      maven = {
        version_policy = "RELEASE"
        layout_policy  = "PERMISSIVE"
      }
    }
  ]
  nexus_repository_npm_group = [
    {
      name   = "npm-group"
      online = true
      group = {
        member_names = [
          "member1",
          "member2"
        ]
      }
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
    }
  ]
  
  nexus_repository_npm_hosted = [
    {
      name   = "npm-hosted"
      online = true
      cleanup = {
        policy_names = ["policy"]
      }
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
        write_policy                   = "ALLOW"
      }
    }
  ]
  
  nexus_repository_npm_proxy = [
    {
      name   = "npm-proxy"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://npmjs.org/"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
    }
  ]
  
  nexus_repository_nuget_group = [
    {
      name   = "nuget-group"
      online = true
      group = {
        member_names = [
          "member1",
          "member2"
        ]
      }
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
    }
  ]
  
  nexus_repository_nuget_hosted = [
    {
      name   = "nuget-internal"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
        write_policy                   = "ALLOW"
      }
    }
  ]
  
  nexus_repository_nuget_proxy = [
    {
      name                     = "nuget-proxy"
      online                   = true
      nuget_version            = "V3"
      query_cache_item_max_age = 3600
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://api.nuget.org/v3/index.json"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
    }
  ]
  
  nexus_repository_p2_proxy = [
    {
      name   = "p2-proxy"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://download.eclipse.org/releases/2019-09"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
    }
  ]
  
  nexus_repository_pypi_group = [
    {
      name   = "pypi-group"
      online = true
      group = {
        member_names = [
          "member1",
          "member2"
        ]
      }
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
    }
  ]
  
  nexus_repository_pypi_hosted = [
    {
      name   = "nuget-internal"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
        write_policy                   = "ALLOW"
      }
    }
  ]
  
  nexus_repository_pypi_proxy = [
    {
      name   = "pypi-proxy"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://pypi.org"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
    }
  ]
  
  nexus_repository_r_group = [
    {
      name   = "r-group"
      online = true
      group = {
        member_names = [
          "member1",
          "member2"
        ]
      }
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
    }
  ]
  
  nexus_repository_r_hosted = [
    {
      name   = "r-hosted"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
        write_policy                   = "ALLOW"
      }
    }
  ]
  
  nexus_repository_r_proxy = [
    {
      name   = "r-proxy"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://r-example.org"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
    }
  ]
  
  nexus_repository_raw_group = [
    {
      name   = "raw-group"
      online = true
      group = {
        member_names = [
          "member1",
          "member2"
        ]
      }
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
    }
  ]
  
  nexus_repository_raw_hosted = [
    {
      name   = "raw-hosted"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = false
        write_policy                   = "ALLOW"
      }
    }
  ]
  
  nexus_repository_raw_proxy = [
    {
      name   = "raw-proxy"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://repo1.raw.org/raw2/"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
    }
  ]
  
  nexus_repository_rubygems_group = [
    {
      name   = "rubygems-group"
      online = true
      group = {
        member_names = [
          "member1",
          "member2"
        ]
      }
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
    }
  ]
  
  nexus_repository_rubygems_hosted = [
    {
      name   = "rubygems-hosted"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
        write_policy                   = "ALLOW"
      }
    }
  ]
  
  nexus_repository_rubygems_proxy = [
    {
      name   = "rubygems-proxy"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://rubygems.org"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
    }
  ]
  
  nexus_repository_yum_group = [
    {
      name   = "yum-group"
      online = true
      group = {
        member_names = [
          "member1",
          "member2"
        ]
      }
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
    }
  ]
  
  nexus_repository_yum_hosted = [
    {
      deploy_policy  = "STRICT"
      name           = "yummy1"
      online         = true
      repodata_depth = 4
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
        write_policy                   = "ALLOW"
      }
      cleanup = {
        policy_names = ["policy"]
      }
    }
  ]
  
  nexus_repository_yum_proxy = [
    {
      name   = "rubygems-proxy"
      online = true
      storage = {
        blob_store_name                = "default"
        strict_content_type_validation = true
      }
      proxy = {
        remote_url       = "https://rubygems.org"
        content_max_age  = 1440
        metadata_max_age = 1440
      }
      negative_cache = {
        enabled = true
        ttl     = 1440
      }
      http_client = {
        blocked    = false
        auto_block = true
      }
    }
  ]
}

Individual module usage

nexus-repository-apt-hosted:

module "nexus_repository_apt_hosted" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-apt-hosted"
  
  name   = "apt-hosted"
  online = true

  distribution = "bullseye"

  signing = {
    keypair    = "keypair"
    passphrase = "passphrase"
  }

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
    write_policy                   = "ALLOW"
  }

  cleanup = {
    policy_names = ["policy"]
  }

  component = {
    proprietary_components = false
  }
}

nexus-repository-apt-proxy:

module "nexus_repository_apt_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-apt-proxy"
  
  name   = "apt-proxy"
  online = true

  routing_rule = "string"
  distribution = "bionic"
  flat         = false

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://remote.repository.com"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true

    connection = {
      retries                   = 0
      user_agent_suffix         = "string"
      timeout                   = 60
      enable_circular_redirects = false
      enable_cookies            = false
      use_trust_store           = false
    }

    authentication = {
      type     = "username"
      username = "admin"
      password = "admin-password"
    }
  }

  cleanup = {
    policy_names = ["policy"]
  }
}

nexus-repository-bower-group:

module "nexus_repository_bower_group" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-bower-group"
  
  name   = "bower-group"
  online = true

  group = {
    member_names = [
      "member1",
      "member2",
    ]
  }

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }
}

nexus-repository-bower-hosted:

module "nexus_repository_bower_hosted" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-bower-hosted"
  
  name   = "bower-hosted"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
    write_policy                   = "ALLOW"
  }

  cleanup = {
    policy_names = ["policy"]
  }

  component = {
    proprietary_components = false
  }
}

nexus-repository-bower-proxy:

module "nexus_repository_bower_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-bower-proxy"
  
  name   = "bower-proxy"
  online = true

  rewrite_package_urls = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://registry.bower.io"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }
}

nexus-repository-cocoapods-proxy:

module "nexus_repository_cocoapods_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-cocoapods-proxy"
  
  name   = "cocoapods-proxy"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://cocoapods.org/"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }
}

nexus-repository-conan-proxy:

module "nexus_repository_conan_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-conan-proxy"
  
  name   = "conan-proxy"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://center.conan.io"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }
}

nexus-repository-conda-proxy:

module "nexus_repository_conda_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-conda-proxy"
  
  name   = "conda-proxy"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://repo.anaconda.com/pkgs/"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }
}

nexus-repository-docker-group:

module "nexus_repository_docker_group" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-docker-group"
  
  name   = "docker-group"
  online = true

  docker = {
    force_basic_auth = false
    http_port        = 8080
    https_port       = 8433
    v1_enabled       = false
    subdomain        = "docker"
  }

  group = {
    member_names = [
      "member1",
      "member2"
    ]
    writable_member = "member3"
  }

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }
}

nexus-repository-docker-hosted:

module "nexus_repository_docker_hosted" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-docker-hosted"
  
  name   = "docker-hosted"
  online = true

  docker = {
    force_basic_auth = false
    v1_enabled       = false
    subdomain        = "docker" # Pro-only
  }

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
    write_policy                   = "ALLOW"
  }
}

nexus-repository-docker-proxy:

module "nexus_repository_docker_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-docker-proxy"
  
  name   = "docker-proxy"
  online = true

  docker = {
    force_basic_auth = false
    v1_enabled       = false
    subdomain        = "docker" # Pro-only
  }

  docker_proxy = {
    index_type = "HUB"
  }

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://registry-1.docker.io"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }
}

nexus-repository-gitlfs-hosted:

module "nexus_repository_gitlfs_hosted" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-gitlfs-hosted"
  
  name   = "gitlfs-internal"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = false
    write_policy                   = "ALLOW"
  }
}

nexus-repository-go-group:

module "nexus_repository_go_group" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-go-group"
  
  name   = "go-group"
  online = true

  group = {
    member_names = [
      "member1",
      "member2"
    ]
  }

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }
}

nexus-repository-go-proxy:

module "nexus_repository_go_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-go-proxy"
  
  name   = "docker-proxy"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://proxy.golang.org/"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }
}

nexus-repository-helm-hosted:

module "nexus_repository_helm_hosted" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-helm-hosted"
  
  name   = "helm-internal"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = false
    write_policy                   = "ALLOW"
  }
}

nexus-repository-helm-proxy:

module "nexus_repository_helm_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-helm-proxy"
  
  name   = "helm-proxy"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://kubernetes-charts.storage.googleapis.com/"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }
}

nexus-repository-maven-group:

module "nexus_repository_maven_group" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-maven-group"
  
  name   = "maven-group"
  online = true

  group = {
    member_names = [
      "member1",
      "member2"
    ]
  }

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }
}

nexus-repository-maven-hosted:

module "nexus_repository_maven_hosted" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-maven-hosted"
  
  name   = "maven-releases"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = false
    write_policy                   = "ALLOW"
  }

  maven = {
    version_policy      = "RELEASE"
    layout_policy       = "STRICT"
    content_disposition = "INLINE"
  }
}

nexus-repository-maven-proxy:

module "nexus_repository_maven_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-maven-proxy"
  
  name   = "maven-central-repo1"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://repo1.maven.org/maven2/"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }

  maven = {
    version_policy = "RELEASE"
    layout_policy  = "PERMISSIVE"
  }
}

nexus-repository-npm-group:

module "nexus_repository_npm_group" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-npm-group"
  
  name   = "npm-group"
  online = true

  group = {
    member_names = [
      "member1",
      "member2"
    ]
  }

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }
}

nexus-repository-npm-hosted:

module "nexus_repository_npm_hosted" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-npm-hosted"
  
  name   = "npm-hosted"
  online = true

  cleanup = {
    policy_names = ["policy"]
  }

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
    write_policy                   = "ALLOW"
  }
}

nexus-repository-npm-proxy:

module "nexus_repository_npm_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-npm-proxy"
  
  name   = "npm-proxy"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://npmjs.org/"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }
}

nexus-repository-nuget-group:

module "nexus_repository_nuget_group" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-uget-group"
  
  name   = "nuget-group"
  online = true

  group = {
    member_names = [
      "member1",
      "member2"
    ]
  }

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }
}

nexus-repository-nuget-hosted:

module "nexus_repository_nuget_hosted" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-uget-hosted"
  
  name   = "nuget-internal"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
    write_policy                   = "ALLOW"
  }
}

nexus-repository-nuget-proxy:

module "nexus_repository_nuget_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-nuget-proxy"
  
  name   = "nuget-proxy"
  online = true

  nuget_version            = "V3"
  query_cache_item_max_age = 3600

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://api.nuget.org/v3/index.json"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }
}

nexus-repository-p2-proxy:

module "nexus_repository_p2_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-p2-proxy"
  
  name   = "p2-proxy"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://download.eclipse.org/releases/2019-09"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }
}

nexus-repository-pypi-group:

module "nexus_repository_pypi_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-pypi-proxy"
  
  name   = "pypi-group"
  online = true

  group = {
    member_names = [
      "member1",
      "member2"
    ]
  }

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }
}

nexus-repository-pypi-hosted:

module "nexus_repository_pypi_hosted" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-pypi-hosted"
  
  name   = "nuget-internal"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
    write_policy                   = "ALLOW"
  }
}

nexus-repository-pypi-proxy:

module "nexus_repository_pypi_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-pypi-proxy"
  
  name   = "pypi-proxy"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://pypi.org"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }
}

nexus-repository-r-group:

module "nexus_repository_r_group" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-r-group"
  
  name   = "r-group"
  online = true

  group = {
    member_names = [
      "member1",
      "member2"
    ]
  }

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }
}

nexus-repository-r-hosted:

module "nexus_repository_r_hosted" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-r-hosted"
  
  name   = "r-hosted"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
    write_policy                   = "ALLOW"
  }
}

nexus-repository-r-proxy:

module "nexus_repository_r_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-r-proxy"
  
  name   = "r-proxy"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://r-example.org"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }
}

nexus-repository-raw-hosted:

module "nexus_repository_raw_hosted" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-raw-hosted"
  
  name   = "raw-hosted"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = false
    write_policy                   = "ALLOW"
  }
}

nexus-repository-raw-proxy:

module "nexus_repository_raw_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-raw-proxy"
  
  name   = "raw-proxy"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://repo1.raw.org/raw2/"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }
}

nexus-repository-rubygems-group:

module "nexus_repository_rubygems_group" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-rubygems-group"
  
  name   = "rubygems-group"
  online = true

  group = {
    member_names = [
      "member1",
      "member2"
    ]
  }

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }
}

nexus-repository-rubygems-hosted:

module "nexus_repository_rubygems_hosted" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-rubygems-hosted"
  
  name   = "rubygems-hosted"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
    write_policy                   = "ALLOW"
  }
}

nexus-repository-rubygems-proxy:

module "nexus_repository_rubygems_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-rubygems-proxy"
  
  name   = "rubygems-proxy"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://rubygems.org"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }
}

nexus-repository-yum-group:

module "nexus_repository_yum_group" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-yum-group"
  
  name   = "yum-group"
  online = true

  group = {
    member_names = [
      "member1",
      "member2"
    ]
  }

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }
}

nexus-repository-yum-hosted:

module "nexus_repository_yum_hosted" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-yum-hosted"
  
  deploy_policy  = "STRICT"
  name           = "yummy1"
  online         = true
  repodata_depth = 4

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
    write_policy                   = "ALLOW"
  }

  cleanup = {
    policy_names = ["policy"]
  }
}

nexus-repository-yum-proxy:

module "nexus_repository_yum_proxy" {
  source  = "devops-ia/repository/nexus//modules/nexus-repository-yum-proxy"
  
  name   = "rubygems-proxy"
  online = true

  storage = {
    blob_store_name                = "default"
    strict_content_type_validation = true
  }

  proxy = {
    remote_url       = "https://rubygems.org"
    content_max_age  = 1440
    metadata_max_age = 1440
  }

  negative_cache = {
    enabled = true
    ttl     = 1440
  }

  http_client = {
    blocked    = false
    auto_block = true
  }
}

Terraform Docs

Requirements

Name Version
terraform >= 1.3.0
nexus >= 2.0.0

Providers

No providers.

Modules

Name Source Version
nexus_repository_apt_hosted ./modules/nexus-repository-apt-hosted n/a
nexus_repository_apt_proxy ./modules/nexus-repository-apt-proxy n/a
nexus_repository_bower_group ./modules/nexus-repository-bower-group n/a
nexus_repository_bower_hosted ./modules/nexus-repository-bower-hosted n/a
nexus_repository_bower_proxy ./modules/nexus-repository-bower-proxy n/a
nexus_repository_cocoapods_proxy ./modules/nexus-repository-cocoapods-proxy n/a
nexus_repository_conan_proxy ./modules/nexus-repository-conan-proxy n/a
nexus_repository_conda_proxy ./modules/nexus-repository-conda-proxy n/a
nexus_repository_docker_group ./modules/nexus-repository-docker-group n/a
nexus_repository_docker_hosted ./modules/nexus-repository-docker-hosted n/a
nexus_repository_docker_proxy ./modules/nexus-repository-docker-proxy n/a
nexus_repository_gitlfs_hosted ./modules/nexus-repository-gitlfs-hosted n/a
nexus_repository_go_group ./modules/nexus-repository-go-group n/a
nexus_repository_go_proxy ./modules/nexus-repository-go-proxy n/a
nexus_repository_helm_hosted ./modules/nexus-repository-helm-hosted n/a
nexus_repository_helm_proxy ./modules/nexus-repository-helm-proxy n/a
nexus_repository_maven_group ./modules/nexus-repository-maven-group n/a
nexus_repository_maven_hosted ./modules/nexus-repository-maven-hosted n/a
nexus_repository_maven_proxy ./modules/nexus-repository-maven-proxy n/a
nexus_repository_npm_group ./modules/nexus-repository-npm-group n/a
nexus_repository_npm_hosted ./modules/nexus-repository-npm-hosted n/a
nexus_repository_npm_proxy ./modules/nexus-repository-npm-proxy n/a
nexus_repository_nuget_group ./modules/nexus-repository-nuget-group n/a
nexus_repository_nuget_hosted ./modules/nexus-repository-nuget-hosted n/a
nexus_repository_nuget_proxy ./modules/nexus-repository-nuget-proxy n/a
nexus_repository_p2_proxy ./modules/nexus-repository-p2-proxy n/a
nexus_repository_pypi_group ./modules/nexus-repository-pypi-group n/a
nexus_repository_pypi_hosted ./modules/nexus-repository-pypi-hosted n/a
nexus_repository_pypi_proxy ./modules/nexus-repository-pypi-proxy n/a
nexus_repository_r_group ./modules/nexus-repository-r-group n/a
nexus_repository_r_hosted ./modules/nexus-repository-r-hosted n/a
nexus_repository_r_proxy ./modules/nexus-repository-r-proxy n/a
nexus_repository_raw_group ./modules/nexus-repository-raw-group n/a
nexus_repository_raw_hosted ./modules/nexus-repository-raw-hosted n/a
nexus_repository_raw_proxy ./modules/nexus-repository-raw-proxy n/a
nexus_repository_rubygems_group ./modules/nexus-repository-rubygems-group n/a
nexus_repository_rubygems_hosted ./modules/nexus-repository-rubygems-hosted n/a
nexus_repository_rubygems_proxy ./modules/nexus-repository-rubygems-proxy n/a
nexus_repository_yum_group ./modules/nexus-repository-yum-group n/a
nexus_repository_yum_hosted ./modules/nexus-repository-yum-hosted n/a
nexus_repository_yum_proxy ./modules/nexus-repository-yum-proxy n/a

Resources

No resources.

Inputs

Name Description Type Default Required
nexus_repository_apt_hosted Repository Apt Hosted.
list(object({
name = string
online = optional(bool)
distribution = string
signing = object({
keypair = string
passphrase = optional(string)
})
storage = object({
blob_store_name = string
strict_content_type_validation = bool
write_policy = optional(string)
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
component = optional(object({
proprietary_components = bool
}))
}))
[] no
nexus_repository_apt_proxy Repository Apt Proxy.
list(object({
name = string
online = optional(bool)
routing_rule = optional(string)
distribution = string
flat = bool
storage = object({
blob_store_name = string
strict_content_type_validation = optional(bool)
})
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_bower_group Repository Bower Group.
list(object({
name = string
online = optional(bool)
group = object({
member_names = set(string)
})
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
}))
[] no
nexus_repository_bower_hosted Repository Bower Hosted.
list(object({
name = string
online = optional(bool)
storage = object({
blob_store_name = string
strict_content_type_validation = bool
write_policy = optional(string)
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
component = optional(object({
proprietary_components = bool
}))
}))
[] no
nexus_repository_bower_proxy Repository Bower Proxy.
list(object({
name = string
online = optional(bool)
rewrite_package_urls = bool
storage = object({
blob_store_name = string
strict_content_type_validation = optional(bool)
})
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_cocoapods_proxy Repository Cocoapods Proxy.
list(object({
name = string
online = optional(bool)
storage = object({
blob_store_name = string
strict_content_type_validation = optional(bool)
})
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_conan_proxy value
list(object({
name = string
online = optional(bool)
storage = object({
blob_store_name = string
strict_content_type_validation = optional(bool)
})
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_conda_proxy Repository Conda Proxy.
list(object({
name = string
online = optional(bool)
storage = object({
blob_store_name = string
strict_content_type_validation = optional(bool)
})
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_docker_group Repository Docker Group.
list(object({
name = string
online = optional(bool)
docker = object({
force_basic_auth = bool
http_port = optional(number)
https_port = optional(number)
v1_enabled = bool
subdomain = optional(string)
})
group = object({
member_names = set(string)
})
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
}))
[] no
nexus_repository_docker_hosted Repository Docker Hosted.
list(object({
name = string
online = optional(bool)
docker = object({
force_basic_auth = bool
http_port = optional(number)
https_port = optional(number)
v1_enabled = bool
subdomain = optional(string)
})
storage = object({
blob_store_name = string
strict_content_type_validation = bool
write_policy = optional(string)
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
component = optional(object({
proprietary_components = bool
}))
}))
[] no
nexus_repository_docker_proxy Repository Docker Proxy.
list(object({
name = string
online = optional(bool)
docker = object({
force_basic_auth = bool
http_port = optional(number)
https_port = optional(number)
v1_enabled = bool
subdomain = optional(string)
})
docker_proxy = object({
index_type = string
index_url = optional(string)
})
storage = object({
blob_store_name = string
strict_content_type_validation = optional(bool)
})
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_gitlfs_hosted Repository Gitlfs Hosted.
list(object({
name = string
online = optional(bool)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
cleanup = optional(object({
policy_names = optional(set(string))
}))
component = optional(object({
proprietary_components = bool
}))
}))
[] no
nexus_repository_go_group Repository Go Group.
list(object({
name = string
online = optional(bool)
group = object({
member_names = optional(set(string))
})
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
}))
[] no
nexus_repository_go_proxy Repository Go Proxy.
list(object({
name = string
online = optional(bool)
routing_rule = optional(string)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_helm_hosted Repository Helm Hosted.
list(object({
name = string
online = optional(bool)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
cleanup = optional(object({
policy_names = optional(set(string))
}))
component = optional(object({
proprietary_components = bool
}))
}))
[] no
nexus_repository_helm_proxy Repository Helm Proxy.
list(object({
name = string
online = optional(bool)
routing_rule = optional(string)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_maven_group Repository Maven Group.
list(object({
name = string
online = optional(bool)
group = object({
member_names = set(string)
})
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
}))
[] no
nexus_repository_maven_hosted Repository Maven Hosted.
list(object({
name = string
online = optional(bool)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
maven = object({
version_policy = string
layout_policy = string
content_disposition = optional(string)
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
component = optional(object({
proprietary_components = bool
}))
}))
[] no
nexus_repository_maven_proxy Repository Maven Proxy.
list(object({
name = string
online = optional(bool)
routing_rule = optional(string)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
maven = object({
version_policy = string
layout_policy = string
content_disposition = optional(string)
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_npm_group Repository Npm Group.
list(object({
name = string
online = optional(bool)
group = object({
member_names = set(string)
})
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
}))
[] no
nexus_repository_npm_hosted Repository Npm Hosted.
list(object({
name = string
online = optional(bool)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
cleanup = optional(object({
policy_names = optional(set(string))
}))
component = optional(object({
proprietary_components = bool
}))
}))
[] no
nexus_repository_npm_proxy Repository Npm Proxy.
list(object({
name = string
online = optional(bool)
routing_rule = optional(string)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
remove_non_cataloged = optional(bool)
remove_quarantined = optional(bool)
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_nuget_group Repository Nuget Group.
list(object({
name = string
online = optional(bool)
group = object({
member_names = set(string)
})
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
}))
[] no
nexus_repository_nuget_hosted Repository Nuget Hosted.
list(object({
name = string
online = optional(bool)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
cleanup = optional(object({
policy_names = optional(set(string))
}))
component = optional(object({
proprietary_components = bool
}))
}))
[] no
nexus_repository_nuget_proxy Repository Nuget Proxy.
list(object({
name = string
online = optional(bool)
routing_rule = optional(string)
nuget_version = string
query_cache_item_max_age = number
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_p2_proxy Repository P2 Proxy.
list(object({
name = string
online = optional(bool)
routing_rule = optional(string)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_pypi_group Repository Pypi Group.
list(object({
name = string
online = optional(bool)
group = object({
member_names = set(string)
})
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
}))
[] no
nexus_repository_pypi_hosted Repository Pypi Hosted.
list(object({
name = string
online = optional(bool)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
cleanup = optional(object({
policy_names = optional(set(string))
}))
component = optional(object({
proprietary_components = bool
}))
}))
[] no
nexus_repository_pypi_proxy Repository Pypi Proxy.
list(object({
name = string
online = optional(bool)
routing_rule = optional(string)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_r_group Repository R Group.
list(object({
name = string
online = optional(bool)
group = object({
member_names = set(string)
})
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
}))
[] no
nexus_repository_r_hosted Repository R Hosted.
list(object({
name = string
online = optional(bool)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
cleanup = optional(object({
policy_names = optional(set(string))
}))
component = optional(object({
proprietary_components = bool
}))
}))
[] no
nexus_repository_r_proxy Repository R Proxy.
list(object({
name = string
online = optional(bool)
routing_rule = optional(string)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_raw_group Repository Raw Group.
list(object({
name = string
online = optional(bool)
group = object({
member_names = set(string)
})
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
}))
[] no
nexus_repository_raw_hosted Repository Raw Hosted.
list(object({
name = string
online = optional(bool)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
cleanup = optional(object({
policy_names = optional(set(string))
}))
component = optional(object({
proprietary_components = bool
}))
}))
[] no
nexus_repository_raw_proxy Repository Raw Proxy.
list(object({
name = string
online = optional(bool)
routing_rule = optional(string)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_rubygems_group Repository Rubygems Group.
list(object({
name = string
online = optional(bool)
group = object({
member_names = set(string)
})
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
}))
[] no
nexus_repository_rubygems_hosted Repository Rubygems Hosted.
list(object({
name = string
online = optional(bool)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
cleanup = optional(object({
policy_names = optional(set(string))
}))
component = optional(object({
proprietary_components = bool
}))
}))
[] no
nexus_repository_rubygems_proxy Repository Rubygems Proxy.
list(object({
name = string
online = optional(bool)
routing_rule = optional(string)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no
nexus_repository_yum_group Repository Pypi Group.
list(object({
name = string
online = optional(bool)
group = object({
member_names = set(string)
})
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
}))
[] no
nexus_repository_yum_hosted Repository Yum Hosted.
list(object({
name = string
online = optional(bool)
deploy_policy = optional(string)
repodata_depth = optional(number)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
cleanup = optional(object({
policy_names = optional(set(string))
}))
component = optional(object({
proprietary_components = bool
}))
}))
[] no
nexus_repository_yum_proxy Repository Yum Proxy.
list(object({
name = string
online = optional(bool)
routing_rule = optional(string)
storage = optional(object({
blob_store_name = string
strict_content_type_validation = optional(bool)
}))
proxy = object({
remote_url = string
content_max_age = optional(number)
metadata_max_age = optional(number)
})
negative_cache = optional(object({
enabled = optional(bool)
ttl = optional(string)
}))
http_client = object({
blocked = bool
auto_block = bool
connection = optional(object({
retries = optional(number)
user_agent_suffix = optional(string)
timeout = optional(number)
enable_circular_redirects = optional(bool)
enable_cookies = optional(bool)
use_trust_store = optional(bool)
}))
authentication = optional(object({
type = optional(string)
username = optional(string)
password = optional(string)
ntlm_host = optional(string)
ntlm_domain = optional(string)
}))
})
cleanup = optional(object({
policy_names = optional(set(string))
}))
}))
[] no

Outputs

Name Description
repository_apt_hosted Repository Apt Hosted.
repository_apt_proxy Repository Apt Proxy.
repository_bower_group Repository Bower Group.
repository_bower_hosted Repository Bower Hosted.
repository_bower_proxy Repository Bower Proxy.
repository_cocoapods_proxy Repository Cocoapods Proxy.
repository_conan_proxy Repository Conan Proxy.
repository_conda_proxy Repository Conda Proxy.
repository_docker_group Repository Docker Group.
repository_docker_hosted Repository Docker Hosted.
repository_docker_proxy Repository Docker Proxy.
repository_gitlfs_hosted Repository Gitlfs Hosted.
repository_go_group Repository Go Group.
repository_go_proxy Repository Go Proxy.
repository_helm_hosted Repository Helm Hosted.
repository_helm_proxy Repository Helm Proxy.
repository_maven_group Repository Maven Group.
repository_maven_hosted Repository Maven Hosted.
repository_maven_proxy Repository Maven Proxy.
repository_npm_group Repository Npm Group.
repository_npm_hosted Repository Npm Hosted.
repository_npm_proxy Repository Npm Proxy.
repository_nuget_group Repository Nuget Group.
repository_nuget_hosted Repository Nuget Hosted.
repository_nuget_proxy Repository Nuget Proxy.
repository_p2_proxy Repository P2 Proxy.
repository_pypi_group Repository Pypi Group.
repository_pypi_hosted Repository Pypi Hosted.
repository_pypi_proxy Repository Pypi Proxy.
repository_r_group Repository R Group.
repository_r_hosted Repository R Hosted.
repository_r_proxy Repository R Proxy.
repository_raw_group Repository Raw Group.
repository_raw_hosted Repository Raw Hosted.
repository_raw_proxy Repository Raw Proxy.
repository_rubygems_group Repository Rubygems Group.
repository_rubygems_hosted Repository Rubygems Hosted.
repository_rubygems_proxy Repository Rubygems Proxy.
repository_yum_group Repository Yum Group.
repository_yum_hosted Repository Yum Hosted.
repository_yum_proxy Repository Yum Proxy.

Authors

Module is maintained by DevOps IA with help from these awesome contributors.