3
0

Add minio store capabilities to messaging

This commit is contained in:
Denis Arh
2019-10-15 15:30:28 +02:00
parent baeacfeafd
commit d23e421e20
4 changed files with 35 additions and 4 deletions

View File

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

View File

@@ -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",

View File

@@ -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"`
}

View File

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