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: 11 Imported by: 4

Documentation

Index

Constants

View Source
const (
	NrfDefaultTLSKeyLogPath      = "./log/nrfsslkey.log"
	NrfDefaultCertPemPath        = "./cert/nrf.pem"
	NrfDefaultPrivateKeyPath     = "./cert/nrf.key"
	NrfDefaultRootCertPemPath    = "./cert/root.pem"
	NrfDefaultRootPrivateKeyPath = "./cert/root.key"
	NrfDefaultConfigPath         = "./config/nrfcfg.yaml"
	NrfDefaultNfInstanceIdEnvVar = "NRF_NF_INSTANCE_ID"
	NrfSbiDefaultIPv4            = "127.0.0.10"
	NrfSbiDefaultPort            = 8000
	NrfSbiDefaultScheme          = "https"
	NrfMetricsDefaultEnabled     = false
	NrfMetricsDefaultPort        = 9091
	NrfMetricsDefaultScheme      = "https"
	NrfMetricsDefaultNamespace   = "free5gc"
	NrfNfmResUriPrefix           = "/nnrf-nfm/v1"
	NrfDiscResUriPrefix          = "/nnrf-disc/v1"
	NrfBootstrappingPrefix       = "/bootstrapping"
)

Variables

This section is empty.

Functions

func InitConfigFactory

func InitConfigFactory(f string, cfg *Config) error

TODO: Support configuration update from REST api

Types

type Cert added in v1.2.1

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

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 NrfConfig *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) GetCertBasePath added in v1.2.1

func (c *Config) GetCertBasePath() 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) GetNrfCertPemPath added in v1.2.1

func (c *Config) GetNrfCertPemPath() string

func (*Config) GetNrfPrivKeyPath added in v1.2.1

func (c *Config) GetNrfPrivKeyPath() string

func (*Config) GetOAuth added in v1.2.1

func (c *Config) GetOAuth() bool

func (*Config) GetRootCertPemPath added in v1.2.1

func (c *Config) GetRootCertPemPath() string

func (*Config) GetRootPrivKeyPath added in v1.2.1

func (c *Config) GetRootPrivKeyPath() string

func (*Config) GetSbiBindingAddr

func (c *Config) GetSbiBindingAddr() string

func (*Config) GetSbiBindingIP

func (c *Config) GetSbiBindingIP() string

func (*Config) GetSbiPort

func (c *Config) GetSbiPort() int

func (*Config) GetSbiRegisterAddr

func (c *Config) GetSbiRegisterAddr() string

func (*Config) GetSbiRegisterIP

func (c *Config) GetSbiRegisterIP() string

func (*Config) GetSbiScheme

func (c *Config) GetSbiScheme() string

func (*Config) GetSbiUri

func (c *Config) GetSbiUri() string

func (*Config) GetServiceNameList added in v1.4.1

func (c *Config) GetServiceNameList() []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"`
	MongoDBName     string        `yaml:"MongoDBName" valid:"required"`
	MongoDBUrl      string        `yaml:"MongoDBUrl" valid:"required"`
	DefaultPlmnId   models.PlmnId `yaml:"DefaultPlmnId" valid:"required"`
	ServiceNameList []string      `yaml:"serviceNameList,omitempty" valid:"required"`
}

type Info

type Info struct {
	Version     string `yaml:"version,omitempty" valid:"required,in(1.0.2)"`
	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         *Cert  `yaml:"tls,omitempty" valid:"optional"`
	Namespace   string `yaml:"namespace" valid:"optional"`
}

type Sbi

type Sbi struct {
	Scheme       string `yaml:"scheme" valid:"scheme,required"`
	RegisterIPv4 string `yaml:"registerIPv4,omitempty" valid:"host,optional"`
	// IP that is serviced or registered at another 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,optional"`
	Cert        *Cert  `yaml:"cert,omitempty" valid:"optional"`
	RootCert    *Cert  `yaml:"rootcert,omitempty" valid:"optional"`
	OAuth       bool   `yaml:"oauth,omitempty" valid:"optional"`
}

Jump to

Keyboard shortcuts

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