github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/isecretsimpl/impl.go (about) 1 /* 2 * Copyright (c) 2022-present unTill Pro, Ltd. 3 */ 4 5 package isecretsimpl 6 7 import ( 8 "os" 9 "path/filepath" 10 "strings" 11 12 "github.com/voedger/voedger/pkg/isecrets" 13 ) 14 15 func implSecretReader() isecrets.ISecretReader { 16 secretRoot := defaultSecretRoot 17 if customSecretRoot := os.Getenv(SecretRootEnv); customSecretRoot != "" { 18 secretRoot = customSecretRoot 19 } 20 return &secretReader{secretRoot: secretRoot} 21 } 22 23 type secretReader struct { 24 secretRoot string 25 } 26 27 func (r *secretReader) ReadSecret(name string) (bb []byte, err error) { 28 if strings.TrimSpace(name) == "" { 29 return nil, isecrets.ErrSecretNameIsBlank 30 } 31 32 return os.ReadFile(filepath.Join(r.secretRoot, name)) 33 }