Documentation ¶
Index ¶
- Constants
- Variables
- func CheckTimeout(ctx context.Context, err error) error
- func ConfigFlags(flagMap map[string]string) (*genericclioptions.ConfigFlags, error)
- func CurrentContext(flagMap map[string]string) (string, *api.Context, error)
- func DisplayVersion() string
- func Executable() (string, error)
- func GetConfigFile(c context.Context) string
- func GetExe() string
- func GetInstallMechanism() (string, error)
- func GetMechanismFromPath(execPath string) (string, error)
- func IsDaemon() bool
- func MergeAndReplace(c context.Context, defaults *Config, priority *Config, root bool) error
- func ProcessName() string
- func ReloadDaemonConfig(c context.Context, root bool) error
- func ReplaceConfig(ctx context.Context, config *Config)
- func RestoreDefaults(c context.Context, root bool) error
- func Retry(c context.Context, text string, f func(context.Context) error, ...) error
- func RunError(err error) error
- func Semver() semver.Version
- func SetConfig(ctx context.Context, configDir, configYml string) (context.Context, error)
- func SetDefaultConfig(ctx context.Context, configDir string) (context.Context, error)
- func Version() string
- func Watch(c context.Context, onReload func(context.Context) error) error
- func WithConfig(ctx context.Context, config *Config) context.Context
- func WithEnsuredState[T any](ctx context.Context, r T, prolog Prolog[T], action, epilog Action[T]) error
- func WithEnv(ctx context.Context, env *Env) context.Context
- func WrapRecvErr(err error, msg string) error
- type Action
- type Cloud
- type Cluster
- type Config
- type DNS
- type DNSMapping
- type DNSMappings
- type DNSSnake
- type DnsConfig
- type Env
- type Grpc
- type Images
- type Intercept
- type Kubeconfig
- func DaemonKubeconfig(c context.Context, cr *connector.ConnectRequest) (*Kubeconfig, error)
- func NewInClusterConfig(c context.Context, flagMap map[string]string) (*Kubeconfig, error)
- func NewKubeconfig(c context.Context, flagMap map[string]string, managerNamespaceOverride string) (*Kubeconfig, error)
- func (kf *Kubeconfig) AddRemoteKubeConfigExtension(ctx context.Context, cfgYaml []byte) error
- func (kf *Kubeconfig) ContextServiceAndFlagsEqual(okf *Kubeconfig) bool
- func (kf *Kubeconfig) GetContext() string
- func (kf *Kubeconfig) GetManagerNamespace() string
- func (kf *Kubeconfig) GetRestConfig() *rest.Config
- type KubeconfigExtension
- type LogLevels
- type ManagerConfig
- type OSSpecificConfig
- type OSSpecificEnv
- type Prolog
- type RecvEOFError
- type Routing
- type RoutingSnake
- type SessionConfig
- type TelepresenceAPI
- type TimeoutID
- type Timeouts
- func (t *Timeouts) Get(timeoutID TimeoutID) time.Duration
- func (t Timeouts) IsZero() bool
- func (t Timeouts) MarshalYAML() (any, error)
- func (t *Timeouts) TimeoutContext(ctx context.Context, timeoutID TimeoutID) (context.Context, context.CancelFunc)
- func (t *Timeouts) UnmarshalYAML(node *yaml.Node) (err error)
Constants ¶
const (
// APIVersion is the API version of the daemon and connector API.
APIVersion = 3
)
const ConfigFile = "config.yml"
Variables ¶
var DisplayName = "Telepresence" //nolint:gochecknoglobals // extension point
Functions ¶
func ConfigFlags ¶ added in v2.12.0
func ConfigFlags(flagMap map[string]string) (*genericclioptions.ConfigFlags, error)
func CurrentContext ¶ added in v2.12.0
CurrentContext returns the name of the current Kubernetes context, and the context itself.
func DisplayVersion ¶
func DisplayVersion() string
DisplayVersion returns a printable version for `telepresence`.
func Executable ¶ added in v2.5.0
func GetConfigFile ¶ added in v2.3.5
GetConfigFile gets the path to the configFile as stored in filelocation.AppUserConfigDir.
func GetInstallMechanism ¶ added in v2.4.8
GetInstallMechanism returns how the executable was installed on the machine.
func GetMechanismFromPath ¶ added in v2.4.8
GetMechanismFromPath is a helper function that contains most of the logic required for GetInstallMechanism, but enables us to test it since we can control the path passed in.
func MergeAndReplace ¶ added in v2.9.0
func ProcessName ¶ added in v2.9.0
func ProcessName() string
func ReloadDaemonConfig ¶ added in v2.9.0
ReloadDaemonConfig calls SetLevel with the log level defined for the rootDaemon or userDaemon depending on the root flag. Assumes that the config has already been reloaded.
func ReplaceConfig ¶ added in v2.5.0
ReplaceConfig replaces the config last stored using WithConfig with the given Config.
func Retry ¶
func Retry(c context.Context, text string, f func(context.Context) error, durations ...time.Duration) error
Retry will run the given function repeatedly with an increasing delay until it returns without error.
The function takes 0 to 2 durations with the following meaning
Delay - initial delay, i.e. the delay between the first and the second call. MaxDelay - maximum delay between calling the functions (delay will never grow beyond this value)
func RunError ¶
RunError checks if the given err is a *exit.ExitError, and if so, extracts Stderr and the ExitCode from it.
func SetConfig ¶ added in v2.4.0
SetConfig creates a config from the configYml provided and assigns it to a new context which is returned. Use this if you are testing components of the config.yml, otherwise you can use setDefaultConfig.
func SetDefaultConfig ¶ added in v2.4.0
SetDefaultConfig creates a config that has the registry set correctly. This ensures that the config on the machine of whatever is running the test, isn't used, which could cause conflict with the tests.
func Watch ¶ added in v2.5.0
Watch uses a file system watcher that receives events when the configuration changes and calls the given function when that happens.
func WithConfig ¶ added in v2.4.2
WithConfig returns a context with the given Config.
func WithEnsuredState ¶
func WithEnsuredState[T any](ctx context.Context, r T, prolog Prolog[T], action, epilog Action[T]) error
WithEnsuredState calls prolog, and if that was successful, calls act. If epilog is not nil, it is guaranteed to be called when prolog returns true.
func WrapRecvErr ¶ added in v2.3.3
WrapRecvErr wraps an error from a Recv call. If the error is nil, nil is returned. If the error indicates that the remote end has , a RecvEOFError wrapping the error will be returned. Otherwise, the original error will be wrapped as fmt.Errorf("%s: %w", msg, err).
Types ¶
type Cloud ¶ added in v2.3.5
type Cloud struct { SkipLogin bool `json:"skipLogin,omitempty" yaml:"skipLogin,omitempty"` RefreshMessages time.Duration `json:"refreshMessages,omitempty" yaml:"refreshMessages,omitempty"` SystemaHost string `json:"systemaHost,omitempty" yaml:"systemaHost,omitempty"` SystemaPort string `json:"systemaPort,omitempty" yaml:"systemaPort,omitempty"` }
func (Cloud) IsZero ¶ added in v2.5.0
IsZero controls whether this element will be included in marshalled output.
func (Cloud) MarshalYAML ¶ added in v2.4.4
MarshalYAML is not using pointer receiver here, because Cloud is not pointer in the Config struct.
func (*Cloud) UnmarshalYAML ¶ added in v2.3.5
UnmarshalYAML parses the images YAML.
type Cluster ¶ added in v2.11.0
type Cluster struct { DefaultManagerNamespace string `json:"defaultManagerNamespace,omitempty" yaml:"defaultManagerNamespace,omitempty"` MappedNamespaces []string `json:"mappedNamespaces,omitempty" yaml:"mappedNamespaces,omitempty"` }
func (Cluster) IsZero ¶ added in v2.11.0
IsZero controls whether this element will be included in marshalled output.
func (Cluster) MarshalYAML ¶ added in v2.11.0
MarshalYAML is not using pointer receiver here, because Cluster is not pointer in the Config struct.
type Config ¶ added in v2.1.2
type Config struct { OSSpecificConfig `yaml:",inline"` Timeouts Timeouts `json:"timeouts,omitempty" yaml:"timeouts,omitempty"` LogLevels LogLevels `json:"logLevels,omitempty" yaml:"logLevels,omitempty"` Images Images `json:"images,omitempty" yaml:"images,omitempty"` Cloud Cloud `json:"cloud,omitempty" yaml:"cloud,omitempty"` Grpc Grpc `json:"grpc,omitempty" yaml:"grpc,omitempty"` TelepresenceAPI TelepresenceAPI `json:"telepresenceAPI,omitempty" yaml:"telepresenceAPI,omitempty"` Intercept Intercept `json:"intercept,omitempty" yaml:"intercept,omitempty"` Cluster Cluster `json:"cluster,omitempty" yaml:"cluster,omitempty"` }
Config contains all configuration values for the telepresence CLI.
func GetDefaultConfig ¶ added in v2.4.2
func GetDefaultConfig() Config
GetDefaultConfig returns the default configuration settings.
func LoadConfig ¶ added in v2.4.2
LoadConfig loads and returns the Telepresence configuration as stored in filelocation.AppUserConfigDir or filelocation.AppSystemConfigDirs.
func ParseConfigYAML ¶ added in v2.13.0
type DNS ¶ added in v2.9.0
type DNS struct { Error string `json:"error,omitempty" yaml:"error,omitempty"` LocalIP net.IP `json:"localIP,omitempty" yaml:"localIP,omitempty"` RemoteIP net.IP `json:"remoteIP,omitempty" yaml:"remoteIP,omitempty"` IncludeSuffixes []string `json:"includeSuffixes,omitempty" yaml:"includeSuffixes,omitempty"` ExcludeSuffixes []string `json:"excludeSuffixes,omitempty" yaml:"excludeSuffixes,omitempty"` Excludes []string `json:"excludes,omitempty" yaml:"excludes,omitempty"` Mappings DNSMappings `json:"mappings,omitempty" yaml:"mappings,omitempty"` LookupTimeout time.Duration `json:"lookupTimeout,omitempty" yaml:"lookupTimeout,omitempty"` }
type DNSMapping ¶ added in v2.14.0
type DNSMapping struct { Name string `json:"name,omitempty" yaml:"name,omitempty"` AliasFor string `json:"aliasFor,omitempty" yaml:"aliasFor,omitempty"` }
DNSMapping contains a hostname and its associated alias. When requesting the name, the intended behavior is to resolve the alias instead.
type DNSMappings ¶ added in v2.14.0
type DNSMappings []*DNSMapping
func (*DNSMappings) FromRPC ¶ added in v2.14.0
func (d *DNSMappings) FromRPC(rpcMappings []*rpc.DNSMapping)
func (DNSMappings) ToRPC ¶ added in v2.14.0
func (d DNSMappings) ToRPC() []*rpc.DNSMapping
type DNSSnake ¶ added in v2.9.0
type DNSSnake struct { Error string `json:"error,omitempty" yaml:"error,omitempty"` LocalIP net.IP `json:"local_ip,omitempty" yaml:"local_ip,omitempty"` RemoteIP net.IP `json:"remote_ip,omitempty" yaml:"remote_ip,omitempty"` IncludeSuffixes []string `json:"include_suffixes,omitempty" yaml:"include_suffixes,omitempty"` ExcludeSuffixes []string `json:"exclude_suffixes,omitempty" yaml:"exclude_suffixes,omitempty"` Excludes []string `json:"excludes,omitempty" yaml:"excludes,omitempty"` Mappings DNSMappings `json:"mappings,omitempty" yaml:"mappings,omitempty"` LookupTimeout time.Duration `json:"lookup_timeout,omitempty" yaml:"lookup_timeout,omitempty"` }
DNSSnake is the same as DNS but with snake_case json/yaml names.
type DnsConfig ¶ added in v2.9.0
type DnsConfig struct { // LocalIP is the address of the local DNS server. This entry is only // used on Linux system that are not configured to use systemd-resolved and // can be overridden by using the option --dns on the command line and defaults // to the first line of /etc/resolv.conf LocalIP iputil.IPKey `json:"local-ip,omitempty"` // RemoteIP is the address of the cluster's DNS service. It will default // to the IP of the kube-dns.kube-system or the dns-default.openshift-dns service. RemoteIP iputil.IPKey `json:"remote-ip,omitempty"` // ExcludeSuffixes are suffixes for which the DNS resolver will always return // NXDOMAIN (or fallback in case of the overriding resolver). ExcludeSuffixes []string `json:"exclude-suffixes,omitempty"` // IncludeSuffixes are suffixes for which the DNS resolver will always attempt to do // a lookup. Includes have higher priority than excludes. IncludeSuffixes []string `json:"include-suffixes,omitempty"` // Excludes are a list of hostname that the DNS resolver will not resolve even if they exist. Excludes []string `json:"excludes,omitempty"` // Mappings contains a list of DNS Mappings. Each item references a hostname, and an associated alias. If a // request is made for the name, the alias will be resolved instead. Mappings DNSMappings `json:"mappings,omitempty"` // The maximum time to wait for a cluster side host lookup. LookupTimeout v1.Duration `json:"lookup-timeout,omitempty"` }
The DnsConfig is part of the KubeconfigExtension struct.
type Env ¶
type Env struct { OSSpecificEnv // I'd like to set TELEPRESENCE_LOGIN_DOMAIN,default=auth.datawire.io, but // sethvargo/go-envconfig doesn't support filling in the default for our later references to // it in following settings, so we have to do the hack with maybeSetDefault below. *sigh* I // guess I'm just spoiled by apro/cmd/amb-sidecar/types/internal/envconfig. LoginDomain string `env:"TELEPRESENCE_LOGIN_DOMAIN, parser=nonempty-string"` LoginAuthURL *url.URL `env:"TELEPRESENCE_LOGIN_AUTH_URL, parser=absolute-URL, default=https://${TELEPRESENCE_LOGIN_DOMAIN}/auth"` LoginTokenURL *url.URL `env:"TELEPRESENCE_LOGIN_TOKEN_URL, parser=absolute-URL, default=https://${TELEPRESENCE_LOGIN_DOMAIN}/token"` LoginCompletionURL *url.URL `env:"TELEPRESENCE_LOGIN_COMPLETION_URL,parser=absolute-URL, default=https://${TELEPRESENCE_LOGIN_DOMAIN}/completion"` UserInfoURL *url.URL `env:"TELEPRESENCE_USER_INFO_URL, parser=absolute-URL, default=https://${TELEPRESENCE_LOGIN_DOMAIN}/api/userinfo"` ManagerNamespace string `env:"TELEPRESENCE_MANAGER_NAMESPACE, parser=nonempty-string"` // This environment variable becomes the default for the images.registry and images.webhookRegistry Registry string `env:"TELEPRESENCE_REGISTRY, parser=nonempty-string,default=docker.io/datawire"` // This environment variable becomes the default for the images.agentImage and images.webhookAgentImage AgentImage string `env:"TELEPRESENCE_AGENT_IMAGE, parser=possibly-empty-string,default="` TelepresenceUID int `env:"TELEPRESENCE_UID, parser=strconv.ParseInt, default=0"` TelepresenceGID int `env:"TELEPRESENCE_GID, parser=strconv.ParseInt, default=0"` // The address that the user daemon is listening to (unless it is started by the client and uses a named pipe or unix socket). UserDaemonAddress string `env:"TELEPRESENCE_USER_DAEMON_ADDRESS, parser=possibly-empty-string,default="` ScoutDisable bool `env:"SCOUT_DISABLE, parser=strconv.ParseBool, default=0"` IsPodDaemon bool `env:"IS_POD_DAEMON, parser=strconv.ParseBool, default=0"` // contains filtered or unexported fields }
func LoadEnvWith ¶ added in v2.4.7
type Grpc ¶ added in v2.3.5
type Grpc struct { // MaxReceiveSize is the maximum message size in bytes the client can receive in a gRPC call or stream message. // Overrides the gRPC default of 4MB. MaxReceiveSize resource.Quantity `json:"maxReceiveSize,omitempty" yaml:"maxReceiveSize,omitempty"` }
func (Grpc) MarshalYAML ¶ added in v2.4.4
MarshalYAML is not using pointer receiver here, because Cloud is not pointer in the Config struct.
func (*Grpc) UnmarshalYAML ¶ added in v2.3.5
UnmarshalYAML parses the images YAML.
type Images ¶ added in v2.3.5
type Images struct { PrivateRegistry string `json:"registry,omitempty" yaml:"registry,omitempty"` PrivateAgentImage string `json:"agentImage,omitempty" yaml:"agentImage,omitempty"` PrivateWebhookRegistry string `json:"webhookRegistry,omitempty" yaml:"webhookRegistry,omitempty"` }
func (*Images) UnmarshalYAML ¶ added in v2.3.5
UnmarshalYAML parses the images YAML.
type Intercept ¶ added in v2.4.10
type Intercept struct { AppProtocolStrategy k8sapi.AppProtocolStrategy `json:"appProtocolStrategy,omitempty" yaml:"appProtocolStrategy,omitempty"` DefaultPort int `json:"defaultPort,omitempty" yaml:"defaultPort,omitempty"` UseFtp bool `json:"useFtp,omitempty" yaml:"useFtp,omitempty"` }
func (Intercept) IsZero ¶ added in v2.5.0
IsZero controls whether this element will be included in marshalled output.
func (Intercept) MarshalYAML ¶ added in v2.4.10
MarshalYAML is not using pointer receiver here, because Intercept is not pointer in the Config struct.
type Kubeconfig ¶ added in v2.9.0
type Kubeconfig struct { KubeconfigExtension Namespace string // default cluster namespace. Context string Server string FlagMap map[string]string ConfigFlags *genericclioptions.ConfigFlags RestConfig *rest.Config }
func DaemonKubeconfig ¶ added in v2.12.0
func DaemonKubeconfig(c context.Context, cr *connector.ConnectRequest) (*Kubeconfig, error)
func NewInClusterConfig ¶ added in v2.9.0
This represents an inClusterConfig.
func NewKubeconfig ¶ added in v2.9.0
func (*Kubeconfig) AddRemoteKubeConfigExtension ¶ added in v2.9.0
func (kf *Kubeconfig) AddRemoteKubeConfigExtension(ctx context.Context, cfgYaml []byte) error
func (*Kubeconfig) ContextServiceAndFlagsEqual ¶ added in v2.9.0
func (kf *Kubeconfig) ContextServiceAndFlagsEqual(okf *Kubeconfig) bool
ContextServiceAndFlagsEqual determines if this instance is equal to the given instance with respect to context, server, and flag arguments.
func (*Kubeconfig) GetContext ¶ added in v2.12.0
func (kf *Kubeconfig) GetContext() string
func (*Kubeconfig) GetManagerNamespace ¶ added in v2.9.0
func (kf *Kubeconfig) GetManagerNamespace() string
func (*Kubeconfig) GetRestConfig ¶ added in v2.9.0
func (kf *Kubeconfig) GetRestConfig() *rest.Config
type KubeconfigExtension ¶ added in v2.9.0
type KubeconfigExtension struct { DNS *DnsConfig `json:"dns,omitempty"` AlsoProxy []*iputil.Subnet `json:"also-proxy,omitempty"` NeverProxy []*iputil.Subnet `json:"never-proxy,omitempty"` Manager *ManagerConfig `json:"manager,omitempty"` }
KubeconfigExtension is an extension read from the selected kubeconfig Cluster.
type LogLevels ¶ added in v2.3.0
type LogLevels struct { UserDaemon logrus.Level `json:"userDaemon,omitempty" yaml:"userDaemon,omitempty"` RootDaemon logrus.Level `json:"rootDaemon,omitempty" yaml:"rootDaemon,omitempty"` }
func (LogLevels) IsZero ¶ added in v2.5.0
IsZero controls whether this element will be included in marshalled output.
func (*LogLevels) UnmarshalYAML ¶ added in v2.3.0
UnmarshalYAML parses the logrus log-levels.
type ManagerConfig ¶ added in v2.9.0
type ManagerConfig struct { // Namespace is the name of the namespace where the traffic manager is to be found Namespace string `json:"namespace,omitempty"` }
The ManagerConfig is part of the KubeconfigExtension struct. It configures discovery of the traffic manager.
type OSSpecificConfig ¶ added in v2.13.2
type OSSpecificConfig struct{}
func GetDefaultOSSpecificConfig ¶ added in v2.13.2
func GetDefaultOSSpecificConfig() OSSpecificConfig
func (*OSSpecificConfig) Merge ¶ added in v2.13.2
func (c *OSSpecificConfig) Merge(o *OSSpecificConfig)
type OSSpecificEnv ¶ added in v2.12.0
type OSSpecificEnv struct {
Shell string `env:"SHELL, parser=nonempty-string,default=/bin/bash"`
}
type RecvEOFError ¶ added in v2.8.0
type RecvEOFError struct {
// contains filtered or unexported fields
}
RecvEOFError should be returned when a component has returned EOF from a stream. Do not use this if, for example, the initial dial to a stream fails.
func (*RecvEOFError) Error ¶ added in v2.8.0
func (e *RecvEOFError) Error() string
func (*RecvEOFError) Unwrap ¶ added in v2.8.0
func (e *RecvEOFError) Unwrap() error
type RoutingSnake ¶ added in v2.9.0
type RoutingSnake struct { Subnets []*iputil.Subnet `json:"subnets,omitempty" yaml:"subnets,omitempty"` AlsoProxy []*iputil.Subnet `json:"also_proxy_subnets,omitempty" yaml:"also_proxy_subnets,omitempty"` NeverProxy []*iputil.Subnet `json:"never_proxy_subnets,omitempty" yaml:"never_proxy_subnets,omitempty"` }
RoutingSnake is the same as Routing but with snake_case json/yaml names.
type SessionConfig ¶ added in v2.9.0
type SessionConfig struct { ClientFile string `json:"clientFile,omitempty" yaml:"clientFile,omitempty"` *Config `json:"clientConfig" yaml:",inline"` DNS DNS `json:"dns,omitempty" yaml:"dns,omitempty"` Routing Routing `json:"routing,omitempty" yaml:"routing,omitempty"` ManagerNamespace string `json:"managerNamespace,omitempty" yaml:"managerNamespace,omitempty"` }
type TelepresenceAPI ¶ added in v2.4.8
type TelepresenceAPI struct {
Port int `json:"port,omitempty" yaml:"port,omitempty"`
}
type Timeouts ¶ added in v2.1.2
type Timeouts struct { // PrivateAgentInstall is how long to wait for an agent to be installed (i.e. apply of service and deploy manifests) PrivateAgentInstall time.Duration `json:"agentInstall,omitempty" yaml:"agentInstall,omitempty"` // PrivateApply is how long to wait for a k8s manifest to be applied PrivateApply time.Duration `json:"apply,omitempty" yaml:"apply,omitempty"` // PrivateClusterConnect is the maximum time to wait for a connection to the cluster to be established PrivateClusterConnect time.Duration `json:"clusterConnect,omitempty" yaml:"clusterConnect,omitempty"` // PrivateConnectivityCheck timeout used when checking if cluster is already proxied on the workstation PrivateConnectivityCheck time.Duration `json:"connectivityCheck,omitempty" yaml:"connectivityCheck,omitempty"` // PrivateEndpointDial is how long to wait for a Dial to a service for which the IP is known. PrivateEndpointDial time.Duration `json:"endpointDial,omitempty" yaml:"endpointDial,omitempty"` // PrivateHelm is how long to wait for any helm operation. PrivateHelm time.Duration `json:"helm,omitempty" yaml:"helm,omitempty"` // PrivateIntercept is the time to wait for an intercept after the agents has been installed PrivateIntercept time.Duration `json:"intercept,omitempty" yaml:"intercept,omitempty"` // PrivateRoundtripLatency is how much to add to the EndpointDial timeout when establishing a remote connection. PrivateRoundtripLatency time.Duration `json:"roundtripLatency,omitempty" yaml:"roundtripLatency,omitempty"` // PrivateProxyDial is how long to wait for the proxy to establish an outbound connection PrivateProxyDial time.Duration `json:"proxyDial,omitempty" yaml:"proxyDial,omitempty"` // PrivateTrafficManagerConnect is how long to wait for the traffic-manager API to connect PrivateTrafficManagerAPI time.Duration `json:"trafficManagerAPI,omitempty" yaml:"trafficManagerAPI,omitempty"` // PrivateTrafficManagerConnect is how long to wait for the initial port-forwards to the traffic-manager PrivateTrafficManagerConnect time.Duration `json:"trafficManagerConnect,omitempty" yaml:"trafficManagerConnect,omitempty"` // PrivateFtpReadWrite read/write timeout used by the fuseftp client. PrivateFtpReadWrite time.Duration `json:"ftpReadWrite,omitempty" yaml:"ftpReadWrite,omitempty"` // PrivateFtpShutdown max time to wait for the fuseftp client to complete pending operations before forcing termination. PrivateFtpShutdown time.Duration `json:"ftpShutdown,omitempty" yaml:"ftpShutdown,omitempty"` }
func (Timeouts) IsZero ¶ added in v2.5.0
IsZero controls whether this element will be included in marshalled output.
func (Timeouts) MarshalYAML ¶ added in v2.4.4
MarshalYAML is not using pointer receiver here, because Timeouts is not pointer in the Config struct.
func (*Timeouts) TimeoutContext ¶ added in v2.3.0
func (*Timeouts) UnmarshalYAML ¶ added in v2.1.2
UnmarshalYAML caters for the unfortunate fact that time.Duration doesn't do YAML or JSON at all.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
output
Package output provides structured output for *cobra.Command.
|
Package output provides structured output for *cobra.Command. |
Package docker contains the functions necessary to start or discover a Telepresence daemon running in a docker container.
|
Package docker contains the functions necessary to start or discover a Telepresence daemon running in a docker container. |