factory

package
v1.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 2, 2026 License: Apache-2.0 Imports: 9 Imported by: 3

Documentation

Index

Constants

View Source
const (
	UdmDefaultTLSKeyLogPath       = "./log/udmsslkey.log"
	UdmDefaultCertPemPath         = "./cert/udm.pem"
	UdmDefaultPrivateKeyPath      = "./cert/udm.key"
	UdmDefaultConfigPath          = "./config/udmcfg.yaml"
	UdmDefaultNfInstanceIdEnvVar  = "UDM_NF_INSTANCE_ID"
	UdmSbiDefaultIPv4             = "127.0.0.3"
	UdmSbiDefaultPort             = 8000
	UdmSbiDefaultScheme           = "https"
	UdmMetricsDefaultEnabled      = false
	UdmMetricsDefaultPort         = 9091
	UdmMetricsDefaultScheme       = "https"
	UdmMetricsDefaultNamespace    = "free5gc"
	UdmDefaultNrfUri              = "https://127.0.0.10:8000"
	UdmSorprotectionResUriPrefix  = "/nudm-sorprotection/v1"
	UdmAuthResUriPrefix           = "/nudm-auth/v1"
	UdmfUpuprotectionResUriPrefix = "/nudm-upuprotection/v1"
	UdmEcmResUriPrefix            = "/nudm-ecm/v1"
	UdmSdmResUriPrefix            = "/nudm-sdm/v2"
	UdmEeResUriPrefix             = "/nudm-ee/v1"
	UdmDrResUriPrefix             = "/nudr-dr/v1"
	UdmUecmResUriPrefix           = "/nudm-uecm/v1"
	UdmPpResUriPrefix             = "/nudm-pp/v1"
	UdmUeauResUriPrefix           = "/nudm-ueau/v1"
	UdmMtResUrdPrefix             = "/nudm-mt/v1"
	UdmNiddauResUriPrefix         = "/nudm-niddau/v1"
	UdmRsdsResUriPrefix           = "/nudm-rsds/v1"
	UdmSsauResUriPrefix           = "/nudm-ssau/v1"
	UdmUeidResUriPrefix           = "/nudm-ueid/v1"
)

Variables

This section is empty.

Functions

func InitConfigFactory

func InitConfigFactory(f string, cfg *Config) error

TODO: Support configuration update from REST api

Types

type Config

type Config struct {
	Info          *Info          `yaml:"info" valid:"required"`
	Configuration *Configuration `yaml:"configuration" valid:"required"`
	Logger        *Logger        `yaml:"logger" valid:"required"`
	sync.RWMutex
}
var UdmConfig *Config

func ReadConfig added in v1.2.1

func ReadConfig(cfgPath string) (*Config, error)

func (*Config) AreMetricsEnabled added in v1.4.0

func (c *Config) AreMetricsEnabled() bool

func (*Config) GetCertKeyPath added in v1.2.3

func (c *Config) GetCertKeyPath() string

func (*Config) GetCertPemPath added in v1.2.3

func (c *Config) GetCertPemPath() string

func (*Config) GetLogEnable added in v1.2.1

func (c *Config) GetLogEnable() bool

func (*Config) GetLogLevel added in v1.2.1

func (c *Config) GetLogLevel() string

func (*Config) GetLogReportCaller added in v1.2.1

func (c *Config) GetLogReportCaller() bool

func (*Config) GetMetricsBindingAddr added in v1.4.0

func (c *Config) GetMetricsBindingAddr() string

func (*Config) GetMetricsBindingIP added in v1.4.0

func (c *Config) GetMetricsBindingIP() string

func (*Config) GetMetricsCertKeyPath added in v1.4.0

func (c *Config) GetMetricsCertKeyPath() string

func (*Config) GetMetricsCertPemPath added in v1.4.0

func (c *Config) GetMetricsCertPemPath() string

func (*Config) GetMetricsNamespace added in v1.4.0

