config.go 692 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package secretserver
  2. import (
  3. "fmt"
  4. "os"
  5. )
  6. type config struct {
  7. username string
  8. password string
  9. serverURL string
  10. }
  11. func loadConfigFromEnv() (*config, error) {
  12. var cfg config
  13. var err error
  14. // Required settings
  15. cfg.username, err = getEnv("SECRETSERVER_USERNAME")
  16. if err != nil {
  17. return nil, err
  18. }
  19. cfg.password, err = getEnv("SECRETSERVER_PASSWORD")
  20. if err != nil {
  21. return nil, err
  22. }
  23. cfg.serverURL, err = getEnv("SECRETSERVER_URL")
  24. if err != nil {
  25. return nil, err
  26. }
  27. return &cfg, nil
  28. }
  29. func getEnv(name string) (string, error) {
  30. value, ok := os.LookupEnv(name)
  31. if !ok {
  32. return "", fmt.Errorf("environment variable %q is not set", name)
  33. }
  34. return value, nil
  35. }