Documentation ¶
Overview ¶
Package storage contains logic around the Service Manager persistent storage
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Broker ¶
type Broker interface { // Create stores a broker in SM DB Create(ctx context.Context, broker *types.Broker) (string, error) // Get retrieves a broker using the provided id from SM DB Get(ctx context.Context, id string) (*types.Broker, error) // List retrieves all brokers from SM DB List(ctx context.Context) ([]*types.Broker, error) // Delete deletes a broker from SM DB Delete(ctx context.Context, id string) error // Update updates a broker from SM DB Update(ctx context.Context, broker *types.Broker) error }
Broker interface for Broker db operations
type Credentials ¶
type Credentials interface { // Get retrieves credentials using the provided username from SM DB Get(ctx context.Context, username string) (*types.Credentials, error) }
Credentials interface for Credentials db operations
type HealthIndicator ¶ added in v0.1.1
type HealthIndicator struct {
Pinger Pinger
}
HealthIndicator returns a new indicator for the storage
func (*HealthIndicator) Health ¶ added in v0.1.1
func (i *HealthIndicator) Health() *health.Health
Health returns the health of the storage component
func (*HealthIndicator) Name ¶ added in v0.1.1
func (i *HealthIndicator) Name() string
Name returns the name of the storage component
type OpenCloser ¶ added in v0.1.2
type OpenCloser interface { // Open initializes the storage, e.g. opens a connection to the underlying storage Open(options *Settings) error // Close clears resources associated with this storage, e.g. closes the connection the underlying storage Close() error }
OpenCloser represents an openable and closeable storage
type PingFunc ¶ added in v0.1.2
type PingFunc func() error
PingFunc is an adapter that allows to use regular functions as Pinger
type Pinger ¶ added in v0.1.2
type Pinger interface { // Ping verifies a connection to the database is still alive, establishing a connection if necessary. Ping() error }
Pinger allows pinging the storage to check liveliness
type Platform ¶
type Platform interface { // Create stores a platform in SM DB Create(ctx context.Context, platform *types.Platform) (string, error) // Get retrieves a platform using the provided id from SM DB Get(ctx context.Context, id string) (*types.Platform, error) // List retrieves all platforms from SM DB List(ctx context.Context) ([]*types.Platform, error) // Delete deletes a platform from SM DB Delete(ctx context.Context, id string) error // Update updates a platform from SM DB Update(ctx context.Context, platform *types.Platform) error }
Platform interface for Platform DB operations
type Repository ¶ added in v0.1.2
type Repository interface { Warehouse // InTransaction initiates a transaction and allows passing a function to be executed within the transaction InTransaction(ctx context.Context, f func(ctx context.Context, storage Warehouse) error) error }
Repository is a storage warehouse that can initiate a transaction
type Security ¶
type Security interface { // Lock locks the storage so that only one process can manipulate the encryption key. // Returns an error if the process has already acquired the lock Lock(ctx context.Context) error // Unlock releases the acquired lock. Unlock(ctx context.Context) error // Fetcher provides means to obtain the encryption key Fetcher() security.KeyFetcher // Setter provides means to change the encryption key Setter() security.KeySetter }
Security interface for encryption key operations
type ServiceOffering ¶ added in v0.1.2
type ServiceOffering interface { // Create stores a service offering in SM DB Create(ctx context.Context, serviceOffering *types.ServiceOffering) (string, error) // Get retrieves a service offering using the provided id from SM DB Get(ctx context.Context, id string) (*types.ServiceOffering, error) // ListByCatalogName retrieves all service offerings from SM DB that match the specified catalog name ListByCatalogName(ctx context.Context, name string) ([]*types.ServiceOffering, error) // ListWithServicePlansByBrokerID retrieves all service offerings with their service plans from SM DB that match the specified broker ID ListWithServicePlansByBrokerID(ctx context.Context, brokerID string) ([]*types.ServiceOffering, error) // List retrieves all service offerings from SM DB List(ctx context.Context) ([]*types.ServiceOffering, error) // Delete deletes a service offering from SM DB Delete(ctx context.Context, id string) error // Update updates a service offering from SM DB Update(ctx context.Context, serviceOffering *types.ServiceOffering) error }
ServiceOffering instance for Service Offerings DB operations
type ServicePlan ¶ added in v0.1.2
type ServicePlan interface { // Create stores a service plan in SM DB Create(ctx context.Context, servicePlan *types.ServicePlan) (string, error) // Get retrieves a service plan using the provided id from SM DB Get(ctx context.Context, id string) (*types.ServicePlan, error) // ListByCatalogName retrieves all service plans from SM DB that match the specified catalog name ListByCatalogName(ctx context.Context, name string) ([]*types.ServicePlan, error) // List retrieves all service plans from SM DB List(ctx context.Context) ([]*types.ServicePlan, error) // Delete deletes a service plan from SM DB Delete(ctx context.Context, id string) error // Update updates a service plan from SM DB Update(ctx context.Context, servicePlan *types.ServicePlan) error }
ServiceOffering instance for Service Plan DB operations
type Settings ¶
type Settings struct { URI string MigrationsURL string `mapstructure:"migrations_url"` EncryptionKey string `mapstructure:"encryption_key"` SkipSSLValidation bool `mapstructure:"skip_ssl_validation"` }
Settings type to be loaded from the environment
func DefaultSettings ¶
func DefaultSettings() *Settings
DefaultSettings returns default values for storage settings
type Storage ¶
type Storage interface { OpenCloser Pinger Repository }
Storage interface provides entity-specific storages
type Visibility ¶ added in v0.1.6
type Visibility interface { // Create stores a visibility in SM DB Create(ctx context.Context, visibility *types.Visibility) (string, error) // Get retrieves a visibility using the provided id from SM DB Get(ctx context.Context, id string) (*types.Visibility, error) // ListByPlatformID retrieves all visibilities from SM DB that match the specified platform id ListByPlatformID(ctx context.Context, platformID string) ([]*types.Visibility, error) // ListByServicePlanID retrieves all visibilities from SM DB that match the specified service plan id ListByServicePlanID(ctx context.Context, servicePlanID string) ([]*types.Visibility, error) // List retrieves all visibilities from SM DB List(ctx context.Context) ([]*types.Visibility, error) // Delete deletes a visibility from SM DB Delete(ctx context.Context, id string) error // Update updates a visibility from SM DB Update(ctx context.Context, visibility *types.Visibility) error }
Visibility interface for Visibility db operations
type Warehouse ¶ added in v0.1.2
type Warehouse interface { // Broker provides access to service broker db operations Broker() Broker // ServiceOffering provides access to service offering db operations ServiceOffering() ServiceOffering // ServicePlan provides access to service plan db operations ServicePlan() ServicePlan // Visibility provides access to visibilities db operations Visibility() Visibility // Platform provides access to platform db operations Platform() Platform // Credentials provides access to credentials db operations Credentials() Credentials // Security provides access to encryption key management Security() Security }
Warehouse contains the Service Manager data access object providers
Directories ¶
Path | Synopsis |
---|---|
Package postgres implements the Service Manager storage interfaces for Postgresql Repository
|
Package postgres implements the Service Manager storage interfaces for Postgresql Repository |
Code generated by counterfeiter.
|
Code generated by counterfeiter. |