Flynn — платформа как услуга (PaaS) с открытым исходным кодом для запуска, масштабирования и управления приложениями и базами данных в контейнерах.
Типовой рабочий процесс
- Запустите кластер Flynn (в AWS, DigitalOcean или Vagrant)
- Добавьте учётные данные кластера командой
flynn cluster add - Создайте приложение командой
flynn create <app_name> - Разверните код через git:
git push flynn master
Управление кластером
Установка и настройка кластера
flynn install # Разворачивает Flynn в AWS EC2 или облаке
flynn key add # Добавляет ваш публичный SSH-ключ в кластер
Учётные данные кластера (~/.flynnrc)
flynn cluster # Показать настроенные кластеры
flynn cluster add [-g githost] [-p pin] NAME URL KEY # Подключить локальный CLI к кластеру
flynn cluster remove NAME # Удалить конфигурацию кластера
flynn cluster default NAME # Назначить активный кластер по умолчанию
Жизненный цикл приложения
Создание нового приложения
cd ~/my-project
flynn create example # Добавляет git remote с именем 'flynn'
flynn route # Проверить стандартные маршруты HTTP
git push flynn master # Собрать и развернуть код
Команды CLI
Переменные окружения
flynn env # Вывести все переменные окружения
flynn env set KEY=value FOO=bar# Задать переменные и запустить деплой
flynn env unset KEY # Удалить переменную конфигурации
flynn env get KEY # Показать значение конкретной переменной
Масштабирование процессов
flynn scale web=3 worker=2 # Масштабировать web до 3, а worker до 2 экземпляров
flynn scale # Показать текущее число запущенных процессов
flynn ps # Вывести список всех контейнеров
Логи и мониторинг
flynn log # Вывести объединённый журнал кластера
flynn log -f # Следить за логами в реальном времени
flynn log --process=web # Фильтровать логи по типу процесса
Запуск команд и разовых задач
flynn run bash # Открыть интерактивную оболочку bash в контейнере
flynn run rake db:migrate # Выполнить разовую миграцию базы данных
Управление доменами и маршрутами
flynn route # Список всех маршрутов HTTP / TCP
flynn route add http app.domain.com # Привязать собственный домен к приложению