Mejores prácticas para personalizar el despliegue

Es común editar app.yml para ajustar la configuración de Discourse.

Además, en How to avoid throttling limits with admin API key? - #7 by aas descubrí que necesito modificar la configuración de nginx para evitar las solicitudes de API de limitación de velocidad.

Mi pregunta es, ¿cuáles son las mejores prácticas recomendadas para cosas como:

  • Control de versiones de archivos como app.yml
    • Necesitaría controlarlo fuera de /var/discourse y moverlo a /var/discourse/containers/ cada vez que lo cambie.
  • Modificar, anular o agregar nuevas plantillas
    • templates/web.ratelimited.template.yml no es ignorado por git. Si bien no ha cambiado en 6 años, editarlo directamente no parece prudente. Es posible que ./launcher rebuild lo sobrescriba. O los comandos git pull fallarían.

Posible solución:

  • Crear mi propio repositorio git con app.yml y una plantilla.
  • Escribir una acción de GitHub que use Ansible para copiar app.yml en /var/discourse/containers/ y también copie la plantilla al servidor que ejecuta Discourse.

Preguntas

  • ¿Dónde sería un buen lugar para poner mi plantilla personalizada?

Parece que puedo agregar secciones replace directamente a app.yml en lugar de usar plantillas como se menciona aquí:

Sí, puedes decir que con App.yml puedes crear copias de seguridad y nombrarlas según tus necesidades.

Si estás cambiando una sección en particular, también puedes añadir comentarios. Yo, como autoalojado, tengo mis plugins organizados por oficiales, pavilion y otros. Añado un comentario al instalar un nuevo plugin en la sección apropiada.

Sin embargo, otros pueden tener mejores ideas que las mías.