Como empezar
- Instalar Buffalo
- Generando Nuevo Proyecto
- Estructura de Directorio
- Configuración
- Integracion de Herramientas
Gestión de Peticiones
- Enrutamiento
- Controlador de Acciones
- Recursos
- Contexto
- Vinculación de Peticiones
- Middleware
- Manejo de Errores
- Sesiones
- Cookies
Frontend
- Renderizado
- Plantillas
- Diseños
- Parciales
- Helpers
- Helpers Personalizados
- Mensajes Flash
- Formularios
- Recursos
Base de datos
- Iniciando con Pop
- Soda CLI
- Configuración de base de datos
- Integración con Buffalo
- Modelos
- Generadores
- Migraciones
- Fizz
- Mutaciones
- Consultas
- Consultas SQL nativo
- Callbacks
- Scoping
- Asociaciones y Relaciones
- Asociaciones Uno a Uno
- Asociaciones Uno a Muchos
Guías
- Aplicaciones API
- Carga de archivos
- Ejecuciones en segundo plano
- Mailers
- Tareas
- Plugins
- Local Authentication
- Third Party Authentication
- Eventos
- Go Modules
- Localización
- Registros
- Motores de Plantillas
- Pruebas
- Videos
Deploy
Como empezar
Configuración
En este capitulo, tu vas a aprender como manejar la configuración de tu proyecto con Buffalo.
Las variables de entorno son un buen camino para separar entornos con diferentes valores o secretos, de la base del código de tu aplicación. (como describe en la aplicación de los Doce factores). Eso puede ayudar a definir el comportamiento quese basa en el contexto de la aplicación (Como requerir SSL en producción) y aislas secretos de tu código. De esta manera, todos los desarroladores no tienen que conocer las llaves de producción para servicios sensibles como la API de un Banco y pueden utilizar las llaves de la API en sandbox.
Variables de entorno Permitidas
Las siguientes variables son usadas por Buffalo:
Variable | Por defecto | Uso |
---|---|---|
GO_ENV |
development |
El entorno (dev, qa, production etc.) que Buffalo esté corriendo. |
GO_BIN |
go |
El compilador de Go para usar. |
BUFFALO_PLUGIN_PATH |
$PATH |
Donde Buffalo va a buscar sus plugins. |
BUFFALO_PLUGIN_TIMEOUT |
1s |
Cuanto tiempo espera Buffalo para que un plugin Responda |
ADDR |
127.0.0.1 or 0.0.0.0 |
La direccion que se debe usar en el servidor. |
PORT |
3000 |
El puerto que se debe configurar para el server. |
HOST |
http://127.0.0.1:$PORT |
La “URL” de la aplicación (i.e. Lo que escriben los usuarios). |
SESSION_SECRET |
"" |
Utilizada para asegurar las sesiones. |
Configuración Personalizada
Tu puedes proporcionar tus propias variables y recuperarlas desde su aplicación. El paquete envy hace esto facil!
import "github.com/gobuffalo/envy"
// [...]
// Get MYSECRET env variable, default to empty string if it's not set
var MYSECRET = envy.Get("MYSECRET", "")
// Get REQUIREDSECRET env variable, return an error if it's not set
REQUIREDSECRET, err := envy.MustGet("REQUIREDSECRET")
Soporte para archivos .env
Buffalo entrega soporte con .env
(desde buffalo >= 0.10.3), lo que significa que buffalo cargará los archivos .env
dentro de la variable del entorno una vez que la aplicacion esté corriendo. Para hacer eso Buffalo usa envy.Load
el cual buscará el archivo .env
en la raiz de tu aplicación.
Si tu no estas familiarizado como luce un archivo .env
, aqui tienes un ejemplo:
SENDGRID_API_KEY=ABCCOQ7GFRVCW0ODHPFQ3FTP5SLL1Q
SENDGRID_EMAIL=email@myapp.com
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=https://myapp.com
Las aplicaciones generadas (con buffalo >= 0.10.3) van a crear un archivo .env
por defecto en la raiz de su aplicación. Este archivo va será mirado por Buffalo para los cambios pero va a ser ignorado por git (Añadido en el .gitignore
). Esto es una buena manera de evitar que los desarrolladores suban las credenciales por error.
Siguiente Paso
- Integracion de Herramientas - Trabajar con Buffalo, usando herramientas existentes.