Cloudflare
Подключить
Polylane расследует и объясняет проблемы, ничего не меняя в вашем аккаунте.
Подключите Cloudflare из терминала. Передайте --help, чтобы увидеть флаги, которые принимает Cloudflare, а также --no-browser для окружений без браузера.
polylane cloud connect --provider cloudflareПринадлежащий аккаунту API-токен только для чтения.
Cloudflare подключается с помощью принадлежащего аккаунту API-токена только для чтения. Polylane расследует и объясняет найденное, ничего не меняя в вашем аккаунте; когда исправление заключается в коде, оно приходит как pull request на ваше ревью. Ваш токен шифруется перед сохранением, и агент никогда его не видит.
Настройка
- Нажмите Create read-only token выше или Create API token в форме подключения в консоли. Оба варианта открывают экран API-токенов аккаунта Cloudflare со всеми нужными Polylane разрешениями, выбранными заранее.
- Выберите аккаунт, который хотите подключить. Чтобы создать принадлежащий аккаунту токен, вы должны быть Super Administrator этого аккаунта.
- Проверьте предзаполненные разрешения, затем нажмите Continue to summary и Create Token.
- Скопируйте токен и вставьте его обратно в Polylane.
- Polylane проверяет токен и начинает синхронизацию.
Для полного обнаружения ресурсов вам нужен Workers Paid plan.
Разрешения
Предварительно настроенная ссылка создаёт принадлежащий аккаунту токен: долгоживущий сервисный принципал, который продолжает работать, даже если создавший его человек покинет аккаунт. Все разрешения только для чтения и распространяются на весь аккаунт:
- Developer Platform: Workers, KV, R2, D1, Queues, Pipelines, Hyperdrive, Durable Objects, Containers, Secrets Store, Artifacts и другие
- AI & Machine Learning: Workers AI, AI Gateway, AutoRAG, Vectorize, AI Search
- DNS & Zones: DNS, настройки зон, регистратор, DNS firewall
- Network Services: Load Balancing, Magic Transit/WAN, Spectrum, туннели
- App Security: WAF, наборы правил, DDoS, управление ботами, правила страниц, сертификаты
- Cache, Email, Media, Rules, Analytics & Logs
Ничто в токене не может создать, изменить или удалить что-либо в вашем аккаунте: никаких деплоев, изменений конфигурации, откатов, управления биллингом или API-токенами. Исправления вместо этого приходят как pull request'ы.
Отключение
Отключите аккаунт в Polylane, затем отозовите API-токен в дашборде Cloudflare в разделе My Profile → API Tokens (или Manage Account → API Tokens для принадлежащих аккаунту токенов).
Подключите Cloudflare из CI-задания или любого другого окружения без браузера.
Для подключения Cloudflare браузер не нужен: тот же эндпоинт, который вызывает консоль, помещается в CI-задание. Один аутентифицированный POST создаёт подключение и запускает первую синхронизацию.
Требования
- API-ключ Polylane с областями
cloud_accounts:writeиcloud_accounts:read. См. API-ключи и OAuth. - ID вашего рабочего пространства, который начинается с
ws_. Прочитайте его изGET /v1/workspacesтем же ключом. - Принадлежащий аккаунту API-токен Cloudflare. Ссылка Create read-only token выше заранее выбирает все разрешения, которые нужны Polylane.
Создайте подключение
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "cloudflare",
"workspaceId": "ws_0abc123",
"token": "<cloudflare-api-token>",
"readOnly": true
}'
Один вызов подключает каждый аккаунт Cloudflare, доступный токену, каждый как отдельное подключение.
readOnlyфиксирует, что токен был создан только для чтения; опустите его (или передайтеfalse) для токена, который может писать.createMonitoringAlarms(необязательно, по умолчаниюtrue) управляет алертами наблюдаемости Workers по умолчанию.
Ответ перечисляет, что было подключено, с уже запущенной первой синхронизацией. Сокращён до двух полей, которые читает остальная часть процесса:
{
"success": true,
"result": {
"provider": "cloudflare",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
Уже подключённый аккаунт попадает в failures, а не в accounts, поэтому повторный вызов никогда не дублирует подключение.
Дождитесь первой синхронизации
Опрашивайте каждый возвращённый аккаунт по его id, пока status не достигнет ready (new при регистрации, syncing пока ресурсы поступают):
until [ "$(curl -s "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY" | jq -r '.result.status')" = "ready" ]; do
sleep 15
done
Задайте циклу предельное время, чтобы неудачное подключение проваливало задание, а не подвешивало его. Как только аккаунт в состоянии ready, его ресурсы находятся в топологии, и Polylane начал свою первую проверку.
Отключение через API
Удаление подключения останавливает все синхронизации и проверки и удаляет учётные данные, которые хранил Polylane. Вызову нужна область cloud_accounts:delete:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Затем отозовите учётные данные Cloudflare на стороне провайдера, как описано ниже в разделе Отключение.
Отключить
Отключение останавливает все синхронизации и проверки и удаляет учётные данные, которые хранил Polylane. Всё, что Polylane настроил в Cloudflare, также удаляется; ничего не остаётся.
polylane cloud disconnect <id>Инструменты
14Операции, которые агенты могут выполнять в тредах.
Поддерживаемые ресурсы
47Типы ресурсов, которые появляются в графе вашей инфраструктуры.