Initial commit for Issue503
This commit is contained in:
45
pkg/plugin/implementation/simplekeymanager/cmd/plugin.go
Normal file
45
pkg/plugin/implementation/simplekeymanager/cmd/plugin.go
Normal file
@@ -0,0 +1,45 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/beckn/beckn-onix/pkg/log"
|
||||
"github.com/beckn/beckn-onix/pkg/plugin/definition"
|
||||
"github.com/beckn/beckn-onix/pkg/plugin/implementation/simplekeymanager"
|
||||
)
|
||||
|
||||
// simpleKeyManagerProvider implements the plugin provider for the SimpleKeyManager plugin.
|
||||
type simpleKeyManagerProvider struct{}
|
||||
|
||||
// newSimpleKeyManagerFunc is a function type that creates a new SimpleKeyManager instance.
|
||||
var newSimpleKeyManagerFunc = simplekeymanager.New
|
||||
|
||||
// New creates and initializes a new SimpleKeyManager instance using the provided cache, registry lookup, and configuration.
|
||||
func (k *simpleKeyManagerProvider) New(ctx context.Context, cache definition.Cache, registry definition.RegistryLookup, cfg map[string]string) (definition.KeyManager, func() error, error) {
|
||||
config := &simplekeymanager.Config{
|
||||
NetworkParticipant: cfg["networkParticipant"],
|
||||
KeyID: cfg["keyId"],
|
||||
SigningPrivateKey: cfg["signingPrivateKey"],
|
||||
SigningPublicKey: cfg["signingPublicKey"],
|
||||
EncrPrivateKey: cfg["encrPrivateKey"],
|
||||
EncrPublicKey: cfg["encrPublicKey"],
|
||||
}
|
||||
log.Debugf(ctx, "SimpleKeyManager config mapped: np=%s, keyId=%s, has_signing_private=%v, has_signing_public=%v, has_encr_private=%v, has_encr_public=%v",
|
||||
config.NetworkParticipant,
|
||||
config.KeyID,
|
||||
config.SigningPrivateKey != "",
|
||||
config.SigningPublicKey != "",
|
||||
config.EncrPrivateKey != "",
|
||||
config.EncrPublicKey != "")
|
||||
|
||||
km, cleanup, err := newSimpleKeyManagerFunc(ctx, cache, registry, config)
|
||||
if err != nil {
|
||||
log.Error(ctx, err, "Failed to initialize SimpleKeyManager")
|
||||
return nil, nil, err
|
||||
}
|
||||
log.Debugf(ctx, "SimpleKeyManager instance created successfully")
|
||||
return km, cleanup, nil
|
||||
}
|
||||
|
||||
// Provider is the exported instance of simpleKeyManagerProvider used for plugin registration.
|
||||
var Provider = simpleKeyManagerProvider{}
|
||||
Reference in New Issue
Block a user