Ansible-role-nginx-config: Posibilidad de subir fragmentos

Creado en 30 jul. 2020  ·  5Comentarios  ·  Fuente: nginxinc/ansible-role-nginx-config

¿Su solicitud de función está relacionada con un problema?
Sería realmente útil poder cargar un directorio snippets contenga archivos de configuración, de modo que se pueda reutilizar la configuración común en otros archivos nginx http conf. Si no me equivoco, no creo que esto sea actualmente (explícitamente) posible en este complemento.

Describe las alternativas que has considerado
Intenté usar nginx_main_upload_src y nginx_http_upload_src , pero ninguno de los dos funciona en este caso. nginx_main_upload_src espera un archivo, y nginx_http_upload_src usa fileglob , que no permite copias recursivas.

Obviamente, podría hacer esto en una función separada, pero sería bueno tener toda la configuración de nginx realizada en la misma función.

Describe la solución que te gustaría
Una solución sería emular las opciones de variables de carga existentes, como nginx_http_upload_enable . Por ejemplo, introducir las vars: nginx_snippets_upload_enable , así como las contrapartes src y dest sería bueno.

Si cree que esta solución es demasiado específica para snippets , tal vez haya una forma más general de copiar archivos locales a la raíz del directorio nginx remoto. Así es como se hace en este complemento nginx de Ansible: https://github.com/tschifftner/ansible-role-nginx#use -additional-nginx-templates

Alternativamente, hacer posible la carga recursiva de directorios en el directorio de configuración http sería otra forma de hacerlo, aunque no soy un fanático de esto, ya que no coincide con la estructura de directorio defacto nginx, donde snippets está en la raíz.

¡Gracias!

feature

Comentario más útil

@asabhaney Finalmente logré implementar el soporte de fragmentos en el n. ° 59.

FWIW, podría volver a revisar cómo funciona la carga de archivos de configuración para las otras variables nginx_config_*_upload_* en algún momento (incluso podría eliminar algunas de ellas) ya que no estoy del todo satisfecho con las suposiciones / poca configurabilidad hecha detrás de escena por los respectivos tareas (y creo que la opción de fragmentos se puede usar también para las tareas de carga de configuración main / http / stream).

Todos 5 comentarios

Sugerencia interesante @asabhaney! No puedo prometer cuándo / si se solucionará esto (hay algunas otras tareas pendientes con una prioridad más alta en este momento), pero no dude en enviar un PR si lo desea 😄

¡Hola de nuevo!

Estoy mirando el complemento sugerido que compartiste y tengo algunas ideas al respecto.

  1. El ejemplo en ese complemento podría replicarse usando nginx_http_upload_* , aunque entiendo que si desea cargar archivos de configuración y fragmentos en diferentes carpetas de destino, nginx_http_upload_* solo le permitirá elegir una fuente y destino a la vez.
  2. No existe el concepto snippets dentro de la estructura de directorios defacto de NGINX. Ese es un concepto introducido en el complemento que vinculó. No es que tenga nada de malo, pero no es necesariamente una estructura de carpetas recomendada.

Duplicar nginx_http_upload_* para crear una variable nginx_snippets_upload_* debería ser bastante fácil. Una mejor pregunta sería si tendría más sentido permitir que los usuarios usen una lista cuando usan nginx_*_upload_* y, al hacerlo, simplificar toda la serie de variables relacionadas con la carga.

Hola @alessfg , ¡gracias por snippets (aunque lo he visto disperso por toda la documentación de Nginx). También estoy de acuerdo en que es demasiado específico e hinchado agregar un conjunto de vars ( nginx_snippets_upload_* ).

Creo que poder cargar carpetas / archivos adicionales en el directorio raíz nginx es una mejor solución general. No estoy seguro de si eso debería incluir reemplazar variables como nginx_http_upload_* (sin mencionar el retroceso), o debería ser algo como nginx_other_upload_* , que podría incluir una lista.

@asabhaney Finalmente logré implementar el soporte de fragmentos en el n. ° 59.

FWIW, podría volver a revisar cómo funciona la carga de archivos de configuración para las otras variables nginx_config_*_upload_* en algún momento (incluso podría eliminar algunas de ellas) ya que no estoy del todo satisfecho con las suposiciones / poca configurabilidad hecha detrás de escena por los respectivos tareas (y creo que la opción de fragmentos se puede usar también para las tareas de carga de configuración main / http / stream).

¡Muchas gracias, no puedo esperar para usarlo!

¿Fue útil esta página
0 / 5 - 0 calificaciones