Help us shape the future of Go! Take the 2026 Go Developer Survey

npmconfig

package
v1.7.21 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2026 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// ConfigEnvPath is what's used by viper to load config path
	ConfigEnvPath = "NPM_CONFIG"
)

Variables

View Source
var DefaultConfig = Config{
	ResyncPeriodInMinutes: defaultResyncPeriod,

	ListeningPort:    defaultListeningPort,
	ListeningAddress: "0.0.0.0",

	Transport: GrpcServerConfig{
		Address:     "0.0.0.0",
		Port:        defaultGrpcPort,
		ServicePort: defaultGrpcServicePort,
	},

	WindowsNetworkName:          util.AzureNetworkName,
	ApplyMaxBatches:             defaultApplyMaxBatches,
	ApplyIntervalInMilliseconds: defaultApplyInterval,
	MaxBatchedACLsPerPod:        defaultMaxBatchedACLsPerPod,

	MaxPendingNetPols:            defaultMaxPendingNetPols,
	NetPolInvervalInMilliseconds: defaultNetPolInterval,

	Toggles: Toggles{
		EnablePrometheusMetrics: true,
		EnablePprof:             true,
		EnableHTTPDebugAPI:      true,
		EnableV2NPM:             true,
		PlaceAzureChainFirst:    util.PlaceAzureChainAfterKubeServices,
		ApplyIPSetsOnNeed:       false,

		ApplyInBackground: true,

		NetPolInBackground: true,
		EnableNPMLite:      false,
	},

	LogLevel: "info",
}

DefaultConfig is the guaranteed configuration NPM can run in out of the box

Functions

func GetConfigPath

func GetConfigPath() string

GetConfigPath TODO: solidify config paths

Types

type Config

type Config struct {
	ResyncPeriodInMinutes int              `json:"ResyncPeriodInMinutes,omitempty"`
	ListeningPort         int              `json:"ListeningPort,omitempty"`
	ListeningAddress      string           `json:"ListeningAddress,omitempty"`
	Transport             GrpcServerConfig `json:"Transport,omitempty"`
	// WindowsNetworkName can be either 'azure' or 'Calico' (case sensitive).
	// It can also be the empty string, which results in the default value of 'azure'.
	WindowsNetworkName string `json:"WindowsNetworkName,omitempty"`
	// Apply options for Windows only. Relevant when ApplyInBackground is true.
	ApplyMaxBatches             int `json:"ApplyDataPlaneMaxBatches,omitempty"`
	ApplyIntervalInMilliseconds int `json:"ApplyDataPlaneMaxWaitInMilliseconds,omitempty"`
	// MaxBatchedACLsPerPod is the maximum number of ACLs that can be added to a Pod at once in Windows.
	// The zero value is valid.
	// A NetworkPolicy's ACLs are always in the same batch, and there will be at least one NetworkPolicy per batch.
	MaxBatchedACLsPerPod         int     `json:"MaxBatchedACLsPerPod,omitempty"`
	MaxPendingNetPols            int     `json:"MaxPendingNetPols,omitempty"`
	NetPolInvervalInMilliseconds int     `json:"NetPolInvervalInMilliseconds,omitempty"`
	Toggles                      Toggles `json:"Toggles,omitempty"`
	LogLevel                     string  `json:"LogLevel,omitempty"`
}

func (Config) NPMVersion

func (c Config) NPMVersion() int

NPMVersion returns 1 if EnableV2NPM=false and 2 otherwise

type Flags

type Flags struct {
	KubeConfigPath string `json:"KubeConfigPath"`
}

type GrpcServerConfig

type GrpcServerConfig struct {
	// Address is the address on which the gRPC server will listen
	Address string `json:"Address,omitempty"`
	// Port is the port on which the gRPC server will listen
	Port int `json:"Port,omitempty"`
	// ServicePort is the service port for the client to connect to the gRPC server
	ServicePort int `json:"ServicePort,omitempty"`
}

type Toggles

type Toggles struct {
	EnablePrometheusMetrics bool
	EnablePprof             bool
	EnableHTTPDebugAPI      bool
	EnableV2NPM             bool
	PlaceAzureChainFirst    bool
	ApplyIPSetsOnNeed       bool
	// ApplyInBackground applies for Windows only
	ApplyInBackground bool
	// NetPolInBackground
	NetPolInBackground bool
	EnableNPMLite      bool
}

Jump to

Keyboard shortcuts

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