...

Source file src/edge-infra.dev/pkg/edge/iam/verify/verifier_config.go

Documentation: edge-infra.dev/pkg/edge/iam/verify

     1  package verify
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  	"strconv"
     7  	"strings"
     8  
     9  	"github.com/go-logr/logr"
    10  )
    11  
    12  func Verify() error {
    13  	result := make([]string, 0)
    14  
    15  	if Issuer() == "" {
    16  		result = append(result, "IAM_ISSUER")
    17  	}
    18  
    19  	if IssuerURL() == "" {
    20  		result = append(result, "IAM_ISSUER_URL")
    21  	}
    22  
    23  	if ClientURL() == "" {
    24  		result = append(result, "IAM_CLIENT_URL")
    25  	}
    26  
    27  	if len(result) > 0 {
    28  		return fmt.Errorf("missing the following configuration: %v", strings.Join(result, ", "))
    29  	}
    30  
    31  	return nil
    32  }
    33  
    34  func Info(logger logr.Logger) {
    35  	logger.Info("Using configuration:", "ISSUER", Issuer(), "AuthURL", IssuerURL(), "ClientURL", ClientURL(), "InClusterIssuerURL", InClusterIssuerURL(), "ADDR", Addr())
    36  }
    37  
    38  // Where Edge-ID is running (Auth Server)
    39  func IssuerURL() string {
    40  	return os.Getenv("IAM_ISSUER_URL")
    41  }
    42  
    43  // The host where client is running
    44  func ClientURL() string {
    45  	return os.Getenv("IAM_CLIENT_URL")
    46  }
    47  
    48  // In cluster URL of Edge-ID
    49  func InClusterIssuerURL() string {
    50  	return os.Getenv("IAM_INCLUSTER_ISSUER_URL")
    51  }
    52  
    53  // This is to distinguish as we have emergency barcodes as well.
    54  func GetBarcodeLength() int {
    55  	return 20
    56  }
    57  
    58  // To check if client is in Dev mode
    59  func DevMode() bool {
    60  	value, exist := os.LookupEnv("IAM_DEV_MODE")
    61  	if exist {
    62  		isTrue, _ := strconv.ParseBool(value)
    63  		return isTrue
    64  	}
    65  	return false
    66  }
    67  
    68  // The one minted on the token
    69  func Issuer() string {
    70  	return os.Getenv("IAM_ISSUER")
    71  }
    72  
    73  // The one minted on the token
    74  func ClientID() string {
    75  	return os.Getenv("CLIENT_ID")
    76  }
    77  
    78  // The one minted on the token
    79  func ClientSecret() string {
    80  	return os.Getenv("CLIENT_SECRET")
    81  }
    82  
    83  func BslExpectedOrganization() string {
    84  	value, exist := os.LookupEnv("BSL_ORGANIZATION")
    85  	if exist {
    86  		return value
    87  	}
    88  	return "dev-ex"
    89  }
    90  
    91  func BslExpectedSubject() string {
    92  	value, exist := os.LookupEnv("BSL_SUBJECT")
    93  	if exist {
    94  		return value
    95  	}
    96  	return "ew250055"
    97  }
    98  
    99  func Addr() string {
   100  	addr, found := os.LookupEnv("IAM_TEST_ADDR")
   101  	if !found {
   102  		return ":8088"
   103  	}
   104  
   105  	return addr
   106  }
   107  

View as plain text