talos/pkg/cluster/check/options.go
Andrey Smirnov badbc51e63
refactor: rewrite code to include preliminary support for multi-doc
`config.Container` implements a multi-doc container which implements
both `Container` interface (encoding, validation, etc.), and `Conifg`
interface (accessing parts of the config).

Refactor `generate` and `bundle` packages to support multi-doc, and
provide backwards compatibility.

Implement a first (mostly example) machine config document for
SideroLink API URL.

Many places don't properly support multi-doc yet (e.g. config patches).

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-05-31 18:38:05 +04:00

30 lines
719 B
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 check
import "github.com/siderolabs/talos/pkg/machinery/config/machine"
// Option represents functional option.
type Option func(o *Options) error
// WithNodeTypes sets the node types for a check.
func WithNodeTypes(t ...machine.Type) Option {
return func(o *Options) error {
o.Types = t
return nil
}
}
// Options describes ClusterCheck parameters.
type Options struct {
Types []machine.Type
}
// DefaultOptions returns the default options.
func DefaultOptions() *Options {
return &Options{}
}