D
DevOps в тапках
@devopsintapki52 подп.
53просмотров
6 марта 2026 г.
Score: 58
Привет! 👋🏻 Сегодня продолжение рассказов про пет-проект. Вернусь к базовым кирпичикам, из которых склеился плагин. 🧩 Любой вменяемый инженер сначала смотрит, что уже сделали до него, и только потом изобретает велосипеды. Здесь пазл у меня довольно красиво сложился из Python‑утилиты и IntelliJ‑плагина. Прежде чем писать что‑то своё, важно было понять, что уже существует и что можно переиспользовать. Цель была простой, не сесть писать свою криптографию на коленке и не городить самодельный формат vault‑файлов. В идеале я нашёл 🔵 существующий CLI, совместимый с ansible-vault 🔵 существующий IntelliJ‑плагин с нормальным UX 🔵 и лицензией, которая позволяет это всё честно скрестить. Ну, вроде позволяет 😅 ✅ Первый кирпичик 〰️ Python‑пакет ansible-vault-win. Это CLI‑утилита, которая полностью повторяет поведение оригинального ansible-vault, но работает на Windows. Она 🔵 понимает те же команды 〰️ encrypt, decrypt, view, encrypt_string 🔵 поддерживает --vault-password-file, --vault-id и привычный формат $ANSIBLE_VAULT;1.1;AES256 🔵 распространяется под MIT‑лицензией Фактически это значит, что можно сделать так pip install ansible-vault-win ansible-vault encrypt_string --stdin-name secret # шифрует строку, полученную через stdin, и создаёт YAML-переменную secret с зашифрованным значением и получить тот же формат секрета, который поймут плейбуки на любом окружении. Для плагина это идеальный сценарий, он просто вызывает ansible-vault, а внутри уже неважно, это оригинальный бинарь или его порт под Windows. ✅ Второй кирпичик 〰️ IntelliJ‑плагин Ansible Vault Integration. Он 🔵 написан на Kotlin под IntelliJ Platform 🔵 отлично интегрирован в IDE, intention actions Alt+Enter, контекстные меню в Project View, уведомления 🔵 умеет работать с YAML и vault identities 🔵 тоже под MIT, то есть его можно форкать и перерабатывать без танцев с юристами Данный плагин уже решает 80% задачи. В нём есть весь нужный UX 〰️ от контекстных действий до работы с editor API. Проблема только в том, что он зашит под POSIX‑окружение и WSL, а я как ранее писал, хочу нативный Windows‑опыт. Идея стала простой и мощной 💪 🔵 не изобретать свою криптографию 🔵 не городить свой формат секретов 🔵 а взять уже готовый CLI ansible-vault-win и готовый UX idea-ansible-vault-integration и соединить их На бумаге это звучит как ну что там, один адаптер написать, но в реальности это означает, что нужно очень аккуратно пройти по границам ответственности. Где заканчивается IntelliJ, где начинается CLI, какие данные бегают между ними, и где лучше всего вставить свой слой. Собственно, дальше и началось самое интересное — вскрытие исходников. Но об этом в следующем посте 😉 Хороших выходных! 👋 #ansible_vault #ansible_vault_win #intellij #pet_project #devops
53
просмотров
2755
символов
Да
эмодзи
Нет
медиа

Другие посты @devopsintapki

Все посты канала →
Привет! 👋🏻 Сегодня продолжение рассказов про пет-проект. В — @devopsintapki | PostSniper