diff --git a/httpserver/server.go b/httpserver/server.go index 7e37c0e2b7..bca7db43aa 100644 --- a/httpserver/server.go +++ b/httpserver/server.go @@ -178,13 +178,13 @@ func (server *Server) registerHandlers() error { if err != nil { return err } - server.register(http.MethodPost, verifyPath, processTimeout(server.verify, server.GetExecutor(context.Background()).GetVerifyRequestTimeout(), false)) + server.register(http.MethodPost, verifyPath, processTimeout(server.verify, server.GetExecutor(server.Context).GetVerifyRequestTimeout(), false)) mutatePath, err := url.JoinPath(ServerRootURL, "mutate") if err != nil { return err } - server.register(http.MethodPost, mutatePath, processTimeout(server.mutate, server.GetExecutor(context.Background()).GetMutationRequestTimeout(), true)) + server.register(http.MethodPost, mutatePath, processTimeout(server.mutate, server.GetExecutor(server.Context).GetMutationRequestTimeout(), true)) return nil } diff --git a/pkg/controllers/verifier_controller.go b/pkg/controllers/verifier_controller.go index dc39fd1193..1cd8bb726b 100644 --- a/pkg/controllers/verifier_controller.go +++ b/pkg/controllers/verifier_controller.go @@ -118,6 +118,7 @@ func verifierAddOrReplace(spec configv1beta1.VerifierSpec, objectName string, na logrus.Error(err, "unable to create verifier from verifier config") return err } + // TODO: pass the actual namespace once multi-tenancy is supported. VerifierMap.AddVerifier(constants.EmptyNamespace, objectName, referenceVerifier) logrus.Infof("verifier '%v' added to verifier map", referenceVerifier.Name()) diff --git a/pkg/customresources/verifiers/api.go b/pkg/customresources/verifiers/api.go index 04d6a3e0eb..7d35e7be5a 100644 --- a/pkg/customresources/verifiers/api.go +++ b/pkg/customresources/verifiers/api.go @@ -19,8 +19,8 @@ import ( vr "github.com/deislabs/ratify/pkg/verifier" ) -// Verifiers is an interface that defines the methods for managing verifiers across different scopes. -type Verifiers interface { +// VerifierManager is an interface that defines the methods for managing verifiers across different scopes. +type VerifierManager interface { // GetVerifiers returns verifiers under the given scope. GetVerifiers(scope string) []vr.ReferenceVerifier diff --git a/pkg/customresources/verifiers/verifiers.go b/pkg/customresources/verifiers/verifiers.go index d48aadbfa9..8fcd965844 100644 --- a/pkg/customresources/verifiers/verifiers.go +++ b/pkg/customresources/verifiers/verifiers.go @@ -19,7 +19,7 @@ import ( vr "github.com/deislabs/ratify/pkg/verifier" ) -// ActiveVerifiers implements Verifiers interface. +// ActiveVerifiers implements VerifierManger interface. type ActiveVerifiers struct { // TODO: Implement concurrent safety using sync.Map // The structure of the map is as follows: @@ -32,10 +32,11 @@ type ActiveVerifiers struct { // "verifier2": verifier2 // } // } + // Note: Scope is utilized for organizing and isolating verifiers. In a Kubernetes (K8s) environment, the scope can be either a namespace or an empty string ("") for cluster-wide verifiers. NamespacedVerifiers map[string]map[string]vr.ReferenceVerifier } -func NewActiveVerifiers() Verifiers { +func NewActiveVerifiers() VerifierManager { return &ActiveVerifiers{ NamespacedVerifiers: make(map[string]map[string]vr.ReferenceVerifier), }