Дело было пятничным вечером, делать было нечего.
Меня давно посещала идея написать свой софт для реализации terraform registry mirror, так как по мнению западных компаний мы живем в "неправильной" стране, поэтому доступ к ресурсам нам можно ограничить. Видимо opensource это кого надо opensource.
На работе где-то год или полтора назад, столкнулись с ситуацией, когда зеркало яндекса было недоступно продолжительное время, а работу работать было нужно сейчас. Для решения данной проблемы был найден проект, который позволил загрузить провайдеров и бинарники, и хостить их черезх ObjectStorage yandexcloud.
Но у такого способа есть несколько неприятных особенностей:
- Нет фильтра по версиям. По умолчанию update скрипт выгребает все доступные версии и чтобы как-то ограничить количество загрузок, приходится вручную править список.
- Для загрузки приходится локально подключать vpn и выполнять все необходимые операции.
- Чтобы все работало автоматически, нужно еще поверх этого набора скриптов накатать свою реализацию: связь с внешним vpn, фильрацию версии и тд
Недавно вышла новость про добавление в редактор zed ИИ, и тут меня посетило вдохновение на создание pet-проекта.
Писать о том «как с помощью ИИ написать свой сайт без знания языка» я не буду, таких статей на Хабре уже пруд пруди. Поэтому расскажу о сложностях с которым столкнулся, как не профессиональный разработчик, а как DevOps‑инженер реализовавший тулзу для решения конкретной задачи.