package backend
+import (
+ smsconfig "sms/config"
+)
+
// SecretDomain is where Secrets are stored.
// A single domain can have any number of secrets
type SecretDomain struct {
// Secret is the struct that defines the structure of a secret
// A single Secret can have any number of SecretKeyValue pairs
type Secret struct {
- Name string `json:"name"`
- Values []SecretKeyValue `json:"values"`
+ Name string `json:"name"`
+ Values map[string]interface{} `json:"values"`
}
// SecretBackend interface that will be implemented for various secret backends
GetSecret(dom string, sec string) (Secret, error)
CreateSecretDomain(name string) (SecretDomain, error)
- CreateSecret(dom string, sec Secret) (Secret, error)
+ CreateSecret(dom string, sec Secret) error
DeleteSecretDomain(name string) error
DeleteSecret(dom string, name string) error
// InitSecretBackend returns an interface implementation
func InitSecretBackend() (SecretBackend, error) {
- backendImpl := &Vault{}
+ backendImpl := &Vault{
+ vaultAddress: smsconfig.SMSConfig.VaultAddress,
+ vaultToken: smsconfig.SMSConfig.VaultToken,
+ }
+
err := backendImpl.Init()
if err != nil {
return nil, err