Documentation ¶
Index ¶
- func IsActiveOperationInProgressError(err error) bool
- func IsAlreadyExistsError(err error) bool
- func IsNotFoundError(err error) bool
- type Bundle
- type Chart
- type Config
- type ConfigList
- type DriverType
- type EntityName
- type Factory
- type Instance
- type InstanceBindData
- type InstanceOperation
- type ProviderConfig
- type ProviderConfigMap
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsActiveOperationInProgressError ¶
IsActiveOperationInProgressError checks if given error is ActiveOperationInProgress error
func IsAlreadyExistsError ¶
IsAlreadyExistsError checks if given error is AlreadyExist error
func IsNotFoundError ¶
IsNotFoundError checks if given error is NotFound error
Types ¶
type Bundle ¶
type Bundle interface { Upsert(*internal.Bundle) (replace bool, err error) Get(internal.BundleName, semver.Version) (*internal.Bundle, error) GetByID(internal.BundleID) (*internal.Bundle, error) Remove(internal.BundleName, semver.Version) error RemoveByID(internal.BundleID) error RemoveAll() error FindAll() ([]*internal.Bundle, error) }
Bundle is an interface that describe storage layer operations for Bundles
type Chart ¶
type Chart interface { Upsert(*chart.Chart) (replace bool, err error) Get(name internal.ChartName, ver semver.Version) (*chart.Chart, error) Remove(name internal.ChartName, version semver.Version) error }
Chart is an interface that describe storage layer operations for Charts
type Config ¶
type Config struct { Driver DriverType `json:"driver" valid:"required"` Provide ProviderConfigMap `json:"provide" valid:"required"` Etcd etcd.Config `json:"etcd"` Memory memory.Config `json:"memory"` }
Config contains database configuration.
type ConfigList ¶
type ConfigList []Config
ConfigList is a list of configurations
func ConfigParse ¶
func ConfigParse(inByte []byte) (*ConfigList, error)
ConfigParse is parsing yaml file to the ConfigList
func NewConfigListAllMemory ¶
func NewConfigListAllMemory() *ConfigList
NewConfigListAllMemory returns configured configList with the memory driver for all entities.
type DriverType ¶
type DriverType string
DriverType defines type of data storage
const ( // DriverEtcd is a driver for key-value store - Etcd DriverEtcd DriverType = "etcd" // DriverMemory is a driver to local in-memory store DriverMemory DriverType = "memory" )
type EntityName ¶
type EntityName string
EntityName defines name of the entity in database
const ( // EntityAll represents name of all entities EntityAll EntityName = "all" // EntityChart represents name of chart entities EntityChart EntityName = "chart" // EntityBundle represents name of bundle entities EntityBundle EntityName = "bundle" // EntityInstance represents name of services instances entities EntityInstance EntityName = "instance" // EntityInstanceOperation represents name of instances operations entities EntityInstanceOperation EntityName = "instanceOperation" // EntityInstanceBindData represents name of bind data entities EntityInstanceBindData EntityName = "entityInstanceBindData" )
type Factory ¶
type Factory interface { Bundle() Bundle Chart() Chart Instance() Instance InstanceOperation() InstanceOperation InstanceBindData() InstanceBindData }
Factory provides access to concrete storage. Multiple calls should to specific storage return the same storage instance.
func NewFactory ¶
func NewFactory(cl *ConfigList) (Factory, error)
NewFactory is a factory for entities based on given ConfigList TODO: add error handling
type Instance ¶
type Instance interface { Insert(*internal.Instance) error Get(id internal.InstanceID) (*internal.Instance, error) GetAll() ([]*internal.Instance, error) Remove(id internal.InstanceID) error }
Instance is an interface that describe storage layer operations for Instances
type InstanceBindData ¶
type InstanceBindData interface { Insert(*internal.InstanceBindData) error Get(internal.InstanceID) (*internal.InstanceBindData, error) Remove(internal.InstanceID) error }
InstanceBindData is an interface that describe storage layer operations for InstanceBindData entities
type InstanceOperation ¶
type InstanceOperation interface { // Insert is inserting object into storage. // Object is modified by setting CreatedAt. Insert(*internal.InstanceOperation) error Get(internal.InstanceID, internal.OperationID) (*internal.InstanceOperation, error) GetAll(internal.InstanceID) ([]*internal.InstanceOperation, error) UpdateState(internal.InstanceID, internal.OperationID, internal.OperationState) error UpdateStateDesc(internal.InstanceID, internal.OperationID, internal.OperationState, *string) error Remove(internal.InstanceID, internal.OperationID) error }
InstanceOperation is an interface that describe storage layer operations for InstanceOperations
type ProviderConfig ¶
type ProviderConfig struct{}
ProviderConfig provides configuration to the database provider
type ProviderConfigMap ¶
type ProviderConfigMap map[EntityName]ProviderConfig
ProviderConfigMap contains map of provided configurations for given entities