chilcano.apache-nifi-toolkit
Ansible Rola: apache-nifi-toolkit
Rola Ansible, która instaluje i konfiguruje Apache NiFi Toolkit oraz uruchamia polecenia do uzyskania plików konfiguracyjnych X.509 i NiFi. Apache NiFi Toolkit to narzędzie, które ułatwia bezpieczne skonfigurowanie NiFi, co oznacza, że to narzędzie generuje konfigurację NiFi oraz Certyfikaty X.509, Java Key Store i Java Trust Store potrzebne do bezpiecznej konfiguracji NiFi. Więcej informacji można znaleźć tutaj: https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#tls-generation-toolkit
Ta Rola oferuje następujące funkcje:
- Instaluje Apache NiFi Toolkit.
- Wykonuje polecenia Apache NiFi Toolkit.
standalone
to jedyna usługa NiFi TLS Toolkit, która została zaimplementowana. - Synchronizuje (zdalny host do lokalnego) i przechowuje w jednym miejscu wszystkie wygenerowane pliki konfiguracyjne NiFi, Certyfikaty X.509 oraz pliki Java KeyStore i Java Trust Store.
Wymagania
- Java.
Zmienne Roli
Domyślne zmienne znajdują się w defaults/main.yml
.
Zależności
Ta Rola Ansible nie ma zależności, chociaż NiFi Toolkit wymaga Javy.
Aby zainstalować Javę, użyję roli (geerlingguy.java)[https://github.com/geerlingguy/ansible-role-java], ale z kilkoma zmianami, aby zainstalować Oracle Java 8
w Debianie. Te zmiany są dostępne w moim forku na (chilcano.java / branch oracle-java-debian)[https://github.com/chilcano/ansible-role-java/tree/oracle-java-debian]. Wystarczy sklonować tę gałąź.
Jednak jeśli zamierzasz używać Apache NiFi Toolkit w Ubuntu lub CentOS, nie będziesz potrzebować powyższych zmian. Po prostu pobierz geerlingguy.java
jak poniżej lub zainstaluj ręcznie Javę w wersji 7 lub 8 na swoim komputerze:
$ sudo ansible-galaxy install geerlingguy.java
Przykład Playbooka
---
- 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"
Plik inventory
zawiera:
[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"
Ten Playbook Ansible zainstaluje Oracle Java, zainstaluje Apache NiFi Toolkit i wykona to polecenie: $ ./bin/tls-toolkit.sh standalone -n 'nf1.intix.info' --nifiDnSuffix ',OU=INTIX' -C 'CN=chilcano, OU=INTIX' -O -c 'nftk1_ca'
. Wszystkie klucze, certyfikaty i konfiguracje zostaną utworzone w $NIFI_TOOLKIT_HOME/nftk_repo
i zostaną zsynchronizowane z localhost
pod tym katalogiem /Users/Chilcano/1github-repo/binaries
.
Katalog /Users/Chilcano/1github-repo/binaries
należy utworzyć wcześniej. Synchronizacja pozwala nam łatwo uzyskać i używać wszystkich plików potrzebnych do bezpiecznej konfiguracji NiFi, wielokrotnie, w trybie samodzielnym lub klastrowym.
Finalna struktura folderów z kluczami, certyfikatami i plikami konfiguracyjnymi będzie wyglądać jak poniżej:
Zaktualizowane
- Teraz Rola kopiuje pliki binarne/instalatora z lokalnego systemu plików, jeśli nie istnieją, to próbuje pobrać z URL. Ostatecznie pobrany program zostanie skopiowany do lokalnego systemu plików, aby można go było ponownie użyć.
Licencja
MIT / BSD
Informacje o autorze
Ta rola została stworzona w 2017 roku przez Roger Carhuatocto, autora HolisticSecurity.io Blog.
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.apache-nifi-toolkit