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
- Host: GitHub
- URL: https://github.com/devops-ia/terraform-nexus-privilege
- Owner: devops-ia
- License: mit
- Created: 2024-02-18T08:50:57.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-04T09:02:31.000Z (about 1 year ago)
- Last Synced: 2025-03-04T10:20:20.414Z (about 1 year ago)
- Topics: nexus, nexus-privilege, terraform, terraform-module
- Language: HCL
- Homepage: https://registry.terraform.io/modules/devops-ia/privilege/nexus
- Size: 46.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
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).