Storage: Add support for listing resource history (#84331)

* add support for listing resource history

* make watch handle custom label selectors properly

* fix tests

* Apply suggestions from code review

Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>

* properly handle special characters in json label matcher

* tidy up

---------

Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
This commit is contained in:
Dan Cech
2024-03-15 19:17:54 -04:00
committed by GitHub
co-authored by Diego Augusto Molina
parent 9c7a5ed506
commit 89f3b70e17
10 changed files with 530 additions and 265 deletions
+12
View File
@@ -16,6 +16,7 @@ const AnnoKeyUpdatedTimestamp = "grafana.app/updatedTimestamp"
const AnnoKeyUpdatedBy = "grafana.app/updatedBy"
const AnnoKeyFolder = "grafana.app/folder"
const AnnoKeySlug = "grafana.app/slug"
const AnnoKeyAction = "grafana.app/action"
// Identify where values came from
@@ -57,6 +58,9 @@ type GrafanaResourceMetaAccessor interface {
SetFolder(uid string)
GetSlug() string
SetSlug(v string)
GetAction() string
SetAction(v string)
GetOriginInfo() (*ResourceOriginInfo, error)
SetOriginInfo(info *ResourceOriginInfo)
GetOriginName() string
@@ -172,6 +176,14 @@ func (m *grafanaResourceMetaAccessor) SetSlug(v string) {
m.set(AnnoKeySlug, v)
}
func (m *grafanaResourceMetaAccessor) GetAction() string {
return m.get(AnnoKeyAction)
}
func (m *grafanaResourceMetaAccessor) SetAction(v string) {
m.set(AnnoKeyAction, v)
}
func (m *grafanaResourceMetaAccessor) SetOriginInfo(info *ResourceOriginInfo) {
anno := m.obj.GetAnnotations()
if anno == nil {