Ambari Nifi Install
module.exports = header: 'Ambari Nifi Install', handler: (options) ->
Identities
@system.group header: 'Group', options.group
@system.user header: 'User', options.user
Package
@service 'nifi'
Toolkit
@call header: 'Toolkit', ->
@file.download
header: "Download"
source: options.toolkit.source
target: path.resolve '/var/tmp', path.basename options.toolkit.source
@tools.extract
source: path.resolve '/var/tmp', path.basename options.toolkit.source
target: options.toolkit.target
Nifi SSL
@call header: 'SSL', if: options.ssl.enabled, ->
# Client: import certificate to all hosts
# `keytool -list -v -keystore /etc/nifi/conf/truststore.jks -storepass NifiTruststore123-`
@java.keystore_add
keystore: options.ssl.truststore.target
storepass: options.ssl.truststore.password
caname: "hadoop_root_ca"
cacert: "#{options.ssl.cacert.source}"
local: options.ssl.cacert.local
uid: options.user.name
gid: options.group.name
mode: 0o0644
for hostname, cert of options.ssl.certs
@java.keystore_add
keystore: options.ssl.truststore.target
storepass: options.ssl.truststore.password
caname: cert.name
cacert: cert.source
local: cert.local
# Server: import certificates, private and public keys to hosts with a server
# `keytool -list -v -keystore /etc/nifi/conf/keystore.jks -storepass NifiKeystore123-`
@java.keystore_add
keystore: options.ssl.keystore.target
storepass: options.ssl.keystore.password
key: options.ssl.key.source
cert: options.ssl.cert.source
keypass: options.ssl.keystore.keypass
name: options.ssl.key.name
local: options.ssl.cert.local
uid: options.user.name
gid: options.group.name
mode: 0o0600
@java.keystore_add
keystore: options.ssl.keystore.target
storepass: options.ssl.keystore.password
caname: "hadoop_root_ca"
cacert: options.ssl.cacert.source
local: options.ssl.cacert.local
Dependencies
path = require('path').posix