chilcano.apache-nifi-toolkit
Ansible Rolle: apache-nifi-toolkit
Eine Ansible Rolle, die das Apache NiFi Toolkit installiert, konfiguriert und Befehle ausführt, um X.509- und NiFi-Konfigurationsdateien zu erhalten. Das Apache NiFi Toolkit ist ein Werkzeug, das die sichere Einrichtung von NiFi erleichtert, mit anderen Worten, dieses Toolkit generiert die NiFi-Konfiguration und die X.509-Zertifikate, Java Key Store und Java Trust Store, die für die sichere Konfiguration von NiFi erforderlich sind. Weitere Informationen finden Sie hier: https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#tls-generation-toolkit
Diese Rolle bietet folgende Funktionen:
- Installiert das Apache NiFi Toolkit.
- Führt Befehle des Apache NiFi Toolkits aus. Der
standalone
ist der einzigartige NiFi TLS Toolkit Dienst, der implementiert ist. - Synchronisiert (vom Remote-Host zum lokalen Host) und hält an einem einzigartigen Ort alle generierten NiFi-Konfigurationen, X.509-Zertifikate sowie Java KeyStore- und Java Trust Store-Dateien.
Anforderungen
- Java.
Rollenvariablen
Die Standardvariablen befinden sich in defaults/main.yml
.
Abhängigkeiten
Diese Ansible Rolle hat keine Abhängigkeiten, obwohl das NiFi Toolkit Java benötigt.
Um Java zu installieren, werde ich die (geerlingguy.java)[https://github.com/geerlingguy/ansible-role-java] Rolle verwenden, aber mit ein paar Änderungen, um Oracle Java 8
in Debian zu installieren. Diese Änderungen sind in meinem Fork unter (chilcano.java / branch oracle-java-debian)[https://github.com/chilcano/ansible-role-java/tree/oracle-java-debian] verfügbar. Klonen Sie einfach diesen Branch.
Wenn Sie das Apache NiFi Toolkit jedoch unter Ubuntu oder CentOS verwenden möchten, benötigen Sie die oben genannten Änderungen nicht. Laden Sie einfach das geerlingguy.java
wie folgt herunter oder installieren Sie Java 7 oder 8 manuell auf Ihrem System:
$ sudo ansible-galaxy install geerlingguy.java
Beispiel-Playbook
---
- 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"
Die inventory
-Datei enthält:
[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"
Dieses Ansible-Playbook installiert Oracle Java, installiert das Apache NiFi Toolkit und führt diesen Befehl aus: $ ./bin/tls-toolkit.sh standalone -n 'nf1.intix.info' --nifiDnSuffix ',OU=INTIX' -C 'CN=chilcano, OU=INTIX' -O -c 'nftk1_ca'
. Alle Schlüssel, Zertifikate und Konfigurationen werden in $NIFI_TOOLKIT_HOME/nftk_repo
erstellt und unter diesem Verzeichnis /Users/Chilcano/1github-repo/binaries
mit localhost
synchronisiert. Das Verzeichnis /Users/Chilcano/1github-repo/binaries
muss vorher erstellt werden. Die Synchronisation ermöglicht es uns, alle erforderlichen Dateien für die sichere Konfiguration von NiFi einfach zu erhalten und mehrere Male zu verwenden, im Standalone-Modus oder im Cluster.
Die endgültige Ordnerstruktur mit Schlüsseln, Zertifikaten und Konfigurationsdateien wird wie folgt aussehen:
Aktualisiert
- Jetzt kopiert die Rolle die Binärdatei/Installer vom lokalen Dateisystem, wenn sie nicht vorhanden ist, versucht sie dann, sie von einer URL herunterzuladen. Schließlich wird die heruntergeladene Binärdatei ins lokale Dateisystem kopiert, um wiederverwendet zu werden.
Lizenz
MIT / BSD
Autoreninformation
Diese Rolle wurde 2017 von Roger Carhuatocto erstellt, Autor des 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