v1.0.0 — Общая доступность (GA)
Tuck v1.0.0 — Общая доступность
Kubernetes-native менеджер секретов. Единый бинарный файл, отсутствие внешних зависимостей, автоматическое снятие печати.
Что такое Tuck?
Полнофункциональная замена HashiCorp Vault для команд, работающих с Kubernetes. Обеспечивает управление секретами без операционных накладных расходов:
- Единый бинарный файл (~20 МБ) — не требует Consul, etcd или внешней СУБД
- Развёртывание командой
kubectl apply— включены Helm-чарт, CRD и webhook-инжектор - Конвертное шифрование AES-256-GCM — открытые данные никогда не записываются в хранилище
- Автоматическое снятие печати — AWS KMS, GCP Cloud KMS, Azure Key Vault или схема Шамира
Состав функциональности
Движки секретов
- KV v1, KV v2 (версионирование, CAS, мягкое удаление), Cubbyhole, оборачивание ответов
- Transit (AES-GCM, ECDSA, Ed25519, RSA-PSS), PKI (CA X.509 + CRL), SSH (режим CA, сертификаты пользователей и узлов), TOTP (RFC 6238)
- Динамические учётные данные: PostgreSQL/MySQL, AWS IAM, GCP Service Accounts, Azure AD
Методы аутентификации
- Token (TTL, MaxUses, MaxTTL, Accessor, возобновление), Kubernetes SA, JWT/OIDC, AppRole, LDAP/Active Directory
Управление доступом
- ACL-политики с поддержкой glob-сопоставления и приоритетом правила запрета
Интеграция с Kubernetes
- CRD TuckSecret + оператор (выбор лидера)
- Webhook-инжектор агента (tmpfs — секреты не записываются в etcd)
- Helm-чарт
Эксплуатация
- Raft HA (3–5 узлов), резервное копирование и восстановление, ротация ключей
- Метрики Prometheus, трассировка OpenTelemetry, защищённый от подделки журнал аудита (цепочка хэшей SHA-256)
- TLS (самоподписанный ECDSA P-256 или пользовательский сертификат), ограничение частоты запросов, корректное завершение работы
- Файл конфигурации YAML (
tuck.yaml), переменные среды, флаги командной строки
Среда разработки и интеграции
- Встроенная веб-панель управления — KV, Токены, Политики, Аутентификация, Динамические секреты, PKI, Transit, SSH, TOTP
- Полнофункциональный CLI (
tuckcli) — 100% охват API - Go SDK (
pkg/client) — более 70 типизированных методов - Спецификация OpenAPI 3.0 (
/openapi.json) - goreleaser: linux/darwin/windows × amd64/arm64, подписи cosign, SBOM
Безопасность
- govulncheck: 0 уязвимостей (Go 1.25.11)
- gosec: 0 замечаний (81 файл, 17 977 строк)
- go vet: 0 ошибок
- Отчёт аудита: docs/AUDIT.md
- Модель угроз: docs/THREAT_MODEL.md
Быстрый старт
# Режим разработки (автоматическое снятие печати, конфигурация не требуется)
tuck --dev
# Запись и чтение секрета
tuckcli kv put secret/db password=hunter2
tuckcli kv get secret/db
# Kubernetes
helm install tuck ./charts/tuckПолное руководство: docs/getting-started.md
Реализовано на Go 1.25.11 · 194 HTTP-эндпоинта · 29 тестовых пакетов · Лицензия MIT