Ansible-role-nginx-config: Capacidade de fazer upload de snippets

Criado em 30 jul. 2020  ·  5Comentários  ·  Fonte: nginxinc/ansible-role-nginx-config

Sua solicitação de recurso está relacionada a um problema?
Seria muito útil poder fazer upload de um diretório snippets contendo arquivos de configuração, de modo que se possa reutilizar a configuração comum em outros arquivos nginx http conf. Se não me engano, não acredito que isso seja atualmente (explicitamente) possível neste plugin.

Descreva as alternativas que você considerou
Tentei usar nginx_main_upload_src e nginx_http_upload_src , mas nenhum dos dois funcionou neste caso. nginx_main_upload_src espera um arquivo e nginx_http_upload_src usa fileglob , o que não permite cópias recursivas.

Obviamente, eu poderia fazer isso em uma função separada, mas seria bom ter toda a configuração do nginx feita na mesma função.

Descreva a solução que você gostaria
Uma solução seria emular opções de variáveis ​​de upload existentes, como nginx_http_upload_enable . Por exemplo, apresentar os vars: nginx_snippets_upload_enable , bem como src e dest contrapartes seria bom.

Se você acha que esta solução é muito específica para snippets , talvez haja uma maneira mais geral de copiar arquivos locais para a raiz do diretório nginx remoto. É mais ou menos assim que é feito neste plug-in Ansible nginx: https://github.com/tschifftner/ansible-role-nginx#use -additional-nginx-templates

Alternativamente, tornar possível fazer upload recursivamente de diretórios para o diretório de configuração http seria outra maneira de ir, embora eu não seja um fã disso, pois não corresponde à estrutura de diretório de fato nginx, onde snippets está na raiz.

Obrigado!

feature

Comentários muito úteis

@asabhaney Eu finalmente consegui implementar o suporte a snippets no # 59.

FWIW, posso rever como o upload de arquivos de configuração funciona para as outras variáveis nginx_config_*_upload_* em algum estágio (posso até remover algumas delas), pois não estou totalmente satisfeito com as suposições / pouca configurabilidade feita nos bastidores pelos respectivos tarefas (e eu acho que a opção de snippets pode ser usada da mesma forma para as tarefas de upload de configuração principal / http / stream).

Todos 5 comentários

Sugestão interessante @asabhaney! Não posso prometer quando / se isso será resolvido (há algumas outras tarefas na lista de pendências com maior prioridade no momento), mas sinta-se à vontade para enviar um PR, se quiser 😄

Olá novamente!

Estou vendo o plugin sugerido que você compartilhou e tenho algumas ideias sobre ele.

  1. O exemplo nesse plug-in pode ser replicado usando nginx_http_upload_* , embora eu entenda que se você quiser fazer upload de arquivos de configuração e snippets para pastas de destino diferentes, nginx_http_upload_* só permitirá que você escolha uma fonte e destino de cada vez.
  2. Não existe um conceito snippets na estrutura de diretório de fato do NGINX. Esse é um conceito introduzido no plugin que você vinculou. Não que haja algo de errado com isso, mas não é necessariamente uma estrutura de pastas recomendada.

Duplicar nginx_http_upload_* para criar uma variável nginx_snippets_upload_* deve ser fácil o suficiente. Uma pergunta melhor seria se faria mais sentido permitir que os usuários usassem uma lista ao usar nginx_*_upload_* e, com isso, simplificar toda a série de variáveis ​​relacionadas ao upload.

Olá @alessfg , obrigado por snippets (embora eu tenha visto isso espalhado por toda a documentação do Nginx). Também concordo que é muito específico e inchaço adicionar um conjunto de vars ( nginx_snippets_upload_* ) para ele.

Acho que poder fazer upload de quaisquer pastas / arquivos adicionais para o diretório raiz do nginx é uma solução geral melhor. Não tenho certeza se isso deve incluir a substituição de vars como nginx_http_upload_* (sem mencionar a quebra para trás), ou deve ser na forma de algo como nginx_other_upload_* , que poderia incluir uma lista.

@asabhaney Eu finalmente consegui implementar o suporte a snippets no # 59.

FWIW, posso rever como o upload de arquivos de configuração funciona para as outras variáveis nginx_config_*_upload_* em algum estágio (posso até remover algumas delas), pois não estou totalmente satisfeito com as suposições / pouca configurabilidade feita nos bastidores pelos respectivos tarefas (e eu acho que a opção de snippets pode ser usada da mesma forma para as tarefas de upload de configuração principal / http / stream).

Muito obrigado, mal posso esperar para usá-lo!

Esta página foi útil?
0 / 5 - 0 avaliações