dataprovider

package
v0.40.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 13, 2024 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Overview

Package dataprovider is a generated GoMock package.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnsupportedStorageProvider = errors.New("unsupported storage provider")
	ErrStorageNotFound            = errors.New("storage provider not found")
)

Functions

func InitETCDClient

func InitETCDClient(ctx context.Context, opt StorageProviderOptions, _ string) (store.StorageClient, error)

InitETCDClient checks if the ETCD client is in memory and if the client is not nil, then it initializes the storage client and returns an ETCDClient. If either of these conditions are not met, an error is returned.

Types

type APIServerOptions

type APIServerOptions struct {
	// Context configures the Kubernetes context name to use for the connection. Use this for NON-production scenarios to test
	// against a specific cluster.
	Context string `yaml:"context"`

	// Namespace configures the Kubernetes namespace used for data-storage. The namespace must already exist.
	Namespace string `yaml:"namespace"`
}

APIServerOptions represents options for the configuring the Kubernetes APIServer store.

type CosmosDBOptions

type CosmosDBOptions struct {
	Url                  string `yaml:"url"`
	Database             string `yaml:"database"`
	MasterKey            string `yaml:"masterKey"`
	CollectionThroughput int    `yaml:"collectionThroughput,omitempty"`
}

CosmosDBOptions represents cosmosdb options for data storage provider.

type DataStorageProvider

type DataStorageProvider interface {
	// GetStorageClient creates or gets storage client.
	GetStorageClient(context.Context, string) (store.StorageClient, error)
}

DataStorageProvider is an interfae to provide storage client.

func NewStorageProvider

func NewStorageProvider(opts StorageProviderOptions) DataStorageProvider

NewStorageProvider creates a new instance of the "storageProvider" struct with the given "StorageProviderOptions" and returns it.

type ETCDOptions

type ETCDOptions struct {
	// InMemory configures the etcd store to run in-memory with the resource provider. This is not suitable for production use.
	InMemory bool `yaml:"inmemory"`

	// Client is used to access the etcd client when running in memory.
	//
	// NOTE: when we run etcd in memory it will be registered as its own hosting.Service with its own startup/shutdown lifecyle.
	// We need a way to share state between the etcd service and the things that want to consume it. This is that.
	Client *hosting.AsyncValue[etcdclient.Client] `yaml:"-"`
}

ETCDOptions represents options for the configuring the etcd store.

type InMemoryOptions added in v0.39.0

type InMemoryOptions struct{}

InMemoryOptions represents options for the in-memory store.

type MockDataStorageProvider

type MockDataStorageProvider struct {
	// contains filtered or unexported fields
}

MockDataStorageProvider is a mock of DataStorageProvider interface.

func NewMockDataStorageProvider

func NewMockDataStorageProvider(ctrl *gomock.Controller) *MockDataStorageProvider

NewMockDataStorageProvider creates a new mock instance.

func (*MockDataStorageProvider) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockDataStorageProvider) GetStorageClient

func (m *MockDataStorageProvider) GetStorageClient(arg0 context.Context, arg1 string) (store.StorageClient, error)

GetStorageClient mocks base method.

type MockDataStorageProviderGetStorageClientCall added in v0.35.0

type MockDataStorageProviderGetStorageClientCall struct {
	*gomock.Call
}

MockDataStorageProviderGetStorageClientCall wrap *gomock.Call

func (*MockDataStorageProviderGetStorageClientCall) Do added in v0.35.0

Do rewrite *gomock.Call.Do

func (*MockDataStorageProviderGetStorageClientCall) DoAndReturn added in v0.35.0

DoAndReturn rewrite *gomock.Call.DoAndReturn

func (*MockDataStorageProviderGetStorageClientCall) Return added in v0.35.0

Return rewrite *gomock.Call.Return

type MockDataStorageProviderMockRecorder

type MockDataStorageProviderMockRecorder struct {
	// contains filtered or unexported fields
}

MockDataStorageProviderMockRecorder is the mock recorder for MockDataStorageProvider.

func (*MockDataStorageProviderMockRecorder) GetStorageClient

GetStorageClient indicates an expected call of GetStorageClient.

type PostgreSQLOptions added in v0.39.0

type PostgreSQLOptions struct {
	// URL is the connection information for the PostgreSQL database in URL format.
	//
	// The URL should be formatted according to:
	// https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING-URIS
	//
	// The URL can contain secrets like passwords so it must be treated as sensitive.
	//
	// In place of the actual URL, you can substitute an environment variable by using the format:
	// 	${ENV_VAR_NAME}
	URL string `yaml:"url"`
}

PostgreSQLOptions represents options for the PostgreSQL store.

type StorageProviderOptions

type StorageProviderOptions struct {
	// Provider configures the storage provider.
	Provider StorageProviderType `yaml:"provider"`

	// APIServer configures options for the Kubernetes APIServer store. Will be ignored if another store is configured.
	APIServer APIServerOptions `yaml:"apiserver,omitempty"`

	// CosmosDB configures options for the CosmosDB store. Will be ignored if another store is configured.
	CosmosDB CosmosDBOptions `yaml:"cosmosdb,omitempty"`

	// ETCD configures options for the etcd store. Will be ignored if another store is configured.
	ETCD ETCDOptions `yaml:"etcd,omitempty"`

	// InMemory configures options for the in-memory store. Will be ignored if another store is configured.
	InMemory InMemoryOptions `yaml:"inmemory,omitempty"`

	// PostgreSQL configures options for connecting to a PostgreSQL database. Will be ignored if another store is configured.
	PostgreSQL PostgreSQLOptions `yaml:"postgresql,omitempty"`
}

StorageProviderOptions represents the data storage provider options.

type StorageProviderType

type StorageProviderType string

StorageProviderType represents types of storage provider.

const (
	// TypeAPIServer represents the Kubernetes APIServer provider.
	TypeAPIServer StorageProviderType = "apiserver"

	// TypeCosmosDB represents CosmosDB provider.
	TypeCosmosDB StorageProviderType = "cosmosdb"

	// TypeETCD represents the etcd provider.
	TypeETCD StorageProviderType = "etcd"

	// TypeInMemory represents the in-memory provider.
	TypeInMemory StorageProviderType = "inmemory"

	// TypePostgreSQL represents the PostgreSQL provider.
	TypePostgreSQL StorageProviderType = "postgresql"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL