Versions in this module Expand all Collapse all v0 v0.0.16 Feb 11, 2026 v0.0.15 Feb 11, 2026 Changes in this version + type CreateSecretInput struct + AppID string + Description string + Path string + Tags []string + Value any + ValueType string + type CreateSecretOutput struct + Secret SecretItem type DashboardExtension + func (e *DashboardExtension) BridgeFunctions() []ui.BridgeFunction + type DeleteSecretInput struct + AppID string + SecretID string + type DeleteSecretOutput struct + Message string + Success bool + type GetSecretInput struct + AppID string + SecretID string + type GetSecretOutput struct + Secret SecretItem + type GetSecretsInput struct + AppID string + Page int + PageSize int + Search string + type GetSecretsOutput struct + Page int + PageSize int + Secrets []SecretItem + Total int64 + TotalPages int + type RevealSecretInput struct + AppID string + SecretID string + type RevealSecretOutput struct + Value any + ValueType string + type SecretItem struct + CreatedAt string + Description string + ID string + Key string + Path string + Tags []string + UpdatedAt string + ValueType string + Version int + type UpdateSecretInput struct + AppID string + ChangeReason string + Description string + SecretID string + Tags []string + Value any + type UpdateSecretOutput struct + Secret SecretItem v0.0.14 Jan 4, 2026 v0.0.13 Jan 3, 2026 v0.0.12 Jan 3, 2026 v0.0.11 Jan 3, 2026 v0.0.10 Jan 3, 2026 v0.0.9 Jan 3, 2026 v0.0.8 Dec 31, 2025 v0.0.7 Dec 29, 2025 Changes in this version + type CreateSecretRequest struct + Description string + Metadata map[string]interface{} + Path string + Tags []string + Value interface{} + ValueType string + type DeleteSecretRequest struct + ID string + type GetByPathRequest struct + Path string + type GetSecretRequest struct + ID string + type GetTreeRequest struct + Prefix string + type GetValueRequest struct + ID string + type GetVersionsRequest struct + ID string + Page int + PageSize int + type ListSecretsRequest struct + Page int + PageSize int + Prefix string + Recursive bool + Search string + SortBy string + SortOrder string + Tags []string + ValueType string + type RollbackRequest struct + ID string + Reason string + Version string + type UpdateSecretRequest struct + Description string + ID string + Metadata map[string]interface{} + Tags []string + Value interface{} v0.0.6 Dec 17, 2025 v0.0.5 Dec 12, 2025 v0.0.4 Dec 8, 2025 v0.0.3 Dec 8, 2025 Changes in this version + const EnvMasterKey + const MasterKeyLength + const NonceLength + const PluginDescription + const PluginID + const PluginName + const PluginVersion + const SaltLength + func FormatValue(value interface{}, valueType core.SecretValueType) string + func GenerateMasterKey() (string, error) + type AccessConfig struct + AllowAPIAccess bool + AllowDashboardAccess bool + RateLimitPerMinute int + RequireAuthentication bool + RequireRBAC bool + type AuditConfig struct + AutoCleanup bool + EnableAccessLog bool + LogReads bool + LogWrites bool + RetentionDays int + type Config struct + Access AccessConfig + Audit AuditConfig + ConfigSource ConfigSourceConfig + Dashboard DashboardConfig + Encryption EncryptionConfig + Versioning VersioningConfig + func DefaultConfig() *Config + func (c *Config) Merge(other *Config) + func (c *Config) Validate() error + type ConfigSourceConfig struct + AutoRefresh bool + Enabled bool + Prefix string + Priority int + RefreshInterval time.Duration + type DashboardConfig struct + EnableExport bool + EnableImport bool + EnableReveal bool + EnableTreeView bool + RevealTimeout time.Duration + type DashboardExtension struct + func NewDashboardExtension(plugin *Plugin) *DashboardExtension + func (e *DashboardExtension) DashboardWidgets() []ui.DashboardWidget + func (e *DashboardExtension) ExtensionID() string + func (e *DashboardExtension) HandleCreateSecret(c forge.Context) error + func (e *DashboardExtension) HandleDeleteSecret(c forge.Context) error + func (e *DashboardExtension) HandleRevealValue(c forge.Context) error + func (e *DashboardExtension) HandleRollback(c forge.Context) error + func (e *DashboardExtension) HandleUpdateSecret(c forge.Context) error + func (e *DashboardExtension) NavigationItems() []ui.NavigationItem + func (e *DashboardExtension) Routes() []ui.Route + func (e *DashboardExtension) ServeCreateSecretPage(c forge.Context) error + func (e *DashboardExtension) ServeEditSecretPage(c forge.Context) error + func (e *DashboardExtension) ServeSecretDetailPage(c forge.Context) error + func (e *DashboardExtension) ServeSecretsListPage(c forge.Context) error + func (e *DashboardExtension) ServeVersionHistoryPage(c forge.Context) error + func (e *DashboardExtension) SetRegistry(registry *dashboard.ExtensionRegistry) + func (e *DashboardExtension) SettingsPages() []ui.SettingsPage + func (e *DashboardExtension) SettingsSections() []ui.SettingsSection + type EncryptionConfig struct + MasterKey string + RotateKeyAfter time.Duration + TestOnStartup bool + type EncryptionService struct + func NewEncryptionService(masterKeyBase64 string) (*EncryptionService, error) + func (e *EncryptionService) ClearKeyCache() + func (e *EncryptionService) ClearKeyForTenant(appID, envID string) + func (e *EncryptionService) Decrypt(ciphertext, nonce []byte, appID, envID string) ([]byte, error) + func (e *EncryptionService) DeriveKey(appID, envID string) []byte + func (e *EncryptionService) Encrypt(plaintext []byte, appID, envID string) (ciphertext, nonce []byte, err error) + func (e *EncryptionService) ReEncrypt(ciphertext, nonce []byte, oldAppID, oldEnvID string, newAppID, newEnvID string) (newCiphertext, newNonce []byte, err error) + func (e *EncryptionService) TestEncryption() error + func (e *EncryptionService) ValidateMasterKey() error + type ErrorResponse struct + Code string + Error string + Message string + type Handler struct + func NewHandler(service *Service, logger forge.Logger) *Handler + func (h *Handler) Create(c forge.Context) error + func (h *Handler) Delete(c forge.Context) error + func (h *Handler) Get(c forge.Context) error + func (h *Handler) GetByPath(c forge.Context) error + func (h *Handler) GetStats(c forge.Context) error + func (h *Handler) GetTree(c forge.Context) error + func (h *Handler) GetValue(c forge.Context) error + func (h *Handler) GetValueByPath(c forge.Context) error + func (h *Handler) GetVersions(c forge.Context) error + func (h *Handler) List(c forge.Context) error + func (h *Handler) Rollback(c forge.Context) error + func (h *Handler) Update(c forge.Context) error + type Plugin struct + func NewPlugin(opts ...PluginOption) *Plugin + func (p *Plugin) Config() *Config + func (p *Plugin) CreateConfigSource(appID, envID string) (*SecretsConfigSource, error) + func (p *Plugin) DashboardExtension() ui.DashboardExtension + func (p *Plugin) Description() string + func (p *Plugin) GetConfigSource(appID, envID string) *SecretsConfigSource + func (p *Plugin) ID() string + func (p *Plugin) Init(auth core.Authsome) error + func (p *Plugin) Logger() forge.Logger + func (p *Plugin) Migrate() error + func (p *Plugin) Name() string + func (p *Plugin) Priority() int + func (p *Plugin) RegisterHooks(hookRegistry *hooks.HookRegistry) error + func (p *Plugin) RegisterRoles(roleRegistry rbac.RoleRegistryInterface) error + func (p *Plugin) RegisterRoutes(router forge.Router) error + func (p *Plugin) RegisterServiceDecorators(services *registry.ServiceRegistry) error + func (p *Plugin) Service() *Service + func (p *Plugin) Version() string + type PluginOption func(*Plugin) + func WithAuditEnabled(enabled bool) PluginOption + func WithConfigSourceEnabled(enabled bool) PluginOption + func WithConfigSourcePrefix(prefix string) PluginOption + func WithDefaultConfig(cfg *Config) PluginOption + func WithMasterKey(key string) PluginOption + func WithMaxVersions(max int) PluginOption + type Repository interface + CountExpiringSecrets func(ctx context.Context, appID, envID xid.ID, withinDays int) (int, error) + CountSecrets func(ctx context.Context, appID, envID xid.ID) (int, error) + CountVersions func(ctx context.Context, appID, envID xid.ID) (int, error) + Create func(ctx context.Context, secret *schema.Secret) error + CreateVersion func(ctx context.Context, version *schema.SecretVersion) error + Delete func(ctx context.Context, id xid.ID) error + DeleteOldAccessLogs func(ctx context.Context, olderThan time.Time) (int64, error) + DeleteOldVersions func(ctx context.Context, secretID xid.ID, keepCount int) error + FindByID func(ctx context.Context, id xid.ID) (*schema.Secret, error) + FindByPath func(ctx context.Context, appID, envID xid.ID, path string) (*schema.Secret, error) + FindVersion func(ctx context.Context, secretID xid.ID, version int) (*schema.SecretVersion, error) + GetSecretsByType func(ctx context.Context, appID, envID xid.ID) (map[string]int, error) + HardDelete func(ctx context.Context, id xid.ID) error + List func(ctx context.Context, appID, envID xid.ID, query *core.ListSecretsQuery) ([]*schema.Secret, int, error) + ListAccessLogs func(ctx context.Context, secretID xid.ID, query *core.GetAccessLogsQuery) ([]*schema.SecretAccessLog, int, error) + ListVersions func(ctx context.Context, secretID xid.ID, page, pageSize int) ([]*schema.SecretVersion, int, error) + LogAccess func(ctx context.Context, log *schema.SecretAccessLog) error + Update func(ctx context.Context, secret *schema.Secret) error + func NewRepository(db *bun.DB) Repository + type SchemaValidator struct + func NewSchemaValidator() *SchemaValidator + func (v *SchemaValidator) DeserializeValue(data []byte, valueType core.SecretValueType) (interface{}, error) + func (v *SchemaValidator) DetectValueType(value interface{}) core.SecretValueType + func (v *SchemaValidator) ParseValue(raw string, valueType core.SecretValueType) (interface{}, error) + func (v *SchemaValidator) SerializeValue(value interface{}, valueType core.SecretValueType) ([]byte, error) + func (v *SchemaValidator) ValidateSchema(schemaJSON string) error + func (v *SchemaValidator) ValidateValue(value interface{}, valueType core.SecretValueType, schemaJSON string) error + type SecretsConfigSource struct + func NewSecretsConfigSource(service *Service, appID, envID string, prefix string, priority int, ...) *SecretsConfigSource + func (s *SecretsConfigSource) CacheSize() int + func (s *SecretsConfigSource) ClearCache() + func (s *SecretsConfigSource) Get(key string) (interface{}, bool) + func (s *SecretsConfigSource) GetName() string + func (s *SecretsConfigSource) GetSecret(ctx context.Context, key string) (string, error) + func (s *SecretsConfigSource) GetString(key string) (string, bool) + func (s *SecretsConfigSource) GetType() string + func (s *SecretsConfigSource) IsAvailable(ctx context.Context) bool + func (s *SecretsConfigSource) IsLoaded() bool + func (s *SecretsConfigSource) IsWatchable() bool + func (s *SecretsConfigSource) Keys() []string + func (s *SecretsConfigSource) LastLoadTime() time.Time + func (s *SecretsConfigSource) Load(ctx context.Context) (map[string]interface{}, error) + func (s *SecretsConfigSource) Name() string + func (s *SecretsConfigSource) Priority() int + func (s *SecretsConfigSource) Reload(ctx context.Context) error + func (s *SecretsConfigSource) StopWatch() error + func (s *SecretsConfigSource) SupportsSecrets() bool + func (s *SecretsConfigSource) Watch(ctx context.Context, callback func(map[string]interface{})) error + type Service struct + func NewService(repo Repository, encryption *EncryptionService, validator *SchemaValidator, ...) *Service + func (s *Service) Create(ctx context.Context, req *core.CreateSecretRequest) (*core.SecretDTO, error) + func (s *Service) Delete(ctx context.Context, id xid.ID) error + func (s *Service) Get(ctx context.Context, id xid.ID) (*core.SecretDTO, error) + func (s *Service) GetByPath(ctx context.Context, path string) (*core.SecretDTO, error) + func (s *Service) GetStats(ctx context.Context) (*core.StatsDTO, error) + func (s *Service) GetTree(ctx context.Context, prefix string) ([]*core.SecretTreeNode, error) + func (s *Service) GetValue(ctx context.Context, id xid.ID) (interface{}, error) + func (s *Service) GetValueByPath(ctx context.Context, path string) (interface{}, error) + func (s *Service) GetVersions(ctx context.Context, id xid.ID, page, pageSize int) ([]*core.SecretVersionDTO, *pagination.Pagination, error) + func (s *Service) GetWithValue(ctx context.Context, id xid.ID) (*core.SecretWithValueDTO, error) + func (s *Service) List(ctx context.Context, query *core.ListSecretsQuery) ([]*core.SecretDTO, *pagination.Pagination, error) + func (s *Service) Rollback(ctx context.Context, id xid.ID, targetVersion int, reason string) (*core.SecretDTO, error) + func (s *Service) Update(ctx context.Context, id xid.ID, req *core.UpdateSecretRequest) (*core.SecretDTO, error) + type SuccessResponse struct + Data interface{} + Message string + Success bool + type VersioningConfig struct + AutoCleanup bool + CleanupInterval time.Duration + MaxVersions int + RetentionDays int