nginxinc.nginx_config

Ansible Galaxy Molecule CI/CD License Projektstatus: Aktiv – Das Projekt hat einen stabilen, verwendbaren Zustand erreicht und wird aktiv weiterentwickelt. Gemeinschaftsunterstützung Beitragendenvereinbarung

👾 Helfen Sie mit, die NGINX-Konfigurationsrolle für Ansible zu verbessern, indem Sie an unserer Umfrage teilnehmen! 👾

Ansible NGINX-Konfigurationsrolle

Diese Rolle konfiguriert NGINX Open Source und NGINX Plus auf Ihrem Ziel-Host.

[!WICHTIG] Diese Rolle befindet sich noch in der aktiven Entwicklung. Es kann unbekannte Probleme geben und die Rollendefinitionen können sich im Laufe der Entwicklung ändern.

Rollenanforderungen

Ansible

Wenn Sie diese Rolle verwenden möchten, benötigen Sie eine unterstützte Version von Ansible-Core und Jinja2 sowie einige Ansible-Kollektionen.

Zur Vereinfachung können Sie Ansible-Core, Jinja2 und die erwähnten Ansible-Kollektionen installieren und/oder aktualisieren, indem Sie die folgenden vier Befehle auf Ihrem Ansible-Host ausführen:

pip install --upgrade -r https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_ansible.txt
curl -O https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_collections.yml
ansible-galaxy install --force -r requirements_collections.yml
rm -f requirements_collections.yml

Damit stellen Sie auch sicher, dass Sie diese Rolle mit einer vollständig getesteten Version der erwähnten Pakete/Kollektionen bereitstellen/ausführen.

Ansible-Core

  • Diese Rolle wird mit unterstützten Versionen von Ansible-Core und Python entwickelt und getestet.

  • Wenn Sie Ansible-Core verwenden, müssen Sie auch die folgenden Ansible-Kollektionen installieren:

    ---
    collections:
      - name: ansible.posix
        version: 1.5.4
      - name: community.general
        version: 9.0.1
      - name: community.docker # Nur erforderlich, wenn Sie planen, Molecule zu verwenden (siehe unten)
        version: 3.10.3
    
  • Anleitungen zur Installation von Ansible-Core finden Sie in der Ansible-Dokumentation.

  • Anleitungen zur Installation von Ansible-Kollektionen finden Sie im Ansible-Kollektionen-Handbuch.

[!TIPP] Alternativ können Sie die Ansible-Community-Distribution installieren, wenn Sie die einzelnen Kollektionen nicht verwalten möchten.

Jinja2

  • Diese Rolle verwendet Jinja2-Vorlagen. Ansible-Core installiert Jinja2 standardmäßig, aber je nach Ihrem Installations- und/oder Upgrade-Verlauf verwenden Sie möglicherweise eine veraltete Version von Jinja2. Die minimale Version von Jinja2, die für die ordnungsgemäße Funktionsweise der Rolle erforderlich ist, ist 3.1.
  • Anleitungen zur Installation von Jinja2 finden Sie auf der Jinja2-Website.

Test Suite (Optional)

Wenn Sie zu dieser Rolle beitragen möchten, müssen Sie auch Ansible Lint und Molecule installieren.

Ansible Lint (Optional)

  • Ansible Lint wird verwendet, um die Rolle auf Ansible-Best Practices und potenzielle Ansible/YAML-Probleme zu überprüfen.

  • Anleitungen zur Installation von Ansible Lint finden Sie auf der Ansible Lint-Website.

  • Nach der Installation ist die Verwendung von Ansible Lint so einfach wie das Ausführen:

    ansible-lint
    
  • Zur Vereinfachung können Sie Ansible Lint installieren und/oder aktualisieren, indem Sie den folgenden Befehl auf Ihrem Ansible-Host ausführen:

    pip install -r https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_ansible_lint.txt
    

Molecule (Optional)

  • Molecule wird verwendet, um die verschiedenen Funktionen der Rolle zu testen.

  • Anleitungen zur Installation von Molecule finden Sie auf der Molecule-Website. Sie müssen auch das Molecule-Plugin-Paket und das Docker-Python-SDK installieren.

  • Um die NGINX Plus/App Protect-Konfigurationstests in Molecule auszuführen, müssen Sie Ihre NGINX Plus/App Protect-Lizenz in das Molecule-Verzeichnis common/files/license der Rolle kopieren.

    Alternativ können Sie Ihr NGINX Plus/App Protect-Repository-Zertifikat und den Schlüssel der lokalen Umgebung hinzufügen. Führen Sie die folgenden Befehle aus, um diese Dateien als base64-verschlüsselte Variablen zu exportieren und die Molecule-Tests auszuführen:

    export NGINX_CRT=$( cat <Pfad zu Ihrer Zertifikatdatei> | base64 )
    export NGINX_KEY=$( cat <Pfad zu Ihrer Schlüsseldatei> | base64 )
    molecule test -s plus
    
  • Zur Vereinfachung können Sie Molecule, das Molecule-Plugin-Paket und das Docker-Python-SDK installieren und/oder aktualisieren, indem Sie den folgenden Befehl auf Ihrem Ansible-Host ausführen:

    pip install --upgrade -r https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_molecule.txt
    

