Documentation
¶
Overview ¶
Package daemon provides the OmniVault daemon server.
Index ¶
- Constants
- type ChangePasswordRequest
- type ErrorResponse
- type ExportRequest
- type ExportResponse
- type ExportedSecret
- type ImportRequest
- type ImportResponse
- type InitRequest
- type ListResponse
- type SearchRequest
- type SearchResponse
- type SecretListItem
- type SecretResponse
- type Server
- type ServerConfig
- type SetSecretRequest
- type StatusResponse
- type SuccessResponse
- type UnlockRequest
Constants ¶
const ( ErrCodeVaultLocked = "VAULT_LOCKED" ErrCodeVaultNotFound = "VAULT_NOT_FOUND" ErrCodeSecretNotFound = "SECRET_NOT_FOUND" ErrCodeInvalidPassword = "INVALID_PASSWORD" ErrCodeInvalidRequest = "INVALID_REQUEST" ErrCodeInternalError = "INTERNAL_ERROR" ErrCodeAlreadyExists = "ALREADY_EXISTS" )
Error codes.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChangePasswordRequest ¶
type ChangePasswordRequest struct {
OldPassword string `json:"old_password"`
NewPassword string `json:"new_password"`
}
ChangePasswordRequest is the request to change the master password.
type ErrorResponse ¶
type ErrorResponse struct {
Error string `json:"error"`
Code string `json:"code,omitempty"`
Details string `json:"details,omitempty"`
}
ErrorResponse is the response for errors.
type ExportRequest ¶ added in v0.5.0
type ExportRequest struct {
Prefix string `json:"prefix,omitempty"`
}
ExportRequest is the request to export secrets.
type ExportResponse ¶ added in v0.5.0
type ExportResponse struct {
Secrets []ExportedSecret `json:"secrets"`
Count int `json:"count"`
}
ExportResponse is the response for export requests.
type ExportedSecret ¶ added in v0.5.0
type ExportedSecret struct {
Path string `json:"path"`
Value string `json:"value,omitempty"`
Fields map[string]string `json:"fields,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
ExpiresAt time.Time `json:"expires_at,omitempty"`
}
ExportedSecret represents a secret for import/export.
type ImportRequest ¶ added in v0.5.0
type ImportRequest struct {
Secrets []ExportedSecret `json:"secrets"`
Merge bool `json:"merge"` // If true, skip existing secrets instead of overwriting
}
ImportRequest is the request to import secrets.
type ImportResponse ¶ added in v0.5.0
type ImportResponse struct {
Imported int `json:"imported"`
Skipped int `json:"skipped"`
Errors int `json:"errors"`
}
ImportResponse is the response for import requests.
type InitRequest ¶
type InitRequest struct {
Password string `json:"password"` //nolint:gosec // G117: password field is intentional for vault
}
InitRequest is the request to initialize a new vault.
type ListResponse ¶
type ListResponse struct {
Secrets []SecretListItem `json:"secrets"`
Count int `json:"count"`
}
ListResponse is the response for list requests.
type SearchRequest ¶ added in v0.5.0
SearchRequest is the request to search for secrets.
type SearchResponse ¶ added in v0.5.0
SearchResponse is the response for search requests.
type SecretListItem ¶
type SecretListItem struct {
Path string `json:"path"`
HasValue bool `json:"has_value"`
HasFields bool `json:"has_fields"`
Tags []string `json:"tags,omitempty"`
TagsMap map[string]string `json:"tags_map,omitempty"`
CreatedAt time.Time `json:"created_at,omitempty"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
ExpiresAt time.Time `json:"expires_at,omitempty"`
}
SecretListItem is an item in the secret list (metadata only).
type SecretResponse ¶
type SecretResponse struct {
Path string `json:"path"`
Value string `json:"value,omitempty"`
Fields map[string]string `json:"fields,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
CreatedAt time.Time `json:"created_at,omitempty"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
ExpiresAt time.Time `json:"expires_at,omitempty"`
}
SecretResponse is the response for get secret requests.
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server is the OmniVault daemon server.
func NewServerWithPaths ¶
func NewServerWithPaths(cfg ServerConfig, paths *config.Paths) *Server
NewServerWithPaths creates a new daemon server with custom paths (for testing).
type ServerConfig ¶
ServerConfig contains server configuration.
type SetSecretRequest ¶
type SetSecretRequest struct {
Value string `json:"value,omitempty"`
Fields map[string]string `json:"fields,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
}
SetSecretRequest is the request to set a secret.
type StatusResponse ¶
type StatusResponse struct {
Running bool `json:"running"`
Locked bool `json:"locked"`
VaultExists bool `json:"vault_exists"`
SecretCount int `json:"secret_count"`
UnlockedAt time.Time `json:"unlocked_at,omitempty"`
Uptime string `json:"uptime"`
}
StatusResponse is the response for status requests.
type SuccessResponse ¶
type SuccessResponse struct {
Success bool `json:"success"`
Message string `json:"message,omitempty"`
}
SuccessResponse is a generic success response.
type UnlockRequest ¶
type UnlockRequest struct {
Password string `json:"password"` //nolint:gosec // G117: password field is intentional for vault
}
UnlockRequest is the request to unlock the vault.