├── tests ├── inventory └── test.yml ├── tasks ├── main.yml ├── config.yml └── install.yml ├── .gitignore ├── templates ├── myid.j2 ├── extra-args.properties.j2 ├── nifi.service.j2 ├── 1.8 │ ├── bootstrap-gcp.conf.j2 │ ├── bootstrap-azure.conf.j2 │ ├── bootstrap-aws.conf.j2 │ ├── zookeeper.properties.j2 │ ├── nifi-env.sh.j2 │ ├── stateless.properties.j2 │ ├── bootstrap-hashicorp-vault.conf.j2 │ ├── bootstrap-notification-services.xml.j2 │ ├── stateless-logback.xml.j2 │ ├── bootstrap.conf.j2 │ └── login-identity-providers.xml.j2 ├── 1.9 │ ├── bootstrap-gcp.conf.j2 │ ├── bootstrap-azure.conf.j2 │ ├── bootstrap-aws.conf.j2 │ ├── zookeeper.properties.j2 │ ├── nifi-env.sh.j2 │ ├── stateless.properties.j2 │ ├── bootstrap-hashicorp-vault.conf.j2 │ ├── bootstrap-notification-services.xml.j2 │ ├── stateless-logback.xml.j2 │ └── bootstrap.conf.j2 ├── 1.10 │ ├── bootstrap-gcp.conf.j2 │ ├── bootstrap-azure.conf.j2 │ ├── bootstrap-aws.conf.j2 │ ├── nifi-env.sh.j2 │ ├── stateless.properties.j2 │ ├── zookeeper.properties.j2 │ ├── bootstrap-hashicorp-vault.conf.j2 │ ├── bootstrap-notification-services.xml.j2 │ ├── stateless-logback.xml.j2 │ ├── bootstrap.conf.j2 │ └── login-identity-providers.xml.j2 ├── 1.11 │ ├── bootstrap-gcp.conf.j2 │ ├── bootstrap-azure.conf.j2 │ ├── bootstrap-aws.conf.j2 │ ├── nifi-env.sh.j2 │ ├── stateless.properties.j2 │ ├── zookeeper.properties.j2 │ ├── bootstrap-hashicorp-vault.conf.j2 │ ├── bootstrap-notification-services.xml.j2 │ ├── stateless-logback.xml.j2 │ ├── bootstrap.conf.j2 │ └── login-identity-providers.xml.j2 ├── 1.12 │ ├── bootstrap-gcp.conf.j2 │ ├── bootstrap-azure.conf.j2 │ ├── bootstrap-aws.conf.j2 │ ├── nifi-env.sh.j2 │ ├── stateless.properties.j2 │ ├── zookeeper.properties.j2 │ ├── bootstrap-hashicorp-vault.conf.j2 │ ├── bootstrap-notification-services.xml.j2 │ ├── stateless-logback.xml.j2 │ ├── bootstrap.conf.j2 │ └── login-identity-providers.xml.j2 ├── 1.13 │ ├── bootstrap-gcp.conf.j2 │ ├── bootstrap-azure.conf.j2 │ ├── bootstrap-aws.conf.j2 │ ├── stateless.properties.j2 │ ├── nifi-env.sh.j2 │ ├── bootstrap-hashicorp-vault.conf.j2 │ ├── bootstrap-notification-services.xml.j2 │ ├── zookeeper.properties.j2 │ ├── stateless-logback.xml.j2 │ ├── bootstrap.conf.j2 │ └── login-identity-providers.xml.j2 ├── 1.15 │ ├── bootstrap-gcp.conf.j2 │ ├── bootstrap-azure.conf.j2 │ ├── bootstrap-aws.conf.j2 │ ├── stateless.properties.j2 │ ├── bootstrap-hashicorp-vault.conf.j2 │ ├── bootstrap-notification-services.xml.j2 │ ├── zookeeper.properties.j2 │ ├── nifi-env.sh.j2 │ ├── stateless-logback.xml.j2 │ └── bootstrap.conf.j2 └── nifi-startup.sh.j2 ├── vars └── main.yml ├── handlers └── main.yml ├── meta └── main.yml └── defaults └── main.yml /tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - include: install.yml 3 | - include: config.yml -------------------------------------------------------------------------------- /tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - nifi -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | .gitignore 3 | .idea/ 4 | 5 | # OSX files 6 | .DS_STORE -------------------------------------------------------------------------------- /templates/myid.j2: -------------------------------------------------------------------------------- 1 | {{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] | default(1) | splitext | last | replace('.', '') }} -------------------------------------------------------------------------------- /templates/extra-args.properties.j2: -------------------------------------------------------------------------------- 1 | ####### NiFi Extra Args 2 | {% for extra in nifi_extra_args -%} 3 | {% for key, value in extra.items() -%} 4 | {{ key }}={{ value }} 5 | {% endfor -%} 6 | {% endfor -%} 7 | -------------------------------------------------------------------------------- /vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for nifi 3 | 4 | nifi_user: nifi 5 | nifi_service: /etc/systemd/system/nifi.service 6 | 7 | nifi_home: "{{ nifi_base_dir }}/nifi-current" 8 | nifi_bin_dir: "{{ nifi_home }}/bin" 9 | nifi_conf_dir: "{{ nifi_home }}/conf" 10 | nifi_nar_dir: "{{ nifi_home }}/lib" 11 | nifi_work_dir: "{{ nifi_home }}/work" 12 | nifi_pid_file: "{{ nifi_pid_dir }}/nifi.pid" 13 | -------------------------------------------------------------------------------- /handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for nifi 3 | 4 | - name: reload systemd 5 | systemd: 6 | daemon_reload: yes 7 | when: > 8 | (ansible_distribution == "CentOS" or ansible_distribution == "Red Hat Enterprise Linux") and 9 | ansible_distribution_major_version >= "7" 10 | 11 | - name: restart nifi 12 | service: name=nifi state=restarted enabled=yes 13 | when: nifi_perform_restart 14 | -------------------------------------------------------------------------------- /meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: "Asymmetrik" 4 | description: "This role is used to install and configure Apache NiFi" 5 | 6 | min_ansible_version: 2.1 7 | license: BSD 8 | 9 | platforms: 10 | - name: EL 11 | versions: 12 | - 6 13 | - 7 14 | - name: Amazon 15 | versions: 16 | - all 17 | 18 | galaxy_tags: 19 | - apache 20 | - nifi 21 | - dataflow 22 | -------------------------------------------------------------------------------- /templates/nifi.service.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Apache NiFi 3 | After=syslog.target network.target 4 | 5 | [Service] 6 | User={{ nifi_user }} 7 | Type=forking 8 | PIDFile={{ nifi_pid_file }} 9 | # Run ExecStartPre with root-permissions 10 | PermissionsStartOnly=true 11 | ExecStartPre=-/usr/bin/mkdir -p {{ nifi_pid_dir }} 12 | ExecStartPre=/usr/bin/chown -R {{ nifi_user }} {{ nifi_pid_dir }} 13 | ExecStart={{ nifi_base_dir }}/nifi-current/bin/nifi.sh start 14 | ExecStop={{ nifi_base_dir }}/nifi-current/bin/nifi.sh stop 15 | 16 | [Install] 17 | WantedBy=multi-user.target 18 | -------------------------------------------------------------------------------- /templates/1.8/bootstrap-gcp.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # These GCP KMS settings must all be configured in order to use the GCP KMS Sensitive Property Provider 19 | gcp.kms.project= 20 | gcp.kms.location= 21 | gcp.kms.keyring= 22 | gcp.kms.key= -------------------------------------------------------------------------------- /templates/1.9/bootstrap-gcp.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # These GCP KMS settings must all be configured in order to use the GCP KMS Sensitive Property Provider 19 | gcp.kms.project= 20 | gcp.kms.location= 21 | gcp.kms.keyring= 22 | gcp.kms.key= -------------------------------------------------------------------------------- /templates/1.10/bootstrap-gcp.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # These GCP KMS settings must all be configured in order to use the GCP KMS Sensitive Property Provider 19 | gcp.kms.project= 20 | gcp.kms.location= 21 | gcp.kms.keyring= 22 | gcp.kms.key= -------------------------------------------------------------------------------- /templates/1.11/bootstrap-gcp.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # These GCP KMS settings must all be configured in order to use the GCP KMS Sensitive Property Provider 19 | gcp.kms.project= 20 | gcp.kms.location= 21 | gcp.kms.keyring= 22 | gcp.kms.key= -------------------------------------------------------------------------------- /templates/1.12/bootstrap-gcp.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # These GCP KMS settings must all be configured in order to use the GCP KMS Sensitive Property Provider 19 | gcp.kms.project= 20 | gcp.kms.location= 21 | gcp.kms.keyring= 22 | gcp.kms.key= -------------------------------------------------------------------------------- /templates/1.13/bootstrap-gcp.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # These GCP KMS settings must all be configured in order to use the GCP KMS Sensitive Property Provider 19 | gcp.kms.project= 20 | gcp.kms.location= 21 | gcp.kms.keyring= 22 | gcp.kms.key= -------------------------------------------------------------------------------- /templates/1.15/bootstrap-gcp.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # These GCP KMS settings must all be configured in order to use the GCP KMS Sensitive Property Provider 19 | gcp.kms.project= 20 | gcp.kms.location= 21 | gcp.kms.keyring= 22 | gcp.kms.key= -------------------------------------------------------------------------------- /templates/1.10/bootstrap-azure.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # Key Identifier for Azure Key Vault Key Sensitive Property Provider 19 | azure.keyvault.key.id= 20 | # Encryption Algorithm for Azure Key Vault Key Sensitive Property Provider 21 | azure.keyvault.encryption.algorithm= 22 | 23 | # Vault URI for Azure Key Vault Secret Sensitive Property Provider 24 | azure.keyvault.uri= 25 | -------------------------------------------------------------------------------- /templates/1.11/bootstrap-azure.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # Key Identifier for Azure Key Vault Key Sensitive Property Provider 19 | azure.keyvault.key.id= 20 | # Encryption Algorithm for Azure Key Vault Key Sensitive Property Provider 21 | azure.keyvault.encryption.algorithm= 22 | 23 | # Vault URI for Azure Key Vault Secret Sensitive Property Provider 24 | azure.keyvault.uri= 25 | -------------------------------------------------------------------------------- /templates/1.12/bootstrap-azure.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # Key Identifier for Azure Key Vault Key Sensitive Property Provider 19 | azure.keyvault.key.id= 20 | # Encryption Algorithm for Azure Key Vault Key Sensitive Property Provider 21 | azure.keyvault.encryption.algorithm= 22 | 23 | # Vault URI for Azure Key Vault Secret Sensitive Property Provider 24 | azure.keyvault.uri= 25 | -------------------------------------------------------------------------------- /templates/1.13/bootstrap-azure.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # Key Identifier for Azure Key Vault Key Sensitive Property Provider 19 | azure.keyvault.key.id= 20 | # Encryption Algorithm for Azure Key Vault Key Sensitive Property Provider 21 | azure.keyvault.encryption.algorithm= 22 | 23 | # Vault URI for Azure Key Vault Secret Sensitive Property Provider 24 | azure.keyvault.uri= 25 | -------------------------------------------------------------------------------- /templates/1.15/bootstrap-azure.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # Key Identifier for Azure Key Vault Key Sensitive Property Provider 19 | azure.keyvault.key.id= 20 | # Encryption Algorithm for Azure Key Vault Key Sensitive Property Provider 21 | azure.keyvault.encryption.algorithm= 22 | 23 | # Vault URI for Azure Key Vault Secret Sensitive Property Provider 24 | azure.keyvault.uri= 25 | -------------------------------------------------------------------------------- /templates/1.8/bootstrap-azure.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # Key Identifier for Azure Key Vault Key Sensitive Property Provider 19 | azure.keyvault.key.id= 20 | # Encryption Algorithm for Azure Key Vault Key Sensitive Property Provider 21 | azure.keyvault.encryption.algorithm= 22 | 23 | # Vault URI for Azure Key Vault Secret Sensitive Property Provider 24 | azure.keyvault.uri= 25 | -------------------------------------------------------------------------------- /templates/1.9/bootstrap-azure.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # Key Identifier for Azure Key Vault Key Sensitive Property Provider 19 | azure.keyvault.key.id= 20 | # Encryption Algorithm for Azure Key Vault Key Sensitive Property Provider 21 | azure.keyvault.encryption.algorithm= 22 | 23 | # Vault URI for Azure Key Vault Secret Sensitive Property Provider 24 | azure.keyvault.uri= 25 | -------------------------------------------------------------------------------- /templates/nifi-startup.sh.j2: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # 4 | # Licensed to the Apache Software Foundation (ASF) under one or more 5 | # contributor license agreements. See the NOTICE file distributed with 6 | # this work for additional information regarding copyright ownership. 7 | # The ASF licenses this file to You under the Apache License, Version 2.0 8 | # (the "License"); you may not use this file except in compliance with 9 | # the License. You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, software 14 | # distributed under the License is distributed on an "AS IS" BASIS, 15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | # See the License for the specific language governing permissions and 17 | # limitations under the License. 18 | # 19 | # chkconfig: 2345 20 80 20 | # description: Apache NiFi is a dataflow system based on the principles of Flow-Based Programming. 21 | # 22 | 23 | # Make use of the configured NIFI_HOME directory and pass service requests to the nifi.sh executable 24 | NIFI_HOME={{ nifi_home }} 25 | bin_dir=${NIFI_HOME}/bin 26 | nifi_executable=${bin_dir}/nifi.sh 27 | 28 | ${nifi_executable} "$@" -------------------------------------------------------------------------------- /templates/1.10/bootstrap-aws.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # AWS KMS Key ID is required to be configured for AWS KMS Sensitive Property Provider 19 | aws.kms.key.id= 20 | 21 | # NiFi uses the following properties when authentication to AWS when all values are provided. 22 | # NiFi uses the default AWS credentials provider chain when one or more or the following properties are blank 23 | # AWS SDK documentation describes the default credential retrieval order: 24 | # https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials.html#credentials-chain 25 | aws.access.key.id= 26 | aws.secret.access.key= 27 | aws.region= 28 | -------------------------------------------------------------------------------- /templates/1.11/bootstrap-aws.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # AWS KMS Key ID is required to be configured for AWS KMS Sensitive Property Provider 19 | aws.kms.key.id= 20 | 21 | # NiFi uses the following properties when authentication to AWS when all values are provided. 22 | # NiFi uses the default AWS credentials provider chain when one or more or the following properties are blank 23 | # AWS SDK documentation describes the default credential retrieval order: 24 | # https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials.html#credentials-chain 25 | aws.access.key.id= 26 | aws.secret.access.key= 27 | aws.region= 28 | -------------------------------------------------------------------------------- /templates/1.12/bootstrap-aws.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # AWS KMS Key ID is required to be configured for AWS KMS Sensitive Property Provider 19 | aws.kms.key.id= 20 | 21 | # NiFi uses the following properties when authentication to AWS when all values are provided. 22 | # NiFi uses the default AWS credentials provider chain when one or more or the following properties are blank 23 | # AWS SDK documentation describes the default credential retrieval order: 24 | # https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials.html#credentials-chain 25 | aws.access.key.id= 26 | aws.secret.access.key= 27 | aws.region= 28 | -------------------------------------------------------------------------------- /templates/1.13/bootstrap-aws.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # AWS KMS Key ID is required to be configured for AWS KMS Sensitive Property Provider 19 | aws.kms.key.id= 20 | 21 | # NiFi uses the following properties when authentication to AWS when all values are provided. 22 | # NiFi uses the default AWS credentials provider chain when one or more or the following properties are blank 23 | # AWS SDK documentation describes the default credential retrieval order: 24 | # https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials.html#credentials-chain 25 | aws.access.key.id= 26 | aws.secret.access.key= 27 | aws.region= 28 | -------------------------------------------------------------------------------- /templates/1.15/bootstrap-aws.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # AWS KMS Key ID is required to be configured for AWS KMS Sensitive Property Provider 19 | aws.kms.key.id= 20 | 21 | # NiFi uses the following properties when authentication to AWS when all values are provided. 22 | # NiFi uses the default AWS credentials provider chain when one or more or the following properties are blank 23 | # AWS SDK documentation describes the default credential retrieval order: 24 | # https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials.html#credentials-chain 25 | aws.access.key.id= 26 | aws.secret.access.key= 27 | aws.region= 28 | -------------------------------------------------------------------------------- /templates/1.8/bootstrap-aws.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # AWS KMS Key ID is required to be configured for AWS KMS Sensitive Property Provider 19 | aws.kms.key.id= 20 | 21 | # NiFi uses the following properties when authentication to AWS when all values are provided. 22 | # NiFi uses the default AWS credentials provider chain when one or more or the following properties are blank 23 | # AWS SDK documentation describes the default credential retrieval order: 24 | # https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials.html#credentials-chain 25 | aws.access.key.id= 26 | aws.secret.access.key= 27 | aws.region= 28 | -------------------------------------------------------------------------------- /templates/1.9/bootstrap-aws.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # AWS KMS Key ID is required to be configured for AWS KMS Sensitive Property Provider 19 | aws.kms.key.id= 20 | 21 | # NiFi uses the following properties when authentication to AWS when all values are provided. 22 | # NiFi uses the default AWS credentials provider chain when one or more or the following properties are blank 23 | # AWS SDK documentation describes the default credential retrieval order: 24 | # https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials.html#credentials-chain 25 | aws.access.key.id= 26 | aws.secret.access.key= 27 | aws.region= 28 | -------------------------------------------------------------------------------- /templates/1.8/zookeeper.properties.j2: -------------------------------------------------------------------------------- 1 | # 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # 20 | # 21 | # 22 | 23 | clientPort=2181 24 | initLimit=10 25 | autopurge.purgeInterval={{ nifi_zookeeper_autopurge_purgeInterval }} 26 | syncLimit=5 27 | tickTime=2000 28 | dataDir={{ nifi_zookeeper_dir }} 29 | autopurge.snapRetainCount={{ nifi_zookeeper_autopurge_snapRetainCount }} 30 | 31 | # 32 | # Specifies the servers that are part of this zookeeper ensemble. For 33 | # every NiFi instance running an embedded zookeeper, there needs to be 34 | # a server entry below. For instance: 35 | # 36 | # server.1=nifi-node1-hostname:2888:3888 37 | # server.2=nifi-node2-hostname:2888:3888 38 | # server.3=nifi-node3-hostname:2888:3888 39 | # 40 | # The index of the server corresponds to the myid file that gets created 41 | # in the dataDir of each node running an embedded zookeeper. See the 42 | # administration guide for more details. 43 | # 44 | {% for node_ip in nifi_zookeeper_servers -%} 45 | server.{{ node_ip | splitext | last | replace('.', '') }}={{ node_ip }}:2888:3888 46 | {% endfor -%} -------------------------------------------------------------------------------- /templates/1.9/zookeeper.properties.j2: -------------------------------------------------------------------------------- 1 | # 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # 20 | # 21 | # 22 | 23 | clientPort=2181 24 | initLimit=10 25 | autopurge.purgeInterval={{ nifi_zookeeper_autopurge_purgeInterval }} 26 | syncLimit=5 27 | tickTime=2000 28 | dataDir={{ nifi_zookeeper_dir }} 29 | autopurge.snapRetainCount={{ nifi_zookeeper_autopurge_snapRetainCount }} 30 | 31 | # 32 | # Specifies the servers that are part of this zookeeper ensemble. For 33 | # every NiFi instance running an embedded zookeeper, there needs to be 34 | # a server entry below. For instance: 35 | # 36 | # server.1=nifi-node1-hostname:2888:3888 37 | # server.2=nifi-node2-hostname:2888:3888 38 | # server.3=nifi-node3-hostname:2888:3888 39 | # 40 | # The index of the server corresponds to the myid file that gets created 41 | # in the dataDir of each node running an embedded zookeeper. See the 42 | # administration guide for more details. 43 | # 44 | {% for node_ip in nifi_zookeeper_servers -%} 45 | server.{{ node_ip | splitext | last | replace('.', '') }}={{ node_ip }}:2888:3888 46 | {% endfor -%} -------------------------------------------------------------------------------- /templates/1.10/nifi-env.sh.j2: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one or more 4 | # contributor license agreements. See the NOTICE file distributed with 5 | # this work for additional information regarding copyright ownership. 6 | # The ASF licenses this file to You under the Apache License, Version 2.0 7 | # (the "License"); you may not use this file except in compliance with 8 | # the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | # The java implementation to use. 20 | {% if nifi_java_home is defined %} 21 | export JAVA_HOME={{ nifi_java_home }} 22 | {% else %} 23 | #export JAVA_HOME=/usr/java/jdk1.8.0/ 24 | {% endif %} 25 | 26 | export NIFI_HOME=$(cd "${SCRIPT_DIR}" && cd .. && pwd) 27 | 28 | #The directory for the NiFi pid file 29 | export NIFI_PID_DIR="{{ nifi_pid_dir }}" 30 | 31 | #The directory for NiFi log files 32 | export NIFI_LOG_DIR="{{ nifi_log_dir }}" 33 | 34 | # Set to false to force the use of Keytab controller service in processors 35 | # that use Kerberos. If true, these processors will allow configuration of keytab 36 | # and principal directly within the processor. If false, these processors will be 37 | # invalid if attempting to configure these properties. This may be advantageous in 38 | # a multi-tenant environment where management of keytabs should be performed only by 39 | # a user with elevated permissions (i.e., users that have been granted the 'ACCESS_KEYTAB' 40 | # restriction). 41 | export NIFI_ALLOW_EXPLICIT_KEYTAB=true -------------------------------------------------------------------------------- /templates/1.11/nifi-env.sh.j2: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one or more 4 | # contributor license agreements. See the NOTICE file distributed with 5 | # this work for additional information regarding copyright ownership. 6 | # The ASF licenses this file to You under the Apache License, Version 2.0 7 | # (the "License"); you may not use this file except in compliance with 8 | # the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | # The java implementation to use. 20 | {% if nifi_java_home is defined %} 21 | export JAVA_HOME={{ nifi_java_home }} 22 | {% else %} 23 | #export JAVA_HOME=/usr/java/jdk1.8.0/ 24 | {% endif %} 25 | 26 | export NIFI_HOME=$(cd "${SCRIPT_DIR}" && cd .. && pwd) 27 | 28 | #The directory for the NiFi pid file 29 | export NIFI_PID_DIR="{{ nifi_pid_dir }}" 30 | 31 | #The directory for NiFi log files 32 | export NIFI_LOG_DIR="{{ nifi_log_dir }}" 33 | 34 | # Set to false to force the use of Keytab controller service in processors 35 | # that use Kerberos. If true, these processors will allow configuration of keytab 36 | # and principal directly within the processor. If false, these processors will be 37 | # invalid if attempting to configure these properties. This may be advantageous in 38 | # a multi-tenant environment where management of keytabs should be performed only by 39 | # a user with elevated permissions (i.e., users that have been granted the 'ACCESS_KEYTAB' 40 | # restriction). 41 | export NIFI_ALLOW_EXPLICIT_KEYTAB=true -------------------------------------------------------------------------------- /templates/1.8/nifi-env.sh.j2: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one or more 4 | # contributor license agreements. See the NOTICE file distributed with 5 | # this work for additional information regarding copyright ownership. 6 | # The ASF licenses this file to You under the Apache License, Version 2.0 7 | # (the "License"); you may not use this file except in compliance with 8 | # the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | # The java implementation to use. 20 | {% if nifi_java_home is defined %} 21 | export JAVA_HOME={{ nifi_java_home }} 22 | {% else %} 23 | #export JAVA_HOME=/usr/java/jdk1.8.0/ 24 | {% endif %} 25 | 26 | export NIFI_HOME=$(cd "${SCRIPT_DIR}" && cd .. && pwd) 27 | 28 | #The directory for the NiFi pid file 29 | export NIFI_PID_DIR="{{ nifi_pid_dir }}" 30 | 31 | #The directory for NiFi log files 32 | export NIFI_LOG_DIR="{{ nifi_log_dir }}" 33 | 34 | # Set to false to force the use of Keytab controller service in processors 35 | # that use Kerberos. If true, these processors will allow configuration of keytab 36 | # and principal directly within the processor. If false, these processors will be 37 | # invalid if attempting to configure these properties. This may be advantageous in 38 | # a multi-tenant environment where management of keytabs should be performed only by 39 | # a user with elevated permissions (i.e., users that have been granted the 'ACCESS_KEYTAB' 40 | # restriction). 41 | export NIFI_ALLOW_EXPLICIT_KEYTAB=true -------------------------------------------------------------------------------- /templates/1.9/nifi-env.sh.j2: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one or more 4 | # contributor license agreements. See the NOTICE file distributed with 5 | # this work for additional information regarding copyright ownership. 6 | # The ASF licenses this file to You under the Apache License, Version 2.0 7 | # (the "License"); you may not use this file except in compliance with 8 | # the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | # The java implementation to use. 20 | {% if nifi_java_home is defined %} 21 | export JAVA_HOME={{ nifi_java_home }} 22 | {% else %} 23 | #export JAVA_HOME=/usr/java/jdk1.8.0/ 24 | {% endif %} 25 | 26 | export NIFI_HOME=$(cd "${SCRIPT_DIR}" && cd .. && pwd) 27 | 28 | #The directory for the NiFi pid file 29 | export NIFI_PID_DIR="{{ nifi_pid_dir }}" 30 | 31 | #The directory for NiFi log files 32 | export NIFI_LOG_DIR="{{ nifi_log_dir }}" 33 | 34 | # Set to false to force the use of Keytab controller service in processors 35 | # that use Kerberos. If true, these processors will allow configuration of keytab 36 | # and principal directly within the processor. If false, these processors will be 37 | # invalid if attempting to configure these properties. This may be advantageous in 38 | # a multi-tenant environment where management of keytabs should be performed only by 39 | # a user with elevated permissions (i.e., users that have been granted the 'ACCESS_KEYTAB' 40 | # restriction). 41 | export NIFI_ALLOW_EXPLICIT_KEYTAB=true -------------------------------------------------------------------------------- /templates/1.12/nifi-env.sh.j2: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one or more 4 | # contributor license agreements. See the NOTICE file distributed with 5 | # this work for additional information regarding copyright ownership. 6 | # The ASF licenses this file to You under the Apache License, Version 2.0 7 | # (the "License"); you may not use this file except in compliance with 8 | # the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | # The java implementation to use. 20 | {% if nifi_java_home is defined %} 21 | export JAVA_HOME={{ nifi_java_home }} 22 | {% else %} 23 | #export JAVA_HOME=/usr/java/jdk1.8.0/ 24 | {% endif %} 25 | 26 | export NIFI_HOME=$(cd "${SCRIPT_DIR}" && cd .. && pwd) 27 | 28 | #The directory for the NiFi pid file 29 | export NIFI_PID_DIR="{{ nifi_pid_dir }}" 30 | 31 | #The directory for NiFi log files 32 | export NIFI_LOG_DIR="{{ nifi_log_dir }}" 33 | 34 | # Set to false to force the use of Keytab controller service in processors 35 | # that use Kerberos. If true, these processors will allow configuration of keytab 36 | # and principal directly within the processor. If false, these processors will be 37 | # invalid if attempting to configure these properties. This may be advantageous in 38 | # a multi-tenant environment where management of keytabs should be performed only by 39 | # a user with elevated permissions (i.e., users that have been granted the 'ACCESS_KEYTAB' 40 | # restriction). 41 | export NIFI_ALLOW_EXPLICIT_KEYTAB=true 42 | -------------------------------------------------------------------------------- /templates/1.10/stateless.properties.j2: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # NAR and Working Directories # 17 | nifi.stateless.nar.directory=./lib 18 | nifi.stateless.working.directory=./work/stateless 19 | 20 | # Security Properties # 21 | nifi.stateless.security.keystore= 22 | nifi.stateless.security.keystoreType= 23 | nifi.stateless.security.keystorePasswd= 24 | nifi.stateless.security.keyPasswd= 25 | nifi.stateless.security.truststore= 26 | nifi.stateless.security.truststoreType= 27 | nifi.stateless.security.truststorePasswd= 28 | nifi.stateless.sensitive.props.key= 29 | 30 | # Extension Client Configuration # 31 | # Zero or more Nexus repositories may be specified here. 32 | # The following client communicates with Maven Central. To use it, uncomment the following 4 lines. 33 | # Additional clients can be added by adding duplicate properties but changing mvn-central to a different key. 34 | #nifi.stateless.extension.client.mvn-central.type=nexus 35 | #nifi.stateless.extension.client.mvn-central.timeout=30 sec 36 | #nifi.stateless.extension.client.mvn-central.baseUrl=https://repo1.maven.org/maven2/ 37 | #nifi.stateless.extension.client.mvn-central.useSslContext=false 38 | 39 | # Kerberos Properties # 40 | nifi.stateless.kerberos.krb5.file=/etc/krb5.conf 41 | -------------------------------------------------------------------------------- /templates/1.11/stateless.properties.j2: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # NAR and Working Directories # 17 | nifi.stateless.nar.directory=./lib 18 | nifi.stateless.working.directory=./work/stateless 19 | 20 | # Security Properties # 21 | nifi.stateless.security.keystore= 22 | nifi.stateless.security.keystoreType= 23 | nifi.stateless.security.keystorePasswd= 24 | nifi.stateless.security.keyPasswd= 25 | nifi.stateless.security.truststore= 26 | nifi.stateless.security.truststoreType= 27 | nifi.stateless.security.truststorePasswd= 28 | nifi.stateless.sensitive.props.key= 29 | 30 | # Extension Client Configuration # 31 | # Zero or more Nexus repositories may be specified here. 32 | # The following client communicates with Maven Central. To use it, uncomment the following 4 lines. 33 | # Additional clients can be added by adding duplicate properties but changing mvn-central to a different key. 34 | #nifi.stateless.extension.client.mvn-central.type=nexus 35 | #nifi.stateless.extension.client.mvn-central.timeout=30 sec 36 | #nifi.stateless.extension.client.mvn-central.baseUrl=https://repo1.maven.org/maven2/ 37 | #nifi.stateless.extension.client.mvn-central.useSslContext=false 38 | 39 | # Kerberos Properties # 40 | nifi.stateless.kerberos.krb5.file=/etc/krb5.conf 41 | -------------------------------------------------------------------------------- /templates/1.12/stateless.properties.j2: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # NAR and Working Directories # 17 | nifi.stateless.nar.directory=./lib 18 | nifi.stateless.working.directory=./work/stateless 19 | 20 | # Security Properties # 21 | nifi.stateless.security.keystore= 22 | nifi.stateless.security.keystoreType= 23 | nifi.stateless.security.keystorePasswd= 24 | nifi.stateless.security.keyPasswd= 25 | nifi.stateless.security.truststore= 26 | nifi.stateless.security.truststoreType= 27 | nifi.stateless.security.truststorePasswd= 28 | nifi.stateless.sensitive.props.key= 29 | 30 | # Extension Client Configuration # 31 | # Zero or more Nexus repositories may be specified here. 32 | # The following client communicates with Maven Central. To use it, uncomment the following 4 lines. 33 | # Additional clients can be added by adding duplicate properties but changing mvn-central to a different key. 34 | #nifi.stateless.extension.client.mvn-central.type=nexus 35 | #nifi.stateless.extension.client.mvn-central.timeout=30 sec 36 | #nifi.stateless.extension.client.mvn-central.baseUrl=https://repo1.maven.org/maven2/ 37 | #nifi.stateless.extension.client.mvn-central.useSslContext=false 38 | 39 | # Kerberos Properties # 40 | nifi.stateless.kerberos.krb5.file=/etc/krb5.conf 41 | -------------------------------------------------------------------------------- /templates/1.13/stateless.properties.j2: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # NAR and Working Directories # 17 | nifi.stateless.nar.directory=./lib 18 | nifi.stateless.working.directory=./work/stateless 19 | 20 | # Security Properties # 21 | nifi.stateless.security.keystore= 22 | nifi.stateless.security.keystoreType= 23 | nifi.stateless.security.keystorePasswd= 24 | nifi.stateless.security.keyPasswd= 25 | nifi.stateless.security.truststore= 26 | nifi.stateless.security.truststoreType= 27 | nifi.stateless.security.truststorePasswd= 28 | nifi.stateless.sensitive.props.key= 29 | 30 | # Extension Client Configuration # 31 | # Zero or more Nexus repositories may be specified here. 32 | # The following client communicates with Maven Central. To use it, uncomment the following 4 lines. 33 | # Additional clients can be added by adding duplicate properties but changing mvn-central to a different key. 34 | #nifi.stateless.extension.client.mvn-central.type=nexus 35 | #nifi.stateless.extension.client.mvn-central.timeout=30 sec 36 | #nifi.stateless.extension.client.mvn-central.baseUrl=https://repo1.maven.org/maven2/ 37 | #nifi.stateless.extension.client.mvn-central.useSslContext=false 38 | 39 | # Kerberos Properties # 40 | nifi.stateless.kerberos.krb5.file=/etc/krb5.conf 41 | -------------------------------------------------------------------------------- /templates/1.15/stateless.properties.j2: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # NAR and Working Directories # 17 | nifi.stateless.nar.directory=./lib 18 | nifi.stateless.working.directory=./work/stateless 19 | 20 | # Security Properties # 21 | nifi.stateless.security.keystore= 22 | nifi.stateless.security.keystoreType= 23 | nifi.stateless.security.keystorePasswd= 24 | nifi.stateless.security.keyPasswd= 25 | nifi.stateless.security.truststore= 26 | nifi.stateless.security.truststoreType= 27 | nifi.stateless.security.truststorePasswd= 28 | nifi.stateless.sensitive.props.key= 29 | 30 | # Extension Client Configuration # 31 | # Zero or more Nexus repositories may be specified here. 32 | # The following client communicates with Maven Central. To use it, uncomment the following 4 lines. 33 | # Additional clients can be added by adding duplicate properties but changing mvn-central to a different key. 34 | #nifi.stateless.extension.client.mvn-central.type=nexus 35 | #nifi.stateless.extension.client.mvn-central.timeout=30 sec 36 | #nifi.stateless.extension.client.mvn-central.baseUrl=https://repo1.maven.org/maven2/ 37 | #nifi.stateless.extension.client.mvn-central.useSslContext=false 38 | 39 | # Kerberos Properties # 40 | nifi.stateless.kerberos.krb5.file=/etc/krb5.conf 41 | -------------------------------------------------------------------------------- /templates/1.8/stateless.properties.j2: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # NAR and Working Directories # 17 | nifi.stateless.nar.directory=./lib 18 | nifi.stateless.working.directory=./work/stateless 19 | 20 | # Security Properties # 21 | nifi.stateless.security.keystore= 22 | nifi.stateless.security.keystoreType= 23 | nifi.stateless.security.keystorePasswd= 24 | nifi.stateless.security.keyPasswd= 25 | nifi.stateless.security.truststore= 26 | nifi.stateless.security.truststoreType= 27 | nifi.stateless.security.truststorePasswd= 28 | nifi.stateless.sensitive.props.key= 29 | 30 | # Extension Client Configuration # 31 | # Zero or more Nexus repositories may be specified here. 32 | # The following client communicates with Maven Central. To use it, uncomment the following 4 lines. 33 | # Additional clients can be added by adding duplicate properties but changing mvn-central to a different key. 34 | #nifi.stateless.extension.client.mvn-central.type=nexus 35 | #nifi.stateless.extension.client.mvn-central.timeout=30 sec 36 | #nifi.stateless.extension.client.mvn-central.baseUrl=https://repo1.maven.org/maven2/ 37 | #nifi.stateless.extension.client.mvn-central.useSslContext=false 38 | 39 | # Kerberos Properties # 40 | nifi.stateless.kerberos.krb5.file=/etc/krb5.conf 41 | -------------------------------------------------------------------------------- /templates/1.9/stateless.properties.j2: -------------------------------------------------------------------------------- 1 | # Licensed to the Apache Software Foundation (ASF) under one or more 2 | # contributor license agreements. See the NOTICE file distributed with 3 | # this work for additional information regarding copyright ownership. 4 | # The ASF licenses this file to You under the Apache License, Version 2.0 5 | # (the "License"); you may not use this file except in compliance with 6 | # the License. You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | # NAR and Working Directories # 17 | nifi.stateless.nar.directory=./lib 18 | nifi.stateless.working.directory=./work/stateless 19 | 20 | # Security Properties # 21 | nifi.stateless.security.keystore= 22 | nifi.stateless.security.keystoreType= 23 | nifi.stateless.security.keystorePasswd= 24 | nifi.stateless.security.keyPasswd= 25 | nifi.stateless.security.truststore= 26 | nifi.stateless.security.truststoreType= 27 | nifi.stateless.security.truststorePasswd= 28 | nifi.stateless.sensitive.props.key= 29 | 30 | # Extension Client Configuration # 31 | # Zero or more Nexus repositories may be specified here. 32 | # The following client communicates with Maven Central. To use it, uncomment the following 4 lines. 33 | # Additional clients can be added by adding duplicate properties but changing mvn-central to a different key. 34 | #nifi.stateless.extension.client.mvn-central.type=nexus 35 | #nifi.stateless.extension.client.mvn-central.timeout=30 sec 36 | #nifi.stateless.extension.client.mvn-central.baseUrl=https://repo1.maven.org/maven2/ 37 | #nifi.stateless.extension.client.mvn-central.useSslContext=false 38 | 39 | # Kerberos Properties # 40 | nifi.stateless.kerberos.krb5.file=/etc/krb5.conf 41 | -------------------------------------------------------------------------------- /templates/1.13/nifi-env.sh.j2: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one or more 4 | # contributor license agreements. See the NOTICE file distributed with 5 | # this work for additional information regarding copyright ownership. 6 | # The ASF licenses this file to You under the Apache License, Version 2.0 7 | # (the "License"); you may not use this file except in compliance with 8 | # the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | # The java implementation to use. 20 | {% if nifi_java_home is defined %} 21 | export JAVA_HOME={{ nifi_java_home }} 22 | {% else %} 23 | #export JAVA_HOME=/usr/java/jdk1.8.0/ 24 | {% endif %} 25 | 26 | export NIFI_HOME=$(cd "${SCRIPT_DIR}" && cd .. && pwd) 27 | 28 | #The directory for the NiFi pid file 29 | export NIFI_PID_DIR="{{ nifi_pid_dir }}" 30 | 31 | #The directory for NiFi log files 32 | export NIFI_LOG_DIR="{{ nifi_log_dir }}" 33 | 34 | # Set to false to force the use of Keytab controller service in processors 35 | # that use Kerberos. If true, these processors will allow configuration of keytab 36 | # and principal directly within the processor. If false, these processors will be 37 | # invalid if attempting to configure these properties. This may be advantageous in 38 | # a multi-tenant environment where management of keytabs should be performed only by 39 | # a user with elevated permissions (i.e., users that have been granted the 'ACCESS_KEYTAB' 40 | # restriction). 41 | export NIFI_ALLOW_EXPLICIT_KEYTAB=true 42 | 43 | # Set to true to deny access to the Local File System from HDFS Processors 44 | # This flag forces HDFS Processors to evaluate the File System path during scheduling 45 | export NIFI_HDFS_DENY_LOCAL_FILE_SYSTEM_ACCESS=false -------------------------------------------------------------------------------- /templates/1.10/zookeeper.properties.j2: -------------------------------------------------------------------------------- 1 | # 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # 20 | # 21 | # 22 | 23 | initLimit=10 24 | autopurge.purgeInterval={{ nifi_zookeeper_autopurge_purgeInterval }} 25 | syncLimit=5 26 | tickTime=2000 27 | dataDir={{ nifi_zookeeper_dir }} 28 | autopurge.snapRetainCount={{ nifi_zookeeper_autopurge_snapRetainCount }} 29 | 30 | # The server string has changed as of 3.5.5 and the client port is now specified at the end of the server string: 31 | # https://zookeeper.apache.org/doc/r3.5.5/zookeeperReconfig.html#sc_reconfig_clientport 32 | # 33 | # Specifies the servers that are part of this zookeeper ensemble. For 34 | # every NiFi instance running an embedded zookeeper, there needs to be 35 | # a server entry below. Client port is now specified at the end of the string 36 | # after a semi-colon. 37 | # 38 | # For instance: 39 | # 40 | # server.1=nifi-node1-hostname:2888:3888;2181 41 | # server.2=nifi-node2-hostname:2888:3888;2181 42 | # server.3=nifi-node3-hostname:2888:3888;2181 43 | # 44 | # The index of the server corresponds to the myid file that gets created 45 | # in the dataDir of each node running an embedded zookeeper. See the 46 | # administration guide for more details. 47 | # 48 | {% for node_ip in nifi_zookeeper_servers -%} 49 | server.{{ node_ip | splitext | last | replace('.', '') }}={{ node_ip }}:2888:3888;2181 50 | {% endfor -%} -------------------------------------------------------------------------------- /templates/1.11/zookeeper.properties.j2: -------------------------------------------------------------------------------- 1 | # 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # 20 | # 21 | # 22 | 23 | initLimit=10 24 | autopurge.purgeInterval={{ nifi_zookeeper_autopurge_purgeInterval }} 25 | syncLimit=5 26 | tickTime=2000 27 | dataDir={{ nifi_zookeeper_dir }} 28 | autopurge.snapRetainCount={{ nifi_zookeeper_autopurge_snapRetainCount }} 29 | 30 | # The server string has changed as of 3.5.5 and the client port is now specified at the end of the server string: 31 | # https://zookeeper.apache.org/doc/r3.5.5/zookeeperReconfig.html#sc_reconfig_clientport 32 | # 33 | # Specifies the servers that are part of this zookeeper ensemble. For 34 | # every NiFi instance running an embedded zookeeper, there needs to be 35 | # a server entry below. Client port is now specified at the end of the string 36 | # after a semi-colon. 37 | # 38 | # For instance: 39 | # 40 | # server.1=nifi-node1-hostname:2888:3888;2181 41 | # server.2=nifi-node2-hostname:2888:3888;2181 42 | # server.3=nifi-node3-hostname:2888:3888;2181 43 | # 44 | # The index of the server corresponds to the myid file that gets created 45 | # in the dataDir of each node running an embedded zookeeper. See the 46 | # administration guide for more details. 47 | # 48 | {% for node_ip in nifi_zookeeper_servers -%} 49 | server.{{ node_ip | splitext | last | replace('.', '') }}={{ node_ip }}:2888:3888;2181 50 | {% endfor -%} -------------------------------------------------------------------------------- /templates/1.12/zookeeper.properties.j2: -------------------------------------------------------------------------------- 1 | # 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # 20 | # 21 | # 22 | 23 | initLimit=10 24 | autopurge.purgeInterval={{ nifi_zookeeper_autopurge_purgeInterval }} 25 | syncLimit=5 26 | tickTime=2000 27 | dataDir={{ nifi_zookeeper_dir }} 28 | autopurge.snapRetainCount={{ nifi_zookeeper_autopurge_snapRetainCount }} 29 | 30 | # The server string has changed as of 3.5.5 and the client port is now specified at the end of the server string: 31 | # https://zookeeper.apache.org/doc/r3.5.5/zookeeperReconfig.html#sc_reconfig_clientport 32 | # 33 | # Specifies the servers that are part of this zookeeper ensemble. For 34 | # every NiFi instance running an embedded zookeeper, there needs to be 35 | # a server entry below. Client port is now specified at the end of the string 36 | # after a semi-colon. 37 | # 38 | # For instance: 39 | # 40 | # server.1=nifi-node1-hostname:2888:3888;2181 41 | # server.2=nifi-node2-hostname:2888:3888;2181 42 | # server.3=nifi-node3-hostname:2888:3888;2181 43 | # 44 | # The index of the server corresponds to the myid file that gets created 45 | # in the dataDir of each node running an embedded zookeeper. See the 46 | # administration guide for more details. 47 | # 48 | {% for node_ip in nifi_zookeeper_servers -%} 49 | server.{{ node_ip | splitext | last | replace('.', '') }}={{ node_ip }}:2888:3888;2181 50 | {% endfor -%} -------------------------------------------------------------------------------- /templates/1.10/bootstrap-hashicorp-vault.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # HTTP or HTTPS URI for HashiCorp Vault is required to enable the Sensitive Properties Provider 19 | vault.uri= 20 | 21 | # Transit Path is required to enable the Sensitive Properties Provider Protection Scheme 'hashicorp/vault/transit/{path}' 22 | vault.transit.path= 23 | 24 | # Key/Value Path is required to enable the Sensitive Properties Provider Protection Scheme 'hashicorp/vault/kv/{path}' 25 | vault.kv.path= 26 | 27 | # Token Authentication example properties 28 | # vault.authentication=TOKEN 29 | # vault.token= 30 | 31 | # Optional file supports authentication properties described in the Spring Vault Environment Configuration 32 | # https://docs.spring.io/spring-vault/docs/2.3.x/reference/html/#vault.core.environment-vault-configuration 33 | # 34 | # All authentication properties must be included in bootstrap-hashicorp-vault.conf when this property is not specified. 35 | # Properties in bootstrap-hashicorp-vault.conf take precedence when the same values are defined in both files. 36 | # Token Authentication is the default when the 'vault.authentication' property is not specified. 37 | vault.authentication.properties.file= 38 | 39 | # Optional Timeout properties 40 | vault.connection.timeout=5 secs 41 | vault.read.timeout=15 secs 42 | 43 | # Optional TLS properties 44 | vault.ssl.enabledCipherSuites= 45 | vault.ssl.enabledProtocols= 46 | vault.ssl.key-store= 47 | vault.ssl.key-store-type= 48 | vault.ssl.key-store-password= 49 | vault.ssl.trust-store= 50 | vault.ssl.trust-store-type= 51 | vault.ssl.trust-store-password= 52 | -------------------------------------------------------------------------------- /templates/1.11/bootstrap-hashicorp-vault.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # HTTP or HTTPS URI for HashiCorp Vault is required to enable the Sensitive Properties Provider 19 | vault.uri= 20 | 21 | # Transit Path is required to enable the Sensitive Properties Provider Protection Scheme 'hashicorp/vault/transit/{path}' 22 | vault.transit.path= 23 | 24 | # Key/Value Path is required to enable the Sensitive Properties Provider Protection Scheme 'hashicorp/vault/kv/{path}' 25 | vault.kv.path= 26 | 27 | # Token Authentication example properties 28 | # vault.authentication=TOKEN 29 | # vault.token= 30 | 31 | # Optional file supports authentication properties described in the Spring Vault Environment Configuration 32 | # https://docs.spring.io/spring-vault/docs/2.3.x/reference/html/#vault.core.environment-vault-configuration 33 | # 34 | # All authentication properties must be included in bootstrap-hashicorp-vault.conf when this property is not specified. 35 | # Properties in bootstrap-hashicorp-vault.conf take precedence when the same values are defined in both files. 36 | # Token Authentication is the default when the 'vault.authentication' property is not specified. 37 | vault.authentication.properties.file= 38 | 39 | # Optional Timeout properties 40 | vault.connection.timeout=5 secs 41 | vault.read.timeout=15 secs 42 | 43 | # Optional TLS properties 44 | vault.ssl.enabledCipherSuites= 45 | vault.ssl.enabledProtocols= 46 | vault.ssl.key-store= 47 | vault.ssl.key-store-type= 48 | vault.ssl.key-store-password= 49 | vault.ssl.trust-store= 50 | vault.ssl.trust-store-type= 51 | vault.ssl.trust-store-password= 52 | -------------------------------------------------------------------------------- /templates/1.12/bootstrap-hashicorp-vault.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # HTTP or HTTPS URI for HashiCorp Vault is required to enable the Sensitive Properties Provider 19 | vault.uri= 20 | 21 | # Transit Path is required to enable the Sensitive Properties Provider Protection Scheme 'hashicorp/vault/transit/{path}' 22 | vault.transit.path= 23 | 24 | # Key/Value Path is required to enable the Sensitive Properties Provider Protection Scheme 'hashicorp/vault/kv/{path}' 25 | vault.kv.path= 26 | 27 | # Token Authentication example properties 28 | # vault.authentication=TOKEN 29 | # vault.token= 30 | 31 | # Optional file supports authentication properties described in the Spring Vault Environment Configuration 32 | # https://docs.spring.io/spring-vault/docs/2.3.x/reference/html/#vault.core.environment-vault-configuration 33 | # 34 | # All authentication properties must be included in bootstrap-hashicorp-vault.conf when this property is not specified. 35 | # Properties in bootstrap-hashicorp-vault.conf take precedence when the same values are defined in both files. 36 | # Token Authentication is the default when the 'vault.authentication' property is not specified. 37 | vault.authentication.properties.file= 38 | 39 | # Optional Timeout properties 40 | vault.connection.timeout=5 secs 41 | vault.read.timeout=15 secs 42 | 43 | # Optional TLS properties 44 | vault.ssl.enabledCipherSuites= 45 | vault.ssl.enabledProtocols= 46 | vault.ssl.key-store= 47 | vault.ssl.key-store-type= 48 | vault.ssl.key-store-password= 49 | vault.ssl.trust-store= 50 | vault.ssl.trust-store-type= 51 | vault.ssl.trust-store-password= 52 | -------------------------------------------------------------------------------- /templates/1.13/bootstrap-hashicorp-vault.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # HTTP or HTTPS URI for HashiCorp Vault is required to enable the Sensitive Properties Provider 19 | vault.uri= 20 | 21 | # Transit Path is required to enable the Sensitive Properties Provider Protection Scheme 'hashicorp/vault/transit/{path}' 22 | vault.transit.path= 23 | 24 | # Key/Value Path is required to enable the Sensitive Properties Provider Protection Scheme 'hashicorp/vault/kv/{path}' 25 | vault.kv.path= 26 | 27 | # Token Authentication example properties 28 | # vault.authentication=TOKEN 29 | # vault.token= 30 | 31 | # Optional file supports authentication properties described in the Spring Vault Environment Configuration 32 | # https://docs.spring.io/spring-vault/docs/2.3.x/reference/html/#vault.core.environment-vault-configuration 33 | # 34 | # All authentication properties must be included in bootstrap-hashicorp-vault.conf when this property is not specified. 35 | # Properties in bootstrap-hashicorp-vault.conf take precedence when the same values are defined in both files. 36 | # Token Authentication is the default when the 'vault.authentication' property is not specified. 37 | vault.authentication.properties.file= 38 | 39 | # Optional Timeout properties 40 | vault.connection.timeout=5 secs 41 | vault.read.timeout=15 secs 42 | 43 | # Optional TLS properties 44 | vault.ssl.enabledCipherSuites= 45 | vault.ssl.enabledProtocols= 46 | vault.ssl.key-store= 47 | vault.ssl.key-store-type= 48 | vault.ssl.key-store-password= 49 | vault.ssl.trust-store= 50 | vault.ssl.trust-store-type= 51 | vault.ssl.trust-store-password= 52 | -------------------------------------------------------------------------------- /templates/1.15/bootstrap-hashicorp-vault.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # HTTP or HTTPS URI for HashiCorp Vault is required to enable the Sensitive Properties Provider 19 | vault.uri= 20 | 21 | # Transit Path is required to enable the Sensitive Properties Provider Protection Scheme 'hashicorp/vault/transit/{path}' 22 | vault.transit.path= 23 | 24 | # Key/Value Path is required to enable the Sensitive Properties Provider Protection Scheme 'hashicorp/vault/kv/{path}' 25 | vault.kv.path= 26 | 27 | # Token Authentication example properties 28 | # vault.authentication=TOKEN 29 | # vault.token= 30 | 31 | # Optional file supports authentication properties described in the Spring Vault Environment Configuration 32 | # https://docs.spring.io/spring-vault/docs/2.3.x/reference/html/#vault.core.environment-vault-configuration 33 | # 34 | # All authentication properties must be included in bootstrap-hashicorp-vault.conf when this property is not specified. 35 | # Properties in bootstrap-hashicorp-vault.conf take precedence when the same values are defined in both files. 36 | # Token Authentication is the default when the 'vault.authentication' property is not specified. 37 | vault.authentication.properties.file= 38 | 39 | # Optional Timeout properties 40 | vault.connection.timeout=5 secs 41 | vault.read.timeout=15 secs 42 | 43 | # Optional TLS properties 44 | vault.ssl.enabledCipherSuites= 45 | vault.ssl.enabledProtocols= 46 | vault.ssl.key-store= 47 | vault.ssl.key-store-type= 48 | vault.ssl.key-store-password= 49 | vault.ssl.trust-store= 50 | vault.ssl.trust-store-type= 51 | vault.ssl.trust-store-password= 52 | -------------------------------------------------------------------------------- /templates/1.8/bootstrap-hashicorp-vault.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # HTTP or HTTPS URI for HashiCorp Vault is required to enable the Sensitive Properties Provider 19 | vault.uri= 20 | 21 | # Transit Path is required to enable the Sensitive Properties Provider Protection Scheme 'hashicorp/vault/transit/{path}' 22 | vault.transit.path= 23 | 24 | # Key/Value Path is required to enable the Sensitive Properties Provider Protection Scheme 'hashicorp/vault/kv/{path}' 25 | vault.kv.path= 26 | 27 | # Token Authentication example properties 28 | # vault.authentication=TOKEN 29 | # vault.token= 30 | 31 | # Optional file supports authentication properties described in the Spring Vault Environment Configuration 32 | # https://docs.spring.io/spring-vault/docs/2.3.x/reference/html/#vault.core.environment-vault-configuration 33 | # 34 | # All authentication properties must be included in bootstrap-hashicorp-vault.conf when this property is not specified. 35 | # Properties in bootstrap-hashicorp-vault.conf take precedence when the same values are defined in both files. 36 | # Token Authentication is the default when the 'vault.authentication' property is not specified. 37 | vault.authentication.properties.file= 38 | 39 | # Optional Timeout properties 40 | vault.connection.timeout=5 secs 41 | vault.read.timeout=15 secs 42 | 43 | # Optional TLS properties 44 | vault.ssl.enabledCipherSuites= 45 | vault.ssl.enabledProtocols= 46 | vault.ssl.key-store= 47 | vault.ssl.key-store-type= 48 | vault.ssl.key-store-password= 49 | vault.ssl.trust-store= 50 | vault.ssl.trust-store-type= 51 | vault.ssl.trust-store-password= 52 | -------------------------------------------------------------------------------- /templates/1.9/bootstrap-hashicorp-vault.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # HTTP or HTTPS URI for HashiCorp Vault is required to enable the Sensitive Properties Provider 19 | vault.uri= 20 | 21 | # Transit Path is required to enable the Sensitive Properties Provider Protection Scheme 'hashicorp/vault/transit/{path}' 22 | vault.transit.path= 23 | 24 | # Key/Value Path is required to enable the Sensitive Properties Provider Protection Scheme 'hashicorp/vault/kv/{path}' 25 | vault.kv.path= 26 | 27 | # Token Authentication example properties 28 | # vault.authentication=TOKEN 29 | # vault.token= 30 | 31 | # Optional file supports authentication properties described in the Spring Vault Environment Configuration 32 | # https://docs.spring.io/spring-vault/docs/2.3.x/reference/html/#vault.core.environment-vault-configuration 33 | # 34 | # All authentication properties must be included in bootstrap-hashicorp-vault.conf when this property is not specified. 35 | # Properties in bootstrap-hashicorp-vault.conf take precedence when the same values are defined in both files. 36 | # Token Authentication is the default when the 'vault.authentication' property is not specified. 37 | vault.authentication.properties.file= 38 | 39 | # Optional Timeout properties 40 | vault.connection.timeout=5 secs 41 | vault.read.timeout=15 secs 42 | 43 | # Optional TLS properties 44 | vault.ssl.enabledCipherSuites= 45 | vault.ssl.enabledProtocols= 46 | vault.ssl.key-store= 47 | vault.ssl.key-store-type= 48 | vault.ssl.key-store-password= 49 | vault.ssl.trust-store= 50 | vault.ssl.trust-store-type= 51 | vault.ssl.trust-store-password= 52 | -------------------------------------------------------------------------------- /templates/1.10/bootstrap-notification-services.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 32 | 33 | 46 | 53 | -------------------------------------------------------------------------------- /templates/1.11/bootstrap-notification-services.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 32 | 33 | 46 | 53 | -------------------------------------------------------------------------------- /templates/1.12/bootstrap-notification-services.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 32 | 33 | 46 | 53 | -------------------------------------------------------------------------------- /templates/1.13/bootstrap-notification-services.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 32 | 33 | 46 | 53 | -------------------------------------------------------------------------------- /templates/1.15/bootstrap-notification-services.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 32 | 33 | 46 | 53 | -------------------------------------------------------------------------------- /templates/1.8/bootstrap-notification-services.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 32 | 33 | 46 | 53 | -------------------------------------------------------------------------------- /templates/1.9/bootstrap-notification-services.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 32 | 33 | 46 | 53 | -------------------------------------------------------------------------------- /templates/1.13/zookeeper.properties.j2: -------------------------------------------------------------------------------- 1 | # 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # 20 | # 21 | # 22 | 23 | initLimit=10 24 | autopurge.purgeInterval={{ nifi_zookeeper_autopurge_purgeInterval }} 25 | syncLimit=5 26 | tickTime=2000 27 | dataDir={{ nifi_zookeeper_dir }} 28 | autopurge.snapRetainCount={{ nifi_zookeeper_autopurge_snapRetainCount }} 29 | 30 | # Embedded/distributed ZK TLS connection support can be activated by setting these properties at minimum: 31 | # 32 | # secureClientPort=2281 33 | # serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory 34 | 35 | # Most TLS configurations will set these values as well: 36 | # 37 | # ssl.keyStore.location=/example/path/to/key-store.jks 38 | # ssl.keyStore.password=change this value to the actual value in your installation 39 | # ssl.trustStore.location=/example/path/to/trust-store.jks 40 | # ssl.trustStore.password=change this value to the actual value in your installation 41 | # ssl.hostnameVerification=false 42 | # 43 | # Note that many ZK parameters can set as Java system properties, refer to the ZK admin guide for details: 44 | # 45 | # https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_configuration 46 | 47 | # Other common settings: 48 | # 49 | # client.portUnification=true 50 | # admin.enableServer=false 51 | 52 | # The server string has changed as of 3.5.5 and the client port is now specified at the end of the server string: 53 | # https://zookeeper.apache.org/doc/r3.5.5/zookeeperReconfig.html#sc_reconfig_clientport 54 | # 55 | # Specifies the servers that are part of this zookeeper ensemble. For 56 | # every NiFi instance running an embedded zookeeper, there needs to be 57 | # a server entry below. Client port is now specified at the end of the string 58 | # after a semi-colon. 59 | # 60 | # For instance: 61 | # 62 | # server.1=nifi-node1-hostname:2888:3888;2181 63 | # server.2=nifi-node2-hostname:2888:3888;2181 64 | # server.3=nifi-node3-hostname:2888:3888;2181 65 | # 66 | # The index of the server corresponds to the myid file that gets created 67 | # in the dataDir of each node running an embedded zookeeper. See the 68 | # administration guide for more details. 69 | # 70 | {% for node_ip in nifi_zookeeper_servers -%} 71 | server.{{ node_ip | splitext | last | replace('.', '') }}={{ node_ip }}:2888:3888;2181 72 | {% endfor -%} -------------------------------------------------------------------------------- /templates/1.15/zookeeper.properties.j2: -------------------------------------------------------------------------------- 1 | # 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # 20 | # 21 | # 22 | 23 | initLimit=10 24 | autopurge.purgeInterval={{ nifi_zookeeper_autopurge_purgeInterval }} 25 | syncLimit=5 26 | tickTime=2000 27 | dataDir={{ nifi_zookeeper_dir }} 28 | autopurge.snapRetainCount={{ nifi_zookeeper_autopurge_snapRetainCount }} 29 | 30 | # Embedded/distributed ZK TLS connection support can be activated by setting these properties at minimum: 31 | # 32 | # secureClientPort=2281 33 | # serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory 34 | 35 | # Most TLS configurations will set these values as well: 36 | # 37 | # ssl.keyStore.location=/example/path/to/key-store.jks 38 | # ssl.keyStore.password=change this value to the actual value in your installation 39 | # ssl.trustStore.location=/example/path/to/trust-store.jks 40 | # ssl.trustStore.password=change this value to the actual value in your installation 41 | # ssl.hostnameVerification=false 42 | # 43 | # Note that many ZK parameters can set as Java system properties, refer to the ZK admin guide for details: 44 | # 45 | # https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_configuration 46 | 47 | # Other common settings: 48 | # 49 | # client.portUnification=true 50 | # admin.enableServer=false 51 | 52 | # The server string has changed as of 3.5.5 and the client port is now specified at the end of the server string: 53 | # https://zookeeper.apache.org/doc/r3.5.5/zookeeperReconfig.html#sc_reconfig_clientport 54 | # 55 | # Specifies the servers that are part of this zookeeper ensemble. For 56 | # every NiFi instance running an embedded zookeeper, there needs to be 57 | # a server entry below. Client port is now specified at the end of the string 58 | # after a semi-colon. 59 | # 60 | # For instance: 61 | # 62 | # server.1=nifi-node1-hostname:2888:3888;2181 63 | # server.2=nifi-node2-hostname:2888:3888;2181 64 | # server.3=nifi-node3-hostname:2888:3888;2181 65 | # 66 | # The index of the server corresponds to the myid file that gets created 67 | # in the dataDir of each node running an embedded zookeeper. See the 68 | # administration guide for more details. 69 | # 70 | {% for node_ip in nifi_zookeeper_servers -%} 71 | server.{{ node_ip | splitext | last | replace('.', '') }}={{ node_ip }}:2888:3888;2181 72 | {% endfor -%} -------------------------------------------------------------------------------- /templates/1.15/nifi-env.sh.j2: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one or more 4 | # contributor license agreements. See the NOTICE file distributed with 5 | # this work for additional information regarding copyright ownership. 6 | # The ASF licenses this file to You under the Apache License, Version 2.0 7 | # (the "License"); you may not use this file except in compliance with 8 | # the License. You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | # By default this file will unconditionally override whatever environment variables you have set 20 | # and set them to defaults defined here. 21 | # If you want to define your own versions outside of this script please set the environment variable 22 | # NIFI_OVERRIDE_NIFIENV to "true". That will then use whatever variables you used outside of 23 | # this script. 24 | 25 | # The java implementation to use. 26 | {% if nifi_java_home is defined %} 27 | export JAVA_HOME={{ nifi_java_home }} 28 | {% else %} 29 | #export JAVA_HOME=/usr/java/jdk1.8.0/ 30 | {% endif %} 31 | 32 | 33 | setOrDefault() { 34 | envvar="$1" 35 | default="$2" 36 | 37 | res="$default" 38 | if [ -n "$envvar" ] && [ "$NIFI_OVERRIDE_NIFIENV" = "true" ] 39 | then 40 | res="$envvar" 41 | fi 42 | 43 | echo "$res" 44 | } 45 | 46 | 47 | NIFI_HOME="$(setOrDefault "$NIFI_HOME" "$(cd "$SCRIPT_DIR" && cd .. && pwd)")" 48 | export NIFI_HOME 49 | 50 | #The directory for the NiFi pid file 51 | NIFI_PID_DIR="$(setOrDefault "{{ nifi_pid_dir }}" "$NIFI_HOME/run")" 52 | export NIFI_PID_DIR 53 | 54 | #The directory for NiFi log files 55 | NIFI_LOG_DIR="$(setOrDefault "{{ nifi_log_dir }}" "$NIFI_HOME/logs")" 56 | export NIFI_LOG_DIR 57 | 58 | # Set to false to force the use of Keytab controller service in processors 59 | # that use Kerberos. If true, these processors will allow configuration of keytab 60 | # and principal directly within the processor. If false, these processors will be 61 | # invalid if attempting to configure these properties. This may be advantageous in 62 | # a multi-tenant environment where management of keytabs should be performed only by 63 | # a user with elevated permissions (i.e., users that have been granted the 'ACCESS_KEYTAB' 64 | # restriction). 65 | NIFI_ALLOW_EXPLICIT_KEYTAB="$(setOrDefault "$NIFI_ALLOW_EXPLICIT_KEYTAB" true)" 66 | export NIFI_ALLOW_EXPLICIT_KEYTAB 67 | 68 | # Set to true to deny access to the Local File System from HDFS Processors 69 | # This flag forces HDFS Processors to evaluate the File System path during scheduling 70 | NIFI_HDFS_DENY_LOCAL_FILE_SYSTEM_ACCESS="$(setOrDefault "$NIFI_HDFS_DENY_LOCAL_FILE_SYSTEM_ACCESS" false)" 71 | export NIFI_HDFS_DENY_LOCAL_FILE_SYSTEM_ACCESS 72 | -------------------------------------------------------------------------------- /tasks/config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: copy nifi configs 3 | template: src="{{ item.src }}" dest="{{ item.dest }}" owner="{{ nifi_user }}" group="{{ nifi_user }}" mode='0644' 4 | with_items: 5 | - { src: "{{ nifi_major_version }}/nifi.properties.j2", dest: "{{ nifi_conf_dir }}/nifi.properties" } 6 | - { src: 'extra-args.properties.j2', dest: "{{ nifi_conf_dir }}/extra-args.properties" } 7 | # notify: 8 | # - restart nifi 9 | tags: [ deploy, prop, props ] 10 | 11 | - name: copy nifi configs 12 | template: src="{{ item.src }}" dest="{{ item.dest }}" owner="{{ nifi_user }}" group="{{ nifi_user }}" mode='0644' 13 | with_items: 14 | - { src: "{{ nifi_major_version }}/authorizers.xml.j2", dest: "{{ nifi_conf_dir }}/authorizers.xml" } 15 | - { src: "{{ nifi_major_version }}/bootstrap.conf.j2", dest: "{{ nifi_conf_dir }}/bootstrap.conf" } 16 | - { src: "{{ nifi_major_version }}/bootstrap-notification-services.xml.j2", dest: "{{ nifi_conf_dir }}/bootstrap-notification-services.xml" } 17 | - { src: "{{ nifi_major_version }}/logback.xml.j2", dest: "{{ nifi_conf_dir }}/logback.xml" } 18 | - { src: "{{ nifi_major_version }}/login-identity-providers.xml.j2", dest: "{{ nifi_conf_dir }}/login-identity-providers.xml" } 19 | - { src: "{{ nifi_major_version }}/state-management.xml.j2", dest: "{{ nifi_conf_dir }}/state-management.xml" } 20 | - { src: "{{ nifi_major_version }}/zookeeper.properties.j2", dest: "{{ nifi_conf_dir }}/zookeeper.properties" } 21 | # notify: 22 | # - restart nifi 23 | tags: [ config ] 24 | 25 | - name: copy bootstrap provider configs 26 | template: src="{{ item.src }}" dest="{{ item.dest }}" owner="{{ nifi_user }}" group="{{ nifi_user }}" mode='0644' 27 | with_items: 28 | - { src: "{{ nifi_major_version }}/bootstrap-aws.conf.j2", dest: "{{ nifi_conf_dir }}/bootstrap-aws.conf" } 29 | - { src: "{{ nifi_major_version }}/bootstrap-azure.conf.j2", dest: "{{ nifi_conf_dir }}/bootstrap-azure.conf" } 30 | - { src: "{{ nifi_major_version }}/bootstrap-gcp.conf.j2", dest: "{{ nifi_conf_dir }}/bootstrap-gcp.conf" } 31 | - { src: "{{ nifi_major_version }}/bootstrap-hashicorp-vault.conf.j2", dest: "{{ nifi_conf_dir }}/bootstrap-hashicorp-vault.conf" } 32 | notify: 33 | - restart nifi 34 | tags: [ stateless, config ] 35 | 36 | - name: copy stateless nifi configs 37 | template: src="{{ item.src }}" dest="{{ item.dest }}" owner="{{ nifi_user }}" group="{{ nifi_user }}" mode='0644' 38 | with_items: 39 | - { src: "{{ nifi_major_version }}/stateless.properties.j2", dest: "{{ nifi_conf_dir }}/stateless.properties" } 40 | - { src: "{{ nifi_major_version }}/stateless-logback.xml.j2", dest: "{{ nifi_conf_dir }}/stateless-logback.xml" } 41 | # notify: 42 | # - restart nifi 43 | tags: [ stateless, config ] 44 | 45 | - name: copy nifi scripts 46 | template: src="{{ item.src }}" dest="{{ item.dest }}" owner="{{ nifi_user }}" group="{{ nifi_user }}" mode='0755' 47 | with_items: 48 | - { src: "{{ nifi_major_version }}/nifi.sh.j2", dest: "{{ nifi_home }}/bin/nifi.sh" } 49 | - { src: "{{ nifi_major_version }}/nifi-env.sh.j2", dest: "{{ nifi_home }}/bin/nifi-env.sh" } 50 | tags: [ scripts ] 51 | 52 | - name: Ensure NiFi service starts on reboot 53 | service: name=nifi enabled=yes 54 | 55 | # - name: Ensure NiFi is restarted 56 | # service: name=nifi state=restarted 57 | # when: nifi_force_restart 58 | -------------------------------------------------------------------------------- /tasks/install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: ensure nifi group exists 3 | group: name="{{ nifi_user }}" 4 | tags: [ user ] 5 | 6 | - name: ensure nifi user exists 7 | user: 8 | name: "{{ nifi_user }}" 9 | group: "{{ nifi_user }}" 10 | shell: "{{ nifi_create_home_dir | ternary(nifi_default_shell, '/sbin/nologin') }}" 11 | home: "{{ nifi_home_dir }}" 12 | create_home: "{{ nifi_create_home_dir }}" 13 | tags: [ user ] 14 | 15 | # tasks file for nifi 16 | - name: Ensure nifi files are world-readable 17 | file: path="{{ nifi_base_dir }}/nifi-{{ nifi_version }}" state=directory mode="a+rX" recurse=yes 18 | 19 | - name: Ensure nifi symlink 20 | file: src="{{ nifi_base_dir }}/nifi-{{ nifi_version }}" dest="{{ nifi_home }}" state=link 21 | # notify: 22 | # - restart nifi 23 | 24 | - name: Create nifi systemd service 25 | template: src=nifi.service.j2 dest="{{ nifi_service }}" owner=root group=root mode=0644 26 | notify: 27 | - reload systemd 28 | - restart nifi 29 | when: > 30 | (ansible_distribution == "CentOS" or ansible_distribution == "Red Hat Enterprise Linux") and 31 | ansible_distribution_major_version >= "7" 32 | tags: [ service ] 33 | 34 | - name: Create nifi init.d service 35 | template: src=nifi-startup.sh.j2 dest=/etc/init.d/nifi owner=root group=root mode=0755 36 | when: > 37 | ansible_distribution == "Amazon" or 38 | ((ansible_distribution == "CentOS" or ansible_distribution == "Red Hat Enterprise Linux") and 39 | ansible_distribution_major_version < "7") 40 | tags: [ service ] 41 | 42 | - name: Ensure nifi-required directories exist and are world-readable 43 | file: path="{{ item }}" state=directory owner="{{ nifi_user }}" group="{{ nifi_user }}" mode=0755 44 | with_items: 45 | - "{{ nifi_bin_dir }}" 46 | - "{{ nifi_conf_dir }}" 47 | - "{{ nifi_log_dir }}" 48 | - "{{ nifi_pid_dir }}" 49 | - "{{ nifi_nar_dir }}" 50 | - "{{ nifi_work_dir }}" 51 | - "{{ nifi_etc_dir }}" 52 | - "{{ nifi_nar_library_autoload_directory }}" 53 | - "{{ nifi_database_repository }}" 54 | - "{{ nifi_flowfile_repository }}" 55 | 56 | - name: Ensure nifi tmp_dir exists 57 | file: path="{{ nifi_tmp_dir }}" state=directory owner="{{ nifi_user }}" group="{{ nifi_user }}" mode=0755 58 | when: 59 | - nifi_tmp_dir is defined 60 | 61 | - name: ensure nifi content repo directories exist 62 | file: path="{{ item }}" state=directory owner="{{ nifi_user }}" group="{{ nifi_user }}" mode=0755 63 | with_items: "{{ nifi_content_repositories }}" 64 | 65 | - name: ensure nifi provenance repo directories exist 66 | file: path="{{ item }}" state=directory owner="{{ nifi_user }}" group="{{ nifi_user }}" mode=0755 67 | with_items: "{{ nifi_provenance_repositories }}" 68 | 69 | - name: ensure zookeeper data directory exists 70 | file: path="{{ item }}" state=directory owner="{{ nifi_user }}" group="{{ nifi_user }}" mode=0755 71 | with_items: 72 | - "{{ nifi_zookeeper_dir }}" 73 | - "{{ nifi_zookeeper_dir }}/version-2" 74 | when: nifi_state_management_embedded_zookeeper_start 75 | 76 | - name: add myid file for embedded zookeeper 77 | template: src="myid.j2" dest="{{ nifi_zookeeper_dir }}/myid" owner="{{ nifi_user }}" group="{{ nifi_user }}" mode='0644' 78 | when: nifi_state_management_embedded_zookeeper_start 79 | 80 | - name: ensure nifi extra directories exist 81 | file: path="{{ item }}" state=directory owner="{{ nifi_user }}" group="{{ nifi_user }}" mode=0755 82 | with_items: "{{ nifi_extra_dirs | default([]) }}" 83 | -------------------------------------------------------------------------------- /templates/1.10/stateless-logback.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | true 20 | 21 | 22 | 23 | ${org.apache.nifi.bootstrap.config.log.dir}/nifi-stateless.log 24 | 25 | 31 | ${org.apache.nifi.bootstrap.config.log.dir}/nifi-stateless_%d{yyyy-MM-dd_HH}.%i.log 32 | 100MB 33 | 34 | 30 35 | 36 | true 37 | 38 | %date %level [%thread] %logger{40} %msg%n 39 | 40 | 41 | 42 | 43 | 44 | %date %level [%thread] %logger{40} %msg%n 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /templates/1.11/stateless-logback.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | true 20 | 21 | 22 | 23 | ${org.apache.nifi.bootstrap.config.log.dir}/nifi-stateless.log 24 | 25 | 31 | ${org.apache.nifi.bootstrap.config.log.dir}/nifi-stateless_%d{yyyy-MM-dd_HH}.%i.log 32 | 100MB 33 | 34 | 30 35 | 36 | true 37 | 38 | %date %level [%thread] %logger{40} %msg%n 39 | 40 | 41 | 42 | 43 | 44 | %date %level [%thread] %logger{40} %msg%n 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /templates/1.12/stateless-logback.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | true 20 | 21 | 22 | 23 | ${org.apache.nifi.bootstrap.config.log.dir}/nifi-stateless.log 24 | 25 | 31 | ${org.apache.nifi.bootstrap.config.log.dir}/nifi-stateless_%d{yyyy-MM-dd_HH}.%i.log 32 | 100MB 33 | 34 | 30 35 | 36 | true 37 | 38 | %date %level [%thread] %logger{40} %msg%n 39 | 40 | 41 | 42 | 43 | 44 | %date %level [%thread] %logger{40} %msg%n 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /templates/1.13/stateless-logback.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | true 20 | 21 | 22 | 23 | ${org.apache.nifi.bootstrap.config.log.dir}/nifi-stateless.log 24 | 25 | 31 | ${org.apache.nifi.bootstrap.config.log.dir}/nifi-stateless_%d{yyyy-MM-dd_HH}.%i.log 32 | 100MB 33 | 34 | 30 35 | 36 | true 37 | 38 | %date %level [%thread] %logger{40} %msg%n 39 | 40 | 41 | 42 | 43 | 44 | %date %level [%thread] %logger{40} %msg%n 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /templates/1.8/stateless-logback.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | true 20 | 21 | 22 | 23 | ${org.apache.nifi.bootstrap.config.log.dir}/nifi-stateless.log 24 | 25 | 31 | ${org.apache.nifi.bootstrap.config.log.dir}/nifi-stateless_%d{yyyy-MM-dd_HH}.%i.log 32 | 100MB 33 | 34 | 30 35 | 36 | true 37 | 38 | %date %level [%thread] %logger{40} %msg%n 39 | 40 | 41 | 42 | 43 | 44 | %date %level [%thread] %logger{40} %msg%n 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /templates/1.9/stateless-logback.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | true 20 | 21 | 22 | 23 | ${org.apache.nifi.bootstrap.config.log.dir}/nifi-stateless.log 24 | 25 | 31 | ${org.apache.nifi.bootstrap.config.log.dir}/nifi-stateless_%d{yyyy-MM-dd_HH}.%i.log 32 | 100MB 33 | 34 | 30 35 | 36 | true 37 | 38 | %date %level [%thread] %logger{40} %msg%n 39 | 40 | 41 | 42 | 43 | 44 | %date %level [%thread] %logger{40} %msg%n 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /templates/1.15/stateless-logback.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 18 | 19 | true 20 | 21 | 22 | 23 | ${org.apache.nifi.bootstrap.config.log.dir}/nifi-stateless.log 24 | 25 | 31 | ${org.apache.nifi.bootstrap.config.log.dir}/nifi-stateless_%d{yyyy-MM-dd_HH}.%i.log 32 | 100MB 33 | 34 | 30 35 | 36 | true 37 | 38 | %date %level [%thread] %logger{40} %msg%n 39 | 40 | 41 | 42 | 43 | 44 | %date %level [%thread] %logger{40} %msg%n 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /templates/1.10/bootstrap.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # Java command to use when running NiFi 19 | java={{ nifi_java_command }} 20 | 21 | # Username to use when running NiFi. This value will be ignored on Windows. 22 | run.as={{ nifi_user }} 23 | 24 | # Configure where NiFi's lib and conf directories live 25 | lib.dir={{ nifi_nar_dir }} 26 | conf.dir={{ nifi_conf_dir }} 27 | 28 | # How long to wait after telling NiFi to shutdown before explicitly killing the Process 29 | graceful.shutdown.seconds={{ nifi_graceful_shutdown_secs }} 30 | 31 | # Disable JSR 199 so that we can use JSP's without running a JDK 32 | java.arg.1=-Dorg.apache.jasper.compiler.disablejsr199=true 33 | 34 | # JVM memory settings 35 | java.arg.2=-Xms{{ nifi_node_jvm_memory }} 36 | java.arg.3=-Xmx{{ nifi_node_jvm_memory }} 37 | 38 | # Enable Remote Debugging 39 | {% if nifi_enable_remote_debugging -%} 40 | java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address={{ nifi_remote_debugging_port }} 41 | {% else -%} 42 | #java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address={{ nifi_remote_debugging_port }} 43 | {% endif -%} 44 | 45 | java.arg.4=-Djava.net.preferIPv4Stack=true 46 | 47 | # allowRestrictedHeaders is required for Cluster/Node communications to work properly 48 | java.arg.5=-Dsun.net.http.allowRestrictedHeaders=true 49 | java.arg.6=-Djava.protocol.handler.pkgs=sun.net.www.protocol 50 | 51 | # The G1GC is still considered experimental but has proven to be very advantageous in providing great 52 | # performance without significant "stop-the-world" delays. 53 | java.arg.13=-XX:+UseG1GC 54 | 55 | #Set headless mode by default 56 | java.arg.14=-Djava.awt.headless=true 57 | 58 | # Master key in hexadecimal format for encrypted sensitive configuration values 59 | nifi.bootstrap.sensitive.key= 60 | 61 | # Sets the provider of SecureRandom to /dev/urandom to prevent blocking on VMs 62 | java.arg.15=-Djava.security.egd=file:/dev/urandom 63 | 64 | # Requires JAAS to use only the provided JAAS configuration to authenticate a Subject, without using any "fallback" methods (such as prompting for username/password) 65 | # Please see https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/single-signon.html, section "EXCEPTIONS TO THE MODEL" 66 | java.arg.16=-Djavax.security.auth.useSubjectCredsOnly=true 67 | 68 | {% if nifi_tmp_dir is defined %} 69 | # Specify java.io.tmpdir to workaround 70 | # http://apache-nifi-users-list.2361937.n4.nabble.com/nifi-hive-nar-1-7-1-nar-will-not-load-td5337.html 71 | java.arg.tmpdir=-Djava.io.tmpdir={{ nifi_tmp_dir }} 72 | 73 | {% endif %} 74 | ### 75 | # Notification Services for notifying interested parties when NiFi is stopped, started, dies 76 | ### 77 | 78 | # XML File that contains the definitions of the notification services 79 | notification.services.file=./conf/bootstrap-notification-services.xml 80 | 81 | # In the case that we are unable to send a notification for an event, how many times should we retry? 82 | notification.max.attempts=5 83 | 84 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi is started? 85 | #nifi.start.notification.services=email-notification 86 | 87 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi is stopped? 88 | #nifi.stop.notification.services=email-notification 89 | 90 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi dies? 91 | #nifi.dead.notification.services=email-notification 92 | -------------------------------------------------------------------------------- /templates/1.8/bootstrap.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # Java command to use when running NiFi 19 | java={{ nifi_java_command }} 20 | 21 | # Username to use when running NiFi. This value will be ignored on Windows. 22 | run.as={{ nifi_user }} 23 | 24 | # Configure where NiFi's lib and conf directories live 25 | lib.dir={{ nifi_nar_dir }} 26 | conf.dir={{ nifi_conf_dir }} 27 | 28 | # How long to wait after telling NiFi to shutdown before explicitly killing the Process 29 | graceful.shutdown.seconds={{ nifi_graceful_shutdown_secs }} 30 | 31 | # Disable JSR 199 so that we can use JSP's without running a JDK 32 | java.arg.1=-Dorg.apache.jasper.compiler.disablejsr199=true 33 | 34 | # JVM memory settings 35 | java.arg.2=-Xms{{ nifi_node_jvm_memory }} 36 | java.arg.3=-Xmx{{ nifi_node_jvm_memory }} 37 | 38 | # Enable Remote Debugging 39 | {% if nifi_enable_remote_debugging -%} 40 | java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address={{ nifi_remote_debugging_port }} 41 | {% else -%} 42 | #java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address={{ nifi_remote_debugging_port }} 43 | {% endif -%} 44 | 45 | java.arg.4=-Djava.net.preferIPv4Stack=true 46 | 47 | # allowRestrictedHeaders is required for Cluster/Node communications to work properly 48 | java.arg.5=-Dsun.net.http.allowRestrictedHeaders=true 49 | java.arg.6=-Djava.protocol.handler.pkgs=sun.net.www.protocol 50 | 51 | # The G1GC is still considered experimental but has proven to be very advantageous in providing great 52 | # performance without significant "stop-the-world" delays. 53 | java.arg.13=-XX:+UseG1GC 54 | 55 | #Set headless mode by default 56 | java.arg.14=-Djava.awt.headless=true 57 | 58 | # Master key in hexadecimal format for encrypted sensitive configuration values 59 | nifi.bootstrap.sensitive.key= 60 | 61 | # Sets the provider of SecureRandom to /dev/urandom to prevent blocking on VMs 62 | java.arg.15=-Djava.security.egd=file:/dev/urandom 63 | 64 | # Requires JAAS to use only the provided JAAS configuration to authenticate a Subject, without using any "fallback" methods (such as prompting for username/password) 65 | # Please see https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/single-signon.html, section "EXCEPTIONS TO THE MODEL" 66 | java.arg.16=-Djavax.security.auth.useSubjectCredsOnly=true 67 | 68 | {% if nifi_tmp_dir is defined %} 69 | # Specify java.io.tmpdir to workaround 70 | # http://apache-nifi-users-list.2361937.n4.nabble.com/nifi-hive-nar-1-7-1-nar-will-not-load-td5337.html 71 | java.arg.tmpdir=-Djava.io.tmpdir={{ nifi_tmp_dir }} 72 | 73 | {% endif %} 74 | ### 75 | # Notification Services for notifying interested parties when NiFi is stopped, started, dies 76 | ### 77 | 78 | # XML File that contains the definitions of the notification services 79 | notification.services.file=./conf/bootstrap-notification-services.xml 80 | 81 | # In the case that we are unable to send a notification for an event, how many times should we retry? 82 | notification.max.attempts=5 83 | 84 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi is started? 85 | #nifi.start.notification.services=email-notification 86 | 87 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi is stopped? 88 | #nifi.stop.notification.services=email-notification 89 | 90 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi dies? 91 | #nifi.dead.notification.services=email-notification 92 | -------------------------------------------------------------------------------- /templates/1.9/bootstrap.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # Java command to use when running NiFi 19 | java={{ nifi_java_command }} 20 | 21 | # Username to use when running NiFi. This value will be ignored on Windows. 22 | run.as={{ nifi_user }} 23 | 24 | # Configure where NiFi's lib and conf directories live 25 | lib.dir={{ nifi_nar_dir }} 26 | conf.dir={{ nifi_conf_dir }} 27 | 28 | # How long to wait after telling NiFi to shutdown before explicitly killing the Process 29 | graceful.shutdown.seconds={{ nifi_graceful_shutdown_secs }} 30 | 31 | # Disable JSR 199 so that we can use JSP's without running a JDK 32 | java.arg.1=-Dorg.apache.jasper.compiler.disablejsr199=true 33 | 34 | # JVM memory settings 35 | java.arg.2=-Xms{{ nifi_node_jvm_memory }} 36 | java.arg.3=-Xmx{{ nifi_node_jvm_memory }} 37 | 38 | # Enable Remote Debugging 39 | {% if nifi_enable_remote_debugging -%} 40 | java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address={{ nifi_remote_debugging_port }} 41 | {% else -%} 42 | #java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address={{ nifi_remote_debugging_port }} 43 | {% endif -%} 44 | 45 | java.arg.4=-Djava.net.preferIPv4Stack=true 46 | 47 | # allowRestrictedHeaders is required for Cluster/Node communications to work properly 48 | java.arg.5=-Dsun.net.http.allowRestrictedHeaders=true 49 | java.arg.6=-Djava.protocol.handler.pkgs=sun.net.www.protocol 50 | 51 | # The G1GC is still considered experimental but has proven to be very advantageous in providing great 52 | # performance without significant "stop-the-world" delays. 53 | java.arg.13=-XX:+UseG1GC 54 | 55 | #Set headless mode by default 56 | java.arg.14=-Djava.awt.headless=true 57 | 58 | # Master key in hexadecimal format for encrypted sensitive configuration values 59 | nifi.bootstrap.sensitive.key= 60 | 61 | # Sets the provider of SecureRandom to /dev/urandom to prevent blocking on VMs 62 | java.arg.15=-Djava.security.egd=file:/dev/urandom 63 | 64 | # Requires JAAS to use only the provided JAAS configuration to authenticate a Subject, without using any "fallback" methods (such as prompting for username/password) 65 | # Please see https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/single-signon.html, section "EXCEPTIONS TO THE MODEL" 66 | java.arg.16=-Djavax.security.auth.useSubjectCredsOnly=true 67 | 68 | {% if nifi_tmp_dir is defined %} 69 | # Specify java.io.tmpdir to workaround 70 | # http://apache-nifi-users-list.2361937.n4.nabble.com/nifi-hive-nar-1-7-1-nar-will-not-load-td5337.html 71 | java.arg.tmpdir=-Djava.io.tmpdir={{ nifi_tmp_dir }} 72 | 73 | {% endif %} 74 | ### 75 | # Notification Services for notifying interested parties when NiFi is stopped, started, dies 76 | ### 77 | 78 | # XML File that contains the definitions of the notification services 79 | notification.services.file=./conf/bootstrap-notification-services.xml 80 | 81 | # In the case that we are unable to send a notification for an event, how many times should we retry? 82 | notification.max.attempts=5 83 | 84 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi is started? 85 | #nifi.start.notification.services=email-notification 86 | 87 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi is stopped? 88 | #nifi.stop.notification.services=email-notification 89 | 90 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi dies? 91 | #nifi.dead.notification.services=email-notification 92 | -------------------------------------------------------------------------------- /templates/1.11/bootstrap.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # Java command to use when running NiFi 19 | java={{ nifi_java_command }} 20 | 21 | # Username to use when running NiFi. This value will be ignored on Windows. 22 | run.as={{ nifi_user }} 23 | 24 | # Configure where NiFi's lib and conf directories live 25 | lib.dir={{ nifi_nar_dir }} 26 | conf.dir={{ nifi_conf_dir }} 27 | 28 | # How long to wait after telling NiFi to shutdown before explicitly killing the Process 29 | graceful.shutdown.seconds={{ nifi_graceful_shutdown_secs }} 30 | 31 | # Disable JSR 199 so that we can use JSP's without running a JDK 32 | java.arg.1=-Dorg.apache.jasper.compiler.disablejsr199=true 33 | 34 | # JVM memory settings 35 | java.arg.2=-Xms{{ nifi_node_jvm_memory }} 36 | java.arg.3=-Xmx{{ nifi_node_jvm_memory }} 37 | 38 | # Enable Remote Debugging 39 | {% if nifi_enable_remote_debugging -%} 40 | java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address={{ nifi_remote_debugging_port }} 41 | {% else -%} 42 | #java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address={{ nifi_remote_debugging_port }} 43 | {% endif -%} 44 | 45 | java.arg.4=-Djava.net.preferIPv4Stack=true 46 | 47 | # allowRestrictedHeaders is required for Cluster/Node communications to work properly 48 | java.arg.5=-Dsun.net.http.allowRestrictedHeaders=true 49 | java.arg.6=-Djava.protocol.handler.pkgs=sun.net.www.protocol 50 | 51 | # The G1GC is still considered experimental but has proven to be very advantageous in providing great 52 | # performance without significant "stop-the-world" delays. 53 | java.arg.13=-XX:+UseG1GC 54 | 55 | #Set headless mode by default 56 | java.arg.14=-Djava.awt.headless=true 57 | 58 | # Master key in hexadecimal format for encrypted sensitive configuration values 59 | nifi.bootstrap.sensitive.key= 60 | 61 | # Sets the provider of SecureRandom to /dev/urandom to prevent blocking on VMs 62 | java.arg.15=-Djava.security.egd=file:/dev/urandom 63 | 64 | # Requires JAAS to use only the provided JAAS configuration to authenticate a Subject, without using any "fallback" methods (such as prompting for username/password) 65 | # Please see https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/single-signon.html, section "EXCEPTIONS TO THE MODEL" 66 | java.arg.16=-Djavax.security.auth.useSubjectCredsOnly=true 67 | 68 | {% if nifi_tmp_dir is defined %} 69 | # Specify java.io.tmpdir to workaround 70 | # http://apache-nifi-users-list.2361937.n4.nabble.com/nifi-hive-nar-1-7-1-nar-will-not-load-td5337.html 71 | java.arg.tmpdir=-Djava.io.tmpdir={{ nifi_tmp_dir }} 72 | 73 | {% endif %} 74 | 75 | # Zookeeper 3.5 now includes an Admin Server that starts on port 8080, since NiFi is already using that port disable by default. 76 | # Please see https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_adminserver_config for configuration options. 77 | java.arg.17.=-Dzookeeper.admin.enableServer=false 78 | 79 | ### 80 | # Notification Services for notifying interested parties when NiFi is stopped, started, dies 81 | ### 82 | 83 | # XML File that contains the definitions of the notification services 84 | notification.services.file=./conf/bootstrap-notification-services.xml 85 | 86 | # In the case that we are unable to send a notification for an event, how many times should we retry? 87 | notification.max.attempts=5 88 | 89 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi is started? 90 | #nifi.start.notification.services=email-notification 91 | 92 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi is stopped? 93 | #nifi.stop.notification.services=email-notification 94 | 95 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi dies? 96 | #nifi.dead.notification.services=email-notification 97 | -------------------------------------------------------------------------------- /templates/1.12/bootstrap.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # Java command to use when running NiFi 19 | java={{ nifi_java_command }} 20 | 21 | # Username to use when running NiFi. This value will be ignored on Windows. 22 | run.as={{ nifi_user }} 23 | 24 | # Configure where NiFi's lib and conf directories live 25 | lib.dir={{ nifi_nar_dir }} 26 | conf.dir={{ nifi_conf_dir }} 27 | 28 | # How long to wait after telling NiFi to shutdown before explicitly killing the Process 29 | graceful.shutdown.seconds={{ nifi_graceful_shutdown_secs }} 30 | 31 | # Disable JSR 199 so that we can use JSP's without running a JDK 32 | java.arg.1=-Dorg.apache.jasper.compiler.disablejsr199=true 33 | 34 | # JVM memory settings 35 | java.arg.2=-Xms{{ nifi_node_jvm_memory }} 36 | java.arg.3=-Xmx{{ nifi_node_jvm_memory }} 37 | 38 | # Enable Remote Debugging 39 | {% if nifi_enable_remote_debugging -%} 40 | java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address={{ nifi_remote_debugging_port }} 41 | {% else -%} 42 | #java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address={{ nifi_remote_debugging_port }} 43 | {% endif -%} 44 | 45 | java.arg.4=-Djava.net.preferIPv4Stack=true 46 | 47 | # allowRestrictedHeaders is required for Cluster/Node communications to work properly 48 | java.arg.5=-Dsun.net.http.allowRestrictedHeaders=true 49 | java.arg.6=-Djava.protocol.handler.pkgs=sun.net.www.protocol 50 | 51 | # The G1GC is still considered experimental but has proven to be very advantageous in providing great 52 | # performance without significant "stop-the-world" delays. 53 | java.arg.13=-XX:+UseG1GC 54 | 55 | #Set headless mode by default 56 | java.arg.14=-Djava.awt.headless=true 57 | 58 | # Root key in hexadecimal format for encrypted sensitive configuration values 59 | nifi.bootstrap.sensitive.key= 60 | 61 | # Sets the provider of SecureRandom to /dev/urandom to prevent blocking on VMs 62 | java.arg.15=-Djava.security.egd=file:/dev/urandom 63 | 64 | # Requires JAAS to use only the provided JAAS configuration to authenticate a Subject, without using any "fallback" methods (such as prompting for username/password) 65 | # Please see https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/single-signon.html, section "EXCEPTIONS TO THE MODEL" 66 | java.arg.16=-Djavax.security.auth.useSubjectCredsOnly=true 67 | 68 | {% if nifi_tmp_dir is defined %} 69 | # Specify java.io.tmpdir to workaround 70 | # http://apache-nifi-users-list.2361937.n4.nabble.com/nifi-hive-nar-1-7-1-nar-will-not-load-td5337.html 71 | java.arg.tmpdir=-Djava.io.tmpdir={{ nifi_tmp_dir }} 72 | 73 | {% endif %} 74 | 75 | # Zookeeper 3.5 now includes an Admin Server that starts on port 8080, since NiFi is already using that port disable by default. 76 | # Please see https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_adminserver_config for configuration options. 77 | java.arg.17=-Dzookeeper.admin.enableServer=false 78 | 79 | ### 80 | # Notification Services for notifying interested parties when NiFi is stopped, started, dies 81 | ### 82 | 83 | # XML File that contains the definitions of the notification services 84 | notification.services.file=./conf/bootstrap-notification-services.xml 85 | 86 | # In the case that we are unable to send a notification for an event, how many times should we retry? 87 | notification.max.attempts=5 88 | 89 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi is started? 90 | #nifi.start.notification.services=email-notification 91 | 92 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi is stopped? 93 | #nifi.stop.notification.services=email-notification 94 | 95 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi dies? 96 | #nifi.dead.notification.services=email-notification 97 | 98 | # The first curator connection issue is logged as ERROR, for example when NiFi cannot connect to one of the Zookeeper nodes. 99 | # Additional connection issues are logged as DEBUG until the connection is restored. 100 | java.arg.curator.supress.excessive.logs=-Dcurator-log-only-first-connection-issue-as-error-level=true 101 | -------------------------------------------------------------------------------- /defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for nifi 3 | nifi_major_version: "{{ nifi_version | splitext | first }}" 4 | 5 | # NiFi service user settings 6 | nifi_create_home_dir: True 7 | nifi_home_dir: "/home/{{ nifi_user }}" 8 | nifi_default_shell: /bin/bash 9 | 10 | # installation locations 11 | nifi_base_dir: /opt/nifi 12 | nifi_etc_dir: /etc/nifi 13 | nifi_log_dir: /var/log/nifi 14 | nifi_pid_dir: /var/run/nifi 15 | 16 | # specify -Djava.io.tmpdir in bootstrap.conf, default is unspecified 17 | #nifi_tmp_dir: /tmp 18 | 19 | # Set this to true to enable remote debugging 20 | nifi_enable_remote_debugging: False 21 | nifi_remote_debugging_port: 8000 22 | 23 | # whether to restart nifi after making changes; default is True, for a cluster you may wish to disable 24 | nifi_perform_restart: True 25 | 26 | # whether to force a restart, useful if another role has made changes (such as updating a custom nar); default is False 27 | nifi_force_restart: False 28 | 29 | # A complete list of IP addresses for each nodes within the nifi cluster 30 | nifi_authorized_nodes_list: [] 31 | 32 | # extra arg that are useful in expression languages 33 | nifi_extra_args: [] 34 | 35 | # List of directories for nifi to look in for additional nars. 36 | nifi_custom_nars: [] 37 | 38 | # Watched directory watched for new NARs 39 | nifi_nar_library_autoload_directory: "{{ nifi_home }}/extensions" 40 | 41 | nifi_graceful_shutdown_secs: '20' 42 | 43 | nifi_node_jvm_memory: '1024m' 44 | nifi_java_command: 'java' 45 | 46 | # defaults file / directories for nifi 47 | nifi_database_repository: "{{ nifi_home }}/database_repository" 48 | nifi_flowfile_repository: "{{ nifi_home }}/flowfile_repository" 49 | nifi_content_repositories: [ "{{ nifi_home }}/content_repository" ] 50 | nifi_provenance_repositories: [ "{{ nifi_home }}/provenance_repository" ] 51 | 52 | # Web properties 53 | nifi_input_socket_host: 54 | nifi_web_http_port: 8080 55 | nifi_web_max_header_size: '16 KB' 56 | nifi_web_proxy_context_path: 57 | nifi_web_proxy_host: 58 | 59 | # NiFi cluster settings 60 | nifi_single_node: True 61 | nifi_cluster_node_address: 62 | nifi_cluster_node_protocol_port: 63 | 64 | # Site to Site properties 65 | nifi_remote_input_host: 66 | nifi_remote_input_secure: False 67 | nifi_remote_input_socket_port: 68 | nifi_remote_input_http_enabled: False 69 | nifi_remote_input_http_transaction_ttl: '30 sec' 70 | 71 | # Queue swap settings 72 | nifi_queue_swap_threshold: 20000 73 | nifi_swap_in_threads: 1 74 | nifi_swap_out_threads: 4 75 | 76 | # Content Repository Settings 77 | nifi_content_claim_max_flow_files: 100 78 | nifi_content_claim_max_appendable_size: '10 MB' 79 | nifi_content_archive_max_retention_period: '12 hours' 80 | nifi_content_archive_max_usage_percentage: '50%' 81 | nifi_content_archive_enabled: 'false' 82 | nifi_content_always_sync: 'false' 83 | 84 | # Provenance Settings 85 | nifi_provenance_implementation: PersistentProvenanceRepository 86 | nifi_provenance_max_storage_time: '24 hours' 87 | nifi_provenance_max_storage_size: '1 GB' 88 | nifi_provenance_rollover_time: '30 secs' 89 | nifi_provenance_rollover_size: '100 MB' 90 | nifi_provenance_query_threads: 2 91 | nifi_provenance_index_threads: 2 92 | nifi_provenance_repository_buffer_size: 100000 93 | nifi_provenance_indexed_fields: EventType, FlowFileUUID, Filename, ProcessorID, Relationship 94 | 95 | # Status repository settings 96 | nifi_components_status_repository_buffer_size: 1440 97 | nifi_components_status_snapshot_frequency: '1 min' 98 | 99 | # NiFi zookeeper settings 100 | nifi_zookeeper_servers: [] 101 | nifi_zookeeper_dir: /data/zookeeper 102 | nifi_state_management_embedded_zookeeper_start: False 103 | nifi_zookeeper_root_node: '/nifi' 104 | nifi_zookeeper_session_timeout: '10 seconds' 105 | nifi_zookeeper_autopurge_purgeInterval: 24 106 | nifi_zookeeper_autopurge_snapRetainCount: 30 107 | 108 | # Security settings 109 | nifi_initial_admin: 110 | nifi_single_user_username: 111 | nifi_single_user_password: 112 | nifi_is_secure: False 113 | nifi_web_https_port: 8443 114 | nifi_security_keystore: "{{ nifi_conf_dir }}/keystore.jks" 115 | nifi_security_keystoreType: jks 116 | nifi_security_keystorePasswd: '' 117 | nifi_security_keyPasswd: "{{ nifi_security_keystorePasswd }}" 118 | nifi_security_truststore: "{{ nifi_conf_dir }}/truststore.jks" 119 | nifi_security_truststoreType: jks 120 | nifi_security_truststorePasswd: '' 121 | nifi_security_user_authorizer: single-user-authorizer 122 | nifi_security_allow_anonymous_authentication: false 123 | nifi_security_user_login_identity_provider: single-user-authorizer 124 | nifi_security_props_key: R5kxEYkfRxPlii7kIYAYy9LfeetCzsw 125 | 126 | # Logback logging levels and settings 127 | nifi_log_app_file_retention: 10 128 | nifi_log_user_file_retention: 10 129 | nifi_log_boot_file_retention: 10 130 | nifi_log_level_root: INFO 131 | nifi_log_level_org_apache_nifi: INFO 132 | nifi_log_level_org_apache_nifi_processors: WARN 133 | nifi_log_level_org_apache_nifi_processors_standard_LogAttribute: INFO 134 | nifi_log_level_org_apache_nifi_controller_repository: WARN 135 | nifi_log_level_org_apache_nifi_controller_repository_StandardProcessSession: WARN 136 | nifi_log_level_org_apache_nifi_cluster: INFO 137 | nifi_log_level_org_apache_nifi_server_JettyServer: INFO 138 | nifi_log_level_org_eclipse_jetty: INFO 139 | nifi_log_level_org_apache_nifi_web_security: INFO 140 | nifi_log_level_org_apache_nifi_web_api_config: INFO 141 | nifi_log_level_org_apache_nifi_authorization: INFO 142 | nifi_log_level_org_apache_nifi_cluster_authorization: INFO 143 | nifi_log_level_org_apache_nifi_bootstrap: INFO 144 | nifi_log_level_org_apache_nifi_bootstrap_Command: INFO 145 | nifi_log_level_org_apache_nifi_web_filter_RequestLogger: INFO 146 | nifi_log_level_org_apache_nifi_web_api_AccessResource: INFO 147 | nifi_log_level_org_wali: WARN 148 | nifi_custom_log_levels: [] 149 | 150 | # Extra Properties 151 | nifi_variable_registry_properties: [ "{{ nifi_conf_dir }}/extra-args.properties" ] 152 | -------------------------------------------------------------------------------- /templates/1.13/bootstrap.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # Java command to use when running NiFi 19 | java={{ nifi_java_command }} 20 | 21 | # Username to use when running NiFi. This value will be ignored on Windows. 22 | run.as={{ nifi_user }} 23 | 24 | # Configure where NiFi's lib and conf directories live 25 | lib.dir={{ nifi_nar_dir }} 26 | conf.dir={{ nifi_conf_dir }} 27 | 28 | # How long to wait after telling NiFi to shutdown before explicitly killing the Process 29 | graceful.shutdown.seconds={{ nifi_graceful_shutdown_secs }} 30 | 31 | # Disable JSR 199 so that we can use JSP's without running a JDK 32 | java.arg.1=-Dorg.apache.jasper.compiler.disablejsr199=true 33 | 34 | # JVM memory settings 35 | java.arg.2=-Xms{{ nifi_node_jvm_memory }} 36 | java.arg.3=-Xmx{{ nifi_node_jvm_memory }} 37 | 38 | # Enable Remote Debugging 39 | {% if nifi_enable_remote_debugging -%} 40 | java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address={{ nifi_remote_debugging_port }} 41 | {% else -%} 42 | #java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address={{ nifi_remote_debugging_port }} 43 | {% endif -%} 44 | 45 | java.arg.4=-Djava.net.preferIPv4Stack=true 46 | 47 | # allowRestrictedHeaders is required for Cluster/Node communications to work properly 48 | java.arg.5=-Dsun.net.http.allowRestrictedHeaders=true 49 | java.arg.6=-Djava.protocol.handler.pkgs=sun.net.www.protocol 50 | 51 | # The G1GC is known to cause some problems in Java 8 and earlier, but the issues were addressed in Java 9. If using Java 8 or earlier, 52 | # it is recommended that G1GC not be used, especially in conjunction with the Write Ahead Provenance Repository. However, if using a newer 53 | # version of Java, it can result in better performance without significant "stop-the-world" delays. 54 | java.arg.13=-XX:+UseG1GC 55 | 56 | #Set headless mode by default 57 | java.arg.14=-Djava.awt.headless=true 58 | 59 | # Root key in hexadecimal format for encrypted sensitive configuration values 60 | nifi.bootstrap.sensitive.key= 61 | 62 | # Sets the provider of SecureRandom to /dev/urandom to prevent blocking on VMs 63 | java.arg.15=-Djava.security.egd=file:/dev/urandom 64 | 65 | # Requires JAAS to use only the provided JAAS configuration to authenticate a Subject, without using any "fallback" methods (such as prompting for username/password) 66 | # Please see https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/single-signon.html, section "EXCEPTIONS TO THE MODEL" 67 | java.arg.16=-Djavax.security.auth.useSubjectCredsOnly=true 68 | 69 | {% if nifi_tmp_dir is defined %} 70 | # Specify java.io.tmpdir to workaround 71 | # http://apache-nifi-users-list.2361937.n4.nabble.com/nifi-hive-nar-1-7-1-nar-will-not-load-td5337.html 72 | java.arg.tmpdir=-Djava.io.tmpdir={{ nifi_tmp_dir }} 73 | 74 | {% endif %} 75 | 76 | # Zookeeper 3.5 now includes an Admin Server that starts on port 8080, since NiFi is already using that port disable by default. 77 | # Please see https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_adminserver_config for configuration options. 78 | java.arg.17=-Dzookeeper.admin.enableServer=false 79 | 80 | # The following options configure a Java Agent to handle native library loading. 81 | # It is needed when a custom jar (eg. JDBC driver) has been configured on a component in the flow and this custom jar depends on a native library 82 | # and tries to load it by its absolute path (java.lang.System.load(String filename) method call). 83 | # Use this Java Agent only if you get "Native Library ... already loaded in another classloader" errors otherwise! 84 | #java.arg.18=-javaagent:./lib/aspectj/aspectjweaver-1.9.6.jar 85 | #java.arg.19=-Daj.weaving.loadersToSkip=sun.misc.Launcher$AppClassLoader,jdk.internal.loader.ClassLoaders$AppClassLoader,org.eclipse.jetty.webapp.WebAppClassLoader,\ 86 | # org.apache.jasper.servlet.JasperLoader,org.jvnet.hk2.internal.DelegatingClassLoader,org.apache.nifi.nar.NarClassLoader 87 | # End of Java Agent config for native library loading. 88 | 89 | ### 90 | # Notification Services for notifying interested parties when NiFi is stopped, started, dies 91 | ### 92 | 93 | # XML File that contains the definitions of the notification services 94 | notification.services.file=./conf/bootstrap-notification-services.xml 95 | 96 | # In the case that we are unable to send a notification for an event, how many times should we retry? 97 | notification.max.attempts=5 98 | 99 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi is started? 100 | #nifi.start.notification.services=email-notification 101 | 102 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi is stopped? 103 | #nifi.stop.notification.services=email-notification 104 | 105 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi dies? 106 | #nifi.dead.notification.services=email-notification 107 | 108 | # The first curator connection issue is logged as ERROR, for example when NiFi cannot connect to one of the Zookeeper nodes. 109 | # Additional connection issues are logged as DEBUG until the connection is restored. 110 | java.arg.curator.supress.excessive.logs=-Dcurator-log-only-first-connection-issue-as-error-level=true 111 | -------------------------------------------------------------------------------- /templates/1.13/login-identity-providers.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 21 | 22 | 66 | 97 | 98 | 104 | 112 | -------------------------------------------------------------------------------- /templates/1.10/login-identity-providers.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 21 | 22 | 66 | 97 | 98 | 104 | 112 | -------------------------------------------------------------------------------- /templates/1.11/login-identity-providers.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 21 | 22 | 66 | 97 | 98 | 104 | 112 | -------------------------------------------------------------------------------- /templates/1.12/login-identity-providers.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 21 | 22 | 66 | 97 | 98 | 104 | 112 | -------------------------------------------------------------------------------- /templates/1.15/bootstrap.conf.j2: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one or more 3 | # contributor license agreements. See the NOTICE file distributed with 4 | # this work for additional information regarding copyright ownership. 5 | # The ASF licenses this file to You under the Apache License, Version 2.0 6 | # (the "License"); you may not use this file except in compliance with 7 | # the License. You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | # Java command to use when running NiFi 19 | java={{ nifi_java_command }} 20 | 21 | # Username to use when running NiFi. This value will be ignored on Windows. 22 | run.as={{ nifi_user }} 23 | 24 | # Preserve shell environment while runnning as "run.as" user 25 | preserve.environment=false 26 | 27 | # Configure where NiFi's lib and conf directories live 28 | lib.dir={{ nifi_nar_dir }} 29 | conf.dir={{ nifi_conf_dir }} 30 | 31 | # How long to wait after telling NiFi to shutdown before explicitly killing the Process 32 | graceful.shutdown.seconds={{ nifi_graceful_shutdown_secs }} 33 | 34 | # Disable JSR 199 so that we can use JSP's without running a JDK 35 | java.arg.1=-Dorg.apache.jasper.compiler.disablejsr199=true 36 | 37 | # JVM memory settings 38 | java.arg.2=-Xms{{ nifi_node_jvm_memory }} 39 | java.arg.3=-Xmx{{ nifi_node_jvm_memory }} 40 | 41 | # Enable Remote Debugging 42 | {% if nifi_enable_remote_debugging -%} 43 | java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address={{ nifi_remote_debugging_port }} 44 | {% else -%} 45 | #java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address={{ nifi_remote_debugging_port }} 46 | {% endif -%} 47 | 48 | java.arg.4=-Djava.net.preferIPv4Stack=true 49 | 50 | # allowRestrictedHeaders is required for Cluster/Node communications to work properly 51 | java.arg.5=-Dsun.net.http.allowRestrictedHeaders=true 52 | java.arg.6=-Djava.protocol.handler.pkgs=sun.net.www.protocol 53 | 54 | # The G1GC is known to cause some problems in Java 8 and earlier, but the issues were addressed in Java 9. If using Java 8 or earlier, 55 | # it is recommended that G1GC not be used, especially in conjunction with the Write Ahead Provenance Repository. However, if using a newer 56 | # version of Java, it can result in better performance without significant "stop-the-world" delays. 57 | java.arg.13=-XX:+UseG1GC 58 | 59 | #Set headless mode by default 60 | java.arg.14=-Djava.awt.headless=true 61 | 62 | # Root key in hexadecimal format for encrypted sensitive configuration values 63 | nifi.bootstrap.sensitive.key= 64 | 65 | # Sensitive Property Provider configuration 66 | 67 | # HashiCorp Vault Sensitive Property Providers 68 | #nifi.bootstrap.protection.hashicorp.vault.conf=./conf/bootstrap-hashicorp-vault.conf 69 | 70 | # AWS Sensitive Property Providers 71 | #nifi.bootstrap.protection.aws.conf=./conf/bootstrap-aws.conf 72 | 73 | # Azure Key Vault Sensitive Property Providers 74 | #nifi.bootstrap.protection.azure.keyvault.conf=./conf/bootstrap-azure.conf 75 | 76 | # GCP KMS Sensitive Property Providers 77 | #nifi.bootstrap.protection.gcp.kms.conf=./conf/bootstrap-gcp.conf 78 | 79 | # Sets the provider of SecureRandom to /dev/urandom to prevent blocking on VMs 80 | java.arg.15=-Djava.security.egd=file:/dev/urandom 81 | 82 | # Requires JAAS to use only the provided JAAS configuration to authenticate a Subject, without using any "fallback" methods (such as prompting for username/password) 83 | # Please see https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/single-signon.html, section "EXCEPTIONS TO THE MODEL" 84 | java.arg.16=-Djavax.security.auth.useSubjectCredsOnly=true 85 | 86 | {% if nifi_tmp_dir is defined %} 87 | # Specify java.io.tmpdir to workaround 88 | # http://apache-nifi-users-list.2361937.n4.nabble.com/nifi-hive-nar-1-7-1-nar-will-not-load-td5337.html 89 | java.arg.tmpdir=-Djava.io.tmpdir={{ nifi_tmp_dir }} 90 | 91 | {% endif %} 92 | 93 | # Zookeeper 3.5 now includes an Admin Server that starts on port 8080, since NiFi is already using that port disable by default. 94 | # Please see https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_adminserver_config for configuration options. 95 | java.arg.17=-Dzookeeper.admin.enableServer=false 96 | 97 | # The following options configure a Java Agent to handle native library loading. 98 | # It is needed when a custom jar (eg. JDBC driver) has been configured on a component in the flow and this custom jar depends on a native library 99 | # and tries to load it by its absolute path (java.lang.System.load(String filename) method call). 100 | # Use this Java Agent only if you get "Native Library ... already loaded in another classloader" errors otherwise! 101 | #java.arg.18=-javaagent:./lib/aspectj/aspectjweaver-1.9.6.jar 102 | #java.arg.19=-Daj.weaving.loadersToSkip=sun.misc.Launcher$AppClassLoader,jdk.internal.loader.ClassLoaders$AppClassLoader,org.eclipse.jetty.webapp.WebAppClassLoader,\ 103 | # org.apache.jasper.servlet.JasperLoader,org.jvnet.hk2.internal.DelegatingClassLoader,org.apache.nifi.nar.NarClassLoader 104 | # End of Java Agent config for native library loading. 105 | 106 | ### 107 | # Notification Services for notifying interested parties when NiFi is stopped, started, dies 108 | ### 109 | 110 | # XML File that contains the definitions of the notification services 111 | notification.services.file=./conf/bootstrap-notification-services.xml 112 | 113 | # In the case that we are unable to send a notification for an event, how many times should we retry? 114 | notification.max.attempts=5 115 | 116 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi is started? 117 | #nifi.start.notification.services=email-notification 118 | 119 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi is stopped? 120 | #nifi.stop.notification.services=email-notification 121 | 122 | # Comma-separated list of identifiers that are present in the notification.services.file; which services should be used to notify when NiFi dies? 123 | #nifi.dead.notification.services=email-notification 124 | 125 | # The first curator connection issue is logged as ERROR, for example when NiFi cannot connect to one of the Zookeeper nodes. 126 | # Additional connection issues are logged as DEBUG until the connection is restored. 127 | java.arg.curator.supress.excessive.logs=-Dcurator-log-only-first-connection-issue-as-error-level=true 128 | -------------------------------------------------------------------------------- /templates/1.8/login-identity-providers.xml.j2: -------------------------------------------------------------------------------- 1 | 2 | 16 | 21 | 22 | 66 | 97 | 98 | 104 | 112 | --------------------------------------------------------------------------------