Ansible-role-nginx-config: Possibilité de télécharger des extraits

Créé le 30 juil. 2020  ·  5Commentaires  ·  Source: nginxinc/ansible-role-nginx-config

Votre demande de fonctionnalité est liée à un problème ?
Il serait vraiment pratique de pouvoir télécharger un répertoire snippets contenant des fichiers de configuration, afin de pouvoir réutiliser la configuration commune dans d'autres fichiers de configuration http nginx. Si je ne me trompe pas, je ne crois pas que cela soit actuellement (explicitement) possible dans ce plugin.

Décrivez les alternatives que vous avez envisagées
J'ai essayé d'utiliser nginx_main_upload_src et nginx_http_upload_src , mais ni l'un ni l'autre ne fonctionne dans ce cas. nginx_main_upload_src attend un fichier et nginx_http_upload_src utilise fileglob , ce qui n'autorise pas les copies récursives.

Je pourrais évidemment le faire dans un rôle séparé, mais ce serait bien d'avoir toute la configuration nginx faite dans le même rôle.

Décrivez la solution que vous souhaitez
Une solution serait d'émuler les options de variables de téléchargement existantes, telles que nginx_http_upload_enable . Par exemple, introduire les vars : nginx_snippets_upload_enable , ainsi que les contreparties src et dest serait bien.

Si vous pensez que cette solution est trop spécifique à snippets , il existe peut-être un moyen plus général de copier les fichiers locaux à la racine du répertoire nginx distant. C'est en quelque sorte comme cela que cela se passe dans ce plugin Ansible nginx : https://github.com/tschifftner/ansible-role-nginx#use -additional-nginx-templates

Il serait également possible de télécharger de manière récursive des répertoires dans le répertoire de configuration http, bien que je ne sois pas fan de cela car cela ne correspond pas à la structure de répertoire de facto nginx, où snippets est à la racine.

Merci!

feature

Commentaire le plus utile

@asabhaney J'ai finalement réussi à implémenter la prise en charge des extraits de

FWIW, je pourrais revoir le fonctionnement du téléchargement des fichiers de configuration pour les autres variables nginx_config_*_upload_* à un moment donné (peut-être même en supprimer certaines) car je ne suis pas entièrement satisfait des hypothèses/peu de configurabilité faites dans les coulisses par le respectif tâches (et je pense que l'option d'extraits de code peut être utilisée tout aussi bien pour les tâches de téléchargement de configuration main/http/stream).

Tous les 5 commentaires

Suggestion intéressante @asabhaney ! Je ne peux pas promettre quand/si cela sera travaillé (il y a quelques autres tâches en attente avec une priorité plus élevée pour le moment), mais n'hésitez pas à soumettre un PR si vous le souhaitez 😄

Rebonjour!

Je regarde le plugin suggéré que vous avez partagé et j'ai quelques réflexions à ce sujet.

  1. L'exemple de ce plugin pourrait être répliqué à l'aide de nginx_http_upload_* , même si je comprends que si vous souhaitez télécharger à la fois des fichiers de configuration et des extraits de code dans différents dossiers de destination, nginx_http_upload_* ne vous permettra de choisir qu'une seule source et destination à la fois.
  2. Il n'y a pas snippets concept

Dupliquer nginx_http_upload_* pour créer une variable nginx_snippets_upload_* devrait être assez simple. Une meilleure question serait de savoir s'il serait plus logique de laisser les utilisateurs utiliser une liste lorsqu'ils utilisent nginx_*_upload_* et, ce faisant, de simplifier toute la série de variables liées au téléchargement.

Salut @alessfg , merci d'avoir pris le temps de regarder ça ! Je suis d'accord qu'il n'y a pas de références de structure de répertoire de facto à snippets (bien que je l'ai vu éparpillé dans la documentation de Nginx). Je suis également d'accord qu'il est trop spécifique et gonflé d'ajouter un ensemble de vars ( nginx_snippets_upload_* ) pour cela.

Je pense que pouvoir télécharger des dossiers/fichiers supplémentaires dans le répertoire racine nginx est une meilleure solution générale. Je ne sais pas si cela devrait inclure le remplacement de variables telles que nginx_http_upload_* (sans parler du retour en arrière), ou cela devrait être sous la forme de quelque chose comme nginx_other_upload_* , qui pourrait prendre une liste.

@asabhaney J'ai finalement réussi à implémenter la prise en charge des extraits de

FWIW, je pourrais revoir le fonctionnement du téléchargement des fichiers de configuration pour les autres variables nginx_config_*_upload_* à un moment donné (peut-être même en supprimer certaines) car je ne suis pas entièrement satisfait des hypothèses/peu de configurabilité faites dans les coulisses par le respectif tâches (et je pense que l'option d'extraits de code peut être utilisée tout aussi bien pour les tâches de téléchargement de configuration main/http/stream).

Super merci, j'ai hâte de l'utiliser !

Cette page vous a été utile?
0 / 5 - 0 notes