Version information
This version is compatible with:
- Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
- Puppet >= 4.10.0 < 7.0.0
- , , ,
Start using this module
Add this module to your Puppetfile:
mod 'ssm-nifi', '0.1.0'
Learn more about managing modules with a PuppetfileDocumentation
nifi
Table of Contents
- Description
- Setup - The basics of getting started with nifi
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Description
Install and configure the Apache NiFi dataflow automation software.
Setup
What nifi affects
This module will download the Apache NiFi tarball to /var/tmp/
.
Please make sure you have space for this file.
The tarball will be unpacked to /opt/nifi
by default, where it will
require about the same disk space.
Setup Requirements
NiFi requires Java Runtime Environment. Nifi 1.10.1 runs on Java 8 or Java 11.
NiFi requires ~ 1.3 GiB download, temporary storage and unpacked
storage. Ensure /opt/nifi
and /var/tmp
has room for the downloaded
and unpacked software.
When installing on local infrastructure, consider download the distribution tarballs, validate them with the Apache distribution keys, and store it on a local repository. Adjust the configuration variables to point to your local repository. The NiFi download page also documents how to verify the integrity and authenticity of the downloaded files.
Beginning with nifi
Add dependency modules to your puppet environment:
- puppet/archive
- puppetlabs/stdlib
- camptocamp/systemd
Usage
To download and install NiFi, include the module. This will download
nifi, unpack it under /opt/nifi/nifi-<version>
, and start the
service with default configuration and storage locations.
include nifi
To host the file locally, add a nifi::download_url variable for the module.
nifi::download\_url: "http://my-local-repo.example.com/apache/nifi/1.10.0/nifi-1.10.0-bin.tar.gz"
Please keep nifi::download_url
, nifi::download_checksum
and
nifi::version
in sync. The URL, checksum and version should match.
Otherwise, Puppet will become confused.
Limitations
This module is under development, and therefore somewhat light on functionality.
Configuration and repository directories are not managed yet. These
can be managed outside the module with file
resources.
Development
In the Development section, tell other users the ground rules for contributing to your project and how they should submit their work.
Reference
Table of Contents
Classes
Public Classes
nifi
: Manage Apache NiFi
Private Classes
nifi::config
: Manage configuration for Apache NiFinifi::install
: Install Apache NiFinifi::service
: Manage the Apache NiFi service
Classes
nifi
Install, configure and run Apache NiFi
Examples
Defaults
include nifi
Downloading from a different repository
class { 'nifi':
version => 'x.y.z',
download_url => 'https://my.local.repo.example.com/apache/nifi/nifi-x.y.z.tar.gz',
download_checksum => 'abcde...',
}
Parameters
The following parameters are available in the nifi
class.
version
Data type: String
The version of Apache NiFi. This must match the version in the tarball. This is used for managing files, directories and paths in the service.
Default value: '1.10.0'
user
Data type: String
The user owning the nifi installation files, and running the service.
Default value: 'nifi'
group
Data type: String
The group owning the nifi installation files, and running the service.
Default value: 'nifi'
download_url
Data type: String
Where to download the binary installation tarball from.
Default value: 'http://mirrors.ibiblio.org/apache/nifi/1.10.0/nifi-1.10.0-bin.tar.gz'
download_checksum
Data type: String
The expected checksum of the downloaded tarball. This is used for verifying the integrity of the downloaded tarball.
Default value: 'fd4f0750d18137bb1c21cd0fd5ab8951ccd450e6f673b8988db93ea2ff408288'
download_checksum_type
Data type: String
The checksum type of the downloaded tarball. This is used for verifying the integrity of the downloaded tarball.
Default value: 'sha256'
service_limit_nofile
Data type: Integer
The limit on number of open files permitted for the service. Used for LimitNOFILE= in nifi.service.
Default value: 50000
service_limit_nproc
Data type: Integer
The limit on number of processes permitted for the service. Used for LimitNPROC= in nifi.service.
Default value: 10000
install_root
Data type: Stdlib::Absolutepath
The root directory of the nifi installation.
Default value: '/opt/nifi'
download_tmp_dir
Data type: Stdlib::Absolutepath
Default value: '/var/tmp'
Dependencies
- puppetlabs/stdlib (>= 4.13.0 < 7.0.0)
- puppet/archive (>= 4.0.0 < 5.0.0)
- camptocamp/systemd (>= 2.0.0 < 3.0.0)