mirror of
https://github.com/siderolabs/talos.git
synced 2025-10-08 06:01:12 +02:00
This PR adds support for creating a list of API endpoints (each is pair of host and port). It gets them from - Machine config cluster endpoint. - Localhost with LocalAPIServerPort if machine is control panel. - netip.Addr[0] and port from affiliates if they are control panels. For #7191 Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
70 lines
1.9 KiB
Protocol Buffer
Executable File
70 lines
1.9 KiB
Protocol Buffer
Executable File
syntax = "proto3";
|
|
|
|
package talos.resource.definitions.cluster;
|
|
|
|
option go_package = "github.com/siderolabs/talos/pkg/machinery/api/resource/definitions/cluster";
|
|
|
|
import "common/common.proto";
|
|
import "resource/definitions/enums/enums.proto";
|
|
|
|
// AffiliateSpec describes Affiliate state.
|
|
message AffiliateSpec {
|
|
string node_id = 1;
|
|
repeated common.NetIP addresses = 2;
|
|
string hostname = 3;
|
|
string nodename = 4;
|
|
string operating_system = 5;
|
|
talos.resource.definitions.enums.MachineType machine_type = 6;
|
|
KubeSpanAffiliateSpec kube_span = 7;
|
|
ControlPlane control_plane = 8;
|
|
}
|
|
|
|
// ConfigSpec describes KubeSpan configuration.
|
|
message ConfigSpec {
|
|
bool discovery_enabled = 1;
|
|
bool registry_kubernetes_enabled = 2;
|
|
bool registry_service_enabled = 3;
|
|
string service_endpoint = 4;
|
|
bool service_endpoint_insecure = 5;
|
|
bytes service_encryption_key = 6;
|
|
string service_cluster_id = 7;
|
|
}
|
|
|
|
// ControlPlane describes ControlPlane data if any.
|
|
message ControlPlane {
|
|
int64 api_server_port = 1;
|
|
}
|
|
|
|
// IdentitySpec describes status of rendered secrets.
|
|
//
|
|
// Note: IdentitySpec is persisted on disk in the STATE partition,
|
|
// so YAML serialization should be kept backwards compatible.
|
|
message IdentitySpec {
|
|
string node_id = 1;
|
|
}
|
|
|
|
// InfoSpec describes cluster information.
|
|
message InfoSpec {
|
|
string cluster_id = 1;
|
|
string cluster_name = 2;
|
|
}
|
|
|
|
// KubeSpanAffiliateSpec describes additional information specific for the KubeSpan.
|
|
message KubeSpanAffiliateSpec {
|
|
string public_key = 1;
|
|
common.NetIP address = 2;
|
|
repeated common.NetIPPrefix additional_addresses = 3;
|
|
repeated common.NetIPPort endpoints = 4;
|
|
}
|
|
|
|
// MemberSpec describes Member state.
|
|
message MemberSpec {
|
|
string node_id = 1;
|
|
repeated common.NetIP addresses = 2;
|
|
string hostname = 3;
|
|
talos.resource.definitions.enums.MachineType machine_type = 4;
|
|
string operating_system = 5;
|
|
ControlPlane control_plane = 6;
|
|
}
|
|
|