Перейти до основного вмісту

Меню команд

Перейдіть на сторінку або пошукайте в каталозі

ШІ-інструменти та скрипти

Перевірка конфігурації Fly.io

Перевіряє fly.toml перед деплоєм на Fly.io: секрети в [env] і аргументах збирання, бази даних на публічних портах, statics, що віддають ваш вихідний код, непримусовий HTTPS, відсутні перевірки працездатності, розбіжності портів і налаштування, які Fly відхиляє.

$5.00

Що ви отримаєте: 1 файл · 46.79 KB · ZIP

Переглянути варіанти купівлі

Опис товару

SESSION_SECRET у [env] потрапляє до всіх, хто може читати репозиторій, блок [[services]] для Redis дає кешу публічну адресу вже під час першого деплою, а запис [[statics]], що вказує на /app, віддає ваш .env і вихідні файли будь-кому, хто їх запитає. Цей навик знаходить такі помилки та інші помилки конфігурації Fly.io, наведені нижче, ще до деплою і пояснює, як виправити кожну з них.

Ваш агент запускає сканер на fly.toml і його варіантах (fly.staging.toml, fly.production.toml), а також на Dockerfile, який fly deploy збирає для нього (його WORKDIR, COPY . ., ENV PORT і команда запуску). Він читає TOML з номером рядка для кожного ключа, знає значення за замовчуванням для [http_service] і [[services]] (внутрішній порт 8080, порти 80 і 443), обробники tls і pg_tls та групи процесів, пропускає плейсхолдери, посилання ${...} і ключі, публічні за задумом, і ніколи не запускає flyctl, Docker чи ваш застосунок. Результат: BLOCK, REVIEW або NOT FLAGGED із зазначенням файлу, рядка, причини та безпечнішого підходу. Секрети ніколи не виводяться.

Що перевіряється

BLOCK (виправити до випуску)

  • F01: паролі, токени, ключі та рядки підключення з паролем, записані в [env], [build.args], командах процесів, release чи console (зокрема прапорець і його значення в окремих елементах масиву), заголовках перевірок працездатності або в raw_value блоку [[files]]
  • F02: порт бази даних або кешу (PostgreSQL, MySQL, Redis, MongoDB та інші), відкритий як звичайний TCP без обробника tls чи pg_tls, якщо тільки коментар не позначає застосунок як приватний (# flycast only)
  • F03: [[statics]], які віддають / або системну папку, чи папку, в яку Dockerfile копіює весь проєкт

REVIEW (перевірити перед релізом)

  • F11: [http_service] або http-порт без force_https = true
  • F12: SSH, порт бази даних із TLS на проксі або звичайний порт бази даних у застосунку, позначеному як приватний
  • F13: публічний сервіс без жодної перевірки працездатності
  • F14: образ у [build] або образ machine_checks без тегу чи з latest
  • F15: internal_port, який відрізняється від PORT або HTTP_PORT в [env], від ENV PORT у Dockerfile чи від прапорця --port/--bind у команді запуску, або застосунок, прив'язаний до localhost
  • F16: увімкнений auto_stop_machines у застосунку бази даних чи кешу, що має том
  • F17: release_command, якому потрібен том (release-команди виконуються без томів), наприклад міграція SQLite
  • F18: налаштування, які Fly відхиляє або ігнорує: canary чи bluegreen із томами, bluegreen без перевірки працездатності, force_https на не-http порту, том, змонтований у /, змінні FLY_, suspend зі swap або понад 2 ГБ (memory, memory_mb чи пресет size), а також невідомі групи процесів
  • F19: змінна в [env] або [build.args] із секретною назвою, якій присвоєно стандартне слово на кшталт password, changeme чи admin
  • F20: [[statics]] на кореневій веб-папці nginx, Caddy чи httpd, яку Dockerfile заповнює всім контекстом збирання

Що входить до комплекту

  • Сканер (Python 3.9+, лише стандартна бібліотека)
  • Посібник із правил із причиною, безпечнішим підходом і посиланням на офіційну документацію Fly.io для кожного правила
  • Ризикований і безпечний приклади проєкту (вебзастосунок, застосунок Redis і статичний сайт документації, кожен із fly.toml, а також їхні Dockerfile), а також реальний звіт сканера щодо ризикованого прикладу

Обмеження

Він читає fly.toml і Dockerfile у тому вигляді, в якому вони записані. Він не бачить IP-адрес вашого застосунку, значень, заданих через fly secrets, і змін, зроблених через fly scale або Machines API, тому правила для портів баз даних і SSH виходять із того, що за замовчуванням Fly надає публічні адреси застосункам із сервісами (коментар "# flycast only" позначає застосунок як приватний), а F19 не може визначити, чи перевизначає секрет Fly значення за замовчуванням. Шаблон fly launch для більшості фреймворків не створює перевірки працездатності, тож там очікуйте F13. Порти, вибрані в коді чи в Procfile, не відстежуються, а безпека самого Dockerfile не перевіряється. NOT FLAGGED не є гарантією.

Вміст

Один ZIP-файл із 23 файлами: SKILL.md, сканер у scripts/ (6 файлів Python), references/rules.md (кожне правило з причиною та безпечнішим підходом) і examples/ (14 файлів прикладів плюс report.md, реальний вивід сканера щодо ризикованого прикладу).

Як користуватися: Це навик для агента: папка з файлом SKILL.md і скриптами Python, які може запускати ШІ-агент для програмування, наприклад Claude Code, Cursor або Codex CLI. Розпакуйте його в папку навиків вашого агента (для Claude Code: ~/.claude/skills/), потім попросіть агента перевірити ваш проєкт. Скрипти також працюють самостійно з Python 3.9 або новішим, нічого встановлювати не потрібно. Вони лише читають ваші файли: без доступу до мережі, і нічого нікуди не надсилається.

Що ви отримаєте

1 файл · 46.79 KB

  • fly-io-config-check-1.0.0.zipZIP · 46.79 KB
ЛіцензіяКомерційне використання дозволено
Перевірка пакетаПройдено

Getly відкрив завантажені файли й не знайшов нічого, що завадило б їх відкрити. Це не антивірусна перевірка і не оцінка якості.

Опубліковано12 лист. 2026 р.
Розмір файлу46.79 KB
Формат файлуZIP
Версіяv1.0

Теги

flyiofly-tomldeploymentsecuritydevopsai agent skill
R
RR HH

Поширені запитання

Чи отримаю я доступ одразу?

Так. Це цифровий товар: ви можете завантажити його одразу після оплати, просто зі своєї бібліотеки.

Чи можна використовувати його в комерційних проєктах?

Так. Комерційне використання дозволено: користуйтеся в особистому бізнесі та в тому, що продаєте. Ви не можете перепродавати чи поширювати сам файл.

Яка у вас політика повернення коштів?

Ви можете запросити повернення коштів протягом 30 дн. Якщо щось не так, подайте запит зі свого замовлення, і команда Getly його розгляне.

Які формати та розміри файлів я отримаю?

Ви завантажите 1 файл - ZIP - загалом 46.79 KB.

Чи отримую я безкоштовні оновлення?

Так: коли продавець випускає нову версію, ви можете повторно завантажити свіжі файли зі своєї бібліотеки безкоштовно. Останні оновлення дивіться в журналі змін.

Ціна

$5.00