Documentation ¶
Index ¶
- Constants
- Variables
- type BlobStorageInstance
- type BlobStorageProvider
- type BlobStorageProviderMock
- func (mock *BlobStorageProviderMock) CreateStorage(ctx context.Context, bs *v1alpha1.BlobStorage) (*BlobStorageInstance, croType.StatusMessage, error)
- func (mock *BlobStorageProviderMock) CreateStorageCalls() []struct{ ... }
- func (mock *BlobStorageProviderMock) DeleteStorage(ctx context.Context, bs *v1alpha1.BlobStorage) (croType.StatusMessage, error)
- func (mock *BlobStorageProviderMock) DeleteStorageCalls() []struct{ ... }
- func (mock *BlobStorageProviderMock) GetName() string
- func (mock *BlobStorageProviderMock) GetNameCalls() []struct{}
- func (mock *BlobStorageProviderMock) GetReconcileTime(bs *v1alpha1.BlobStorage) time.Duration
- func (mock *BlobStorageProviderMock) GetReconcileTimeCalls() []struct{ ... }
- func (mock *BlobStorageProviderMock) SupportsStrategy(s string) bool
- func (mock *BlobStorageProviderMock) SupportsStrategyCalls() []struct{ ... }
- type CloudProviderMetricType
- type ConfigManager
- type ConfigManagerMock
- type ConfigMapConfigManager
- type DeploymentDetails
- type DeploymentDetailsMock
- type DeploymentStrategyMapping
- type GenericCloudMetric
- type PostgresDeploymentDetails
- type PostgresInstance
- type PostgresMetricsProvider
- type PostgresProvider
- type PostgresSnapshotInstance
- type PostgresSnapshotProvider
- type RedisCluster
- type RedisDeploymentDetails
- type RedisMetricsProvider
- type RedisProvider
- type RedisSnapshotInstance
- type RedisSnapshotProvider
- type ResourceType
- type ScrapeMetricsData
Constants ¶
const ( AWSDeploymentStrategy = "aws" OpenShiftDeploymentStrategy = "openshift" GCPDeploymentStrategy = "gcp" BlobStorageResourceType ResourceType = "blobstorage" PostgresResourceType ResourceType = "postgres" RedisResourceType ResourceType = "redis" NetworkResourceType ResourceType = "_network" )
const (
DefaultProviderConfigMapName = "cloud-resource-config"
)
DefaultProviderConfigMapName represents the default config map name
Variables ¶
var DefaultConfigNamespace, _ = k8sutil.GetWatchNamespace()
DefaultConfigNamespace get default namespace
Functions ¶
This section is empty.
Types ¶
type BlobStorageInstance ¶
type BlobStorageInstance struct {
DeploymentDetails DeploymentDetails
}
type BlobStorageProvider ¶
type BlobStorageProvider interface { GetName() string SupportsStrategy(s string) bool GetReconcileTime(bs *v1alpha1.BlobStorage) time.Duration CreateStorage(ctx context.Context, bs *v1alpha1.BlobStorage) (*BlobStorageInstance, croType.StatusMessage, error) DeleteStorage(ctx context.Context, bs *v1alpha1.BlobStorage) (croType.StatusMessage, error) }
type BlobStorageProviderMock ¶
type BlobStorageProviderMock struct { // CreateStorageFunc mocks the CreateStorage method. CreateStorageFunc func(ctx context.Context, bs *v1alpha1.BlobStorage) (*BlobStorageInstance, croType.StatusMessage, error) // DeleteStorageFunc mocks the DeleteStorage method. DeleteStorageFunc func(ctx context.Context, bs *v1alpha1.BlobStorage) (croType.StatusMessage, error) // GetNameFunc mocks the GetName method. GetNameFunc func() string // GetReconcileTimeFunc mocks the GetReconcileTime method. GetReconcileTimeFunc func(bs *v1alpha1.BlobStorage) time.Duration // SupportsStrategyFunc mocks the SupportsStrategy method. SupportsStrategyFunc func(s string) bool // contains filtered or unexported fields }
BlobStorageProviderMock is a mock implementation of BlobStorageProvider.
func TestSomethingThatUsesBlobStorageProvider(t *testing.T) { // make and configure a mocked BlobStorageProvider mockedBlobStorageProvider := &BlobStorageProviderMock{ CreateStorageFunc: func(ctx context.Context, bs *v1alpha1.BlobStorage) (*BlobStorageInstance, croType.StatusMessage, error) { panic("mock out the CreateStorage method") }, DeleteStorageFunc: func(ctx context.Context, bs *v1alpha1.BlobStorage) (croType.StatusMessage, error) { panic("mock out the DeleteStorage method") }, GetNameFunc: func() string { panic("mock out the GetName method") }, GetReconcileTimeFunc: func(bs *v1alpha1.BlobStorage) time.Duration { panic("mock out the GetReconcileTime method") }, SupportsStrategyFunc: func(s string) bool { panic("mock out the SupportsStrategy method") }, } // use mockedBlobStorageProvider in code that requires BlobStorageProvider // and then make assertions. }
func (*BlobStorageProviderMock) CreateStorage ¶
func (mock *BlobStorageProviderMock) CreateStorage(ctx context.Context, bs *v1alpha1.BlobStorage) (*BlobStorageInstance, croType.StatusMessage, error)
CreateStorage calls CreateStorageFunc.
func (*BlobStorageProviderMock) CreateStorageCalls ¶
func (mock *BlobStorageProviderMock) CreateStorageCalls() []struct { Ctx context.Context Bs *v1alpha1.BlobStorage }
CreateStorageCalls gets all the calls that were made to CreateStorage. Check the length with:
len(mockedBlobStorageProvider.CreateStorageCalls())
func (*BlobStorageProviderMock) DeleteStorage ¶
func (mock *BlobStorageProviderMock) DeleteStorage(ctx context.Context, bs *v1alpha1.BlobStorage) (croType.StatusMessage, error)
DeleteStorage calls DeleteStorageFunc.
func (*BlobStorageProviderMock) DeleteStorageCalls ¶
func (mock *BlobStorageProviderMock) DeleteStorageCalls() []struct { Ctx context.Context Bs *v1alpha1.BlobStorage }
DeleteStorageCalls gets all the calls that were made to DeleteStorage. Check the length with:
len(mockedBlobStorageProvider.DeleteStorageCalls())
func (*BlobStorageProviderMock) GetName ¶
func (mock *BlobStorageProviderMock) GetName() string
GetName calls GetNameFunc.
func (*BlobStorageProviderMock) GetNameCalls ¶
func (mock *BlobStorageProviderMock) GetNameCalls() []struct { }
GetNameCalls gets all the calls that were made to GetName. Check the length with:
len(mockedBlobStorageProvider.GetNameCalls())
func (*BlobStorageProviderMock) GetReconcileTime ¶
func (mock *BlobStorageProviderMock) GetReconcileTime(bs *v1alpha1.BlobStorage) time.Duration
GetReconcileTime calls GetReconcileTimeFunc.
func (*BlobStorageProviderMock) GetReconcileTimeCalls ¶
func (mock *BlobStorageProviderMock) GetReconcileTimeCalls() []struct { Bs *v1alpha1.BlobStorage }
GetReconcileTimeCalls gets all the calls that were made to GetReconcileTime. Check the length with:
len(mockedBlobStorageProvider.GetReconcileTimeCalls())
func (*BlobStorageProviderMock) SupportsStrategy ¶
func (mock *BlobStorageProviderMock) SupportsStrategy(s string) bool
SupportsStrategy calls SupportsStrategyFunc.
func (*BlobStorageProviderMock) SupportsStrategyCalls ¶
func (mock *BlobStorageProviderMock) SupportsStrategyCalls() []struct { S string }
SupportsStrategyCalls gets all the calls that were made to SupportsStrategy. Check the length with:
len(mockedBlobStorageProvider.SupportsStrategyCalls())
type CloudProviderMetricType ¶
type CloudProviderMetricType struct { //PrometheusMetricName the name of the metric exposed via cro PrometheusMetricName string //ProviderMetricName the metric we scrape from the cloud provider ProviderMetricName string //Statistic the type of metric value we return e.g. Average, Sum, Max, Min etc. Statistic string }
CloudProviderMetricType is used to declare a generic type of metric it maps provider specific metrics to metrics we expose in prometheus
type ConfigManager ¶
type ConfigManager interface {
GetStrategyMappingForDeploymentType(ctx context.Context, t string) (*DeploymentStrategyMapping, error)
}
type ConfigManagerMock ¶
type ConfigManagerMock struct { // GetStrategyMappingForDeploymentTypeFunc mocks the GetStrategyMappingForDeploymentType method. GetStrategyMappingForDeploymentTypeFunc func(ctx context.Context, t string) (*DeploymentStrategyMapping, error) // contains filtered or unexported fields }
ConfigManagerMock is a mock implementation of ConfigManager.
func TestSomethingThatUsesConfigManager(t *testing.T) { // make and configure a mocked ConfigManager mockedConfigManager := &ConfigManagerMock{ GetStrategyMappingForDeploymentTypeFunc: func(ctx context.Context, t string) (*DeploymentStrategyMapping, error) { panic("mock out the GetStrategyMappingForDeploymentType method") }, } // use mockedConfigManager in code that requires ConfigManager // and then make assertions. }
func (*ConfigManagerMock) GetStrategyMappingForDeploymentType ¶
func (mock *ConfigManagerMock) GetStrategyMappingForDeploymentType(ctx context.Context, t string) (*DeploymentStrategyMapping, error)
GetStrategyMappingForDeploymentType calls GetStrategyMappingForDeploymentTypeFunc.
func (*ConfigManagerMock) GetStrategyMappingForDeploymentTypeCalls ¶
func (mock *ConfigManagerMock) GetStrategyMappingForDeploymentTypeCalls() []struct { Ctx context.Context T string }
GetStrategyMappingForDeploymentTypeCalls gets all the calls that were made to GetStrategyMappingForDeploymentType. Check the length with:
len(mockedConfigManager.GetStrategyMappingForDeploymentTypeCalls())
type ConfigMapConfigManager ¶
type ConfigMapConfigManager struct {
// contains filtered or unexported fields
}
func NewConfigManager ¶
func NewConfigManager(cm string, namespace string, client client.Client) *ConfigMapConfigManager
func (*ConfigMapConfigManager) GetStrategyMappingForDeploymentType ¶
func (m *ConfigMapConfigManager) GetStrategyMappingForDeploymentType(ctx context.Context, t string) (*DeploymentStrategyMapping, error)
GetStrategyMappingForDeploymentType Get high-level information about the strategy used in a deployment type
type DeploymentDetails ¶
type DeploymentDetailsMock ¶
type DeploymentDetailsMock struct { // DataFunc mocks the Data method. DataFunc func() map[string][]byte // contains filtered or unexported fields }
DeploymentDetailsMock is a mock implementation of DeploymentDetails.
func TestSomethingThatUsesDeploymentDetails(t *testing.T) { // make and configure a mocked DeploymentDetails mockedDeploymentDetails := &DeploymentDetailsMock{ DataFunc: func() map[string][]byte { panic("mock out the Data method") }, } // use mockedDeploymentDetails in code that requires DeploymentDetails // and then make assertions. }
func (*DeploymentDetailsMock) Data ¶
func (mock *DeploymentDetailsMock) Data() map[string][]byte
Data calls DataFunc.
func (*DeploymentDetailsMock) DataCalls ¶
func (mock *DeploymentDetailsMock) DataCalls() []struct { }
DataCalls gets all the calls that were made to Data. Check the length with:
len(mockedDeploymentDetails.DataCalls())
type DeploymentStrategyMapping ¶
type DeploymentStrategyMapping struct { BlobStorage string `json:"blobstorage"` Redis string `json:"redis"` Postgres string `json:"postgres"` }
DeploymentStrategyMapping Deployment Strategy Map
type GenericCloudMetric ¶
GenericCloudMetric is a wrapper to represent provider specific metrics generically
func (*GenericCloudMetric) IsIncludedInSlice ¶ added in v1.0.0
func (gcm *GenericCloudMetric) IsIncludedInSlice(metrics []*GenericCloudMetric) bool
type PostgresDeploymentDetails ¶
type PostgresDeploymentDetails struct { Username string Password string Host string Database string Port int }
func (*PostgresDeploymentDetails) Data ¶
func (d *PostgresDeploymentDetails) Data() map[string][]byte
type PostgresInstance ¶
type PostgresInstance struct {
DeploymentDetails DeploymentDetails
}
type PostgresMetricsProvider ¶
type PostgresMetricsProvider interface { SupportsStrategy(s string) bool ScrapePostgresMetrics(ctx context.Context, postgres *v1alpha1.Postgres, metricTypes []CloudProviderMetricType) (*ScrapeMetricsData, error) }
type PostgresProvider ¶
type PostgresProvider interface { GetName() string SupportsStrategy(s string) bool GetReconcileTime(ps *v1alpha1.Postgres) time.Duration ReconcilePostgres(ctx context.Context, ps *v1alpha1.Postgres) (*PostgresInstance, croType.StatusMessage, error) DeletePostgres(ctx context.Context, ps *v1alpha1.Postgres) (croType.StatusMessage, error) }
type PostgresSnapshotInstance ¶
type PostgresSnapshotInstance struct {
Name string
}
type PostgresSnapshotProvider ¶
type PostgresSnapshotProvider interface { GetName() string SupportsStrategy(s string) bool GetReconcileTime(snapshot *v1alpha1.PostgresSnapshot) time.Duration CreatePostgresSnapshot(ctx context.Context, snapshot *v1alpha1.PostgresSnapshot, postgres *v1alpha1.Postgres) (*PostgresSnapshotInstance, croType.StatusMessage, error) DeletePostgresSnapshot(ctx context.Context, snapshot *v1alpha1.PostgresSnapshot, posgres *v1alpha1.Postgres) (croType.StatusMessage, error) }
type RedisCluster ¶
type RedisCluster struct {
DeploymentDetails DeploymentDetails
}
type RedisDeploymentDetails ¶
RedisDeploymentDetails provider specific details about the AWS Redis Cluster created
func (*RedisDeploymentDetails) Data ¶
func (r *RedisDeploymentDetails) Data() map[string][]byte
Data Redis provider Data function
type RedisMetricsProvider ¶
type RedisMetricsProvider interface { SupportsStrategy(s string) bool ScrapeRedisMetrics(ctx context.Context, redis *v1alpha1.Redis, metricsTypes []CloudProviderMetricType) (*ScrapeMetricsData, error) }
type RedisProvider ¶
type RedisProvider interface { GetName() string SupportsStrategy(s string) bool GetReconcileTime(r *v1alpha1.Redis) time.Duration CreateRedis(ctx context.Context, r *v1alpha1.Redis) (*RedisCluster, croType.StatusMessage, error) DeleteRedis(ctx context.Context, r *v1alpha1.Redis) (croType.StatusMessage, error) }
type RedisSnapshotInstance ¶
type RedisSnapshotInstance struct {
Name string
}
type RedisSnapshotProvider ¶
type RedisSnapshotProvider interface { GetName() string SupportsStrategy(s string) bool GetReconcileTime(snapshot *v1alpha1.RedisSnapshot) time.Duration CreateRedisSnapshot(ctx context.Context, snapshot *v1alpha1.RedisSnapshot, redis *v1alpha1.Redis) (*RedisSnapshotInstance, croType.StatusMessage, error) DeleteRedisSnapshot(ctx context.Context, snapshot *v1alpha1.RedisSnapshot, redis *v1alpha1.Redis) (croType.StatusMessage, error) }
type ResourceType ¶
type ResourceType string
type ScrapeMetricsData ¶
type ScrapeMetricsData struct { // Metrics is an array of built cloud metrics from scraping a provider Metrics []*GenericCloudMetric }
ScrapeMetricsData is a wrapper for output of scrape metrics