Utku Ozdemir 9e07832db9
feat: implement summary dashboard
Implement the new summary dashboard with node info and logs.
Replace the previous metrics dashboard with the new dashboard which has multiple screens for node summary, metrics and editing network config.

Port the old metrics dashboard to the tview library and assign it to be a screen in the new dashboard, accessible by F2 key.

Add a new resource, infos.cluster.talos.dev which contains the cluster name and id of a node.

Disable the network config editor screen in the new dashboard until it is fully implemented with its backend.

Closes siderolabs/talos#4790.

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2023-03-15 13:13:28 +01:00

63 lines
1.7 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;
}
// 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;
}
// 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;
}