Ansible-role-nginx-config: Möglichkeit zum Hochladen von Snippets

Erstellt am 30. Juli 2020  ·  5Kommentare  ·  Quelle: nginxinc/ansible-role-nginx-config

Bezieht sich Ihre Funktionsanfrage auf ein Problem?
Es wäre wirklich praktisch, ein snippets Verzeichnis mit Konfigurationsdateien hochzuladen, damit man die allgemeine Konfiguration in anderen nginx-HTTP-Konf-Dateien wiederverwenden kann. Wenn ich mich nicht irre, glaube ich nicht, dass dies derzeit (ausdrücklich) in diesem Plugin möglich ist.

Beschreiben Sie Alternativen, die Sie in Betracht gezogen haben
Habe es mit nginx_main_upload_src und nginx_http_upload_src versucht, aber in diesem Fall funktioniert beides nicht. nginx_main_upload_src erwartet eine Datei und nginx_http_upload_src verwendet fileglob , was keine rekursiven Kopien zulässt.

Ich könnte dies natürlich in einer separaten Rolle tun, aber es wäre schön, wenn die gesamte nginx-Konfiguration in derselben Rolle ausgeführt würde.

Beschreiben Sie die gewünschte Lösung
Eine Lösung wäre, vorhandene Optionen für Upload-Variablen zu emulieren, z. B. nginx_http_upload_enable . Zum Beispiel wäre es schön, die Variablen nginx_snippets_upload_enable sowie die Gegenstücke src und dest einzuführen.

Wenn Sie der Meinung sind, dass diese Lösung zu spezifisch für snippets , gibt es vielleicht eine allgemeinere Möglichkeit, lokale Dateien in das Stammverzeichnis des entfernten nginx-Verzeichnisses zu kopieren. So wird es in diesem Ansible nginx-Plugin gemacht: https://github.com/tschifftner/ansible-role-nginx#use -additional-nginx-templates

Alternativ wäre es ein anderer Weg, Verzeichnisse rekursiv in das http-Konfigurationsverzeichnis hochzuladen, obwohl ich kein Fan davon bin, da es nicht zur defacto nginx-Verzeichnisstruktur passt, wo snippets steht an der Wurzel.

Danke!

feature

Hilfreichster Kommentar

@asabhaney Ich habe es endlich geschafft, Snippets-Unterstützung in #59 zu implementieren.

FWIW, ich könnte zu einem bestimmten Zeitpunkt noch einmal überprüfen, wie das Hochladen von Konfigurationsdateien für die anderen nginx_config_*_upload_* Variablen funktioniert (möglicherweise sogar einige von ihnen entfernen), da ich mit den Annahmen / der geringen Konfigurierbarkeit hinter den Kulissen der jeweiligen Aufgaben (und ich denke, die Snippets-Option kann genauso gut für die Haupt-/http-/Stream-Konfigurations-Upload-Aufgaben verwendet werden).

Alle 5 Kommentare

Interessanter Vorschlag @asabhaney! Ich kann nicht versprechen, wann/ob daran gearbeitet wird (es gibt derzeit noch ein paar andere Aufgaben im Backlog mit einer höheren Priorität), aber gerne eine PR einreichen, wenn Sie möchten 😄

Hallo nochmal!

Ich schaue mir das vorgeschlagene Plugin an, das Sie geteilt haben, und ich habe ein paar Gedanken dazu.

  1. Das Beispiel in diesem Plugin könnte mit nginx_http_upload_* repliziert werden, obwohl ich das verstehe, wenn Sie sowohl Konfigurations- als auch Snippet-Dateien in verschiedene Zielordner hochladen möchten, können Sie mit nginx_http_upload_* nur eine Quelle auswählen und Ziel auf einmal.
  2. Es gibt kein snippets Konzept in der defacto-Verzeichnisstruktur von NGINX. Das ist ein Konzept, das in dem von Ihnen verlinkten Plugin eingeführt wurde. Nicht, dass daran etwas falsch wäre, aber es ist nicht unbedingt eine empfohlene Ordnerstruktur.

Das Duplizieren von nginx_http_upload_* , um eine nginx_snippets_upload_* Variable zu erstellen, sollte einfach genug sein. Eine bessere Frage wäre, ob es sinnvoller wäre, Benutzern die Verwendung einer Liste zu ermöglichen, wenn sie nginx_*_upload_* und damit die ganze Reihe von Upload-bezogenen Variablen zu vereinfachen.

Hey @alessfg , danke, dass hast , snippets (obwohl ich es in der Dokumentation von Nginx verstreut gesehen habe). Ich stimme auch zu, dass es zu spezifisch und aufgebläht ist, um eine Reihe von Variablen ( nginx_snippets_upload_* ) dafür hinzuzufügen.

Ich denke, dass das Hochladen zusätzlicher Ordner/Dateien in das Stammverzeichnis von nginx eine bessere allgemeine Lösung ist. Ich bin mir nicht sicher, ob dies das Ersetzen von Variablen wie nginx_http_upload_* (ganz zu schweigen vom Rückwärtsbrechen) oder in Form von etwas wie nginx_other_upload_* , das eine Liste aufnehmen könnte.

@asabhaney Ich habe es endlich geschafft, Snippets-Unterstützung in #59 zu implementieren.

FWIW, ich könnte zu einem bestimmten Zeitpunkt noch einmal überprüfen, wie das Hochladen von Konfigurationsdateien für die anderen nginx_config_*_upload_* Variablen funktioniert (möglicherweise sogar einige von ihnen entfernen), da ich mit den Annahmen / der geringen Konfigurierbarkeit hinter den Kulissen der jeweiligen Aufgaben (und ich denke, die Snippets-Option kann genauso gut für die Haupt-/http-/Stream-Konfigurations-Upload-Aufgaben verwendet werden).

Vielen Dank, kann es kaum erwarten, es zu benutzen!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen