This module is IaC - infrastructure as code which contains a nomad job of Nifi registry.
Please follow this section in original template.
Software | OSS Version | Enterprise Version |
---|---|---|
Terraform | 0.13.1 or newer | |
Consul | 1.8.3 or newer | 1.8.3 or newer |
Vault | 1.5.2.1 or newer | 1.5.2.1 or newer |
Nomad | 0.12.3 or newer | 0.12.3 or newer |
All software is provided and run with docker. See the Makefile for inspiration.
The following command will run nifi registry in the example/standalone_git folder. (NOTE! Please read README.md before executing the example)
make up repo=<GitHub-repository> branch=<branch to checkout and track> user=<GitHub username> token=<personal token from GitHub>
and
make up-standalone
will run nifi registry in the example/standalone folder.
You can verify that Nifi registry ran successful by checking the Nifi registry UI.
First create a proxy to connect with the Nifi registry service:
make proxy-nifi-reg
You can now visit the UI on http://127.0.0.1:18080/nifi-registry/.
The following code is an example of the Nifi registry module. For detailed information check the example/standalone.
module "nifi_registry" {
source = "../.."
# nomad
nomad_datacenters = ["dc1"]
nomad_namespace = "default"
nomad_host_volume = "persistence"
# nifi
service_name = "nifi-registry"
host = "127.0.0.1"
port = 18080
mode = "standalone"
container_image = "apache/nifi-registry:0.8.0"
use_host_volume = false
use_canary = false
resource = {
cpu = 500
memory = 1024
}
resource_proxy = {
cpu = 200
memory = 128
}
}
Name | Description | Type | Default | Required |
---|---|---|---|---|
nomad_datacenters | Nomad data centers | list(string) | ["dc1"] | yes |
nomad_namespace | [Enterprise] Nomad namespace | string | "default" | yes |
service_name | nifi registry service name | string | "nifi-registry" | yes |
host | Nifi registry host | string | "127.0.0.1" | yes |
port | Nifi registry container port | number | 18080 | yes |
mode | Switch for Nomad to use standalone or standalone with git deployment | string | "standalone" | no |
container_image | nifi registry container image | string | "apache/nifi-registry:0.8.0" | yes |
resource | Resource allocations for cpu and memory | obj(number, number) | { cpu = 500, memory = 1024 } |
no |
resource_proxy | Resource allocations for proxy | obj(number, number) | { cpu = 200, memory = 128 } |
no |
use_canary | Uses canary deployment for nifi | bool | false | no |
vault_secret.vault_kv_policy_name | Vault policy name to read secrets | string | "kv-secret" | no |
vault_secret.vault_kv_path | Path to the secret key in Vault | string | "secret/github" | no |
vault_secret.vault_kv_field_user | Secret key name in Vault kv path | string | "git_access_user" | no |
vault_secret.vault_kv_field_password | Secret key name in Vault kv path | string | "git_access_password" | no |
git_remote_url | Git integration: URL of the remote git repository. | string | " " | yes |
git_checkout_branch | Git integration: Branch to checkout and track. | string | " " | yes |
git_flow_storage_directory | Git integration: Default value is set by image, original default value was "./flow-storage". This variable is used in clone script as a destination directory for clone. It is also used in NiFi Registry configuration. | string | /opt/nifi-registry/flow-storage | yes |
git_remote_to_push | Git integration: This variable is used in clone script to set origin name using -o, --origin <name> use <name> instead of 'origin' to track upstream . It is also used in NiFi Registry configuration. |
string | origin | yes |
git_access_user | Git integration: Username | string | " " | yes |
git_access_password | Git integration: Password | string | " " | yes |
git_user_name | Git integration: Developer | string | nifi-registry | no |
git_user_email | Git integration: Developer email | string | nifi-registry@localhost | no |
Name | Description | Type |
---|---|---|
nifi_reg_service_name | nifi registry service name | string |
nifi_reg_port | nifi registry port number | number |
nifi_reg_host | nifi registry host | string |
This work is licensed under Apache 2 License. See LICENSE for full details.