Skip to content

v1.0.0 — Общая доступность (GA)

Choose a tag to compare

@NAGenaev NAGenaev released this 12 Jun 20:05
· 78 commits to main since this release

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