mirror of
https://github.com/siderolabs/talos.git
synced 2025-12-02 16:11:49 +01:00
- replace `interface{}` with `any` using `gofmt -r 'interface{} -> any -w'`
- replace `a = []T{}` with `var a []T` where possible.
- replace `a = []T{}` with `a = make([]T, 0, len(b))` where possible.
Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
77 lines
2.0 KiB
Go
77 lines
2.0 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 runtime
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/cosi-project/runtime/pkg/state"
|
|
"github.com/cosi-project/runtime/pkg/state/registry"
|
|
"github.com/siderolabs/go-blockdevice/blockdevice/probe"
|
|
|
|
"github.com/siderolabs/talos/internal/app/machined/pkg/runtime/disk"
|
|
configcore "github.com/siderolabs/talos/pkg/machinery/config"
|
|
"github.com/siderolabs/talos/pkg/machinery/config/config"
|
|
)
|
|
|
|
// State defines the state.
|
|
type State interface {
|
|
Platform() Platform
|
|
Machine() MachineState
|
|
Cluster() ClusterState
|
|
V1Alpha2() V1Alpha2State
|
|
}
|
|
|
|
// Machine defines the runtime parameters.
|
|
type Machine interface {
|
|
State() MachineState
|
|
Config() config.MachineConfig
|
|
}
|
|
|
|
// MachineState defines the machined state.
|
|
type MachineState interface {
|
|
Disk(options ...disk.Option) *probe.ProbedBlockDevice
|
|
Close() error
|
|
Installed() bool
|
|
IsInstallStaged() bool
|
|
StagedInstallImageRef() string
|
|
StagedInstallOptions() []byte
|
|
KexecPrepared(bool)
|
|
IsKexecPrepared() bool
|
|
DBus() DBusState
|
|
Meta() Meta
|
|
}
|
|
|
|
// Meta defines the access to META partition.
|
|
type Meta interface {
|
|
ReadTag(t uint8) (val string, ok bool)
|
|
ReadTagBytes(t uint8) (val []byte, ok bool)
|
|
SetTag(ctx context.Context, t uint8, val string) (bool, error)
|
|
SetTagBytes(ctx context.Context, t uint8, val []byte) (bool, error)
|
|
DeleteTag(ctx context.Context, t uint8) (bool, error)
|
|
Reload(ctx context.Context) error
|
|
Flush() error
|
|
}
|
|
|
|
// ClusterState defines the cluster state.
|
|
type ClusterState any
|
|
|
|
// V1Alpha2State defines the next generation (v2) interface binding into v1 runtime.
|
|
type V1Alpha2State interface {
|
|
Resources() state.State
|
|
|
|
NamespaceRegistry() *registry.NamespaceRegistry
|
|
ResourceRegistry() *registry.ResourceRegistry
|
|
|
|
SetConfig(configcore.Provider) error
|
|
}
|
|
|
|
// DBusState defines the D-Bus logind mock.
|
|
type DBusState interface {
|
|
Start() error
|
|
Stop() error
|
|
WaitShutdown(ctx context.Context) error
|
|
}
|