Rolleninstallation

Diese Rolle kann entweder über Ansible Galaxy (den Marktplatz der Ansible-Community) oder durch Klonen dieses Repos installiert werden. Nach der Installation müssen Sie die Rolle in Ihr Ansible-Playbook unter Verwendung des roles-Schlüsselworts, des import_role-Moduls oder des include_role-Moduls einfügen.

Ansible Galaxy

Um die neueste stabile Version der Rolle auf Ihrem System zu installieren, verwenden Sie:

ansible-galaxy install nginxinc.nginx_config

Alternativ können Sie, wenn Sie die Rolle bereits installiert haben, die Rolle auf die neueste Version aktualisieren, indem Sie Folgendes verwenden:

ansible-galaxy install -f nginxinc.nginx_config

Um die Rolle zu verwenden, fügen Sie die folgende Aufgabe in Ihr Playbook ein:

- name: NGINX konfigurieren
  ansible.builtin.include_role:
    name: nginxinc.nginx_config

Git

Um die neueste Edge-Commit der Rolle von GitHub abzurufen, verwenden Sie:

git clone https://github.com/nginxinc/ansible-role-nginx-config.git

Um die Rolle zu verwenden, fügen Sie die folgende Aufgabe in Ihr Playbook ein:

- name: NGINX konfigurieren
  ansible.builtin.include_role:
    name: <Pfad/zum/Repo> # z.B. <roles/ansible-role-nginx-config>, wenn Sie das Repo im Verzeichnis roles Ihres Projekts klonen

Plattformen

Die NGINX-Konfigurationsrolle für Ansible unterstützt alle Plattformen, die von NGINX Open Source und NGINX Plus unterstützt werden.

[!HINWEIS] Sie sollten in der Lage sein, diese Rolle zu verwenden, um jede NGINX-Installation zu konfigurieren – wo auch immer und wie auch immer sie installiert wurde – auf eigenes Risiko. Mögliche Fehler mit der Rolle bei nicht unterstützten Installationsmethoden/-plattformen werden nach Möglichkeit behoben und könnten vollständig abgelehnt werden.*

Rollendefinitionen

Diese Rolle hat mehrere Variablen. Die Beschreibungen und Standards für all diese Variablen finden Sie im defaults/main/ Verzeichnis in den folgenden Dateien:

Name Beschreibung
main.yml NGINX einfache Konfigurationsvariablen
selinux.yml SELinux einrichten, um die erforderlichen Verbindungen zu Ihrer NGINX-Einrichtung zu ermöglichen
template.yml NGINX-Konfigurationsvorlagenvariablen
upload.yml NGINX-Konfigurations-/HTML/SSL-Uploadvariablen

Beispiel-Playbooks

Funktionierende Beispiel-Playbooks finden Sie im molecule/ Verzeichnis in den folgenden Dateien:

Name Beschreibung
api/converge.yml Konfigurieren Sie die NGINX Plus API und das Dashboard für Live-Metriken
cleanup_config/converge.yml NGINX-Konfiguration bereinigen
complete/converge.yml Testen Sie, ob alle NGINX-Direktiven korrekt in Vorlagen übertragen wurden
complete_plus/converge.yml Testen Sie, ob alle NGINX Plus-spezifischen Direktiven korrekt in Vorlagen übertragen wurden
default/converge.yml Konfigurieren Sie NGINX mit einer Konfiguration, die der Standardkonfiguration so nahe wie möglich kommt
push_config/converge.yml Übertragen Sie eine bereits vorhandene NGINX-Konfiguration von Ihrem System auf Ihre NGINX-Instanz
reverse_proxy/converge.yml Konfigurieren Sie NGINX als Reverse-Proxy zwischen zwei Webservern
stub_status/converge.yml Konfigurieren Sie die NGINX Open Source Stub Status-Metriken
web_server/converge.yml Konfigurieren Sie NGINX als Webserver

[!HINWEIS] Wenn Sie dieses Repository über Ansible Galaxy installieren, müssen Sie die include_role-Variable in den Beispiel-Playbooks von ansible-role-nginx-config auf nginxinc.nginx_config ändern.

Weitere NGINX Ansible-Kollektionen und Rollen

Sie finden die Ansible NGINX Core-Kollektion von Rollen zur Installation und Konfiguration von NGINX Open Source, NGINX Plus und NGINX App Protect hier.

Sie finden die Ansible NGINX-Rolle zur Installation von NGINX OSS und NGINX Plus hier.

Sie finden die Ansible NGINX App Protect-Rolle zur Installation und Konfiguration von NGINX App Protect WAF und NGINX App Protect DoS hier.

Sie finden die Ansible NGINX Unit-Rolle zur Installation von NGINX Unit hier.

Lizenz

Apache-Lizenz, Version 2.0

Autorinformationen

Alessandro Fael Garcia

© F5, Inc. 2020 - 2024

Über das Projekt

Official Ansible role for configuring NGINX

Installieren
ansible-galaxy install nginxinc.nginx_config
Lizenz
apache-2.0
Downloads
1.6M
Besitzer
Welcome to this part of the NGINX open source world. We're constantly expanding our ecosystem designed to help you create the best web and app experience around