Flynn es una Plataforma como Servicio (PaaS) de código abierto diseñada para ejecutar, escalar y administrar aplicaciones y bases de datos en contenedores.
Flujo de trabajo típico
- Lanza un clúster Flynn (en AWS, DigitalOcean o Vagrant)
- Añade las credenciales del clúster con
flynn cluster add - Crea tu aplicación con
flynn create <app_name> - Despliega mediante git:
git push flynn master
Gestión de clúster
Instalación y configuración del clúster
flynn install # Aprovisiona Flynn en AWS EC2 o nube digital
flynn key add # Añade tu clave pública SSH al clúster
Credenciales de clúster (~/.flynnrc)
flynn cluster # Listar clústeres configurados
flynn cluster add [-g githost] [-p pin] NAME URL KEY # Conectar la CLI local al clúster
flynn cluster remove NAME # Eliminar configuración de clúster
flynn cluster default NAME # Definir clúster activo por defecto
Ciclo de vida de la aplicación
Configuración de nueva app
cd ~/my-project
flynn create example # Añade un remoto git llamado 'flynn'
flynn route # Inspeccionar rutas HTTP por defecto
git push flynn master # Compilar y desplegar código
Comandos CLI
Variables de entorno
flynn env # Listar todas las variables de entorno
flynn env set KEY=value FOO=bar# Establecer variables y lanzar despliegue
flynn env unset KEY # Eliminar una variable de configuración
flynn env get KEY # Mostrar el valor de una variable
Escalado de procesos
flynn scale web=3 worker=2 # Escalar procesos web a 3 y workers a 2
flynn scale # Mostrar recuentos de procesos activos
flynn ps # Listar todas las instancias individuales de contenedores
Registros y monitorización
flynn log # Seguir en vivo los logs combinados del clúster
flynn log -f # Seguir flujo en directo
flynn log --process=web # Filtrar logs por tipo de proceso
Ejecución de comandos y tareas puntuales
flynn run bash # Abrir shell bash interactiva en contenedor
flynn run rake db:migrate # Ejecutar migración de base de datos puntual
Gestión de dominios y rutas
flynn route # Listar todas las rutas HTTP / TCP
flynn route add http app.domain.com # Asociar dominio personalizado a la app