Documentation ¶
Index ¶
- Constants
- func Clear(path string) (err error)
- func NewContext(ctx context.Context, cfg *Config) context.Context
- func ReadAccessToken(path string) (string, error)
- func SetAccessToken(path, token string) error
- func SetAutoUpdate(path string, autoUpdate bool) error
- func SetMetricsToken(path, token string) error
- func SetSendMetrics(path string, sendMetrics bool) error
- func SetWireGuardState(path string, state map[string]*wg.WireGuardState) error
- func SetWireGuardWebsocketsEnabled(path string, enabled bool) error
- func Tokens(ctx context.Context) *tokens.Tokens
- type Config
Constants ¶
const ( // FileName denotes the name of the config file. FileName = "config.yml" AccessTokenEnvKey = envKeyPrefix + "ACCESS_TOKEN" AccessTokenFileKey = "access_token" MetricsTokenEnvKey = envKeyPrefix + "METRICS_TOKEN" MetricsTokenFileKey = "metrics_token" SendMetricsEnvKey = envKeyPrefix + "SEND_METRICS" SendMetricsFileKey = "send_metrics" AutoUpdateFileKey = "auto_update" WireGuardStateFileKey = "wire_guard_state" WireGuardWebsocketsFileKey = "wire_guard_websockets" APITokenEnvKey = envKeyPrefix + "API_TOKEN" )
Variables ¶
This section is empty.
Functions ¶
func Clear ¶
Clear clears the access token, metrics token, and wireguard-related keys of the configuration file found at path.
func NewContext ¶
NewContext derives a Context that carries the given Config from ctx.
func ReadAccessToken ¶ added in v0.1.148
func SetAccessToken ¶
SetAccessToken sets the value of the access token at the configuration file found at path.
func SetAutoUpdate ¶ added in v0.1.51
SetAutoUpdate sets the value of the autoupdate flag at the configuration file found at path.
func SetMetricsToken ¶ added in v0.0.541
SetMetricsToken sets the value of the metrics token at the configuration file found at path.
func SetSendMetrics ¶ added in v0.1.5
SetSendMetrics sets the value of the send metrics flag at the configuration file found at path.
func SetWireGuardState ¶ added in v0.1.118
func SetWireGuardState(path string, state map[string]*wg.WireGuardState) error
func SetWireGuardWebsocketsEnabled ¶ added in v0.1.118
Types ¶
type Config ¶
type Config struct { // APIBaseURL denotes the base URL of the API. APIBaseURL string // FlapsBaseURL denotes base URL for FLAPS (also known as the Machines API). FlapsBaseURL string // MetricsBaseURL denotes the base URL of the metrics API. MetricsBaseURL string // RegistryHost denotes the docker registry host. RegistryHost string // VerboseOutput denotes whether the user wants the output to be verbose. VerboseOutput bool // JSONOutput denotes whether the user wants the output to be JSON. JSONOutput bool // LogGQLErrors denotes whether the user wants the log GraphQL errors. LogGQLErrors bool // SendMetrics denotes whether the user wants to send metrics. SendMetrics bool // AutoUpdate denotes whether the user wants to automatically update flyctl. AutoUpdate bool // Organization denotes the organizational slug the user has selected. Organization string // Region denotes the region slug the user has selected. Region string // LocalOnly denotes whether the user wants only local operations. LocalOnly bool // Tokens is the user's authentication token(s). They are used differently // depending on where they need to be sent. Tokens *tokens.Tokens // MetricsToken denotes the user's metrics token. MetricsToken string // contains filtered or unexported fields }
Config wraps the functionality of the configuration file.
Instances of Config are safe for concurrent use.
func FromContext ¶
FromContext returns the Config ctx carries. It panics in case ctx carries no Config.
func (*Config) ApplyEnv ¶
func (cfg *Config) ApplyEnv()
ApplyEnv sets the properties of cfg which may be set via environment variables to the values these variables contain.
ApplyEnv does not change the dirty state of config.
func (*Config) ApplyFile ¶
ApplyFile sets the properties of cfg which may be set via configuration file to the values the file at the given path contains.
func (*Config) ApplyFlags ¶
ApplyFlags sets the properties of cfg which may be set via command line flags to the values the flags of the given FlagSet may contain.