Skip to content
Snippets Groups Projects
Commit 1e79887f authored by Kunz, Immanuel's avatar Kunz, Immanuel
Browse files

final iteration of the MEDINA orchestrator

parent c0978f45
Branches main
No related tags found
No related merge requests found
Showing
with 7980 additions and 32674 deletions
This diff is collapsed.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.19.4
// protoc-gen-go v1.28.1
// protoc v3.21.9
// source: assessment_result.proto
package evaluation
......@@ -37,6 +37,7 @@ type AssessmentResult struct {
EvidenceId string `protobuf:"bytes,8,opt,name=evidence_id,json=evidenceId,proto3" json:"evidence_id,omitempty"`
NonComplianceComments string `protobuf:"bytes,9,opt,name=non_compliance_comments,json=nonComplianceComments,proto3" json:"non_compliance_comments,omitempty"`
ResourceTypes []string `protobuf:"bytes,10,rep,name=resource_types,json=resourceTypes,proto3" json:"resource_types,omitempty"`
CloudServiceId string `protobuf:"bytes,11,opt,name=cloud_service_id,json=cloudServiceId,proto3" json:"cloud_service_id,omitempty"`
}
func (x *AssessmentResult) Reset() {
......@@ -141,6 +142,13 @@ func (x *AssessmentResult) GetResourceTypes() []string {
return nil
}
func (x *AssessmentResult) GetCloudServiceId() string {
if x != nil {
return x.CloudServiceId
}
return ""
}
var File_assessment_result_proto protoreflect.FileDescriptor
var file_assessment_result_proto_rawDesc = []byte{
......@@ -151,7 +159,7 @@ var file_assessment_result_proto_rawDesc = []byte{
0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x6d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0xa8, 0x03, 0x0a, 0x10, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65,
0xd2, 0x03, 0x0a, 0x10, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x02, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
......@@ -177,14 +185,18 @@ var file_assessment_result_proto_rawDesc = []byte{
0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x65,
0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x32, 0x52, 0x0a, 0x0a, 0x45, 0x76,
0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x41,
0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
0x15, 0x2e, 0x63, 0x63, 0x65, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x10,
0x5a, 0x0e, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6c,
0x6f, 0x75, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x49, 0x64, 0x32, 0x52, 0x0a, 0x0a, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d,
0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x15, 0x2e, 0x63, 0x63, 0x65, 0x2e,
0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x2b, 0x0a, 0x19, 0x73, 0x69, 0x2e, 0x78,
0x6c, 0x61, 0x62, 0x2e, 0x63, 0x63, 0x65, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73,
0x2e, 0x67, 0x72, 0x70, 0x63, 0x5a, 0x0e, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
......
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.19.4
// - protoc v3.21.9
// source: assessment_result.proto
package evaluation
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.19.4
// protoc-gen-go v1.28.1
// protoc v3.21.9
// source: metric_conf.proto
package evaluation
......@@ -103,8 +103,10 @@ var file_metric_conf_proto_rawDesc = []byte{
0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61,
0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66,
0x61, 0x75, 0x6c, 0x74, 0x42, 0x10, 0x5a, 0x0e, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x76, 0x61, 0x6c,
0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x61, 0x75, 0x6c, 0x74, 0x42, 0x2b, 0x0a, 0x19, 0x73, 0x69, 0x2e, 0x78, 0x6c, 0x61, 0x62, 0x2e,
0x63, 0x63, 0x65, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x67, 0x72, 0x70,
0x63, 0x5a, 0x0e, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v3.21.9
// source: notifications.proto
package evaluation
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
emptypb "google.golang.org/protobuf/types/known/emptypb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// source: https://github.com/clouditor/clouditor/blob/main/api/orchestrator/orchestrator.proto
// A Target of Evaluation binds a cloud service to a catalog, so the service is
// evaluated regarding this catalog's controls
type TargetOfEvaluation struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CloudServiceId string `protobuf:"bytes,1,opt,name=cloud_service_id,json=cloudServiceId,proto3" json:"cloud_service_id,omitempty"`
CatalogId string `protobuf:"bytes,2,opt,name=catalog_id,json=catalogId,proto3" json:"catalog_id,omitempty"`
// an assurance level is not offered by every catalog, therefore it is
// optional
AssuranceLevel *string `protobuf:"bytes,3,opt,name=assurance_level,json=assuranceLevel,proto3,oneof" json:"assurance_level,omitempty"`
}
func (x *TargetOfEvaluation) Reset() {
*x = TargetOfEvaluation{}
if protoimpl.UnsafeEnabled {
mi := &file_notifications_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TargetOfEvaluation) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TargetOfEvaluation) ProtoMessage() {}
func (x *TargetOfEvaluation) ProtoReflect() protoreflect.Message {
mi := &file_notifications_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TargetOfEvaluation.ProtoReflect.Descriptor instead.
func (*TargetOfEvaluation) Descriptor() ([]byte, []int) {
return file_notifications_proto_rawDescGZIP(), []int{0}
}
func (x *TargetOfEvaluation) GetCloudServiceId() string {
if x != nil {
return x.CloudServiceId
}
return ""
}
func (x *TargetOfEvaluation) GetCatalogId() string {
if x != nil {
return x.CatalogId
}
return ""
}
func (x *TargetOfEvaluation) GetAssuranceLevel() string {
if x != nil && x.AssuranceLevel != nil {
return *x.AssuranceLevel
}
return ""
}
var File_notifications_proto protoreflect.FileDescriptor
var file_notifications_proto_rawDesc = []byte{
0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x63, 0x63, 0x65, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74,
0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9f, 0x01, 0x0a, 0x12, 0x54, 0x61, 0x72, 0x67,
0x65, 0x74, 0x4f, 0x66, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28,
0x0a, 0x10, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x53,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x61,
0x6c, 0x6f, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61,
0x74, 0x61, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x61, 0x73, 0x73, 0x75, 0x72,
0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x48, 0x00, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x75, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76,
0x65, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x72, 0x61,
0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x5c, 0x0a, 0x0c, 0x4e, 0x6f, 0x74,
0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x19, 0x54, 0x61, 0x72,
0x67, 0x65, 0x74, 0x4f, 0x66, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x17, 0x2e, 0x63, 0x63, 0x65, 0x2e, 0x54, 0x61, 0x72,
0x67, 0x65, 0x74, 0x4f, 0x66, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a,
0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x2b, 0x0a, 0x19, 0x73, 0x69, 0x2e, 0x78, 0x6c,
0x61, 0x62, 0x2e, 0x63, 0x63, 0x65, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2e,
0x67, 0x72, 0x70, 0x63, 0x5a, 0x0e, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_notifications_proto_rawDescOnce sync.Once
file_notifications_proto_rawDescData = file_notifications_proto_rawDesc
)
func file_notifications_proto_rawDescGZIP() []byte {
file_notifications_proto_rawDescOnce.Do(func() {
file_notifications_proto_rawDescData = protoimpl.X.CompressGZIP(file_notifications_proto_rawDescData)
})
return file_notifications_proto_rawDescData
}
var file_notifications_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_notifications_proto_goTypes = []interface{}{
(*TargetOfEvaluation)(nil), // 0: cce.TargetOfEvaluation
(*emptypb.Empty)(nil), // 1: google.protobuf.Empty
}
var file_notifications_proto_depIdxs = []int32{
0, // 0: cce.Notification.TargetOfEvaluationCreated:input_type -> cce.TargetOfEvaluation
1, // 1: cce.Notification.TargetOfEvaluationCreated:output_type -> google.protobuf.Empty
1, // [1:2] is the sub-list for method output_type
0, // [0:1] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
}
func init() { file_notifications_proto_init() }
func file_notifications_proto_init() {
if File_notifications_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_notifications_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TargetOfEvaluation); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_notifications_proto_msgTypes[0].OneofWrappers = []interface{}{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_notifications_proto_rawDesc,
NumEnums: 0,
NumMessages: 1,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_notifications_proto_goTypes,
DependencyIndexes: file_notifications_proto_depIdxs,
MessageInfos: file_notifications_proto_msgTypes,
}.Build()
File_notifications_proto = out.File
file_notifications_proto_rawDesc = nil
file_notifications_proto_goTypes = nil
file_notifications_proto_depIdxs = nil
}
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.21.9
// source: notifications.proto
package evaluation
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
emptypb "google.golang.org/protobuf/types/known/emptypb"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
// NotificationClient is the client API for Notification service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type NotificationClient interface {
TargetOfEvaluationCreated(ctx context.Context, in *TargetOfEvaluation, opts ...grpc.CallOption) (*emptypb.Empty, error)
}
type notificationClient struct {
cc grpc.ClientConnInterface
}
func NewNotificationClient(cc grpc.ClientConnInterface) NotificationClient {
return &notificationClient{cc}
}
func (c *notificationClient) TargetOfEvaluationCreated(ctx context.Context, in *TargetOfEvaluation, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/cce.Notification/TargetOfEvaluationCreated", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// NotificationServer is the server API for Notification service.
// All implementations must embed UnimplementedNotificationServer
// for forward compatibility
type NotificationServer interface {
TargetOfEvaluationCreated(context.Context, *TargetOfEvaluation) (*emptypb.Empty, error)
mustEmbedUnimplementedNotificationServer()
}
// UnimplementedNotificationServer must be embedded to have forward compatible implementations.
type UnimplementedNotificationServer struct {
}
func (UnimplementedNotificationServer) TargetOfEvaluationCreated(context.Context, *TargetOfEvaluation) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method TargetOfEvaluationCreated not implemented")
}
func (UnimplementedNotificationServer) mustEmbedUnimplementedNotificationServer() {}
// UnsafeNotificationServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to NotificationServer will
// result in compilation errors.
type UnsafeNotificationServer interface {
mustEmbedUnimplementedNotificationServer()
}
func RegisterNotificationServer(s grpc.ServiceRegistrar, srv NotificationServer) {
s.RegisterService(&Notification_ServiceDesc, srv)
}
func _Notification_TargetOfEvaluationCreated_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(TargetOfEvaluation)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(NotificationServer).TargetOfEvaluationCreated(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/cce.Notification/TargetOfEvaluationCreated",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(NotificationServer).TargetOfEvaluationCreated(ctx, req.(*TargetOfEvaluation))
}
return interceptor(ctx, in, info, handler)
}
// Notification_ServiceDesc is the grpc.ServiceDesc for Notification service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Notification_ServiceDesc = grpc.ServiceDesc{
ServiceName: "cce.Notification",
HandlerType: (*NotificationServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "TargetOfEvaluationCreated",
Handler: _Notification_TargetOfEvaluationCreated_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "notifications.proto",
}
This diff is collapsed.
module orchestrator
go 1.18
go 1.20
require (
clouditor.io/clouditor v1.4.15
github.com/deepmap/oapi-codegen v1.11.0
github.com/getkin/kin-openapi v0.94.0
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0
github.com/labstack/echo/v4 v4.7.2
github.com/oxisto/oauth2go v0.5.12
github.com/sirupsen/logrus v1.8.1
golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5
google.golang.org/grpc v1.46.2
google.golang.org/protobuf v1.28.0
clouditor.io/clouditor v1.9.4-0.20230726134626-03c5b3f7af29
github.com/deepmap/oapi-codegen v1.12.4
github.com/getkin/kin-openapi v0.116.0
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect
github.com/labstack/echo/v4 v4.10.2
github.com/oxisto/oauth2go v0.9.0
github.com/sirupsen/logrus v1.9.3
golang.org/x/oauth2 v0.8.0
google.golang.org/grpc v1.57.0-dev.0.20230612212144-642dd63a8527
google.golang.org/protobuf v1.30.0
)
require (
cloud.google.com/go/compute v1.6.1 // indirect
github.com/MicahParks/keyfunc v1.1.0 // indirect
github.com/ghodss/yaml v1.0.0 // indirect
github.com/go-openapi/jsonpointer v0.19.5 // indirect
github.com/go-openapi/swag v0.21.1 // indirect
github.com/golang-jwt/jwt/v4 v4.4.1 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/MicahParks/keyfunc/v2 v2.1.0 // indirect
github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect
github.com/bmatcuk/doublestar/v4 v4.0.2 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/envoyproxy/protoc-gen-validate v1.0.0 // indirect
github.com/fatih/structtag v1.2.0 // indirect
github.com/glebarez/go-sqlite v1.21.1 // indirect
github.com/glebarez/sqlite v1.8.0 // indirect
github.com/go-openapi/jsonpointer v0.19.6 // indirect
github.com/go-openapi/swag v0.22.3 // indirect
github.com/golang-jwt/jwt/v5 v5.0.0 // indirect
github.com/golang/glog v1.1.1 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/google/addlicense v1.1.0 // indirect
github.com/google/gnostic v0.6.9 // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.10.2 // indirect
github.com/jackc/chunkreader/v2 v2.0.1 // indirect
github.com/jackc/pgconn v1.12.1 // indirect
github.com/jackc/pgio v1.0.0 // indirect
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
github.com/iancoleman/strcase v0.2.0 // indirect
github.com/invopop/yaml v0.2.0 // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgproto3/v2 v2.3.0 // indirect
github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b // indirect
github.com/jackc/pgtype v1.11.0 // indirect
github.com/jackc/pgx/v4 v4.16.1 // indirect
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect
github.com/jackc/pgx/v5 v5.3.1 // indirect
github.com/jinzhu/inflection v1.0.0 // indirect
github.com/jinzhu/now v1.1.5 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/labstack/gommon v0.3.1 // indirect
github.com/labstack/gommon v0.4.0 // indirect
github.com/logrusorgru/aurora/v3 v3.0.0 // indirect
github.com/lyft/protoc-gen-star v0.6.1 // indirect
github.com/lyft/protoc-gen-star/v2 v2.0.3 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-colorable v0.1.12 // indirect
github.com/mattn/go-isatty v0.0.14 // indirect
github.com/mattn/go-sqlite3 v1.14.12 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.18 // indirect
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
github.com/perimeterx/marshmallow v1.1.4 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/spf13/afero v1.9.5 // indirect
github.com/srikrsna/protoc-gen-gotag v0.6.2 // indirect
github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/valyala/fasttemplate v1.2.1 // indirect
golang.org/x/crypto v0.0.0-20220513210258-46612604a0f9 // indirect
golang.org/x/exp v0.0.0-20220428152302-39d4317da171 // indirect
golang.org/x/net v0.0.0-20220513224357-95641704303c // indirect
golang.org/x/sys v0.0.0-20220513210249-45d2b4557a2a // indirect
golang.org/x/text v0.3.7 // indirect
github.com/valyala/fasttemplate v1.2.2 // indirect
golang.org/x/crypto v0.11.0 // indirect
golang.org/x/exp v0.0.0-20230425010034-47ecfdc1ba53 // indirect
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 // indirect
golang.org/x/mod v0.10.0 // indirect
golang.org/x/net v0.11.0 // indirect
golang.org/x/sync v0.2.0 // indirect
golang.org/x/sys v0.10.0 // indirect
golang.org/x/text v0.11.0 // indirect
golang.org/x/tools v0.8.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gorm.io/driver/postgres v1.3.5 // indirect
gorm.io/driver/sqlite v1.3.2 // indirect
gorm.io/gorm v1.23.5 // indirect
google.golang.org/genproto v0.0.0-20230526203410-71b5a4ffd15e // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
gorm.io/driver/postgres v1.5.0 // indirect
gorm.io/gorm v1.25.1 // indirect
modernc.org/libc v1.22.5 // indirect
modernc.org/mathutil v1.5.0 // indirect
modernc.org/memory v1.5.0 // indirect
modernc.org/sqlite v1.22.1 // indirect
)
This diff is collapsed.
{
"operator": ">=",
"target_value": 2
}
\ No newline at end of file
{
"privileged": true,
"type": [
"Identity",
"Resource"
],
"authenticity": [
{
"type": "OTPBasedAuthentication",
"activated": true
},
{
"type": "PasswordBasedAuthentication",
"activated": true
}
]
}
\ No newline at end of file
package clouditor.metrics.admin_mfa_enabled
import data.clouditor.compare
import future.keywords.every
import input as identity
default applicable = false
default compliant = false
applicable {
# we are only interested in some kind of privileged user
identity.privileged
}
compliant {
# count the number of "factors"
compare(data.operator, data.target_value, count(identity.authenticity))
# also make sure, that we do not have any "NoAuthentication" in the factor and all are activated
every factor in identity.authenticity {
# TODO(oxisto): we do not have this type property (yet)
not factor.type == "NoAuthentication"
factor.activated == true
}
}
{
"operator": "<=",
"target_value": 0.4
}
\ No newline at end of file
package clouditor.metrics.admin_mixed_duties
import data.clouditor.compare
import future.keywords.every
import input as identity
default applicable = false
default compliant = false
applicable {
# we are only interested in some kind of privileged user
identity.privileged
}
compliant {
compare(data.operator, data.target_value, identity.authorization.mixedDuties)
}
{
"operator": "isIn",
"target_value": [
"?"
]
}
\ No newline at end of file
package clouditor.metrics.anomaly_detection_output
import data.clouditor.compare
default applicable = false
default compliant = false
output := input.anomalyDetection.applicationLogging.loggingService
applicable {
output != null
}
compliant {
compare(data.operator, data.target_value, output)
}
\ No newline at end of file
{
"operator" : "==",
"target_value" : false
}
\ No newline at end of file
package clouditor.metrics.activity_logging_enabled
package clouditor.metrics.anonymous_authentication
import data.clouditor.compare
......@@ -6,7 +6,7 @@ default applicable = false
default compliant = false
enabled := input.activityLogging.enabled
enabled := input.certificateBasedAuthentication.enabled
applicable {
enabled != null
......
{
"operator" : "==",
"target_value" : "AES256"
}
\ No newline at end of file
package clouditor.metrics.number_of_threats_found
package clouditor.metrics.at_rest_encryption_algorithm
import data.clouditor.compare
......@@ -6,12 +6,12 @@ default applicable = false
default compliant = false
threats := input.malwareProtection.numberOfThreatsFound
algorithm := input.atRestEncryption.algorithm
applicable {
threats != null
algorithm != null
}
compliant {
compare(data.operator, data.target_value, threats)
compare(data.operator, data.target_value, algorithm)
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment