| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package delinea
- import (
- "fmt"
- "os"
- )
- type config struct {
- tld string
- urlTemplate string
- tenant string
- clientID string
- clientSecret string
- }
- func loadConfigFromEnv() (*config, error) {
- var cfg config
- var err error
- // Optional settings
- cfg.tld, _ = getEnv("DELINEA_TLD")
- cfg.urlTemplate, _ = getEnv("DELINEA_URL_TEMPLATE")
- // Required settings
- cfg.tenant, err = getEnv("DELINEA_TENANT")
- if err != nil {
- return nil, err
- }
- cfg.clientID, err = getEnv("DELINEA_CLIENT_ID")
- if err != nil {
- return nil, err
- }
- cfg.clientSecret, err = getEnv("DELINEA_CLIENT_SECRET")
- if err != nil {
- return nil, err
- }
- return &cfg, nil
- }
- func getEnv(name string) (string, error) {
- value, ok := os.LookupEnv(name)
- if !ok {
- return "", fmt.Errorf("environment variable %q is not set", name)
- }
- return value, nil
- }
|