Агент
Сервер без Kubernetes — тоже потребитель секретов
Между кластерами и пайплайнами живёт огромный слой обычных машин: легаси-VM, docker-compose, юниты systemd. Для них есть агент — тот же бинарь в долгоживущем режиме, который держит файлы и окружение процесса в актуальном состоянии.
Один YAML — и файл всегда свежий
url: https://app.wardhold.ru
token_file: /etc/wardhold/agent.token
poll_interval: 30s
files:
- secret: backend/db
path: /run/wardhold/db.env
format: dotenv # dotenv | shell | json | template
exec:
command: ["myapp", "--config", "/etc/myapp.conf"]
env_from: [backend/db] # в окружение, не на диск
on_change: restart # restart | signal:SIGHUP | noneЗапись атомарна: сначала временный файл с нужными правами, потом переименование. Права выставляются до появления данных, по умолчанию — 0600.
Как агент ведёт себя в бою
Ротация без гонокработает
Опрашиваются метаданные; содержимое запрашивается только при смене версии и именно той версии, которую агент увидел. Опрос метаданных не засоряет журнал чтений содержимого.
Отказ хранилища не роняет сервисработает
При ошибках агент живёт на последнем известном состоянии и повторяет попытки с растущей паузой. Файлы не обнуляются, процесс не перезапускается впустую.
Нет кеша на дискеработает
Единственная материализация значений — сами приёмники. Класть их на tmpfs — рекомендация из документации.
Проверка подписи ответовв плане
Ключ инстанса и конверт подписи уже реализованы на сервере; закрепление ключа агентом — следующий шаг.
Разовый прогон тоже умеет
Ключ --once делает один проход: получить значения, отрендерить файлы, выйти. Удобно как подготовительный шаг соседнего юнита systemd, если долгоживущий процесс в схеме не нужен. Пример юнита есть в документации.
Начать
Аккаунт в облаке — за минуту
Регистрация открыта: почта и пароль. Организация, проект и личный сейф создаются сразу, платить за личное использование не нужно.