orchestrator

package
v1.4.8 Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2022 License: Apache-2.0 Imports: 19 Imported by: 1

Documentation

Index

Constants

View Source
const (
	DefaultTargetCloudServiceId          = "00000000-0000-0000-000000000000"
	DefaultTargetCloudServiceName        = "default"
	DefaultTargetCloudServiceDescription = "The default target cloud service"
)

Variables

View Source
var DefaultMetricsFile = "metrics.json"
View Source
var DefaultRequirementsFile = "requirements.json"

Functions

func LoadRequirements added in v1.4.0

func LoadRequirements(file string) (requirements []*orchestrator.Requirement, err error)

LoadRequirements loads requirements definitions from a JSON file.

Types

type Service

type Service struct {
	orchestrator.UnimplementedOrchestratorServer

	// Hook
	AssessmentResultHooks []func(result *assessment.AssessmentResult, err error)
	// contains filtered or unexported fields
}

Service is an implementation of the Clouditor Orchestrator service

func NewService added in v1.3.11

func NewService(opts ...ServiceOption) *Service

NewService creates a new Orchestrator service

func (*Service) CreateDefaultTargetCloudService added in v1.3.11

func (s *Service) CreateDefaultTargetCloudService() (service *orchestrator.CloudService, err error)

CreateDefaultTargetCloudService creates a new "default" target cloud services, if no target service exists in the database.

If a new target cloud service was created, it will be returned.

func (*Service) CreateMetric added in v1.3.14

func (svc *Service) CreateMetric(_ context.Context, req *orchestrator.CreateMetricRequest) (metric *assessment.Metric, err error)

CreateMetric creates a new metric in the database.

func (*Service) GetCloudService added in v1.3.11

func (s *Service) GetCloudService(_ context.Context, req *orchestrator.GetCloudServiceRequest) (response *orchestrator.CloudService, err error)

GetCloudService implements method for OrchestratorServer interface for getting a cloud service with provided id

func (*Service) GetMetric

func (svc *Service) GetMetric(_ context.Context, req *orchestrator.GetMetricRequest) (metric *assessment.Metric, err error)

GetMetric retrieves a metric specified by req.MetridId

func (*Service) GetMetricConfiguration added in v1.3.11

func (s *Service) GetMetricConfiguration(_ context.Context, req *orchestrator.GetMetricConfigurationRequest) (response *assessment.MetricConfiguration, err error)

func (*Service) GetMetricImplementation added in v1.4.5

func (svc *Service) GetMetricImplementation(ctx context.Context, req *orchestrator.GetMetricImplementationRequest) (res *assessment.MetricImplementation, err error)

func (*Service) ListAssessmentResults added in v1.3.12

ListAssessmentResults is a method implementation of the orchestrator interface

func (*Service) ListCloudServices added in v1.3.11

ListCloudServices implements method for OrchestratorServer interface for listing all cloud services

func (*Service) ListMetricConfigurations added in v1.3.11

func (svc *Service) ListMetricConfigurations(ctx context.Context, req *orchestrator.ListMetricConfigurationRequest) (response *orchestrator.ListMetricConfigurationResponse, err error)

ListMetricConfigurations retrieves a list of MetricConfiguration objects for a particular target cloud service specified in req.

The list MUST include a configuration for each known metric. If the user did not specify a custom configuration for a particular metric within the service, the default metric configuration is inserted into the list.

func (*Service) ListMetrics

ListMetrics lists all available metrics.

func (*Service) ListRequirements added in v1.4.0

ListRequirements is a method implementation of the OrchestratorServer interface, returning a list of requirements

func (*Service) RegisterAssessmentResultHook added in v1.3.11

func (s *Service) RegisterAssessmentResultHook(hook func(result *assessment.AssessmentResult, err error))

func (*Service) RegisterCloudService added in v1.3.11

func (s *Service) RegisterCloudService(_ context.Context, req *orchestrator.RegisterCloudServiceRequest) (service *orchestrator.CloudService, err error)

func (*Service) RemoveCloudService added in v1.3.11

func (s *Service) RemoveCloudService(_ context.Context, req *orchestrator.RemoveCloudServiceRequest) (response *emptypb.Empty, err error)

RemoveCloudService implements method for OrchestratorServer interface for removing a cloud service

func (*Service) StoreAssessmentResult added in v1.3.11

StoreAssessmentResult is a method implementation of the orchestrator interface: It receives an assessment result and stores it

func (*Service) StoreAssessmentResults added in v1.3.11

func (s *Service) StoreAssessmentResults(stream orchestrator.Orchestrator_StoreAssessmentResultsServer) (err error)

func (*Service) SubscribeMetricChangeEvents added in v1.4.5

SubscribeMetricChangeEvents implements a stream of metric events to the subscribed client.

func (*Service) UpdateCloudService added in v1.3.11

func (s *Service) UpdateCloudService(_ context.Context, req *orchestrator.UpdateCloudServiceRequest) (response *orchestrator.CloudService, err error)

UpdateCloudService implements method for OrchestratorServer interface for updating a cloud service

func (*Service) UpdateMetric added in v1.3.14

func (svc *Service) UpdateMetric(_ context.Context, req *orchestrator.UpdateMetricRequest) (metric *assessment.Metric, err error)

UpdateMetric updates an existing metric, specified by the identifier in req.MetricId.

func (*Service) UpdateMetricImplementation added in v1.4.5

func (svc *Service) UpdateMetricImplementation(_ context.Context, req *orchestrator.UpdateMetricImplementationRequest) (impl *assessment.MetricImplementation, err error)

UpdateMetricImplementation updates an existing metric implementation, specified by the identifier in req.MetricId.

type ServiceOption added in v1.3.14

type ServiceOption func(*Service)

ServiceOption is a function-style option to configure the Orchestrator Service

func WithExternalMetrics added in v1.4.6

func WithExternalMetrics(f func() ([]*assessment.Metric, error)) ServiceOption

WithExternalMetrics can be used to load metric definitions from an external source

func WithMetricsFile added in v1.3.14

func WithMetricsFile(file string) ServiceOption

WithMetricsFile can be used to load a different metrics file

func WithRequirements added in v1.4.0

func WithRequirements(r []*orchestrator.Requirement) ServiceOption

func WithStorage added in v1.4.0

func WithStorage(storage persistence.Storage) ServiceOption

WithStorage is an option to set the storage. If not set, NewService will use inmemory storage.

Jump to

Keyboard shortcuts

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