Nuevo en rieles, de código abierto y pronto listo para su implementación en un entorno de producción, tengo algunas consideraciones de seguridad.Administración de la seguridad de una aplicación de rieles 3 de código abierto almacenada en github
cómo manejar la database.yml se cubre bastante bien por, how-to-manage-rails-database-yml
Pero desde mi punto de vista hay más valores de configuración de una aplicación de rieles normal que no debe estar alojado en un repositorio GitHub pública y desplegado a la producción, por ejemplo
- devise.rb -> config.pepper
- secret_token.rb -> Application.config.secret_token
- Capistrano -> deploy.rb
- ...
Adición de config/****/* a .gitignore no solo evitaría nuevos desarrolladores de instalación de paquete, db: create, db: migrate, rails server sino también para mantener la configuración de producción actualizada si se trata de una nueva gema con un inicializador instalar LED.
Otra posibilidad sería agregar un environment.yml con configuración sensible, como database.yml, donde se anulará la configuración confidencial en los inicializadores?
Esto facilitará el inicio y el funcionamiento después de una comprobación limpia y el entorno de producción será fácil de mantener.
Alguna idea de cómo abordar mis problemas anteriormente?
Gracias por su respuesta rápida y se siente bien que su solución es similar a mi imaginario. ¿Hay alguna otra configuración sensible en un sitio de vanilla rails? Voy a probar tu solución, es simple y creo que se ajustará a mis necesidades para empezar. – orjan
No sé cómo el enlace simbólico puede funcionar para usted cuando está ejecutando "implementación de tapa: migraciones" ya que se están ejecutando contra el lanzamiento y no el directorio actual. Necesitaba cambiar el enlace simbólico para> ejecutar "ln -nfs # {shared_path} /config/database.yml # {release_path} /config/database.yml"
orjan
Woops, tu derecha :) – iain