mirror of
https://github.com/siderolabs/talos.git
synced 2025-08-20 14:11:11 +02:00
As this implements Go client for Talos API, it makes sense to publish it one the top level. Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
32 lines
856 B
Go
32 lines
856 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 runtime
|
|
|
|
import (
|
|
"github.com/talos-systems/talos/pkg/client/config"
|
|
"github.com/talos-systems/talos/pkg/config/cluster"
|
|
"github.com/talos-systems/talos/pkg/config/machine"
|
|
)
|
|
|
|
// Configurator defines the configuration interface.
|
|
type Configurator interface {
|
|
Version() string
|
|
Debug() bool
|
|
Persist() bool
|
|
Machine() machine.Machine
|
|
Cluster() cluster.Cluster
|
|
Validate(Mode) error
|
|
String() (string, error)
|
|
Bytes() ([]byte, error)
|
|
}
|
|
|
|
// ConfiguratorBundle defines the configuration bundle interface.
|
|
type ConfiguratorBundle interface {
|
|
Init() Configurator
|
|
ControlPlane() Configurator
|
|
Join() Configurator
|
|
TalosConfig() *config.Config
|
|
}
|