From fb056aa7f108cad9a98a19999caaec36b5002551 Mon Sep 17 00:00:00 2001 From: Maxime Brunet Date: Sat, 17 Jul 2021 12:27:22 -0700 Subject: [PATCH 1/2] (compact|store)-shards/receive-hashrings: Hide non-resource fields Signed-off-by: Maxime Brunet --- CHANGELOG.md | 2 +- all.jsonnet | 12 +++++------- ...rvice.yaml => thanos-compact-shard0-service.yaml} | 0 ...t.yaml => thanos-compact-shard0-statefulSet.yaml} | 0 ...rvice.yaml => thanos-compact-shard1-service.yaml} | 0 ...t.yaml => thanos-compact-shard1-statefulSet.yaml} | 0 ...rvice.yaml => thanos-compact-shard2-service.yaml} | 0 ...t.yaml => thanos-compact-shard2-statefulSet.yaml} | 0 .../thanos-compact-shards-serviceAccount.yaml | 10 ++++++++++ ...aml => thanos-compact-shards-serviceMonitor.yaml} | 0 .../thanos-receive-hashrings-serviceAccount.yaml | 10 ++++++++++ ... => thanos-receive-hashrings-serviceMonitor.yaml} | 0 ...service.yaml => thanos-store-shard0-service.yaml} | 0 ...Set.yaml => thanos-store-shard0-statefulSet.yaml} | 0 ...service.yaml => thanos-store-shard1-service.yaml} | 0 ...Set.yaml => thanos-store-shard1-statefulSet.yaml} | 0 ...service.yaml => thanos-store-shard2-service.yaml} | 0 ...Set.yaml => thanos-store-shard2-statefulSet.yaml} | 0 .../thanos-store-shards-serviceAccount.yaml | 10 ++++++++++ ....yaml => thanos-store-shards-serviceMonitor.yaml} | 0 .../kube-thanos/kube-thanos-compact-shards.libsonnet | 2 +- .../kube-thanos-receive-hashrings.libsonnet | 2 +- .../kube-thanos/kube-thanos-store-shards.libsonnet | 2 +- 23 files changed, 39 insertions(+), 11 deletions(-) rename examples/all/manifests/{compact-shard0-service.yaml => thanos-compact-shard0-service.yaml} (100%) rename examples/all/manifests/{compact-shard0-statefulSet.yaml => thanos-compact-shard0-statefulSet.yaml} (100%) rename examples/all/manifests/{compact-shard1-service.yaml => thanos-compact-shard1-service.yaml} (100%) rename examples/all/manifests/{compact-shard1-statefulSet.yaml => thanos-compact-shard1-statefulSet.yaml} (100%) rename examples/all/manifests/{compact-shard2-service.yaml => thanos-compact-shard2-service.yaml} (100%) rename examples/all/manifests/{compact-shard2-statefulSet.yaml => thanos-compact-shard2-statefulSet.yaml} (100%) create mode 100644 examples/all/manifests/thanos-compact-shards-serviceAccount.yaml rename examples/all/manifests/{compact-shards-serviceMonitor.yaml => thanos-compact-shards-serviceMonitor.yaml} (100%) create mode 100644 examples/all/manifests/thanos-receive-hashrings-serviceAccount.yaml rename examples/all/manifests/{receive-hashrings-serviceMonitor.yaml => thanos-receive-hashrings-serviceMonitor.yaml} (100%) rename examples/all/manifests/{store-shard0-service.yaml => thanos-store-shard0-service.yaml} (100%) rename examples/all/manifests/{store-shard0-statefulSet.yaml => thanos-store-shard0-statefulSet.yaml} (100%) rename examples/all/manifests/{store-shard1-service.yaml => thanos-store-shard1-service.yaml} (100%) rename examples/all/manifests/{store-shard1-statefulSet.yaml => thanos-store-shard1-statefulSet.yaml} (100%) rename examples/all/manifests/{store-shard2-service.yaml => thanos-store-shard2-service.yaml} (100%) rename examples/all/manifests/{store-shard2-statefulSet.yaml => thanos-store-shard2-statefulSet.yaml} (100%) create mode 100644 examples/all/manifests/thanos-store-shards-serviceAccount.yaml rename examples/all/manifests/{store-shards-serviceMonitor.yaml => thanos-store-shards-serviceMonitor.yaml} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index e54e636d..ca0e559d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ We use *breaking* word for marking changes that are not backward compatible (rel ### Changed -- +- [#234](https://github.com/thanos-io/kube-thanos/pull/234) (compact|store)-shards/receive-hashrings: Hide non-resource fields (`hashrings`/`shards`) ### Added diff --git a/all.jsonnet b/all.jsonnet index edea37dd..83853d47 100644 --- a/all.jsonnet +++ b/all.jsonnet @@ -230,7 +230,7 @@ local finalQ = t.query(q.config { { ['thanos-bucket-replicate-' + name]: br[name] for name in std.objectFields(br) if br[name] != null } + { ['thanos-compact-' + name]: c[name] for name in std.objectFields(c) if c[name] != null } + { - ['compact-' + shard + '-' + name]: cs.shards[shard][name] + ['thanos-compact-' + shard + '-' + name]: cs.shards[shard][name] for shard in std.objectFields(cs.shards) for name in std.objectFields(cs.shards[shard]) if cs.shards[shard][name] != null @@ -248,13 +248,11 @@ local finalQ = t.query(q.config { if rcvs.hashrings[hashring][name] != null } + { - ['store-' + shard + '-' + name]: strs.shards[shard][name] + ['thanos-store-' + shard + '-' + name]: strs.shards[shard][name] for shard in std.objectFields(strs.shards) for name in std.objectFields(strs.shards[shard]) if strs.shards[shard][name] != null } + -{ - 'compact-shards-serviceMonitor': cs.serviceMonitor, - 'store-shards-serviceMonitor': strs.serviceMonitor, - 'receive-hashrings-serviceMonitor': rcvs.serviceMonitor, -} +{ ['thanos-compact-shards-' + name]: cs[name] for name in std.objectFields(cs) if cs[name] != null } + +{ ['thanos-receive-hashrings-' + name]: rcvs[name] for name in std.objectFields(rcvs) if rcvs[name] != null } + +{ ['thanos-store-shards-' + name]: strs[name] for name in std.objectFields(strs) if strs[name] != null } diff --git a/examples/all/manifests/compact-shard0-service.yaml b/examples/all/manifests/thanos-compact-shard0-service.yaml similarity index 100% rename from examples/all/manifests/compact-shard0-service.yaml rename to examples/all/manifests/thanos-compact-shard0-service.yaml diff --git a/examples/all/manifests/compact-shard0-statefulSet.yaml b/examples/all/manifests/thanos-compact-shard0-statefulSet.yaml similarity index 100% rename from examples/all/manifests/compact-shard0-statefulSet.yaml rename to examples/all/manifests/thanos-compact-shard0-statefulSet.yaml diff --git a/examples/all/manifests/compact-shard1-service.yaml b/examples/all/manifests/thanos-compact-shard1-service.yaml similarity index 100% rename from examples/all/manifests/compact-shard1-service.yaml rename to examples/all/manifests/thanos-compact-shard1-service.yaml diff --git a/examples/all/manifests/compact-shard1-statefulSet.yaml b/examples/all/manifests/thanos-compact-shard1-statefulSet.yaml similarity index 100% rename from examples/all/manifests/compact-shard1-statefulSet.yaml rename to examples/all/manifests/thanos-compact-shard1-statefulSet.yaml diff --git a/examples/all/manifests/compact-shard2-service.yaml b/examples/all/manifests/thanos-compact-shard2-service.yaml similarity index 100% rename from examples/all/manifests/compact-shard2-service.yaml rename to examples/all/manifests/thanos-compact-shard2-service.yaml diff --git a/examples/all/manifests/compact-shard2-statefulSet.yaml b/examples/all/manifests/thanos-compact-shard2-statefulSet.yaml similarity index 100% rename from examples/all/manifests/compact-shard2-statefulSet.yaml rename to examples/all/manifests/thanos-compact-shard2-statefulSet.yaml diff --git a/examples/all/manifests/thanos-compact-shards-serviceAccount.yaml b/examples/all/manifests/thanos-compact-shards-serviceAccount.yaml new file mode 100644 index 00000000..86528dd6 --- /dev/null +++ b/examples/all/manifests/thanos-compact-shards-serviceAccount.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/component: database-compactor + app.kubernetes.io/instance: thanos-compact + app.kubernetes.io/name: thanos-compact + app.kubernetes.io/version: v0.22.0 + name: thanos-compact + namespace: thanos diff --git a/examples/all/manifests/compact-shards-serviceMonitor.yaml b/examples/all/manifests/thanos-compact-shards-serviceMonitor.yaml similarity index 100% rename from examples/all/manifests/compact-shards-serviceMonitor.yaml rename to examples/all/manifests/thanos-compact-shards-serviceMonitor.yaml diff --git a/examples/all/manifests/thanos-receive-hashrings-serviceAccount.yaml b/examples/all/manifests/thanos-receive-hashrings-serviceAccount.yaml new file mode 100644 index 00000000..81d144d8 --- /dev/null +++ b/examples/all/manifests/thanos-receive-hashrings-serviceAccount.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/component: database-write-hashring + app.kubernetes.io/instance: thanos-receive + app.kubernetes.io/name: thanos-receive + app.kubernetes.io/version: v0.22.0 + name: thanos-receive + namespace: thanos diff --git a/examples/all/manifests/receive-hashrings-serviceMonitor.yaml b/examples/all/manifests/thanos-receive-hashrings-serviceMonitor.yaml similarity index 100% rename from examples/all/manifests/receive-hashrings-serviceMonitor.yaml rename to examples/all/manifests/thanos-receive-hashrings-serviceMonitor.yaml diff --git a/examples/all/manifests/store-shard0-service.yaml b/examples/all/manifests/thanos-store-shard0-service.yaml similarity index 100% rename from examples/all/manifests/store-shard0-service.yaml rename to examples/all/manifests/thanos-store-shard0-service.yaml diff --git a/examples/all/manifests/store-shard0-statefulSet.yaml b/examples/all/manifests/thanos-store-shard0-statefulSet.yaml similarity index 100% rename from examples/all/manifests/store-shard0-statefulSet.yaml rename to examples/all/manifests/thanos-store-shard0-statefulSet.yaml diff --git a/examples/all/manifests/store-shard1-service.yaml b/examples/all/manifests/thanos-store-shard1-service.yaml similarity index 100% rename from examples/all/manifests/store-shard1-service.yaml rename to examples/all/manifests/thanos-store-shard1-service.yaml diff --git a/examples/all/manifests/store-shard1-statefulSet.yaml b/examples/all/manifests/thanos-store-shard1-statefulSet.yaml similarity index 100% rename from examples/all/manifests/store-shard1-statefulSet.yaml rename to examples/all/manifests/thanos-store-shard1-statefulSet.yaml diff --git a/examples/all/manifests/store-shard2-service.yaml b/examples/all/manifests/thanos-store-shard2-service.yaml similarity index 100% rename from examples/all/manifests/store-shard2-service.yaml rename to examples/all/manifests/thanos-store-shard2-service.yaml diff --git a/examples/all/manifests/store-shard2-statefulSet.yaml b/examples/all/manifests/thanos-store-shard2-statefulSet.yaml similarity index 100% rename from examples/all/manifests/store-shard2-statefulSet.yaml rename to examples/all/manifests/thanos-store-shard2-statefulSet.yaml diff --git a/examples/all/manifests/thanos-store-shards-serviceAccount.yaml b/examples/all/manifests/thanos-store-shards-serviceAccount.yaml new file mode 100644 index 00000000..783637e1 --- /dev/null +++ b/examples/all/manifests/thanos-store-shards-serviceAccount.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/component: object-store-gateway + app.kubernetes.io/instance: thanos-store + app.kubernetes.io/name: thanos-store + app.kubernetes.io/version: v0.22.0 + name: thanos-store + namespace: thanos diff --git a/examples/all/manifests/store-shards-serviceMonitor.yaml b/examples/all/manifests/thanos-store-shards-serviceMonitor.yaml similarity index 100% rename from examples/all/manifests/store-shards-serviceMonitor.yaml rename to examples/all/manifests/thanos-store-shards-serviceMonitor.yaml diff --git a/jsonnet/kube-thanos/kube-thanos-compact-shards.libsonnet b/jsonnet/kube-thanos/kube-thanos-compact-shards.libsonnet index 694aacde..422341c4 100644 --- a/jsonnet/kube-thanos/kube-thanos-compact-shards.libsonnet +++ b/jsonnet/kube-thanos/kube-thanos-compact-shards.libsonnet @@ -29,7 +29,7 @@ function(params) }, }, - shards: { + shards:: { ['shard' + i]: compact(config { name+: '-%d' % i, commonLabels+:: { 'compact.thanos.io/shard': 'shard-' + i }, diff --git a/jsonnet/kube-thanos/kube-thanos-receive-hashrings.libsonnet b/jsonnet/kube-thanos/kube-thanos-receive-hashrings.libsonnet index 97b592a6..558876ab 100644 --- a/jsonnet/kube-thanos/kube-thanos-receive-hashrings.libsonnet +++ b/jsonnet/kube-thanos/kube-thanos-receive-hashrings.libsonnet @@ -30,7 +30,7 @@ function(params) labels: config.commonLabels, }, }, - hashrings: { + hashrings:: { [h.hashring]: receive(config { name+: '-' + h.hashring, commonLabels+:: { diff --git a/jsonnet/kube-thanos/kube-thanos-store-shards.libsonnet b/jsonnet/kube-thanos/kube-thanos-store-shards.libsonnet index 1172cc9c..3aa21598 100644 --- a/jsonnet/kube-thanos/kube-thanos-store-shards.libsonnet +++ b/jsonnet/kube-thanos/kube-thanos-store-shards.libsonnet @@ -28,7 +28,7 @@ function(params) }, }, - shards: { + shards:: { ['shard' + i]: store(config { name+: '-%d' % i, commonLabels+:: { 'store.thanos.io/shard': 'shard-' + i }, From 8c6611fb70b54b8f112adcb2eef921bbf637e57a Mon Sep 17 00:00:00 2001 From: Maxime Brunet Date: Mon, 19 Jul 2021 21:24:07 -0700 Subject: [PATCH 2/2] Filter out keys instead of hiding them Signed-off-by: Maxime Brunet --- CHANGELOG.md | 2 +- all.jsonnet | 6 +++--- jsonnet/kube-thanos/kube-thanos-compact-shards.libsonnet | 2 +- jsonnet/kube-thanos/kube-thanos-receive-hashrings.libsonnet | 2 +- jsonnet/kube-thanos/kube-thanos-store-shards.libsonnet | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca0e559d..e54e636d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ We use *breaking* word for marking changes that are not backward compatible (rel ### Changed -- [#234](https://github.com/thanos-io/kube-thanos/pull/234) (compact|store)-shards/receive-hashrings: Hide non-resource fields (`hashrings`/`shards`) +- ### Added diff --git a/all.jsonnet b/all.jsonnet index 83853d47..34885bf3 100644 --- a/all.jsonnet +++ b/all.jsonnet @@ -253,6 +253,6 @@ local finalQ = t.query(q.config { for name in std.objectFields(strs.shards[shard]) if strs.shards[shard][name] != null } + -{ ['thanos-compact-shards-' + name]: cs[name] for name in std.objectFields(cs) if cs[name] != null } + -{ ['thanos-receive-hashrings-' + name]: rcvs[name] for name in std.objectFields(rcvs) if rcvs[name] != null } + -{ ['thanos-store-shards-' + name]: strs[name] for name in std.objectFields(strs) if strs[name] != null } +{ ['thanos-compact-shards-' + name]: cs[name] for name in std.objectFields(cs) if name != 'shards' && cs[name] != null } + +{ ['thanos-receive-hashrings-' + name]: rcvs[name] for name in std.objectFields(rcvs) if name != 'hashrings' && rcvs[name] != null } + +{ ['thanos-store-shards-' + name]: strs[name] for name in std.objectFields(strs) if name != 'shards' && strs[name] != null } diff --git a/jsonnet/kube-thanos/kube-thanos-compact-shards.libsonnet b/jsonnet/kube-thanos/kube-thanos-compact-shards.libsonnet index 422341c4..694aacde 100644 --- a/jsonnet/kube-thanos/kube-thanos-compact-shards.libsonnet +++ b/jsonnet/kube-thanos/kube-thanos-compact-shards.libsonnet @@ -29,7 +29,7 @@ function(params) }, }, - shards:: { + shards: { ['shard' + i]: compact(config { name+: '-%d' % i, commonLabels+:: { 'compact.thanos.io/shard': 'shard-' + i }, diff --git a/jsonnet/kube-thanos/kube-thanos-receive-hashrings.libsonnet b/jsonnet/kube-thanos/kube-thanos-receive-hashrings.libsonnet index 558876ab..97b592a6 100644 --- a/jsonnet/kube-thanos/kube-thanos-receive-hashrings.libsonnet +++ b/jsonnet/kube-thanos/kube-thanos-receive-hashrings.libsonnet @@ -30,7 +30,7 @@ function(params) labels: config.commonLabels, }, }, - hashrings:: { + hashrings: { [h.hashring]: receive(config { name+: '-' + h.hashring, commonLabels+:: { diff --git a/jsonnet/kube-thanos/kube-thanos-store-shards.libsonnet b/jsonnet/kube-thanos/kube-thanos-store-shards.libsonnet index 3aa21598..1172cc9c 100644 --- a/jsonnet/kube-thanos/kube-thanos-store-shards.libsonnet +++ b/jsonnet/kube-thanos/kube-thanos-store-shards.libsonnet @@ -28,7 +28,7 @@ function(params) }, }, - shards:: { + shards: { ['shard' + i]: store(config { name+: '-%d' % i, commonLabels+:: { 'store.thanos.io/shard': 'shard-' + i },