apache-nifi-toolkit
Ansible Роль: apache-nifi-toolkit
Ansible роль, которая устанавливает и настраивает Apache NiFi Toolkit и выполняет команды для получения файлов конфигурации X.509 и NiFi. Apache NiFi Toolkit - это инструмент, который облегчает безопасную настройку NiFi, то есть этот набор инструментов генерирует конфигурацию NiFi и сертификаты X.509, хранилище ключей Java и хранилище доверия Java, необходимые для безопасной настройки NiFi. Дополнительную информацию можно найти здесь: https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#tls-generation-toolkit
Эта роль предоставляет следующие функции:
- Устанавливает Apache NiFi Toolkit.
- Выполняет команды Apache NiFi Toolkit.
standalone
- это уникальная служба NiFi TLS Toolkit. - Синхронизирует (из удаленного на локальный хост) и хранит в одном месте все сгенерированные конфигурации NiFi, сертификаты X.509, а также файлы хранилища ключей и хранилища доверия Java.
Требования
- Java.
Переменные роли
Стандартные переменные находятся в defaults/main.yml
.
Зависимости
Эта Ansible роль не имеет зависимостей, хотя NiFi Toolkit требует Java.
Чтобы установить Java, я использую роль (geerlingguy.java)[https://github.com/geerlingguy/ansible-role-java], но с некоторыми изменениями для установки Oracle Java 8
на Debian. Вы можете найти эти изменения на моем форке (chilcano.java / branch oracle-java-debian)[https://github.com/chilcano/ansible-role-java/tree/oracle-java-debian]. Просто клонируйте эту ветку.
Но если вы собираетесь использовать Apache NiFi Toolkit в Ubuntu или CentOS, вам не понадобятся вышеуказанные изменения. Просто скачайте geerlingguy.java
, как указано ниже, или установите Java 7 или 8 на своем компьютере:
$ sudo ansible-galaxy install geerlingguy.java
Пример плейбука
---
- hosts: nftk1
become: yes
vars_files:
- vars.yml
roles:
- role: ../../playbooks/roles/ansible-role-java
java_packages:
- oracle-java8-installer
- ca-certificates
- oracle-java8-set-default
java_cleanup: false
java_home: "/usr/lib/jvm/java-8-oracle"
- role: chilcano.apache-nifi-toolkit
nftk:
version: "1.2.0"
packaging_bin: "tar.gz"
packaging_src: "zip"
action:
clean:
installation: false
repository: false
dependencies: false
install: true
run_cmd: true
sync: true
download:
http_uri: "http://mirror.ox.ac.uk/sites/rsync.apache.org"
nftk_run:
cmd: "standalone -n 'nf1.intix.info' --nifiDnSuffix ',OU=INTIX' -C 'CN=chilcano, OU=INTIX' -O -c 'nftk1_ca'"
clientpasswd: "demo00a"
keypasswd: "demo00b"
truststorepasswd: "demo00c"
keystorepasswd: "demo00d"
nftk_cfg.dir_repo: "nftk_repo"
nftk_sync_dir_local: "/Users/Chilcano/1github-repo/binaries"
Файл inventory
содержит:
[nifitks]
nftk1
nftk1 ansible_host=192.168.77.4
[nifitks:vars]
ansible_user=vagrant
ansible_ssh_private_key_file="/Users/Chilcano/.vagrant.d/insecure_private_key"
Этот Ansible плейбук установит Oracle Java, установит Apache NiFi Toolkit и выполнит следующую команду $ ./bin/tls-toolkit.sh standalone -n 'nf1.intix.info' --nifiDnSuffix ',OU=INTIX' -C 'CN=chilcano, OU=INTIX' -O -c 'nftk1_ca'
. Все ключи, сертификаты и конфигурации будут созданы в $NIFI_TOOLKIT_HOME/nftk_repo
и синхронизированы с localhost
в директории /Users/Chilcano/1github-repo/binaries
.
Директория /Users/Chilcano/1github-repo/binaries
должна быть создана заранее. Синхронизация позволяет легко получать и использовать все файлы, необходимые для безопасной настройки NiFi, многократно, в одиночку или в кластере.
Итоговая структура папок с ключами, сертификатами и файлами конфигурации будет выглядеть следующим образом:
Обновлено
- Теперь роль копирует бинарные файлы/установщики из локальной файловой системы, если они не существуют, то пытается загрузить их по URL. Наконец, загруженный бинарный файл будет скопирован в локальную файловую систему для дальнейшего использования.
Лицензия
MIT / BSD
Информация об авторе
Эта роль была создана в 2017 году Роджером Каруатоcto, автором блога HolisticSecurity.io.
An Ansible Role that installs Apache NiFi Toolkit and and runs commands to get x.509, Java KeyStore, TrustStore required to configure NiFi securely.
ansible-galaxy install chilcano/ansible-role-apache-nifi-toolkit