Documentation ¶
Index ¶
- Constants
- Variables
- func GetConfigByKind(kind string) (config.Config, error)
- func MigrateV1Alpha2(input configtypes.Config) (configtypes.Config, error)
- func MigrateV1Alpha3(input configtypes.Config) (configtypes.Config, error)
- type ClusterConfig
- type ClusterListConfig
- type EnvVarWithNodeFilters
- type K3sArgWithNodeFilters
- type LabelWithNodeFilters
- type PortWithNodeFilters
- type SimpleConfig
- type SimpleConfigOptions
- type SimpleConfigOptionsK3d
- type SimpleConfigOptionsK3dLoadbalancer
- type SimpleConfigOptionsK3s
- type SimpleConfigOptionsKubeconfig
- type SimpleConfigOptionsRuntime
- type SimpleConfigRegistries
- type SimpleConfigRegistryCreateConfig
- type SimpleExposureOpts
- type VolumeWithNodeFilters
Constants ¶
View Source
const ApiVersion = "k3d.io/v1alpha4"
View Source
const DefaultConfigTpl = `---
apiVersion: k3d.io/v1alpha4
kind: Simple
metadata:
name: %s
servers: 1
agents: 0
image: %s
`
DefaultConfigTpl for printing
Variables ¶
View Source
var DefaultConfig = fmt.Sprintf( DefaultConfigTpl, k3d.DefaultClusterName, fmt.Sprintf("%s:%s", k3d.DefaultK3sImageRepo, version.K3sVersion), )
DefaultConfig templated DefaultConfigTpl
View Source
var JSONSchema string
JSONSchema describes the schema used to validate config files
View Source
var Migrations = map[string]func(configtypes.Config) (configtypes.Config, error){ v1alpha2.ApiVersion: MigrateV1Alpha2, v1alpha3.ApiVersion: MigrateV1Alpha3, }
Functions ¶
func MigrateV1Alpha2 ¶
func MigrateV1Alpha2(input configtypes.Config) (configtypes.Config, error)
func MigrateV1Alpha3 ¶
func MigrateV1Alpha3(input configtypes.Config) (configtypes.Config, error)
Types ¶
type ClusterConfig ¶
type ClusterConfig struct { config.TypeMeta `mapstructure:",squash"` k3d.Cluster `mapstructure:",squash"` ClusterCreateOpts k3d.ClusterCreateOpts `mapstructure:"options" json:"options"` KubeconfigOpts SimpleConfigOptionsKubeconfig `mapstructure:"kubeconfig" json:"kubeconfig"` }
ClusterConfig describes a single cluster config
func (ClusterConfig) GetAPIVersion ¶
func (c ClusterConfig) GetAPIVersion() string
func (ClusterConfig) GetKind ¶
func (c ClusterConfig) GetKind() string
GetKind implements Config.GetKind
type ClusterListConfig ¶
type ClusterListConfig struct { config.TypeMeta `mapstructure:",squash"` Clusters []k3d.Cluster `mapstructure:"clusters" json:"clusters"` }
ClusterListConfig describes a list of clusters
func (ClusterListConfig) GetAPIVersion ¶
func (c ClusterListConfig) GetAPIVersion() string
func (ClusterListConfig) GetKind ¶
func (c ClusterListConfig) GetKind() string
type EnvVarWithNodeFilters ¶
type K3sArgWithNodeFilters ¶
type LabelWithNodeFilters ¶
type PortWithNodeFilters ¶
type SimpleConfig ¶
type SimpleConfig struct { config.TypeMeta `mapstructure:",squash"` config.ObjectMeta `mapstructure:"metadata" json:"metadata,omitempty"` Servers int `mapstructure:"servers" json:"servers,omitempty"` //nolint:lll // default 1 Agents int `mapstructure:"agents" json:"agents,omitempty"` //nolint:lll // default 0 ExposeAPI SimpleExposureOpts `mapstructure:"kubeAPI" json:"kubeAPI,omitempty"` Image string `mapstructure:"image" json:"image,omitempty"` Network string `mapstructure:"network" json:"network,omitempty"` Subnet string `mapstructure:"subnet" json:"subnet,omitempty"` ClusterToken string `mapstructure:"token" json:"clusterToken,omitempty"` // default: auto-generated Volumes []VolumeWithNodeFilters `mapstructure:"volumes" json:"volumes,omitempty"` Ports []PortWithNodeFilters `mapstructure:"ports" json:"ports,omitempty"` Options SimpleConfigOptions `mapstructure:"options" json:"options,omitempty"` Env []EnvVarWithNodeFilters `mapstructure:"env" json:"env,omitempty"` Registries SimpleConfigRegistries `mapstructure:"registries" json:"registries,omitempty"` HostAliases []k3d.HostAlias `mapstructure:"hostAliases" json:"hostAliases,omitempty"` }
SimpleConfig describes the toplevel k3d configuration file.
func (SimpleConfig) GetAPIVersion ¶
func (c SimpleConfig) GetAPIVersion() string
func (SimpleConfig) GetKind ¶
func (c SimpleConfig) GetKind() string
GetKind implements Config.GetKind
type SimpleConfigOptions ¶
type SimpleConfigOptions struct { K3dOptions SimpleConfigOptionsK3d `mapstructure:"k3d" json:"k3d"` K3sOptions SimpleConfigOptionsK3s `mapstructure:"k3s" json:"k3s"` KubeconfigOptions SimpleConfigOptionsKubeconfig `mapstructure:"kubeconfig" json:"kubeconfig"` Runtime SimpleConfigOptionsRuntime `mapstructure:"runtime" json:"runtime"` }
type SimpleConfigOptionsK3d ¶
type SimpleConfigOptionsK3d struct { Wait bool `mapstructure:"wait" json:"wait"` Timeout time.Duration `mapstructure:"timeout" json:"timeout,omitempty"` DisableLoadbalancer bool `mapstructure:"disableLoadbalancer" json:"disableLoadbalancer"` DisableImageVolume bool `mapstructure:"disableImageVolume" json:"disableImageVolume"` NoRollback bool `mapstructure:"disableRollback" json:"disableRollback"` NodeHookActions []k3d.NodeHookAction `mapstructure:"nodeHookActions" json:"nodeHookActions,omitempty"` Loadbalancer SimpleConfigOptionsK3dLoadbalancer `mapstructure:"loadbalancer" json:"loadbalancer,omitempty"` }
type SimpleConfigOptionsK3dLoadbalancer ¶
type SimpleConfigOptionsK3dLoadbalancer struct {
ConfigOverrides []string `mapstructure:"configOverrides" json:"configOverrides,omitempty"`
}
type SimpleConfigOptionsK3s ¶
type SimpleConfigOptionsK3s struct { ExtraArgs []K3sArgWithNodeFilters `mapstructure:"extraArgs" json:"extraArgs,omitempty"` NodeLabels []LabelWithNodeFilters `mapstructure:"nodeLabels" json:"nodeLabels,omitempty"` }
type SimpleConfigOptionsKubeconfig ¶
type SimpleConfigOptionsKubeconfig struct { UpdateDefaultKubeconfig bool `mapstructure:"updateDefaultKubeconfig" json:"updateDefaultKubeconfig,omitempty"` // default: true SwitchCurrentContext bool `mapstructure:"switchCurrentContext" json:"switchCurrentContext,omitempty"` //nolint:lll // default: true }
SimpleConfigOptionsKubeconfig describes the set of options referring to the kubeconfig during cluster creation.
type SimpleConfigOptionsRuntime ¶
type SimpleConfigOptionsRuntime struct { GPURequest string `mapstructure:"gpuRequest" json:"gpuRequest,omitempty"` ServersMemory string `mapstructure:"serversMemory" json:"serversMemory,omitempty"` AgentsMemory string `mapstructure:"agentsMemory" json:"agentsMemory,omitempty"` HostPidMode bool `mapstructure:"hostPidMode" yjson:"hostPidMode,omitempty"` Labels []LabelWithNodeFilters `mapstructure:"labels" json:"labels,omitempty"` }
type SimpleConfigRegistries ¶
type SimpleConfigRegistries struct { Use []string `mapstructure:"use" json:"use,omitempty"` Create *SimpleConfigRegistryCreateConfig `mapstructure:"create" json:"create,omitempty"` Config string `mapstructure:"config" json:"config,omitempty"` // registries.yaml (k3s config for containerd registry override) }
type SimpleConfigRegistryCreateConfig ¶
type SimpleConfigRegistryCreateConfig struct { Name string `mapstructure:"name" json:"name,omitempty"` Host string `mapstructure:"host" json:"host,omitempty"` HostPort string `mapstructure:"hostPort" json:"hostPort,omitempty"` Image string `mapstructure:"image" json:"image,omitempty"` Proxy k3d.RegistryProxy `mapstructure:"proxy" json:"proxy,omitempty"` Volumes []string `mapstructure:"volumes" json:"volumes,omitempty"` }
type SimpleExposureOpts ¶
type SimpleExposureOpts struct { Host string `mapstructure:"host" json:"host,omitempty"` HostIP string `mapstructure:"hostIP" json:"hostIP,omitempty"` HostPort string `mapstructure:"hostPort" json:"hostPort,omitempty"` }
SimpleExposureOpts provides a simplified syntax compared to the original k3d.ExposureOpts
type VolumeWithNodeFilters ¶
Click to show internal directories.
Click to hide internal directories.