orchestrator

package
v1.6.3 Latest Latest
Warning

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

Go to latest
Published: Nov 18, 2022 License: Apache-2.0 Imports: 23 Imported by: 1

Documentation

Index

Constants

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

Variables

View Source
var DefaultCatalogsFile = "catalogs.json"
View Source
var DefaultMetricsFile = "metrics.json"

Functions

This section is empty.

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) CreateCatalog added in v1.6.0

CreateCatalog implements a method for creating a new catalog.

func (*Service) CreateCertificate added in v1.4.9

CreateCertificate implements method for creating a new certificate

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) CreateTargetOfEvaluation added in v1.6.0

func (svc *Service) CreateTargetOfEvaluation(_ context.Context, req *orchestrator.CreateTargetOfEvaluationRequest) (res *orchestrator.TargetOfEvaluation, err error)

func (*Service) GetCatalog added in v1.6.0

func (svc *Service) GetCatalog(_ context.Context, req *orchestrator.GetCatalogRequest) (response *orchestrator.Catalog, err error)

GetCatalog retrieves a control specified by the catalog ID, the control's category name and the control ID. If present, it also includes a list of sub-controls and any metrics associated to any controls.

func (*Service) GetCategory added in v1.6.0

func (srv *Service) GetCategory(_ context.Context, req *orchestrator.GetCategoryRequest) (res *orchestrator.Category, err error)

GetCategory retrieves a category of a catalog specified by the catalog ID and the category name. It includes the first level of controls within each category.

func (*Service) GetCertificate added in v1.4.9

func (svc *Service) GetCertificate(_ context.Context, req *orchestrator.GetCertificateRequest) (response *orchestrator.Certificate, err error)

GetCertificate implements method for getting a certificate, e.g. to show its state in the UI

func (*Service) GetCloudService added in v1.3.11

func (s *Service) GetCloudService(ctx 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) GetControl added in v1.6.0

func (srv *Service) GetControl(_ context.Context, req *orchestrator.GetControlRequest) (res *orchestrator.Control, err error)

GetControl retrieves a control specified by the catalog ID, the control's category name and the control ID. If present, it also includes a list of sub-controls and any metrics associated to the control.

func (*Service) GetMetric

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

GetMetric retrieves a metric specified by req.MetricId.

func (*Service) GetMetricConfiguration added in v1.3.11

func (svc *Service) GetMetricConfiguration(ctx context.Context, req *orchestrator.GetMetricConfigurationRequest) (res *assessment.MetricConfiguration, err error)

func (*Service) GetMetricImplementation added in v1.4.5

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

GetMetricImplementation retrieves a metric implementation specified by req.MetricId.

func (*Service) GetTargetOfEvaluation added in v1.6.0

func (svc *Service) GetTargetOfEvaluation(_ context.Context, req *orchestrator.GetTargetOfEvaluationRequest) (response *orchestrator.TargetOfEvaluation, err error)

GetTargetOfEvaluation implements method for getting a TargetOfEvaluation, e.g. to show its state in the UI

func (*Service) ListAssessmentResults added in v1.3.12

ListAssessmentResults is a method implementation of the orchestrator interface

func (*Service) ListCatalogs added in v1.6.0

ListCatalogs Lists all security controls catalogs. Each catalog includes a list of its categories but no additional sub-resources.

func (*Service) ListCertificates added in v1.4.9

ListCertificates implements method for getting a certificate, e.g. to show its state in the UI

func (*Service) ListCloudServices added in v1.3.11

ListCloudServices implements method for OrchestratorServer interface for listing all cloud services

func (*Service) ListControls added in v1.6.0

ListControls lists controls. If no additional parameters are specified, this lists all controls. If a catalog ID and a category name is specified, then only controls containing in this category are returned.

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) ListTargetsOfEvaluation added in v1.6.0

ListTargetsOfEvaluation implements method for getting a TargetOfEvaluation

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(ctx context.Context, req *orchestrator.RegisterCloudServiceRequest) (service *orchestrator.CloudService, err error)

func (*Service) RegisterCloudServiceHook added in v1.4.10

func (s *Service) RegisterCloudServiceHook(hook orchestrator.CloudServiceHookFunc)

func (*Service) RemoveCatalog added in v1.6.0

func (svc *Service) RemoveCatalog(_ context.Context, req *orchestrator.RemoveCatalogRequest) (response *emptypb.Empty, err error)

RemoveCatalog implements a method for removing a catalog

func (*Service) RemoveCertificate added in v1.4.9

func (svc *Service) RemoveCertificate(_ context.Context, req *orchestrator.RemoveCertificateRequest) (response *emptypb.Empty, err error)

RemoveCertificate implements method for removing a certificate

func (*Service) RemoveCloudService added in v1.3.11

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

RemoveCloudService implements method for OrchestratorServer interface for removing a cloud service

func (*Service) RemoveTargetOfEvaluation added in v1.6.0

func (svc *Service) RemoveTargetOfEvaluation(_ context.Context, req *orchestrator.RemoveTargetOfEvaluationRequest) (response *emptypb.Empty, err error)

RemoveTargetOfEvaluation implements method for removing a TargetOfEvaluation

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) UpdateCatalog added in v1.6.0

func (svc *Service) UpdateCatalog(_ context.Context, req *orchestrator.UpdateCatalogRequest) (res *orchestrator.Catalog, err error)

UpdateCatalog implements a method for updating an existing catalog

func (*Service) UpdateCertificate added in v1.4.9

func (svc *Service) UpdateCertificate(_ context.Context, req *orchestrator.UpdateCertificateRequest) (response *orchestrator.Certificate, err error)

UpdateCertificate implements method for updating an existing certificate

func (*Service) UpdateCloudService added in v1.3.11

func (s *Service) UpdateCloudService(ctx 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) UpdateMetricConfiguration added in v1.4.10

func (svc *Service) UpdateMetricConfiguration(ctx context.Context, req *orchestrator.UpdateMetricConfigurationRequest) (res *assessment.MetricConfiguration, err error)

UpdateMetricConfiguration updates the configuration for a 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.

func (*Service) UpdateTargetOfEvaluation added in v1.6.0

func (svc *Service) UpdateTargetOfEvaluation(_ context.Context, req *orchestrator.UpdateTargetOfEvaluationRequest) (res *orchestrator.TargetOfEvaluation, err error)

UpdateTargetOfEvaluation implements method for updating an existing TargetOfEvaluation

type ServiceOption added in v1.3.14

type ServiceOption func(*Service)

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

func WithAuthorizationStrategyJWT added in v1.6.2

func WithAuthorizationStrategyJWT(key string) ServiceOption

WithAuthorizationStrategyJWT is an option that configures an JWT-based authorization strategy using a specific claim key.

func WithCatalogsFile added in v1.6.0

func WithCatalogsFile(file string) ServiceOption

WithCatalogsFile can be used to load a different catalogs file

func WithExternalCatalogs added in v1.6.0

func WithExternalCatalogs(f func() ([]*orchestrator.Catalog, error)) ServiceOption

WithExternalCatalogs can be used to load catalog definitions from an external source

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 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