An open API service indexing awesome lists of open source software.

https://github.com/devops-ia/terraform-nexus-privilege

Terraform module for create Nexus Privilege
https://github.com/devops-ia/terraform-nexus-privilege

nexus nexus-privilege terraform terraform-module

Last synced: 6 months ago
JSON representation

Terraform module for create Nexus Privilege

Awesome Lists containing this project

README

          

# Nexus Privilege

This module allows you to create **Nexus Privilege as a global resource** and **individual Nexus Privilege resources.** For individual examples, see the usage snippets and [examples](https://github.com/devops-ia/terraform-nexus-privilege/tree/main/examples).

## Provider
You need use a [Nexus provider](https://registry.terraform.io/providers/datadrivers/nexus/latest/docs).
```hcl
provider "nexus" {
insecure = true
password = "admin123"
url = "https://127.0.0.1:8080"
username = "admin"
}
```

## Root module usage

`nexus-privilege`:

```hcl
module "nexus_privilege" {
source = "devops-ia/privilege/nexus"

nexus_privilege_application = [
{
name = "example_privilege-app"
description = "description"
actions = ["ADD", "READ", "EDIT", "DELETE"]
domain = "domain"
},
]

nexus_privilege_repository_admin = [
{
name = "example_privilege-admin"
description = "description"
actions = ["ADD", "READ", "DELETE", "BROWSE", "EDIT"]
repository = "repository-name"
format = "helm"
},
]

nexus_privilege_repository_content_selector = [
{
name = "example_privilege-selector"
description = "description"
actions = ["ADD", "READ", "DELETE", "BROWSE", "EDIT"]
repository = "repository-name"
format = "helm"
content_selector = "content-selector-name"
},
]

nexus_privilege_repository_view = [
{
name = "example_privilege-view"
description = "description"
actions = ["ADD", "READ", "DELETE", "BROWSE", "EDIT"]
repository = "repository-name"
format = "helm"
},
]

nexus_privilege_script = [
{
name = "example_privilege-script"
description = "description"
actions = ["ADD", "READ", "DELETE", "RUN", "BROWSE", "EDIT"]
script_name = "script-name"
},
]

nexus_privilege_wildcard = [
{
name = "example_privilege-wilcard"
description = "description"
pattern = "nexus:*"
},
]
}
```

## Individual module usage

`nexus-privilege-application`:

```hcl
module "nexus_privilege_application" {
source = "devops-ia/privilege/nexus//modules/nexus-privilege-application"

name = "example_privilege"
description = "description"
actions = ["ADD", "READ", "EDIT", "DELETE"]
domain = "domain"
}
```

`nexus-privilege-repository-admin`:

```hcl
module "nexus_privilege_repository_admin" {
source = "devops-ia/privilege/nexus//modules/nexus-privilege-repository-admin"

name = "example_privilege"
description = "description"
actions = ["ADD", "READ", "DELETE", "BROWSE", "EDIT"]
repository = "repository-name"
format = "helm"
}
```

`nexus-privilege-repository-content-selector`:

```hcl
module "nexus_privilege_repository_content_selector" {
source = "devops-ia/privilege/nexus//modules/nexus-privilege-repository-content-selector"

name = "example_privilege"
description = "description"
actions = ["ADD", "READ", "DELETE", "BROWSE", "EDIT"]
repository = "repository-name"
format = "helm"
content_selector = "content-selector-name"
}
```

`nexus-privilege-repository-view`:

```hcl
module "nexus_privilege_repository_view" {
source = "devops-ia/privilege/nexus//modules/nexus-privilege-repository-view"

name = "example_privilege"
description = "description"
actions = ["ADD", "READ", "DELETE", "BROWSE", "EDIT"]
repository = "repository-name"
format = "helm"
}
```

`nexus-privilege-script`:

```hcl
module "nexus_privilege_script" {
source = "devops-ia/privilege/nexus//modules/nexus-privilege-script"

name = "example_privilege"
description = "description"
actions = ["ADD", "READ", "DELETE", "RUN", "BROWSE", "EDIT"]
script_name = "script-name"
}
```

`nexus-privilege-wilcard`:

```hcl
module "nexus_privilege_wildcard" {
source = "devops-ia/privilege/nexus//modules/nexus-privilege-wildcard"

description = "description"
pattern = "nexus:*"
}
```

## Terraform Docs

### Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.3.0 |
| [nexus](#requirement\_nexus) | >= 2.0.0 |

### Providers

No providers.

### Modules

| Name | Source | Version |
|------|--------|---------|
| [nexus\_privilege\_application](#module\_nexus\_privilege\_application) | ./modules/nexus-privilege-application | n/a |
| [nexus\_privilege\_repository\_admin](#module\_nexus\_privilege\_repository\_admin) | ./modules/nexus-privilege-repository-admin | n/a |
| [nexus\_privilege\_repository\_content\_selector](#module\_nexus\_privilege\_repository\_content\_selector) | ./modules/nexus-privilege-repository-content-selector | n/a |
| [nexus\_privilege\_repository\_view](#module\_nexus\_privilege\_repository\_view) | ./modules/nexus-privilege-repository-view | n/a |
| [nexus\_privilege\_script](#module\_nexus\_privilege\_script) | ./modules/nexus-privilege-script | n/a |
| [nexus\_privilege\_wildcard](#module\_nexus\_privilege\_wildcard) | ./modules/nexus-privilege-wildcard | n/a |

### Resources

No resources.

### Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [nexus\_privilege\_application](#input\_nexus\_privilege\_application) | Privilege Application. |

list(object({
name = string
description = optional(string)
actions = list(string)
domain = string
}))
| `[]` | no |
| [nexus\_privilege\_repository\_admin](#input\_nexus\_privilege\_repository\_admin) | Privilege Repository Admin. |
list(object({
name = string
description = optional(string)
actions = list(string)
repository = string
format = string
}))
| `[]` | no |
| [nexus\_privilege\_repository\_content\_selector](#input\_nexus\_privilege\_repository\_content\_selector) | Privilege Repository Content Selector. |
list(object({
name = string
description = string
actions = list(string)
repository = string
format = string
content_selector = string
}))
| `[]` | no |
| [nexus\_privilege\_repository\_view](#input\_nexus\_privilege\_repository\_view) | Privilege Repository View. |
list(object({
name = string
description = optional(string)
actions = list(string)
repository = string
format = string
}))
| `[]` | no |
| [nexus\_privilege\_script](#input\_nexus\_privilege\_script) | Privilege Script. |
list(object({
name = string
description = optional(string)
actions = list(string)
script_name = string
}))
| `[]` | no |
| [nexus\_privilege\_wildcard](#input\_nexus\_privilege\_wildcard) | Privilege Repository Wilcard. |
list(object({
name = string
description = optional(string)
pattern = optional(string)
}))
| `[]` | no |

### Outputs

| Name | Description |
|------|-------------|
| [privilege\_application\_name](#output\_privilege\_application\_name) | The name of the privilege application. |
| [privilege\_repository\_admin\_name](#output\_privilege\_repository\_admin\_name) | The name of the privilege repository admin. |
| [privilege\_repository\_content\_selector\_name](#output\_privilege\_repository\_content\_selector\_name) | The name of the privilege repository content selector. |
| [privilege\_repository\_view\_name](#output\_privilege\_repository\_view\_name) | The name of the privilege repository view. |
| [privilege\_repository\_wildcard\_name](#output\_privilege\_repository\_wildcard\_name) | The name of the privilege wildcard. |
| [privilege\_script\_name](#output\_privilege\_script\_name) | The name of the privilege script. |

## Authors

Module is maintained by [DevOps IA](https://github.com/devops-ia) with help from [these awesome contributors](https://github.com/devops-ia/terraform-nexus-privilege/graphs/contributors).