config

package
v0.68.0 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2026 License: Apache-2.0 Imports: 23 Imported by: 51

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CompleteProxyConfigurers added in v0.68.0

func CompleteProxyConfigurers(proxies []v1.ProxyConfigurer) []v1.ProxyConfigurer

func CompleteVisitorConfigurers added in v0.68.0

func CompleteVisitorConfigurers(visitors []v1.VisitorConfigurer) []v1.VisitorConfigurer

func DetectLegacyINIFormat added in v0.52.0

func DetectLegacyINIFormat(content []byte) bool

func DetectLegacyINIFormatFromFile added in v0.52.0

func DetectLegacyINIFormatFromFile(path string) bool

func FilterClientConfigurers added in v0.68.0

func FilterClientConfigurers(
	common *v1.ClientCommonConfig,
	proxies []v1.ProxyConfigurer,
	visitors []v1.VisitorConfigurer,
) ([]v1.ProxyConfigurer, []v1.VisitorConfigurer)

func LoadAdditionalClientConfigs added in v0.52.0

func LoadAdditionalClientConfigs(paths []string, isLegacyFormat bool, strict bool) ([]v1.ProxyConfigurer, []v1.VisitorConfigurer, error)

func LoadClientConfig added in v0.52.0

func LoadClientConfig(path string, strict bool) (
	*v1.ClientCommonConfig,
	[]v1.ProxyConfigurer,
	[]v1.VisitorConfigurer,
	bool, error,
)

func LoadConfigure added in v0.52.0

func LoadConfigure(b []byte, c any, strict bool, formats ...string) error

LoadConfigure loads configuration from bytes and unmarshal into c. Now it supports json, yaml and toml format. An optional format hint (e.g. "toml", "yaml", "json") can be provided to enable better error messages with line number information.

func LoadConfigureFromFile added in v0.52.0

func LoadConfigureFromFile(path string, c any, strict bool) error

func LoadFileContentWithTemplate added in v0.52.0

func LoadFileContentWithTemplate(path string, values *Values) ([]byte, error)

func LoadServerConfig added in v0.52.0

func LoadServerConfig(path string, strict bool) (*v1.ServerConfig, bool, error)

func NewProxyConfigurerFromMsg added in v0.52.0

func NewProxyConfigurerFromMsg(m *msg.NewProxy, serverCfg *v1.ServerConfig) (v1.ProxyConfigurer, error)

func RegisterClientCommonConfigFlags added in v0.53.0

func RegisterClientCommonConfigFlags(cmd *cobra.Command, c *v1.ClientCommonConfig, opts ...RegisterFlagOption)

func RegisterProxyFlags added in v0.53.0

func RegisterProxyFlags(cmd *cobra.Command, c v1.ProxyConfigurer, opts ...RegisterFlagOption)

func RegisterServerConfigFlags added in v0.53.0

func RegisterServerConfigFlags(cmd *cobra.Command, c *v1.ServerConfig, opts ...RegisterFlagOption)

func RegisterVisitorFlags added in v0.53.0

func RegisterVisitorFlags(cmd *cobra.Command, c v1.VisitorConfigurer, opts ...RegisterFlagOption)

func RenderWithTemplate added in v0.52.0

func RenderWithTemplate(in []byte, values *Values) ([]byte, error)

func WordSepNormalizeFunc added in v0.54.0

func WordSepNormalizeFunc(f *pflag.FlagSet, name string) pflag.NormalizedName

WordSepNormalizeFunc changes all flags that contain "_" separators

Types

type BandwidthQuantityFlag added in v0.53.0

type BandwidthQuantityFlag struct {
	V *types.BandwidthQuantity
}

func (*BandwidthQuantityFlag) Set added in v0.53.0

func (*BandwidthQuantityFlag) String added in v0.53.0

func (f *BandwidthQuantityFlag) String() string

func (*BandwidthQuantityFlag) Type added in v0.53.0

func (f *BandwidthQuantityFlag) Type() string

type BoolFuncFlag added in v0.53.0

type BoolFuncFlag struct {
	TrueFunc  func()
	FalseFunc func()
	// contains filtered or unexported fields
}

func (*BoolFuncFlag) Set added in v0.53.0

func (f *BoolFuncFlag) Set(s string) error

func (*BoolFuncFlag) String added in v0.53.0

func (f *BoolFuncFlag) String() string

func (*BoolFuncFlag) Type added in v0.53.0

func (f *BoolFuncFlag) Type() string

type ClientConfigLoadResult added in v0.68.0

type ClientConfigLoadResult struct {
	// Common contains the common client configuration.
	Common *v1.ClientCommonConfig

	// Proxies contains proxy configurations from inline [[proxies]] and includeConfigFiles.
	// These are NOT completed (user prefix not added).
	Proxies []v1.ProxyConfigurer

	// Visitors contains visitor configurations from inline [[visitors]] and includeConfigFiles.
	// These are NOT completed.
	Visitors []v1.VisitorConfigurer

	// IsLegacyFormat indicates whether the config file is in legacy INI format.
	IsLegacyFormat bool
}

ClientConfigLoadResult contains the result of loading a client configuration file.

func LoadClientConfigResult added in v0.68.0

func LoadClientConfigResult(path string, strict bool) (*ClientConfigLoadResult, error)

LoadClientConfigResult loads and parses a client configuration file. It returns the raw configuration without completing proxies/visitors. The caller should call Complete on the configs manually for legacy behavior.

type NumberPair added in v0.56.0

type NumberPair struct {
	First  int64
	Second int64
}

type PortsRangeSliceFlag added in v0.53.0

type PortsRangeSliceFlag struct {
	V *[]types.PortsRange
}

func (*PortsRangeSliceFlag) Set added in v0.53.0

func (f *PortsRangeSliceFlag) Set(s string) error

func (*PortsRangeSliceFlag) String added in v0.53.0

func (f *PortsRangeSliceFlag) String() string

func (*PortsRangeSliceFlag) Type added in v0.53.0

func (f *PortsRangeSliceFlag) Type() string

type RegisterFlagOption added in v0.53.0

type RegisterFlagOption func(*registerFlagOptions)

func WithSSHMode added in v0.53.0

func WithSSHMode() RegisterFlagOption

type Values

type Values struct {
	Envs map[string]string // environment vars
}

func GetValues

func GetValues() *Values

Directories

Path Synopsis
v1

Jump to

Keyboard shortcuts

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