Add minio store capabilities to messaging
This commit is contained in:
@@ -13,6 +13,7 @@ import (
|
||||
"github.com/cortezaproject/corteza-server/pkg/cli/options"
|
||||
"github.com/cortezaproject/corteza-server/pkg/permissions"
|
||||
"github.com/cortezaproject/corteza-server/pkg/store"
|
||||
"github.com/cortezaproject/corteza-server/pkg/store/minio"
|
||||
"github.com/cortezaproject/corteza-server/pkg/store/plain"
|
||||
systemProto "github.com/cortezaproject/corteza-server/system/proto"
|
||||
)
|
||||
@@ -78,11 +79,35 @@ func Init(ctx context.Context, log *zap.Logger, c Config) (err error) {
|
||||
DefaultLogger = log.Named("service")
|
||||
|
||||
if DefaultStore == nil {
|
||||
DefaultStore, err = plain.New(c.Storage.Path)
|
||||
log.Info("initializing store", zap.String("path", c.Storage.Path), zap.Error(err))
|
||||
if err != nil {
|
||||
return err
|
||||
if c.Storage.MinioEndpoint != "" {
|
||||
if c.Storage.MinioBucket == "" {
|
||||
c.Storage.MinioBucket = "compose"
|
||||
}
|
||||
|
||||
DefaultStore, err = minio.New(c.Storage.MinioBucket, minio.Options{
|
||||
Endpoint: c.Storage.MinioEndpoint,
|
||||
Secure: c.Storage.MinioSecure,
|
||||
Strict: c.Storage.MinioStrict,
|
||||
AccessKeyID: c.Storage.MinioAccessKey,
|
||||
SecretAccessKey: c.Storage.MinioSecretKey,
|
||||
|
||||
ServerSideEncryptKey: []byte(c.Storage.MinioSSECKey),
|
||||
})
|
||||
|
||||
log.Info("initializing minio",
|
||||
zap.String("bucket", c.Storage.MinioBucket),
|
||||
zap.String("endpoint", c.Storage.MinioEndpoint),
|
||||
zap.Error(err))
|
||||
} else {
|
||||
DefaultStore, err = plain.New(c.Storage.Path)
|
||||
log.Info("initializing store",
|
||||
zap.String("path", c.Storage.Path),
|
||||
zap.Error(err))
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// Permissions, access control
|
||||
|
||||
@@ -61,6 +61,8 @@ func Init(ctx context.Context, log *zap.Logger, c Config) (err error) {
|
||||
Strict: c.Storage.MinioStrict,
|
||||
AccessKeyID: c.Storage.MinioAccessKey,
|
||||
SecretAccessKey: c.Storage.MinioSecretKey,
|
||||
|
||||
ServerSideEncryptKey: []byte(c.Storage.MinioSSECKey),
|
||||
})
|
||||
|
||||
log.Info("initializing minio",
|
||||
|
||||
@@ -8,6 +8,7 @@ type (
|
||||
MinioSecure bool `env:"MINIO_SECURE"`
|
||||
MinioAccessKey string `env:"MINIO_ACCESS_KEY"`
|
||||
MinioSecretKey string `env:"MINIO_SECRET_KEY"`
|
||||
MinioSSECKey string `env:"MINIO_SSEC_KEY"`
|
||||
MinioBucket string `env:"MINIO_BUCKET"`
|
||||
MinioStrict bool `env:"MINIO_STRICT"`
|
||||
}
|
||||
|
||||
@@ -75,6 +75,9 @@ func New(bucket string, opt Options) (s *store, err error) {
|
||||
|
||||
if len(opt.ServerSideEncryptKey) > 0 {
|
||||
s.sse, err = encrypt.NewSSEC(opt.ServerSideEncryptKey)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user