Skip to content

Add last sync information to ES, PS, etc. #6002

@danielhoherd

Description

@danielhoherd

Problem statement

As a cluster admin, I'd like to know when the last time a sync operation happened. Currently when I run kubectl get ps/es/etc. I see a "refresh interval" and a "status", but I do not see when the last sync operation happened.

Proposed solution

I would like to see a last sync status, perhaps in one of two ways, eitehr in the "status" column, or as a new column.

kubectl get pods solution

When a user runs kubectl get pods the "restarts" column shows both the number of restarts, and the time since the last restart:

NAMESPACE         NAME                               READY  STATUS   RESTARTS         AGE
calico-apiserver  calico-apiserver-5d489786dd-s5j2x  1/1    Running  248 (6h40m ago)  112d

We could use a similar mechanism in the "STATUS" column to represent when the last operation happened.

Added column solution

Add a new column showing the last synchronization time. Below, the "LAST SYNC" column is new:

$ kubectl get es -A
NAMESPACE  NAME                      STORETYPE            STORE      REFRESH INTERVAL   STATUS         READY   LAST SYNC
foo-3680   foo-3680-broker-url       ClusterSecretStore   foo-test   1m                 SecretSynced   True    1m3s
foo-3680   foo-3680-env              ClusterSecretStore   foo-test   1m                 SecretSynced   True    32m25s
foo-3680   foo-3680-redis-password   ClusterSecretStore   foo-test   1m                 SecretSynced   True    41m57s

Alternatives considered

There probably is not an alternative.

Additional notes

There is a consideration of whether the last sync operation shows when the last change happened, or when the last synchronization operation happened regardless of whether a change was applied. We could also choose to show both, though how that information is presented would require additional design consideration.

Metadata

Metadata

Labels

good first issueGood for newcomerskind/featureCategorizes issue or PR as related to a new feature.

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions