Andrey Smirnov 0f1920bdda
chore: provide a resource to peek into Linux clock adjustments
This is a follow-up for #7567, which won't be backported to 1.5.

This allows to get an output like:

```
$ talosctl -n 172.20.0.5 get adjtimestatus -w
NODE         *   NAMESPACE TYPE            ID     VERSION   OFFSET        ESTERROR   MAXERROR   STATUS               SYNC
172.20.0.5   +   runtime   AdjtimeStatus   node   47        -18.14306ms   0s         191.5ms    STA_PLL | STA_NANO   true
172.20.0.5       runtime   AdjtimeStatus   node   48        -17.109555ms  0s         206.5ms    STA_NANO | STA_PLL   true
172.20.0.5       runtime   AdjtimeStatus   node   49        -16.134923ms  0s         221.5ms    STA_NANO | STA_PLL   true
172.20.0.5       runtime   AdjtimeStatus   node   50        -15.21581ms   0s         236.5ms    STA_PLL | STA_NANO   true
```

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-08-03 22:06:53 +04:00

28 lines
672 B
Protocol Buffer
Executable File

syntax = "proto3";
package talos.resource.definitions.time;
option go_package = "github.com/siderolabs/talos/pkg/machinery/api/resource/definitions/time";
import "google/protobuf/duration.proto";
// AdjtimeStatusSpec describes Linux internal adjtime state.
message AdjtimeStatusSpec {
google.protobuf.Duration offset = 1;
double frequency_adjustment_ratio = 2;
google.protobuf.Duration max_error = 3;
google.protobuf.Duration est_error = 4;
string status = 5;
int64 constant = 6;
bool sync_status = 7;
string state = 8;
}
// StatusSpec describes time sync state.
message StatusSpec {
bool synced = 1;
int64 epoch = 2;
bool sync_disabled = 3;
}