 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- type SecretData
- type VaultClient
- func (vc *VaultClient) Close() error
- func (vc *VaultClient) CreateToken(ctx context.Context, policies []string, ttl time.Duration) (*api.SecretAuth, error)
- func (vc *VaultClient) Decrypt(ctx context.Context, keyName string, ciphertext string) ([]byte, error)
- func (vc *VaultClient) DeleteSecret(ctx context.Context, path string) error
- func (vc *VaultClient) Encrypt(ctx context.Context, keyName string, plaintext []byte) (string, error)
- func (vc *VaultClient) GetClient() *api.Client
- func (vc *VaultClient) GetTransitKey(ctx context.Context, keyName string) error
- func (vc *VaultClient) HealthCheck(ctx context.Context) error
- func (vc *VaultClient) IsInitialized(ctx context.Context) (bool, error)
- func (vc *VaultClient) IsSealed(ctx context.Context) (bool, error)
- func (vc *VaultClient) ListSecrets(ctx context.Context, path string) ([]string, error)
- func (vc *VaultClient) ReadSecret(ctx context.Context, path string) (*SecretData, error)
- func (vc *VaultClient) RenewToken(ctx context.Context, token string, increment time.Duration) (*api.SecretAuth, error)
- func (vc *VaultClient) RevokeToken(ctx context.Context, token string) error
- func (vc *VaultClient) RotateSecret(ctx context.Context, path string, newData map[string]interface{}) error
- func (vc *VaultClient) WriteSecret(ctx context.Context, path string, data map[string]interface{}) error
 
- type VaultConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SecretData ¶
type SecretData struct {
	Data        map[string]interface{} `json:"data"`
	Version     int                    `json:"version"`
	CreatedTime time.Time              `json:"created_time"`
	UpdatedTime time.Time              `json:"updated_time"`
	Metadata    map[string]interface{} `json:"metadata"`
}
    SecretData represents a secret with metadata
type VaultClient ¶
type VaultClient struct {
	// contains filtered or unexported fields
}
    VaultClient wraps HashiCorp Vault client with additional functionality
func NewVaultClient ¶
func NewVaultClient(config VaultConfig, logger *logrus.Logger) (*VaultClient, error)
NewVaultClient creates a new Vault client
func (*VaultClient) Close ¶
func (vc *VaultClient) Close() error
Close closes the Vault client connection
func (*VaultClient) CreateToken ¶
func (vc *VaultClient) CreateToken(ctx context.Context, policies []string, ttl time.Duration) (*api.SecretAuth, error)
CreateToken creates a new Vault token with specified policies
func (*VaultClient) Decrypt ¶
func (vc *VaultClient) Decrypt(ctx context.Context, keyName string, ciphertext string) ([]byte, error)
Decrypt decrypts data using Vault's transit engine
func (*VaultClient) DeleteSecret ¶
func (vc *VaultClient) DeleteSecret(ctx context.Context, path string) error
DeleteSecret removes a secret at the given path
func (*VaultClient) Encrypt ¶
func (vc *VaultClient) Encrypt(ctx context.Context, keyName string, plaintext []byte) (string, error)
Encrypt encrypts data using Vault's transit engine
func (*VaultClient) GetClient ¶
func (vc *VaultClient) GetClient() *api.Client
GetClient returns the underlying Vault API client
func (*VaultClient) GetTransitKey ¶
func (vc *VaultClient) GetTransitKey(ctx context.Context, keyName string) error
GetTransitKey creates or retrieves a transit encryption key
func (*VaultClient) HealthCheck ¶
func (vc *VaultClient) HealthCheck(ctx context.Context) error
HealthCheck verifies Vault connection and status
func (*VaultClient) IsInitialized ¶
func (vc *VaultClient) IsInitialized(ctx context.Context) (bool, error)
IsInitialized checks if Vault is initialized
func (*VaultClient) IsSealed ¶
func (vc *VaultClient) IsSealed(ctx context.Context) (bool, error)
IsSealed checks if Vault is sealed
func (*VaultClient) ListSecrets ¶
ListSecrets lists all secrets under a given path
func (*VaultClient) ReadSecret ¶
func (vc *VaultClient) ReadSecret(ctx context.Context, path string) (*SecretData, error)
ReadSecret retrieves a secret from the given path
func (*VaultClient) RenewToken ¶
func (vc *VaultClient) RenewToken(ctx context.Context, token string, increment time.Duration) (*api.SecretAuth, error)
RenewToken renews a Vault token
func (*VaultClient) RevokeToken ¶
func (vc *VaultClient) RevokeToken(ctx context.Context, token string) error
RevokeToken revokes a Vault token
func (*VaultClient) RotateSecret ¶
func (vc *VaultClient) RotateSecret(ctx context.Context, path string, newData map[string]interface{}) error
RotateSecret creates a new version of an existing secret
func (*VaultClient) WriteSecret ¶
func (vc *VaultClient) WriteSecret(ctx context.Context, path string, data map[string]interface{}) error
WriteSecret stores a secret at the given path
type VaultConfig ¶
type VaultConfig struct {
	Address     string        `json:"address"`
	Token       string        `json:"token"`
	MountPath   string        `json:"mount_path"`
	Timeout     time.Duration `json:"timeout"`
	MaxRetries  int           `json:"max_retries"`
	EnableTLS   bool          `json:"enable_tls"`
	TLSInsecure bool          `json:"tls_insecure"`
}
    VaultConfig holds Vault client configuration