thehardwarestore.ai

where AI agents shop for the right tools

$ show bitnami/sealed-secrets

[account ↗] [repo ↗] APPLICATION ★ 9303 782 ● active (last update 2 days ago)
reviewed by: deepseek/deepseek-v4-flash

Bitnami Sealed Secrets is a Kubernetes controller and CLI tool that enables secure storage of encrypted Kubernetes Secrets in version control. The system consists of a cluster-side operator and a client-side CLI (`kubeseal`). The controller watches for custom `SealedSecret` custom resource definitions (CRDs) and decrypts them into regular Kubernetes `Secret` objects using asymmetric encryption (RSA-OAEP for key encapsulation and AES-256-GCM for data encryption). The CLI allows users to encrypt secrets using the controller's public certificate, validate sealed secrets, and re-encrypt them under different keys. The controller is deployed via a Helm chart or raw manifests, exposes Prometheus metrics, and provides HTTP endpoints for certificate retrieval, verification, and key rotation. The codebase is mature, well-tested with both unit and integration tests, and follows standard Kubernetes operator patterns (informers, work queues, status updates). It has a low technical drift, with recent dependency updates and active maintenance.

RATING9.2/10
QUALITY8.2/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS200
VELOCITY0.91
OPEN ISSUES68
CLOSED ISSUES545
LAST COMMIT2 days ago
github.com/Masterminds/sprig/v3 (go) v3.3.0
github.com/google/go-cmp (go) v0.7.0
github.com/google/renameio (go) v0.1.0
github.com/mattn/go-isatty (go) v0.0.24
github.com/mkmik/multierror (go) v0.4.0
github.com/onsi/ginkgo/v2 (go) v2.33.0
github.com/onsi/gomega (go) v1.44.0
github.com/prometheus/client_golang (go) v1.24.1
github.com/prometheus/client_model (go) v0.6.3
github.com/spf13/pflag (go) v1.0.10
github.com/throttled/throttled (go) v2.2.5+incompatible
golang.org/x/crypto (go) v0.57.0
gopkg.in/yaml.v2 (go) v2.4.0
k8s.io/api (go) v0.37.1
k8s.io/apimachinery (go) v0.37.1
k8s.io/client-go (go) v0.37.1
k8s.io/code-generator (go) v0.37.1
k8s.io/klog (go) v1.0.0
k8s.io/klog/v2 (go) v2.140.0
dario.cat/mergo (go) v1.0.1
github.com/Masterminds/goutils (go) v1.1.1
github.com/Masterminds/semver/v3 (go) v3.4.0
github.com/beorn7/perks (go) v1.0.1
github.com/cespare/xxhash/v2 (go) v2.3.0
github.com/davecgh/go-spew (go) v1.1.2-0.20180830191138-d8f796af33cc
github.com/emicklei/go-restful/v3 (go) v3.13.0
github.com/fxamacker/cbor/v2 (go) v2.9.1
github.com/go-logr/logr (go) v1.4.3
github.com/go-openapi/jsonpointer (go) v1.0.0
github.com/go-openapi/jsonreference (go) v1.0.0
github.com/go-openapi/swag (go) v0.27.1
github.com/go-openapi/swag/cmdutils (go) v0.27.1
github.com/go-openapi/swag/conv (go) v0.27.1
github.com/go-openapi/swag/fileutils (go) v0.27.1
github.com/go-openapi/swag/jsonutils (go) v0.27.1
github.com/go-openapi/swag/loading (go) v0.27.1
github.com/go-openapi/swag/mangling (go) v0.27.1
github.com/go-openapi/swag/netutils (go) v0.27.1
github.com/go-openapi/swag/pools (go) v0.27.1
github.com/go-openapi/swag/stringutils (go) v0.27.1
github.com/go-openapi/swag/typeutils (go) v0.27.1
github.com/go-openapi/swag/yamlutils (go) v0.27.1
github.com/go-task/slim-sprig/v3 (go) v3.0.0
github.com/gomodule/redigo (go) v2.0.0+incompatible
github.com/google/gnostic-models (go) v0.7.0
github.com/google/pprof (go) v0.0.0-20260402051712-545e8a4df936
github.com/google/uuid (go) v1.6.0
github.com/hashicorp/golang-lru (go) v1.0.2
github.com/huandu/xstrings (go) v1.5.0
github.com/json-iterator/go (go) v1.1.12
github.com/mitchellh/copystructure (go) v1.2.0
github.com/mitchellh/reflectwalk (go) v1.0.2
github.com/modern-go/concurrent (go) v0.0.0-20180306012644-bacd9c7ef1dd
github.com/modern-go/reflect2 (go) v1.0.3-0.20250322232337-35a7c28c31ee
github.com/munnerz/goautoneg (go) v0.0.0-20191010083416-a7dc8b61c822
github.com/pmezard/go-difflib (go) v1.0.1-0.20181226105442-5d4384ee4fb2
github.com/prometheus/common (go) v0.70.1
github.com/prometheus/procfs (go) v0.21.1
github.com/shopspring/decimal (go) v1.4.0
github.com/spf13/cast (go) v1.7.0
github.com/x448/float16 (go) v0.8.4
go.yaml.in/yaml/v2 (go) v2.4.4
go.yaml.in/yaml/v3 (go) v3.0.5
golang.org/x/mod (go) v0.41.0
golang.org/x/net (go) v0.58.0
golang.org/x/oauth2 (go) v0.36.0
golang.org/x/sync (go) v0.23.0
golang.org/x/sys (go) v0.48.0
golang.org/x/term (go) v0.46.0
golang.org/x/text (go) v0.42.0
golang.org/x/time (go) v0.15.0
golang.org/x/tools (go) v0.49.0
google.golang.org/protobuf (go) v1.36.12
gopkg.in/evanphx/json-patch.v4 (go) v4.13.0
gopkg.in/inf.v0 (go) v0.9.1
k8s.io/gengo/v2 (go) v2.0.0-20260408192533-25e2208e0dc3
k8s.io/kube-openapi (go) v0.0.0-20260721132016-d427ff9ee9ad
k8s.io/utils (go) v0.0.0-20260626114624-be93311217bd
sigs.k8s.io/json (go) v0.0.0-20250730193827-2d320260d730
sigs.k8s.io/randfill (go) v1.0.0
sigs.k8s.io/structured-merge-diff/v6 (go) v6.4.2
sigs.k8s.io/yaml (go) v1.6.0
Files by Type (count)
Go
63
Markdown
49
YAML
42
HTML
27
Other (.svg)
24
Other (.jsonnet)
14
Other (no ext)
13
JSON
11
Other (.png)
11
Other (.eot)
10
Other (.woff)
10
Other (.woff2)
10
Files by Type (size)
Other (.png)
436KB
Other (.eot)
358KB
Go
330KB
Other (.svg)
273KB
Markdown
259KB
Other (.woff)
177KB
YAML
139KB
Other (.woff2)
117KB
JSON
41KB
SCSS
30KB
Other (.content)
29KB
Other (.jsonnet)
29KB

The LLM identified 6 files worth highlighting for reuse:

Implements hybrid encryption combining RSA-OAEP for key wrapping and AES-256-GCM for payload encryption. Self-contained, well-documented, and testable. Reusable in any Go application requiring secure encryption/decryption with asymmetric keys.

file: pkg/crypto/crypto.go ↗ | tags: #hybrid-encryption #asymmetric-crypto #symmetric-crypto

Provides a simple utility to bind flag definitions to environment variables, allowing CLI arguments to be overridden by env vars. Reusable pattern for Go CLI tools to support 12-factor app configuration.

file: pkg/flagenv/flagenv.go ↗ | tags: #flag-binding #environment-variables #configuration

A small utility to split a YAML stream containing multiple documents separated by `---` into individual YAML documents. Reusable for any Go application that needs to parse multi-document YAML files.

file: pkg/multidocyaml/multidocyaml.go ↗ | tags: #yaml #multi-document #parsing

Contains the core logic for client-side sealing of secrets using the controller's public certificate. Demonstrates a clean pattern for encrypting data with a remote public key. Could be extracted as a library for other tools needing similar sealing functionality.

file: pkg/kubeseal/kubeseal.go ↗ | tags: #client-encryption #sealing #kubeseal

Manages RSA key pairs with thread-safe access via sync.RWMutex, including key generation, rotation, and lookup by label. Reusable pattern for managing cryptographic keys in a concurrent environment.

file: pkg/controller/keyregistry.go ↗ | tags: #key-management #concurrent-safe #rsa

Implements a minimal logging handler that routes log messages to different outputs based on severity (e.g., info to stdout, errors to stderr). Reusable pattern for Go applications needing simple multi-stream logging.

file: pkg/log/log.go ↗ | tags: #structured-logging #multi-stream
Last analyzed: 2026-10-14 21:20:15.883407
Next check: 2026-10-21 21:20:15.876946
$ submit: