// InitSecretBackend returns an interface implementation
func InitSecretBackend() (SecretBackend, error) {
backendImpl := &Vault{
- vaultAddress: smsconfig.SMSConfig.VaultAddress,
+ vaultAddress: smsconfig.SMSConfig.BackendAddress,
vaultToken: smsconfig.SMSConfig.VaultToken,
}
func TestInitSecretBackend(t *testing.T) {
smsconfig.SMSConfig = &smsconfig.SMSConfiguration{
- VaultAddress: "http://localhost:8200",
+ BackendAddress: "http://localhost:8200",
}
sec, err := InitSecretBackend()
// We expect an error to be returned as Init expects
}
func TestInit(t *testing.T) {
- smsconfig.SMSConfig = &smsconfig.SMSConfiguration{VaultAddress: "http://localhost:8200"}
+ smsconfig.SMSConfig = &smsconfig.SMSConfiguration{BackendAddress: "http://localhost:8200"}
v.Init()
if v.vaultClient == nil {
t.Fatal("Init: Init() failed to create vaultClient")
import (
"encoding/json"
"os"
+ smslogger "sms/log"
)
// SMSConfiguration loads up all the values that are used to configure
ServerCert string `json:"servercert"`
ServerKey string `json:"serverkey"`
- VaultAddress string `json:"vaultaddress"`
- VaultToken string `json:"vaulttoken"`
- DisableTLS bool `json:"disable_tls"`
+ BackendAddress string `json:"smsdbaddress"`
+ VaultToken string `json:"vaulttoken"`
+ DisableTLS bool `json:"disable_tls"`
+ BackendAddressEnvVariable string `json:"smsdburlenv"`
}
// SMSConfig is the structure that stores the configuration
if err != nil {
return nil, err
}
+
+ if SMSConfig.BackendAddress == "" && SMSConfig.BackendAddressEnvVariable != "" {
+ // Get the value from ENV variable
+ smslogger.WriteInfo("Using Environment Variable: " + SMSConfig.BackendAddressEnvVariable)
+ SMSConfig.BackendAddress = os.Getenv(SMSConfig.BackendAddressEnvVariable)
+ }
}
return SMSConfig, nil
"servercert": "auth/server.cert",
"serverkey": "auth/server.key",
- "vaultaddress": "http://localhost:8200",
- "vaulttoken": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
+ "smsdbaddress": "http://localhost:8200",
+ "vaulttoken": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "smsdburlenv" : "SMSDB_URL"
}
"servercert": "testserver.cert",
"serverkey": "testserver.key",
- "vaultaddress": "http://localhost:8200"
+ "smsdbaddress": "http://localhost:8200",
+ "vaulttoken": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "smsdburlenv" : "SMSDB_URL"
}