config

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Overview

Package config defines all the variables that users can set (through flags, environment vars, or the config file) to affect command behavior.

The variables are grouped into a hierarchy of structs that matches the subcommand tree. Each struct defines destination fields and the mapping from command-specific flags into those fields.

These structs are defined in a separate package from the actual behavior (in the 'internal/command' package) so that nested commands can refer to the "inherited" config from parent commands without creating an import loop.

Index

Constants

View Source
const (
	RootManagerPIDFile    = "rootmanager.pid"
	SandboxManagerPIDFile = "sandboxmanager.pid"

	RootManagerLogFile    = "root-manager.log"
	SandboxManagerLogFile = "sandbox-manager.log"
)
View Source
const (
	DefaultVirtualIPNet = "242.242.0.1/16"
)

Variables

View Source
var (
	VarRx = regexp.MustCompile(`^[a-zA-Z][a-zA-Z0-9_.-]*$`)
)

Functions

This section is empty.

Types

type API added in v0.3.3

type API struct {
	Root

	// Config file values
	Org          string
	MaskedAPIKey string
	APIURL       string

	// Runtime values
	Client *client.SignadotAPI `json:"-"`
}

func (*API) InitAPIConfig added in v0.3.3

func (a *API) InitAPIConfig() error

func (*API) InitAPITransport added in v0.5.0

func (a *API) InitAPITransport(apiKey string) error

func (*API) MarshalJSON added in v0.3.3

func (a *API) MarshalJSON() ([]byte, error)

for error reporting, we select the config that the user controls.

func (*API) MarshalYAML added in v0.5.0

func (a *API) MarshalYAML() ([]byte, error)

type Cluster

type Cluster struct {
	*API
}

type ClusterAdd added in v0.2.0

type ClusterAdd struct {
	*Cluster

	// Flags
	ClusterName string
}

func (*ClusterAdd) AddFlags added in v0.2.0

func (c *ClusterAdd) AddFlags(cmd *cobra.Command)

type ClusterList

type ClusterList struct {
	*Cluster
}

type ClusterToken

type ClusterToken struct {
	*Cluster
}

type ClusterTokenCreate

type ClusterTokenCreate struct {
	*ClusterToken

	// Flags
	ClusterName string
}

func (*ClusterTokenCreate) AddFlags

func (c *ClusterTokenCreate) AddFlags(cmd *cobra.Command)

type ClusterTokenDelete added in v0.2.0

type ClusterTokenDelete struct {
	*ClusterToken

	// Flags
	ClusterName string
}

func (*ClusterTokenDelete) AddFlags added in v0.2.0

func (c *ClusterTokenDelete) AddFlags(cmd *cobra.Command)

type ClusterTokenList added in v0.2.0

type ClusterTokenList struct {
	*ClusterToken

	// Flags
	ClusterName string
}

func (*ClusterTokenList) AddFlags added in v0.2.0

func (c *ClusterTokenList) AddFlags(cmd *cobra.Command)

type ConnectInvocationConfig added in v0.5.0

type ConnectInvocationConfig struct {
	WithRootManager bool   `json:"withRootManager"`
	APIPort         uint16 `json:"apiPort"`
	LocalNetPort    uint16 `json:"localNetPort"`
	SignadotDir     string `json:"signadotDir"`

	User             *ConnectInvocationUser       `json:"user"`
	VirtualIPNet     string                       `json:"virtualIPNet"`
	ConnectionConfig *connectcfg.ConnectionConfig `json:"connectionConfig"`
	ProxyURL         string                       `json:"proxyURL"`
	APIKey           string                       `json:"apiKey"`
	Debug            bool                         `json:"debug"`
}

ConnectInvocationConfig is the config for locald as computed by `signadot local connect` when `signadot local connect` is called. This prevents racy behavior when the config file is edited, allows config to be computed by non-root user and used subsequently by root, and facilitates wrapping everything that needs to be passed in a json so we can evolve what needs to be passed without plumbing the command line

func (*ConnectInvocationConfig) GetLogName added in v0.5.0

func (ciConfig *ConnectInvocationConfig) GetLogName(isRootManager bool) string

func (*ConnectInvocationConfig) GetPIDfile added in v0.5.0

func (ciConfig *ConnectInvocationConfig) GetPIDfile(isRootManager bool) string

type ConnectInvocationUser added in v0.5.0

type ConnectInvocationUser struct {
	UID      int    `json:"uid"`
	GID      int    `json:"gid"`
	UIDHome  string `json:"uidHome"`
	UIDPath  string `json:"uidPath"`
	Username string `json:"username"`
}

type ConnectWait added in v0.7.0

type ConnectWait int
const (
	ConnectWaitConnect ConnectWait = iota
	ConnectWaitSandboxes
	ConnectWaitNone
)

func ParseConnectWait added in v0.7.0

func ParseConnectWait(v string) (ConnectWait, error)

func (*ConnectWait) Set added in v0.7.0

func (cw *ConnectWait) Set(v string) error

func (ConnectWait) String added in v0.7.0

func (cw ConnectWait) String() string

func (*ConnectWait) Type added in v0.7.0

func (cw *ConnectWait) Type() string

type Local added in v0.5.0

type Local struct {
	*API

	ProxyURL string
	// initialized from ~/.signadot/config.yaml
	LocalConfig *config.Config
}

func (*Local) GetAPIKey added in v0.7.0

func (l *Local) GetAPIKey() string

func (*Local) GetConnectionConfig added in v0.5.0

func (l *Local) GetConnectionConfig(cluster string) (*config.ConnectionConfig, error)

func (*Local) GetProxyURL added in v0.7.0

func (l *Local) GetProxyURL() (string, error)

func (*Local) InitLocalConfig added in v0.5.0

func (l *Local) InitLocalConfig() error

func (*Local) InitLocalProxyConfig added in v0.7.0

func (l *Local) InitLocalProxyConfig() error

type LocalConnect added in v0.5.0

type LocalConnect struct {
	*Local

	// Flags
	Cluster      string
	Unprivileged bool
	Wait         ConnectWait
	WaitTimeout  time.Duration

	// Hidden Flags
	DumpCIConfig bool
}

func (*LocalConnect) AddFlags added in v0.5.0

func (c *LocalConnect) AddFlags(cmd *cobra.Command)

type LocalDaemon added in v0.5.0

type LocalDaemon struct {
	// config sent from `signadot local connect` in $SIGNADOT_LOCAL_CONNECT_CONFIG
	ConnectInvocationConfig *ConnectInvocationConfig

	// Flags
	DaemonRun      bool
	RootManager    bool
	SandboxManager bool

	// Hidden Flags
	ConnectInvocationConfigFile string
}

func (*LocalDaemon) AddFlags added in v0.5.0

func (c *LocalDaemon) AddFlags(cmd *cobra.Command)

func (*LocalDaemon) InitLocalDaemon added in v0.5.0

func (ld *LocalDaemon) InitLocalDaemon() error

type LocalDisconnect added in v0.5.0

type LocalDisconnect struct {
	*Local

	// Flags
	CleanLocalSandboxes bool
}

func (*LocalDisconnect) AddFlags added in v0.6.0

func (c *LocalDisconnect) AddFlags(cmd *cobra.Command)

type LocalProxy added in v0.7.0

type LocalProxy struct {
	*Local

	// Flags
	Sandbox       string
	RouteGroup    string
	Cluster       string
	ProxyMappings []ProxyMapping
}

func (*LocalProxy) AddFlags added in v0.7.0

func (lp *LocalProxy) AddFlags(cmd *cobra.Command)

func (*LocalProxy) Validate added in v0.7.0

func (lp *LocalProxy) Validate() error

type LocalStatus added in v0.5.0

type LocalStatus struct {
	*Local

	// Flags
	Details bool
}

func (*LocalStatus) AddFlags added in v0.5.0

func (c *LocalStatus) AddFlags(cmd *cobra.Command)

type OutputFormat

type OutputFormat string
const (
	OutputFormatDefault OutputFormat = ""
	OutputFormatYAML    OutputFormat = "yaml"
	OutputFormatJSON    OutputFormat = "json"
)

func (*OutputFormat) Set

func (o *OutputFormat) Set(v string) error

Set implements the pflag.Value interface.

func (*OutputFormat) String

func (o *OutputFormat) String() string

func (*OutputFormat) Type

func (o *OutputFormat) Type() string

Type implements the pflag.Value interface.

type ProxyMapping added in v0.7.0

type ProxyMapping struct {
	TargetProto string
	TargetAddr  string
	BindAddr    string
}

func (*ProxyMapping) GetTarget added in v0.7.0

func (pm *ProxyMapping) GetTarget() string

func (*ProxyMapping) String added in v0.7.0

func (pm *ProxyMapping) String() string

func (*ProxyMapping) Validate added in v0.7.0

func (pm *ProxyMapping) Validate() error

type ResourcePlugin added in v0.4.0

type ResourcePlugin struct {
	*API
}

type ResourcePluginApply added in v0.4.0

type ResourcePluginApply struct {
	*ResourcePlugin

	// Flags
	Filename     string
	TemplateVals TemplateVals
}

func (*ResourcePluginApply) AddFlags added in v0.4.0

func (c *ResourcePluginApply) AddFlags(cmd *cobra.Command)

type ResourcePluginDelete added in v0.4.0

type ResourcePluginDelete struct {
	*ResourcePlugin

	// Flags
	Filename     string
	TemplateVals TemplateVals
}

func (*ResourcePluginDelete) AddFlags added in v0.4.0

func (c *ResourcePluginDelete) AddFlags(cmd *cobra.Command)

type ResourcePluginGet added in v0.4.0

type ResourcePluginGet struct {
	*ResourcePlugin
}

type ResourcePluginList added in v0.4.0

type ResourcePluginList struct {
	*ResourcePlugin
}

type Root

type Root struct {
	// Config file values
	DashboardURL *url.URL

	// Flags
	Debug        bool
	ConfigFile   string
	OutputFormat OutputFormat
}

func (*Root) AddFlags

func (c *Root) AddFlags(cmd *cobra.Command)

func (*Root) Init

func (c *Root) Init()

func (*Root) SandboxDashboardURL

func (c *Root) SandboxDashboardURL(id string) *url.URL

type RouteGroup added in v0.3.7

type RouteGroup struct {
	*API
}

type RouteGroupApply added in v0.3.7

type RouteGroupApply struct {
	*RouteGroup

	// Flags
	Filename     string
	Wait         bool
	WaitTimeout  time.Duration
	TemplateVals TemplateVals
}

func (*RouteGroupApply) AddFlags added in v0.3.7

func (c *RouteGroupApply) AddFlags(cmd *cobra.Command)

type RouteGroupDelete added in v0.3.7

type RouteGroupDelete struct {
	*RouteGroup

	// Flags
	Filename     string
	Wait         bool
	WaitTimeout  time.Duration
	TemplateVals TemplateVals
}

func (*RouteGroupDelete) AddFlags added in v0.3.7

func (c *RouteGroupDelete) AddFlags(cmd *cobra.Command)

type RouteGroupGet added in v0.3.7

type RouteGroupGet struct {
	*RouteGroup
}

type RouteGroupList added in v0.3.7

type RouteGroupList struct {
	*RouteGroup
}

type Sandbox

type Sandbox struct {
	*API
}

type SandboxApply added in v0.2.0

type SandboxApply struct {
	*Sandbox

	// Flags
	Filename     string
	Wait         bool
	WaitTimeout  time.Duration
	TemplateVals TemplateVals
}

func (*SandboxApply) AddFlags added in v0.2.0

func (c *SandboxApply) AddFlags(cmd *cobra.Command)

type SandboxDelete

type SandboxDelete struct {
	*Sandbox

	// Flags
	Filename     string
	Wait         bool
	WaitTimeout  time.Duration
	TemplateVals TemplateVals
	Force        bool
}

func (*SandboxDelete) AddFlags

func (c *SandboxDelete) AddFlags(cmd *cobra.Command)

type SandboxGet

type SandboxGet struct {
	*Sandbox
}

type SandboxList

type SandboxList struct {
	*Sandbox
}

type TemplateVal added in v0.3.0

type TemplateVal struct {
	Var, Val string
}

func (*TemplateVal) String added in v0.3.0

func (tv *TemplateVal) String() string

type TemplateVals added in v0.3.0

type TemplateVals []TemplateVal

func (*TemplateVals) Set added in v0.3.0

func (tvs *TemplateVals) Set(v string) error

func (*TemplateVals) String added in v0.3.0

func (tvs *TemplateVals) String() string

func (*TemplateVals) Type added in v0.3.0

func (tvs *TemplateVals) Type() string

Jump to

Keyboard shortcuts

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