func (c *Config) GetMetricsNamespace() string

func (*Config) GetMetricsPort added in v1.4.0

func (c *Config) GetMetricsPort() int

func (*Config) GetMetricsScheme added in v1.4.0

func (c *Config) GetMetricsScheme() string

func (*Config) GetNfInstanceId added in v1.4.1

func (c *Config) GetNfInstanceId() string

func (*Config) GetSbiBindingAddr added in v1.2.3

func (c *Config) GetSbiBindingAddr() string

func (*Config) GetSbiBindingIP added in v1.2.3

func (c *Config) GetSbiBindingIP() string

func (*Config) GetSbiPort added in v1.2.3

func (c *Config) GetSbiPort() int

func (*Config) GetSbiScheme added in v1.2.3

func (c *Config) GetSbiScheme() string

func (*Config) GetVersion

func (c *Config) GetVersion() string

func (*Config) SetLogEnable added in v1.2.1

func (c *Config) SetLogEnable(enable bool)

func (*Config) SetLogLevel added in v1.2.1

func (c *Config) SetLogLevel(level string)

func (*Config) SetLogReportCaller added in v1.2.1

func (c *Config) SetLogReportCaller(reportCaller bool)

func (*Config) Validate

func (c *Config) Validate() (bool, error)

type Configuration

type Configuration struct {
	NfInstanceId    string             `yaml:"nfInstanceId,omitempty" valid:"optional,uuidv4"`
	Sbi             *Sbi               `yaml:"sbi,omitempty"  valid:"required"`
	Metrics         *Metrics           `yaml:"metrics,omitempty" valid:"optional"`
	ServiceNameList []string           `yaml:"serviceNameList,omitempty"  valid:"required"`
	NrfUri          string             `yaml:"nrfUri,omitempty"  valid:"required, url"`
	NrfCertPem      string             `yaml:"nrfCertPem,omitempty" valid:"optional"`
	SuciProfiles    []suci.SuciProfile `yaml:"SuciProfile,omitempty"`
}

type Info

type Info struct {
	Version     string `yaml:"version,omitempty" valid:"required,in(1.0.3)"`
	Description string `yaml:"description,omitempty" valid:"type(string)"`
}

type Logger added in v1.2.1

type Logger struct {
	Enable       bool   `yaml:"enable" valid:"type(bool)"`
	Level        string `yaml:"level" valid:"required,in(trace|debug|info|warn|error|fatal|panic)"`
	ReportCaller bool   `yaml:"reportCaller" valid:"type(bool)"`
}

type Metrics added in v1.4.0

type Metrics struct {
	Enable      bool   `yaml:"enable" valid:"optional"`
	Scheme      string `yaml:"scheme" valid:"required,scheme"`
	BindingIPv4 string `yaml:"bindingIPv4,omitempty" valid:"required,host"` // IP used to run the server in the node.
	Port        int    `yaml:"port,omitempty" valid:"optional,port"`
	Tls         *Tls   `yaml:"tls,omitempty" valid:"optional"`
	Namespace   string `yaml:"namespace" valid:"optional"`
}

type Sbi

type Sbi struct {
	Scheme       string `yaml:"scheme" valid:"scheme"`
	RegisterIPv4 string `yaml:"registerIPv4,omitempty" valid:"host,required"` // IP that is registered at NRF.
	// IPv6Addr string `yaml:"ipv6Addr,omitempty"`
	BindingIPv4 string `yaml:"bindingIPv4,omitempty" valid:"host,required"` // IP used to run the server in the node.
	Port        int    `yaml:"port,omitempty" valid:"port,required"`
	Tls         *Tls   `yaml:"tls,omitempty" valid:"optional"`
}

type Tls

type Tls struct {
	Pem string `yaml:"pem,omitempty" valid:"type(string),minstringlength(1),required"`
	Key string `yaml:"key,omitempty" valid:"type(string),minstringlength(1),required"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL