Files
talos/pkg/config/options.go
Andrey Smirnov 9da687d2a3 test: firecracker provisioner fixes, implement cluster destroy
This implements `osctl cluster destroy` for Firecracker, adds
new utility command `osctl cluser show`.

Firecracker mode now has control process for firecracker VMs, allowing
clean reboots and background operations.

Lots of small fixes to Firecracker mode, clean CNI shutdown, cleaning up
netns, etc.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-01-21 17:11:06 -08:00

46 lines
1.3 KiB
Go

// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
package config
import "github.com/talos-systems/talos/pkg/config/types/v1alpha1/generate"
// BundleOption controls config options specific to config bundle generation.
type BundleOption func(o *BundleOptions) error
// InputOptions holds necessary params for generating an input
type InputOptions struct {
ClusterName string
Endpoint string
KubeVersion string
GenOptions []generate.GenOption
}
// BundleOptions describes generate parameters.
type BundleOptions struct {
ExistingConfigs string // path to existing config files
InputOptions *InputOptions
}
// DefaultBundleOptions returns default options.
func DefaultBundleOptions() BundleOptions {
return BundleOptions{}
}
// WithExistingConfigs sets the path to existing config files
func WithExistingConfigs(configPath string) BundleOption {
return func(o *BundleOptions) error {
o.ExistingConfigs = configPath
return nil
}
}
// WithInputOptions allows passing in of various params for net-new input generation
func WithInputOptions(inputOpts *InputOptions) BundleOption {
return func(o *BundleOptions) error {
o.InputOptions = inputOpts
return nil
}
}