Compare commits

...

20 Commits

Author SHA1 Message Date
Adin Hodovic 6fedb045db
feat(jsonnet): Add queryUrl support (#330)
Signed-off-by: adinhodovic <hodovicadin@gmail.com>
2025-05-28 14:10:39 +02:00
Ben Ye a28d8ac336
Merge pull request #295 from dschaaff/receive-router-selector-fix 2024-05-03 10:31:07 -07:00
Daniel Schaaff e78ee31640
Merge branch 'main' into receive-router-selector-fix
Signed-off-by: Daniel Schaaff <daniel@danielschaaff.com>
2024-05-03 10:07:17 -07:00
Matthias Loibl 48639958cc
Add per-container SecurityContext (#313)
* Add per container SecurityContext

Signed-off-by: Matthias Loibl <mail@matthiasloibl.com>

* Update kubeconform to v0.6.3

Signed-off-by: Matthias Loibl <mail@matthiasloibl.com>

* Add changelog entry

Signed-off-by: Matthias Loibl <mail@matthiasloibl.com>

---------

Signed-off-by: Matthias Loibl <mail@matthiasloibl.com>
2023-10-25 18:20:49 +05:30
Philip Gough ac261330bb
Add Pod anti-affinity to Thanos Rule (#310)
Signed-off-by: Philip Gough <philip.p.gough@gmail.com>
2023-07-11 20:40:05 +05:30
Thibault Mange 4c734188ca
update receive store limits type to string (#309)
Signed-off-by: Thibault Mange <22740367+thibaultmg@users.noreply.github.com>
2023-07-05 19:31:00 +05:30
Thibault Mange 650a08bb33
receive: add store limits flags (#308)
* add store limits flags

Signed-off-by: Thibault Mange <22740367+thibaultmg@users.noreply.github.com>

* update changelog

Signed-off-by: Thibault Mange <22740367+thibaultmg@users.noreply.github.com>

---------

Signed-off-by: Thibault Mange <22740367+thibaultmg@users.noreply.github.com>
2023-07-05 18:57:08 +05:30
Vibhu Prashar dfc278d1a1
Add support for missing objectstorage secret for thanos store (#307)
* Add support for missing objectstorage secret for thanos store

Signed-off-by: Vibhu Prashar <vibhu.sharma2929@gmail.com>

* Add review comments

Signed-off-by: Vibhu Prashar <vibhu.sharma2929@gmail.com>

---------

Signed-off-by: Vibhu Prashar <vibhu.sharma2929@gmail.com>
2023-06-27 15:39:39 +05:30
Thibault Mange 04c9e46115
receive: allow configuration of limits-config-file (#305)
* add receive limits config file flag

Signed-off-by: Thibault Mange <22740367+thibaultmg@users.noreply.github.com>

* update changelog

Signed-off-by: Thibault Mange <22740367+thibaultmg@users.noreply.github.com>

* make fmt

Signed-off-by: Thibault Mange <22740367+thibaultmg@users.noreply.github.com>

---------

Signed-off-by: Thibault Mange <22740367+thibaultmg@users.noreply.github.com>
2023-06-01 17:03:11 +05:30
Philip Gough 4ab42ad96e
receive: Expose minReadySeconds as config (#301)
* receive: Expose minReadySeconds as config

Signed-off-by: Philip Gough <philip.p.gough@gmail.com>

* docs: Add changelog for minReadySeconds to receiver sts

Signed-off-by: Philip Gough <philip.p.gough@gmail.com>

---------

Signed-off-by: Philip Gough <philip.p.gough@gmail.com>
2023-05-03 16:25:08 +05:30
Jacob Baungård Hansen 3291d85cc8
Query: Allow configuring telemetry.request options (#299)
With this commit we allow configuring the following Thanos query
options:
- query.telemetry.request-duration-seconds-quantiles
- query.telemetry.request-samples-quantiles
- query.telemetry.request-series-seconds-quantiles

Note that the jsonnet variable expects a comma seperated list, which
will be expanded to the format required by Thanos. As an example the
following jsonnet configuration:

```
telemetryDurationQuantiles: '1, 2, 3',
telemetrySamplesQuantiles: '100,1000,10000,100000',
telemetrySeriesQuantiles: '10,100,1000,10000',
```

Will result in the following command line arguments to Thanos

```
--query.telemetry.request-duration-seconds-quantiles=1
--query.telemetry.request-duration-seconds-quantiles=2
--query.telemetry.request-duration-seconds-quantiles=3
--query.telemetry.request-samples-quantiles=100
--query.telemetry.request-samples-quantiles=1000
--query.telemetry.request-samples-quantiles=10000
--query.telemetry.request-samples-quantiles=100000
--query.telemetry.request-series-seconds-quantiles=10
--query.telemetry.request-series-seconds-quantiles=100
--query.telemetry.request-series-seconds-quantiles=1000
--query.telemetry.request-series-seconds-quantiles=10000
```

Signed-off-by: Jacob Baungard Hansen <jacobbaungard@redhat.com>
2023-04-24 16:57:57 +05:30
Jacob Baungård Hansen bbcb5bfcbc
Update jsonnet tools to v0.20.0 (#300)
Update jsonnet tools to latest versions.

Signed-off-by: Jacob Baungard Hansen <jacobbaungard@redhat.com>
2023-04-24 14:48:17 +05:30
Fran 74a2e3de83
query: Add support for ArgoCD: Define replace action in servicemonitor (#296)
* query: Add support for ArgoCD: Define replace action in servicemonitor relabeling

Signed-off-by: Fran Sanjuán <francesc.sanjuan@marfeel.com>

* Add modified YAML

Signed-off-by: Fran Sanjuán <francesc.sanjuan@marfeel.com>

* query: Add support for ArgoCD: Define replace action in servicemonitors

Signed-off-by: Fran Sanjuán <francesc.sanjuan@marfeel.com>

* Add missing templates

Signed-off-by: Fran Sanjuán <francesc.sanjuan@marfeel.com>

---------

Signed-off-by: Fran Sanjuán <francesc.sanjuan@marfeel.com>
2023-04-11 12:41:08 +05:30
Vibhu Prashar deef788f8f
Add support for endpoint flag in querier (#297)
Signed-off-by: Vibhu Prashar <vprashar@redhat.com>
2023-04-02 10:21:00 +05:30
Jacob Baungård Hansen 634606784e
Use `kubernetes.io/os` instead of beta version (#298)
`beta.kubernetes.io/os` has been deprecated since v1.14. Use the
non-beta version instead.

Signed-off-by: Jacob Baungard Hansen <jacobbaungard@redhat.com>
2023-03-30 16:07:25 +02:00
Daniel Schaaff fbf72b8906
fix component label on receive router
Signed-off-by: Daniel Schaaff <daniel@danielschaaff.com>
2023-02-03 10:19:56 -08:00
Daniel Schaaff bbe75956d5
fix: receive router deployment selector labels
The pod selector labels on the receive router deployment include the
version label. Selector labels are immutable and this prevents updating the
receive router.

```
Deployment/monitoring/thanos-receive-router dry-run failed, reason: Invalid, error: Deployment.apps "thanos-receive-router" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app.kubernetes.io/component":"thanos-receive-router", "app.kubernetes.io/instance":"thanos-receive", "app.kubernetes.io/name":"thanos-receive", "app.kubernetes.io/version":"v0.30.2"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable
```

Signed-off-by: Daniel Schaaff <daniel@danielschaaff.com>
2023-02-03 10:12:06 -08:00
Saswata Mukherjee 6a7455882c
Mention correct version in changelog (#294)
Signed-off-by: Saswata Mukherjee <saswataminsta@yahoo.com>
2023-02-03 19:03:26 +05:30
Douglas Camata d2cac7b14a
Store: allow configuration of series, series sample, and downloaded bytes limits (#292)
* Thanos Store: allow configuration of series touched limit

Signed-off-by: Douglas Camata <159076+douglascamata@users.noreply.github.com>

* Store: fix limit validation issues

Signed-off-by: Douglas Camata <159076+douglascamata@users.noreply.github.com>

* Update the changelog

Signed-off-by: Douglas Camata <159076+douglascamata@users.noreply.github.com>

* Add support for all the new store limits

Signed-off-by: Douglas Camata <159076+douglascamata@users.noreply.github.com>

* Update changelog

Signed-off-by: Douglas Camata <159076+douglascamata@users.noreply.github.com>

* Assert that limits config is an object

Signed-off-by: Douglas Camata <159076+douglascamata@users.noreply.github.com>

* Rerun CI

Signed-off-by: Douglas Camata <159076+douglascamata@users.noreply.github.com>

---------

Signed-off-by: Douglas Camata <159076+douglascamata@users.noreply.github.com>
2023-02-03 10:58:09 +05:30
Douglas Camata e43a62814d
*: Upgrade to Thanos v0.30.1 (#293)
* *: Upgrade to Thanos v0.30.1

Signed-off-by: Douglas Camata <159076+douglascamata@users.noreply.github.com>

* Add changelog entry

Signed-off-by: Douglas Camata <159076+douglascamata@users.noreply.github.com>

* Bump to Thanos v0.30.2

Signed-off-by: Douglas Camata <159076+douglascamata@users.noreply.github.com>

* Add updated all.jsonnet file

Signed-off-by: Douglas Camata <159076+douglascamata@users.noreply.github.com>

---------

Signed-off-by: Douglas Camata <159076+douglascamata@users.noreply.github.com>
2023-02-03 10:54:02 +05:30
113 changed files with 1100 additions and 222 deletions

1
.bingo/.gitignore vendored
View File

@ -5,6 +5,7 @@
# But not these files:
!.gitignore
!*.mod
!*.sum
!README.md
!Variables.mk
!variables.env

View File

@ -5,7 +5,8 @@ This is directory which stores Go modules with pinned buildable package that is
* Run `bingo get` to install all tools having each own module file in this directory.
* Run `bingo get <tool>` to install <tool> that have own module file in this directory.
* For Makefile: Make sure to put `include .bingo/Variables.mk` in your Makefile, then use $(<upper case tool name>) variable where <tool> is the .bingo/<tool>.mod.
* For shell: Run `source .bingo/variables.env` to source all environment variable for each tool
* For shell: Run `source .bingo/variables.env` to source all environment variable for each tool.
* For go: Import `.bingo/variables.go` to for variable names.
* See https://github.com/bwplotka/bingo or -h on how to add, remove or change binaries dependencies.
## Requirements

View File

@ -1,10 +1,11 @@
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.2.3. DO NOT EDIT.
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.8. DO NOT EDIT.
# All tools are designed to be build inside $GOBIN.
BINGO_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
GOPATH ?= $(shell go env GOPATH)
GOBIN ?= $(firstword $(subst :, ,${GOPATH}))/bin
GO ?= $(shell which go)
# Bellow generated variables ensure that every time a tool under each variable is invoked, the correct version
# Below generated variables ensure that every time a tool under each variable is invoked, the correct version
# will be used; reinstalling only if needed.
# For example for embedmd variable:
#
@ -17,44 +18,44 @@ GO ?= $(shell which go)
# @$(EMBEDMD) <flags/args..>
#
EMBEDMD := $(GOBIN)/embedmd-v1.0.0
$(EMBEDMD): .bingo/embedmd.mod
$(EMBEDMD): $(BINGO_DIR)/embedmd.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/embedmd-v1.0.0"
@cd .bingo && $(GO) build -mod=mod -modfile=embedmd.mod -o=$(GOBIN)/embedmd-v1.0.0 "github.com/campoy/embedmd"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=embedmd.mod -o=$(GOBIN)/embedmd-v1.0.0 "github.com/campoy/embedmd"
GOJSONTOYAML := $(GOBIN)/gojsontoyaml-v0.0.0-20200602132005-3697ded27e8c
$(GOJSONTOYAML): .bingo/gojsontoyaml.mod
$(GOJSONTOYAML): $(BINGO_DIR)/gojsontoyaml.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/gojsontoyaml-v0.0.0-20200602132005-3697ded27e8c"
@cd .bingo && $(GO) build -mod=mod -modfile=gojsontoyaml.mod -o=$(GOBIN)/gojsontoyaml-v0.0.0-20200602132005-3697ded27e8c "github.com/brancz/gojsontoyaml"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=gojsontoyaml.mod -o=$(GOBIN)/gojsontoyaml-v0.0.0-20200602132005-3697ded27e8c "github.com/brancz/gojsontoyaml"
JB := $(GOBIN)/jb-v0.4.0
$(JB): .bingo/jb.mod
$(JB): $(BINGO_DIR)/jb.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/jb-v0.4.0"
@cd .bingo && $(GO) build -mod=mod -modfile=jb.mod -o=$(GOBIN)/jb-v0.4.0 "github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=jb.mod -o=$(GOBIN)/jb-v0.4.0 "github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb"
JSONNET_LINT := $(GOBIN)/jsonnet-lint-v0.17.1-0.20210101181740-31d71aaccda6
$(JSONNET_LINT): .bingo/jsonnet-lint.mod
JSONNET_LINT := $(GOBIN)/jsonnet-lint-v0.20.0
$(JSONNET_LINT): $(BINGO_DIR)/jsonnet-lint.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/jsonnet-lint-v0.17.1-0.20210101181740-31d71aaccda6"
@cd .bingo && $(GO) build -mod=mod -modfile=jsonnet-lint.mod -o=$(GOBIN)/jsonnet-lint-v0.17.1-0.20210101181740-31d71aaccda6 "github.com/google/go-jsonnet/cmd/jsonnet-lint"
@echo "(re)installing $(GOBIN)/jsonnet-lint-v0.20.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=jsonnet-lint.mod -o=$(GOBIN)/jsonnet-lint-v0.20.0 "github.com/google/go-jsonnet/cmd/jsonnet-lint"
JSONNET := $(GOBIN)/jsonnet-v0.17.1-0.20210101181740-31d71aaccda6
$(JSONNET): .bingo/jsonnet.mod
JSONNET := $(GOBIN)/jsonnet-v0.20.0
$(JSONNET): $(BINGO_DIR)/jsonnet.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/jsonnet-v0.17.1-0.20210101181740-31d71aaccda6"
@cd .bingo && $(GO) build -mod=mod -modfile=jsonnet.mod -o=$(GOBIN)/jsonnet-v0.17.1-0.20210101181740-31d71aaccda6 "github.com/google/go-jsonnet/cmd/jsonnet"
@echo "(re)installing $(GOBIN)/jsonnet-v0.20.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=jsonnet.mod -o=$(GOBIN)/jsonnet-v0.20.0 "github.com/google/go-jsonnet/cmd/jsonnet"
JSONNETFMT := $(GOBIN)/jsonnetfmt-v0.17.1-0.20210101181740-31d71aaccda6
$(JSONNETFMT): .bingo/jsonnetfmt.mod
JSONNETFMT := $(GOBIN)/jsonnetfmt-v0.20.0
$(JSONNETFMT): $(BINGO_DIR)/jsonnetfmt.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/jsonnetfmt-v0.17.1-0.20210101181740-31d71aaccda6"
@cd .bingo && $(GO) build -mod=mod -modfile=jsonnetfmt.mod -o=$(GOBIN)/jsonnetfmt-v0.17.1-0.20210101181740-31d71aaccda6 "github.com/google/go-jsonnet/cmd/jsonnetfmt"
@echo "(re)installing $(GOBIN)/jsonnetfmt-v0.20.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=jsonnetfmt.mod -o=$(GOBIN)/jsonnetfmt-v0.20.0 "github.com/google/go-jsonnet/cmd/jsonnetfmt"
KUBECONFORM := $(GOBIN)/kubeconform-v0.4.4
$(KUBECONFORM): .bingo/kubeconform.mod
KUBECONFORM := $(GOBIN)/kubeconform-v0.6.3
$(KUBECONFORM): $(BINGO_DIR)/kubeconform.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/kubeconform-v0.4.4"
@cd .bingo && $(GO) build -mod=mod -modfile=kubeconform.mod -o=$(GOBIN)/kubeconform-v0.4.4 "github.com/yannh/kubeconform/cmd/kubeconform"
@echo "(re)installing $(GOBIN)/kubeconform-v0.6.3"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=kubeconform.mod -o=$(GOBIN)/kubeconform-v0.6.3 "github.com/yannh/kubeconform/cmd/kubeconform"

4
.bingo/embedmd.sum Normal file
View File

@ -0,0 +1,4 @@
github.com/campoy/embedmd v1.0.0 h1:V4kI2qTJJLf4J29RzI/MAt2c3Bl4dQSYPuflzwFH2hY=
github.com/campoy/embedmd v1.0.0/go.mod h1:oxyr9RCiSXg0M3VJ3ks0UGfp98BpSSGr0kpiX3MzVl8=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=

7
.bingo/gojsontoyaml.sum Normal file
View File

@ -0,0 +1,7 @@
github.com/brancz/gojsontoyaml v0.0.0-20200602132005-3697ded27e8c h1:hb6WqfcKQZlNx/vahy51SaIvKnoXD5609Nm0PC4msEM=
github.com/brancz/gojsontoyaml v0.0.0-20200602132005-3697ded27e8c/go.mod h1:+00lOjYXPgMfxHVPvg9GDtc3BX5Xh5aFpB4gMB8gfMo=
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

24
.bingo/jb.sum Normal file
View File

@ -0,0 +1,24 @@
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc h1:cAKDfWh5VpdgMhJosfJnn5/FoN2SRZ4p7fJNX58YPaU=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/campoy/embedmd v1.0.0/go.mod h1:oxyr9RCiSXg0M3VJ3ks0UGfp98BpSSGr0kpiX3MzVl8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/jsonnet-bundler/jsonnet-bundler v0.4.0 h1:4BKZ6LDqPc2wJDmaKnmYD/vDjUptJtnUpai802MibFc=
github.com/jsonnet-bundler/jsonnet-bundler v0.4.0/go.mod h1:/by7P/OoohkI3q4CgSFqcoFsVY+IaNbzOVDknEsKDeU=
github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-isatty v0.0.6 h1:SrwhHcpV4nWrMGdNcC2kXpMfcBVYGDuTArqyhocJgvA=
github.com/mattn/go-isatty v0.0.6/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190310054646-10058d7d4faa h1:lqti/xP+yD/6zH5TqEwx2MilNIJY5Vbc6Qr8J3qyPIQ=
golang.org/x/sys v0.0.0-20190310054646-10058d7d4faa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=

View File

@ -2,8 +2,4 @@ module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.15
require (
github.com/fatih/color v1.10.0 // indirect
github.com/google/go-jsonnet v0.17.1-0.20210101181740-31d71aaccda6 // cmd/jsonnet-lint
golang.org/x/sys v0.0.0-20210112091331-59c308dcf3cc // indirect
)
require github.com/google/go-jsonnet v0.20.0 // cmd/jsonnet-lint

41
.bingo/jsonnet-lint.sum Normal file
View File

@ -0,0 +1,41 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg=
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
github.com/fatih/color v1.12.0 h1:mRhaKNwANqRgUBGKmnI5ZxEk7QXmjQeCcuYFMX2bfcc=
github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
github.com/google/go-jsonnet v0.17.1-0.20210101181740-31d71aaccda6 h1:91EupyycmO5ctzKuWEZ9nX0Cal1NveMiWcXxmRtLyLQ=
github.com/google/go-jsonnet v0.17.1-0.20210101181740-31d71aaccda6/go.mod h1:sOcuej3UW1vpPTZOr8L7RQimqai1a57bt5j22LzGZCw=
github.com/google/go-jsonnet v0.20.0 h1:WG4TTSARuV7bSm4PMB4ohjxe33IHT5WVTrJSU33uT4g=
github.com/google/go-jsonnet v0.20.0/go.mod h1:VbgWF9JX7ztlv770x/TolZNGGFfiHEVx9G6ca2eUmeA=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8=
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210112091331-59c308dcf3cc h1:y0Og6AYdwus7SIAnKnDxjc4gJetRiYEWOx4AKbOeyEI=
golang.org/x/sys v0.0.0-20210112091331-59c308dcf3cc/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.7 h1:VUgggvou5XRW9mHwD/yXxIYSMtY0zoKQf/v226p2nyo=
gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=

View File

@ -2,8 +2,4 @@ module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.15
require (
github.com/fatih/color v1.10.0 // indirect
github.com/google/go-jsonnet v0.17.1-0.20210101181740-31d71aaccda6 // cmd/jsonnet
golang.org/x/sys v0.0.0-20210112091331-59c308dcf3cc // indirect
)
require github.com/google/go-jsonnet v0.20.0 // cmd/jsonnet

41
.bingo/jsonnet.sum Normal file
View File

@ -0,0 +1,41 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg=
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
github.com/fatih/color v1.12.0 h1:mRhaKNwANqRgUBGKmnI5ZxEk7QXmjQeCcuYFMX2bfcc=
github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
github.com/google/go-jsonnet v0.17.1-0.20210101181740-31d71aaccda6 h1:91EupyycmO5ctzKuWEZ9nX0Cal1NveMiWcXxmRtLyLQ=
github.com/google/go-jsonnet v0.17.1-0.20210101181740-31d71aaccda6/go.mod h1:sOcuej3UW1vpPTZOr8L7RQimqai1a57bt5j22LzGZCw=
github.com/google/go-jsonnet v0.20.0 h1:WG4TTSARuV7bSm4PMB4ohjxe33IHT5WVTrJSU33uT4g=
github.com/google/go-jsonnet v0.20.0/go.mod h1:VbgWF9JX7ztlv770x/TolZNGGFfiHEVx9G6ca2eUmeA=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8=
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210112091331-59c308dcf3cc h1:y0Og6AYdwus7SIAnKnDxjc4gJetRiYEWOx4AKbOeyEI=
golang.org/x/sys v0.0.0-20210112091331-59c308dcf3cc/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.7 h1:VUgggvou5XRW9mHwD/yXxIYSMtY0zoKQf/v226p2nyo=
gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=

View File

@ -2,8 +2,4 @@ module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.15
require (
github.com/fatih/color v1.10.0 // indirect
github.com/google/go-jsonnet v0.17.1-0.20210101181740-31d71aaccda6 // cmd/jsonnetfmt
golang.org/x/sys v0.0.0-20210112091331-59c308dcf3cc // indirect
)
require github.com/google/go-jsonnet v0.20.0 // cmd/jsonnetfmt

41
.bingo/jsonnetfmt.sum Normal file
View File

@ -0,0 +1,41 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg=
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
github.com/fatih/color v1.12.0 h1:mRhaKNwANqRgUBGKmnI5ZxEk7QXmjQeCcuYFMX2bfcc=
github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
github.com/google/go-jsonnet v0.17.1-0.20210101181740-31d71aaccda6 h1:91EupyycmO5ctzKuWEZ9nX0Cal1NveMiWcXxmRtLyLQ=
github.com/google/go-jsonnet v0.17.1-0.20210101181740-31d71aaccda6/go.mod h1:sOcuej3UW1vpPTZOr8L7RQimqai1a57bt5j22LzGZCw=
github.com/google/go-jsonnet v0.20.0 h1:WG4TTSARuV7bSm4PMB4ohjxe33IHT5WVTrJSU33uT4g=
github.com/google/go-jsonnet v0.20.0/go.mod h1:VbgWF9JX7ztlv770x/TolZNGGFfiHEVx9G6ca2eUmeA=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8=
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210112091331-59c308dcf3cc h1:y0Og6AYdwus7SIAnKnDxjc4gJetRiYEWOx4AKbOeyEI=
golang.org/x/sys v0.0.0-20210112091331-59c308dcf3cc/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.7 h1:VUgggvou5XRW9mHwD/yXxIYSMtY0zoKQf/v226p2nyo=
gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=

View File

@ -1,5 +1,5 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.15
go 1.21
require github.com/yannh/kubeconform v0.4.4 // cmd/kubeconform
require github.com/yannh/kubeconform v0.6.3 // cmd/kubeconform

25
.bingo/kubeconform.sum Normal file
View File

@ -0,0 +1,25 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/santhosh-tekuri/jsonschema/v5 v5.1.1 h1:lEOLY2vyGIqKWUI9nzsOJRV3mb3WC9dXYORsLEUcoeY=
github.com/santhosh-tekuri/jsonschema/v5 v5.1.1/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c=
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0=
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74=
github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
github.com/yannh/kubeconform v0.4.4 h1:1+Wmd2QnZFaHd5hrNXWxwvPbE/pVTDNNWWXRaoN1Zbs=
github.com/yannh/kubeconform v0.4.4/go.mod h1:Ysf3RSreh2rX8IJsVt/uT3Um/U3e3ykx6Fcz8nCdskM=
github.com/yannh/kubeconform v0.6.3 h1:lNmb/kphyzitA+GBsOxjBsagCEpjLvt3+qo3XMiEOUA=
github.com/yannh/kubeconform v0.6.3/go.mod h1:4E6oaL+lh7KgCG2SaOabeeAFBkyKu5D9ab0OEekGcbs=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=

57
.bingo/kubeval.sum Normal file
View File

@ -0,0 +1,57 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/hashicorp/errwrap v0.0.0-20180715044906-d6c0cd880357 h1:Rem2+U35z1QtPQc6r+WolF7yXiefXqDKyk+lN2pE164=
github.com/hashicorp/errwrap v0.0.0-20180715044906-d6c0cd880357/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v0.0.0-20180717150148-3d5d8f294aa0 h1:j30noezaCfvNLcdMYSvHLv81DxYRSt1grlpseG67vhU=
github.com/hashicorp/go-multierror v0.0.0-20180717150148-3d5d8f294aa0/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I=
github.com/hashicorp/hcl v0.0.0-20180404174102-ef8a98b0bbce h1:xdsDDbiBDQTKASoGEZ+pEmF1OnWuu8AQ9I8iNbHNeno=
github.com/hashicorp/hcl v0.0.0-20180404174102-ef8a98b0bbce/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/instrumenta/kubeval v0.0.0-20201005082916-38668c6c5b23 h1:M1Ms+wV9kd4g65MWhdyoMmaVIZj4U18t5bFRPs/zJUs=
github.com/instrumenta/kubeval v0.0.0-20201005082916-38668c6c5b23/go.mod h1:cD+P/oZrBwOnaIHXrqvKPuN353KPxGomnsXSXf8pFJs=
github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY=
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/mattn/go-colorable v0.1.0 h1:v2XXALHHh6zHfYTJ+cSkwtyffnaOyR1MXaA91mTrb8o=
github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-isatty v0.0.4 h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs=
github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mitchellh/mapstructure v0.0.0-20180715050151-f15292f7a699 h1:KXZJFdun9knAVAR8tg/aHJEr5DgtcbqyvzacK+CDCaI=
github.com/mitchellh/mapstructure v0.0.0-20180715050151-f15292f7a699/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/pelletier/go-toml v0.0.0-20180724185102-c2dbbc24a979 h1:Uh8pTMDzw+nuDTW7lyxcpmYqQJFE8SnO93F3lyY4XzY=
github.com/pelletier/go-toml v0.0.0-20180724185102-c2dbbc24a979/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/spf13/afero v1.1.1 h1:Lt3ihYMlE+lreX1GS4Qw4ZsNpYQLxIXKBTEOXm3nt6I=
github.com/spf13/afero v1.1.1/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
github.com/spf13/cast v1.2.0 h1:HHl1DSRbEQN2i8tJmtS6ViPyHx35+p51amrdsiTCrkg=
github.com/spf13/cast v1.2.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg=
github.com/spf13/cobra v0.0.0-20180820174524-ff0d02e85550 h1:LB9SHuuXO8gnsHtexOQSpsJrrAHYA35lvHUaE74kznU=
github.com/spf13/cobra v0.0.0-20180820174524-ff0d02e85550/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/jwalterweatherman v0.0.0-20180814060501-14d3d4c51834 h1:kJI9pPzfsULT/72wy7mxkRQZPtKWgFdCA2RTGZ4v8/E=
github.com/spf13/jwalterweatherman v0.0.0-20180814060501-14d3d4c51834/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
github.com/spf13/pflag v0.0.0-20180821114517-d929dcbb1086 h1:iU+nPfqRqK8ShQqnpZLv8cZ9oklo6NFUcmX1JT5Rudg=
github.com/spf13/pflag v0.0.0-20180821114517-d929dcbb1086/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/viper v1.1.0 h1:V7OZpY8i3C1x/pDmU0zNNlfVoDz112fSYvtWMjjS3f4=
github.com/spf13/viper v1.1.0/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c=
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0=
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
github.com/xeipuuv/gojsonschema v0.0.0-20180816142147-da425ebb7609 h1:BcMExZAULPkihVZ7UJXK7t8rwGqisXFw75tILnafhBY=
github.com/xeipuuv/gojsonschema v0.0.0-20180816142147-da425ebb7609/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs=
golang.org/x/sys v0.0.0-20180821044426-4ea2f632f6e9 h1:0RHCP7KEw0rDuVXXaT2gfV77uu6lTKa5aItB+EoFbQk=
golang.org/x/sys v0.0.0-20180821044426-4ea2f632f6e9/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/text v0.0.0-20180810153555-6e3c4e7365dd h1:e/dojZNNKqwK3xq7UQTKTQJim18r/FxvQk7PFXULeZg=
golang.org/x/text v0.0.0-20180810153555-6e3c4e7365dd/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=

View File

@ -1,4 +1,4 @@
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.2.3. DO NOT EDIT.
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.8. DO NOT EDIT.
# All tools are designed to be build inside $GOBIN.
# Those variables will work only until 'bingo get' was invoked, or if tools were installed via Makefile's Variables.mk.
GOBIN=${GOBIN:=$(go env GOBIN)}
@ -8,17 +8,17 @@ if [ -z "$GOBIN" ]; then
fi
EMBEDMD="$GOBIN/embedmd-v1.0.0"
EMBEDMD="${GOBIN}/embedmd-v1.0.0"
GOJSONTOYAML="$GOBIN/gojsontoyaml-v0.0.0-20200602132005-3697ded27e8c"
GOJSONTOYAML="${GOBIN}/gojsontoyaml-v0.0.0-20200602132005-3697ded27e8c"
JB="$GOBIN/jb-v0.4.0"
JB="${GOBIN}/jb-v0.4.0"
JSONNET_LINT="$GOBIN/jsonnet-lint-v0.17.1-0.20210101181740-31d71aaccda6"
JSONNET_LINT="${GOBIN}/jsonnet-lint-v0.20.0"
JSONNET="$GOBIN/jsonnet-v0.17.1-0.20210101181740-31d71aaccda6"
JSONNET="${GOBIN}/jsonnet-v0.20.0"
JSONNETFMT="$GOBIN/jsonnetfmt-v0.17.1-0.20210101181740-31d71aaccda6"
JSONNETFMT="${GOBIN}/jsonnetfmt-v0.20.0"
KUBECONFORM="$GOBIN/kubeconform-v0.4.4"
KUBECONFORM="${GOBIN}/kubeconform-v0.4.4"

View File

@ -19,15 +19,27 @@ We use *breaking* word for marking changes that are not backward compatible (rel
- [#279](https://github.com/thanos-io/kube-thanos/pull/279) Change `hashringConfigmapName` to `hashringConfigMapName` in Receive configuration.
- [#284](https://github.com/thanos-io/kube-thanos/pull/284) Change Receive `PodDisruptionBudget` api version to `policy/v1`
- [#293](https://github.com/thanos-io/kube-thanos/pull/293) Upgrade to Thanos v0.30.2
### Added
- [#263](https://github.com/thanos-io/kube-thanos/pull/263) Add support for stateless Rulers.
- [#271](https://github.com/thanos-io/kube-thanos/pull/271) Add annotation support for ServiceAccount.
- [#286](https://github.com/thanos-io/kube-thanos/pull/286) Store: make the liveness probe timeout configurable.
- [#292](https://github.com/thanos-io/kube-thanos/pull/292) Store: allow configuration of series, series sample, and downloaded bytes limits.
- [#299](https://github.com/thanos-io/kube-thanos/pull/299) Query: allow configuration of telemetry.request options
- [#301](https://github.com/thanos-io/kube-thanos/pull/301) Receive: allow configuration of `minReadySeconds` for StatefulSet
- [#305](https://github.com/thanos-io/kube-thanos/pull/305) Receive: allow configuration of limits-config-file
- [#308](https://github.com/thanos-io/kube-thanos/pull/308) Recive: add store limits flags
- [#310](https://github.com/thanos-io/kube-thanos/pull/310) Ruler: Add host anti-affinity to ruler
- [#313](https://github.com/thanos-io/kube-thanos/pull/313) Add per-container SecurityContext
- [#330](https://github.com/thanos-io/kube-thanos/pull/330) Query: Add query url support to jsonnet library
### Fixed
- [#298](https://github.com/thanos-io/kube-thanos/pull/298) Use `kubernetes.io/os` instead of `beta.kubernetes.io/os` which has been deprecated since Kubernetes v1.14.
## [v0.27.0](https://github.com/thanos-io/kube-thanos/tree/v0.27.0) (2022-07-07)
- (no changes from `v0.26.0`)

View File

@ -9,7 +9,7 @@ MANIFESTS := manifests
CRDSCHEMAS := .crdschemas
TMP := tmp
K8S_VERSION := 1.21.0
K8S_VERSION := 1.27.0
PROM_OPERATOR_VERSION := 0.46.0
PIP := pip3
@ -42,6 +42,21 @@ lint: $(JSONNET_LINT) vendor
vendor: | $(JB) jsonnetfile.json jsonnetfile.lock.json
$(JB) install
.PHONY: deploy
deploy:
kubectl create ns thanos
kubectl create ns minio
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v$(PROM_OPERATOR_VERSION)/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
kubectl create -f examples/development-minio/
kubectl create -f manifests/
.PHONY: teardown
teardown:
kubectl delete -f examples/development-minio/
kubectl delete -f manifests/
kubectl delete ns thanos
kubectl delete ns minio
.PHONY: clean
clean:
-rm -rf tmp/bin

View File

@ -23,13 +23,12 @@ This project is intended to be used as a library (i.e. the intent is not for you
Though for a quickstart a compiled version of the Kubernetes [manifests](manifests) generated with this library (specifically with `example.jsonnet`) is checked into this repository in order to try the content out quickly. To try out the stack un-customized run:
* Simply create the stack:
```shell
$ kubectl create ns thanos
$ kubectl create -f manifests/
$ make deploy
```
* And to teardown the stack:
```shell
$ kubectl delete -f manifests/
$ make teardown
```
## Customizing kube-thanos
@ -77,7 +76,7 @@ local commonConfig = {
config+:: {
local cfg = self,
namespace: 'thanos',
version: 'v0.29.0',
version: 'v0.31.0',
image: 'quay.io/thanos/thanos:' + cfg.version,
imagePullPolicy: 'IfNotPresent',
objectStorageConfig: {
@ -167,10 +166,15 @@ find manifests -type f ! -name '*.yaml' -delete
# The following script generates all components, mostly used for testing
rm -rf examples/all/manifests
rm -rf examples/development-minio
mkdir examples/all/manifests
mkdir examples/development-minio
${JSONNET} -J vendor -m examples/all/manifests "${1-all.jsonnet}" | xargs -I{} sh -c "cat {} | ${GOJSONTOYAML} > {}.yaml; rm -f {}" -- {}
find examples/all/manifests -type f ! -name '*.yaml' -delete
${JSONNET} -J vendor -m examples/development-minio "${1-minio.jsonnet}" | xargs -I{} sh -c "cat {} | ${GOJSONTOYAML} > {}.yaml; rm -f {}" -- {}
find examples/development-minio -type f ! -name '*.yaml' -delete
```
> Note you need `jsonnet` (`go get github.com/google/go-jsonnet/cmd/jsonnet`) and `gojsontoyaml` (`go get github.com/brancz/gojsontoyaml`) installed to run `build.sh`. If you just want json output, not yaml, then you can skip the pipe and everything afterwards.

View File

@ -6,7 +6,7 @@ local t = import 'kube-thanos/thanos.libsonnet';
local commonConfig = {
local cfg = self,
namespace: 'thanos',
version: 'v0.29.0',
version: 'v0.30.2',
image: 'quay.io/thanos/thanos:' + cfg.version,
replicaLabels: ['prometheus_replica', 'rule_replica'],
objectStorageConfig: {

View File

@ -21,7 +21,12 @@ find manifests -type f ! -name '*.yaml' -delete
# The following script generates all components, mostly used for testing
rm -rf examples/all/manifests
rm -rf examples/development-minio
mkdir examples/all/manifests
mkdir examples/development-minio
${JSONNET} -J vendor -m examples/all/manifests "${1-all.jsonnet}" | xargs -I{} sh -c "cat {} | ${GOJSONTOYAML} > {}.yaml; rm -f {}" -- {}
find examples/all/manifests -type f ! -name '*.yaml' -delete
${JSONNET} -J vendor -m examples/development-minio "${1-minio.jsonnet}" | xargs -I{} sh -c "cat {} | ${GOJSONTOYAML} > {}.yaml; rm -f {}" -- {}
find examples/development-minio -type f ! -name '*.yaml' -delete

View File

@ -6,7 +6,7 @@ local commonConfig = {
config+:: {
local cfg = self,
namespace: 'thanos',
version: 'v0.29.0',
version: 'v0.31.0',
image: 'quay.io/thanos/thanos:' + cfg.version,
imagePullPolicy: 'IfNotPresent',
objectStorageConfig: {

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: object-store-bucket-debugging
app.kubernetes.io/instance: thanos-bucket
app.kubernetes.io/name: thanos-bucket
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-bucket
namespace: thanos
spec:
@ -21,7 +21,7 @@ spec:
app.kubernetes.io/component: object-store-bucket-debugging
app.kubernetes.io/instance: thanos-bucket
app.kubernetes.io/name: thanos-bucket
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
spec:
containers:
- args:
@ -49,7 +49,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: status.hostIP
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 4
@ -76,13 +76,28 @@ spec:
requests:
cpu: 0.123
memory: 123Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
terminationMessagePolicy: FallbackToLogsOnError
volumeMounts: []
nodeSelector:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-bucket
terminationGracePeriodSeconds: 120
volumes: []

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: object-store-bucket-replicate
app.kubernetes.io/instance: thanos-bucket-replicate
app.kubernetes.io/name: thanos-bucket-replicate
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-bucket-replicate
namespace: thanos
spec:
@ -21,7 +21,7 @@ spec:
app.kubernetes.io/component: object-store-bucket-replicate
app.kubernetes.io/instance: thanos-bucket-replicate
app.kubernetes.io/name: thanos-bucket-replicate
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
spec:
containers:
- args:
@ -57,7 +57,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: status.hostIP
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 4
@ -87,10 +87,14 @@ spec:
terminationMessagePolicy: FallbackToLogsOnError
volumeMounts: []
nodeSelector:
beta.kubernetes.io/os: linux
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-bucket-replicate
terminationGracePeriodSeconds: 120
volumes: []

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: object-store-bucket-replicate
app.kubernetes.io/instance: thanos-bucket-replicate
app.kubernetes.io/name: thanos-bucket-replicate
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-bucket-replicate
namespace: thanos
spec:

View File

@ -6,6 +6,6 @@ metadata:
app.kubernetes.io/component: object-store-bucket-replicate
app.kubernetes.io/instance: thanos-bucket-replicate
app.kubernetes.io/name: thanos-bucket-replicate
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-bucket-replicate
namespace: thanos

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: object-store-bucket-debugging
app.kubernetes.io/instance: thanos-bucket
app.kubernetes.io/name: thanos-bucket
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-bucket
namespace: thanos
spec:

View File

@ -6,6 +6,6 @@ metadata:
app.kubernetes.io/component: object-store-bucket-debugging
app.kubernetes.io/instance: thanos-bucket
app.kubernetes.io/name: thanos-bucket
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-bucket
namespace: thanos

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-compact
namespace: thanos
spec:

View File

@ -6,6 +6,6 @@ metadata:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-compact
namespace: thanos

View File

@ -5,14 +5,15 @@ metadata:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-compact
namespace: thanos
spec:
endpoints:
- port: http
relabelings:
- separator: /
- action: replace
separator: /
sourceLabels:
- namespace
- pod

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact-0
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
compact.thanos.io/shard: shard-0
name: thanos-compact-0
namespace: thanos

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact-0
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
compact.thanos.io/shard: shard-0
name: thanos-compact-0
namespace: thanos
@ -24,7 +24,7 @@ spec:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact-0
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
compact.thanos.io/shard: shard-0
spec:
affinity:
@ -86,7 +86,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: status.hostIP
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 4
@ -122,7 +122,11 @@ spec:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-compact
terminationGracePeriodSeconds: 120
volumes: []

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact-1
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
compact.thanos.io/shard: shard-1
name: thanos-compact-1
namespace: thanos

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact-1
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
compact.thanos.io/shard: shard-1
name: thanos-compact-1
namespace: thanos
@ -24,7 +24,7 @@ spec:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact-1
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
compact.thanos.io/shard: shard-1
spec:
affinity:
@ -86,7 +86,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: status.hostIP
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 4
@ -122,7 +122,11 @@ spec:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-compact
terminationGracePeriodSeconds: 120
volumes: []

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact-2
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
compact.thanos.io/shard: shard-2
name: thanos-compact-2
namespace: thanos

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact-2
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
compact.thanos.io/shard: shard-2
name: thanos-compact-2
namespace: thanos
@ -24,7 +24,7 @@ spec:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact-2
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
compact.thanos.io/shard: shard-2
spec:
affinity:
@ -86,7 +86,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: status.hostIP
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 4
@ -122,7 +122,11 @@ spec:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-compact
terminationGracePeriodSeconds: 120
volumes: []

View File

@ -6,6 +6,6 @@ metadata:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-compact
namespace: thanos

View File

@ -5,19 +5,21 @@ metadata:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-compact
namespace: thanos
spec:
endpoints:
- port: http
relabelings:
- separator: /
- action: replace
separator: /
sourceLabels:
- namespace
- pod
targetLabel: instance
- regex: shard\-(\d+)
- action: replace
regex: shard\-(\d+)
replacement: $1
sourceLabels:
- __meta_kubernetes_service_label_compact_thanos_io_shard

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-compact
namespace: thanos
spec:
@ -22,7 +22,7 @@ spec:
app.kubernetes.io/component: database-compactor
app.kubernetes.io/instance: thanos-compact
app.kubernetes.io/name: thanos-compact
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
spec:
affinity:
podAntiAffinity:
@ -76,7 +76,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: status.hostIP
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 4
@ -112,7 +112,11 @@ spec:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-compact
terminationGracePeriodSeconds: 120
volumes: []

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: query-layer
app.kubernetes.io/instance: thanos-query
app.kubernetes.io/name: thanos-query
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-query
namespace: thanos
spec:
@ -21,7 +21,7 @@ spec:
app.kubernetes.io/component: query-layer
app.kubernetes.io/instance: thanos-query
app.kubernetes.io/name: thanos-query
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
spec:
affinity:
podAntiAffinity:
@ -46,15 +46,15 @@ spec:
- --log.format=logfmt
- --query.replica-label=prometheus_replica
- --query.replica-label=rule_replica
- --store=dnssrv+_grpc._tcp.thanos-receive.thanos.svc.cluster.local
- --store=dnssrv+_grpc._tcp.thanos-rule.thanos.svc.cluster.local
- --store=dnssrv+_grpc._tcp.thanos-sidecar.thanos.svc.cluster.local
- --store=dnssrv+_grpc._tcp.thanos-store.thanos.svc.cluster.local
- --store=dnssrv+_grpc._tcp.thanos-receive-default.thanos.svc.cluster.local
- --store=dnssrv+_grpc._tcp.thanos-receive-region-1.thanos.svc.cluster.local
- --store=dnssrv+_grpc._tcp.thanos-store-0.thanos.svc.cluster.local
- --store=dnssrv+_grpc._tcp.thanos-store-1.thanos.svc.cluster.local
- --store=dnssrv+_grpc._tcp.thanos-store-2.thanos.svc.cluster.local
- --endpoint=dnssrv+_grpc._tcp.thanos-receive.thanos.svc.cluster.local
- --endpoint=dnssrv+_grpc._tcp.thanos-rule.thanos.svc.cluster.local
- --endpoint=dnssrv+_grpc._tcp.thanos-sidecar.thanos.svc.cluster.local
- --endpoint=dnssrv+_grpc._tcp.thanos-store.thanos.svc.cluster.local
- --endpoint=dnssrv+_grpc._tcp.thanos-receive-default.thanos.svc.cluster.local
- --endpoint=dnssrv+_grpc._tcp.thanos-receive-region-1.thanos.svc.cluster.local
- --endpoint=dnssrv+_grpc._tcp.thanos-store-0.thanos.svc.cluster.local
- --endpoint=dnssrv+_grpc._tcp.thanos-store-1.thanos.svc.cluster.local
- --endpoint=dnssrv+_grpc._tcp.thanos-store-2.thanos.svc.cluster.local
- --query.timeout=5m
- --query.lookback-delta=15m
- |-
@ -69,7 +69,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: status.hostIP
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 4
@ -92,11 +92,26 @@ spec:
scheme: HTTP
periodSeconds: 5
resources: {}
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
terminationMessagePolicy: FallbackToLogsOnError
nodeSelector:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-query
terminationGracePeriodSeconds: 120

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: query-cache
app.kubernetes.io/instance: thanos-query-frontend
app.kubernetes.io/name: thanos-query-frontend
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-query-frontend
namespace: thanos
spec:
@ -21,7 +21,7 @@ spec:
app.kubernetes.io/component: query-cache
app.kubernetes.io/instance: thanos-query-frontend
app.kubernetes.io/name: thanos-query-frontend
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
spec:
affinity:
podAntiAffinity:
@ -85,7 +85,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: status.hostIP
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 4
@ -112,11 +112,26 @@ spec:
requests:
cpu: 0.123
memory: 123Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
terminationMessagePolicy: FallbackToLogsOnError
nodeSelector:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-query-frontend
terminationGracePeriodSeconds: 120

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: query-cache
app.kubernetes.io/instance: thanos-query-frontend
app.kubernetes.io/name: thanos-query-frontend
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-query-frontend
namespace: thanos
spec:

View File

@ -6,6 +6,6 @@ metadata:
app.kubernetes.io/component: query-cache
app.kubernetes.io/instance: thanos-query-frontend
app.kubernetes.io/name: thanos-query-frontend
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-query-frontend
namespace: thanos

View File

@ -5,14 +5,15 @@ metadata:
app.kubernetes.io/component: query-cache
app.kubernetes.io/instance: thanos-query-frontend
app.kubernetes.io/name: thanos-query-frontend
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-query-frontend
namespace: thanos
spec:
endpoints:
- port: http
relabelings:
- separator: /
- action: replace
separator: /
sourceLabels:
- namespace
- pod

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: query-layer
app.kubernetes.io/instance: thanos-query
app.kubernetes.io/name: thanos-query
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-query
namespace: thanos
spec:

View File

@ -6,6 +6,6 @@ metadata:
app.kubernetes.io/component: query-layer
app.kubernetes.io/instance: thanos-query
app.kubernetes.io/name: thanos-query
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-query
namespace: thanos

View File

@ -5,14 +5,15 @@ metadata:
app.kubernetes.io/component: query-layer
app.kubernetes.io/instance: thanos-query
app.kubernetes.io/name: thanos-query
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-query
namespace: thanos
spec:
endpoints:
- port: http
relabelings:
- separator: /
- action: replace
separator: /
sourceLabels:
- namespace
- pod

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: database-write-hashring
app.kubernetes.io/instance: thanos-receive-default
app.kubernetes.io/name: thanos-receive
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
controller.receive.thanos.io/hashring: default
name: thanos-receive-default
namespace: thanos

View File

@ -5,12 +5,13 @@ metadata:
app.kubernetes.io/component: database-write-hashring
app.kubernetes.io/instance: thanos-receive-default
app.kubernetes.io/name: thanos-receive
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
controller.receive.thanos.io: thanos-receive-controller
controller.receive.thanos.io/hashring: default
name: thanos-receive-default
namespace: thanos
spec:
minReadySeconds: 0
replicas: 3
selector:
matchLabels:
@ -25,7 +26,7 @@ spec:
app.kubernetes.io/component: database-write-hashring
app.kubernetes.io/instance: thanos-receive-default
app.kubernetes.io/name: thanos-receive
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
controller.receive.thanos.io/hashring: default
spec:
affinity:
@ -101,7 +102,7 @@ spec:
secretKeyRef:
key: thanos.yaml
name: thanos-objectstorage
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 8
@ -143,7 +144,11 @@ spec:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-receive
terminationGracePeriodSeconds: 900
volumes:

View File

@ -6,6 +6,6 @@ metadata:
app.kubernetes.io/component: database-write-hashring
app.kubernetes.io/instance: thanos-receive
app.kubernetes.io/name: thanos-receive
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-receive
namespace: thanos

View File

@ -5,19 +5,21 @@ metadata:
app.kubernetes.io/component: database-write-hashring
app.kubernetes.io/instance: thanos-receive
app.kubernetes.io/name: thanos-receive
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-receive
namespace: thanos
spec:
endpoints:
- port: http
relabelings:
- separator: /
- action: replace
separator: /
sourceLabels:
- namespace
- pod
targetLabel: instance
- sourceLabels:
- action: replace
sourceLabels:
- __meta_kubernetes_service_label_controller_receive_thanos_io_shard
targetLabel: hashring
selector:

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: database-write-hashring
app.kubernetes.io/instance: thanos-receive-region-1
app.kubernetes.io/name: thanos-receive
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
controller.receive.thanos.io/hashring: region-1
name: thanos-receive-region-1
namespace: thanos

View File

@ -5,12 +5,13 @@ metadata:
app.kubernetes.io/component: database-write-hashring
app.kubernetes.io/instance: thanos-receive-region-1
app.kubernetes.io/name: thanos-receive
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
controller.receive.thanos.io: thanos-receive-controller
controller.receive.thanos.io/hashring: region-1
name: thanos-receive-region-1
namespace: thanos
spec:
minReadySeconds: 0
replicas: 3
selector:
matchLabels:
@ -25,7 +26,7 @@ spec:
app.kubernetes.io/component: database-write-hashring
app.kubernetes.io/instance: thanos-receive-region-1
app.kubernetes.io/name: thanos-receive
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
controller.receive.thanos.io/hashring: region-1
spec:
affinity:
@ -101,7 +102,7 @@ spec:
secretKeyRef:
key: thanos.yaml
name: thanos-objectstorage
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 8
@ -143,7 +144,11 @@ spec:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-receive
terminationGracePeriodSeconds: 900
volumes:

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: database-write-hashring
app.kubernetes.io/instance: thanos-receive
app.kubernetes.io/name: thanos-receive
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-receive
namespace: thanos
spec:

View File

@ -6,6 +6,6 @@ metadata:
app.kubernetes.io/component: database-write-hashring
app.kubernetes.io/instance: thanos-receive
app.kubernetes.io/name: thanos-receive
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-receive
namespace: thanos

View File

@ -5,14 +5,15 @@ metadata:
app.kubernetes.io/component: database-write-hashring
app.kubernetes.io/instance: thanos-receive
app.kubernetes.io/name: thanos-receive
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-receive
namespace: thanos
spec:
endpoints:
- port: http
relabelings:
- separator: /
- action: replace
separator: /
sourceLabels:
- namespace
- pod

View File

@ -5,10 +5,11 @@ metadata:
app.kubernetes.io/component: database-write-hashring
app.kubernetes.io/instance: thanos-receive
app.kubernetes.io/name: thanos-receive
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-receive
namespace: thanos
spec:
minReadySeconds: 0
replicas: 1
selector:
matchLabels:
@ -22,7 +23,7 @@ spec:
app.kubernetes.io/component: database-write-hashring
app.kubernetes.io/instance: thanos-receive
app.kubernetes.io/name: thanos-receive
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
spec:
affinity:
podAntiAffinity:
@ -97,7 +98,7 @@ spec:
secretKeyRef:
key: thanos.yaml
name: thanos-objectstorage
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 8
@ -139,7 +140,11 @@ spec:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-receive
terminationGracePeriodSeconds: 900
volumes:

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: rule-evaluation-engine
app.kubernetes.io/instance: thanos-rule
app.kubernetes.io/name: thanos-rule
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-rule
namespace: thanos
spec:

View File

@ -6,6 +6,6 @@ metadata:
app.kubernetes.io/component: rule-evaluation-engine
app.kubernetes.io/instance: thanos-rule
app.kubernetes.io/name: thanos-rule
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-rule
namespace: thanos

View File

@ -5,14 +5,15 @@ metadata:
app.kubernetes.io/component: rule-evaluation-engine
app.kubernetes.io/instance: thanos-rule
app.kubernetes.io/name: thanos-rule
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-rule
namespace: thanos
spec:
endpoints:
- port: http
relabelings:
- separator: /
- action: replace
separator: /
sourceLabels:
- namespace
- pod

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: rule-evaluation-engine
app.kubernetes.io/instance: thanos-rule
app.kubernetes.io/name: thanos-rule
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-rule
namespace: thanos
spec:
@ -22,8 +22,26 @@ spec:
app.kubernetes.io/component: rule-evaluation-engine
app.kubernetes.io/instance: thanos-rule
app.kubernetes.io/name: thanos-rule
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- thanos-rule
- key: app.kubernetes.io/instance
operator: In
values:
- thanos-rule
namespaces:
- thanos
topologyKey: kubernetes.io/hostname
weight: 100
containers:
- args:
- rule
@ -62,7 +80,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: status.hostIP
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 24
@ -94,6 +112,17 @@ spec:
requests:
cpu: 0.123
memory: 123Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
terminationMessagePolicy: FallbackToLogsOnError
volumeMounts:
- mountPath: /var/thanos/rule
@ -126,7 +155,11 @@ spec:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-rule
volumes:
- configMap:

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: prometheus-sidecar
app.kubernetes.io/instance: thanos-sidecar
app.kubernetes.io/name: thanos-sidecar
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-sidecar
namespace: thanos
spec:

View File

@ -5,14 +5,15 @@ metadata:
app.kubernetes.io/component: prometheus-sidecar
app.kubernetes.io/instance: thanos-sidecar
app.kubernetes.io/name: thanos-sidecar
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-sidecar
namespace: thanos
spec:
endpoints:
- port: http
relabelings:
- separator: /
- action: replace
separator: /
sourceLabels:
- namespace
- pod

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-store
namespace: thanos
spec:

View File

@ -6,6 +6,6 @@ metadata:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-store
namespace: thanos

View File

@ -5,14 +5,15 @@ metadata:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-store
namespace: thanos
spec:
endpoints:
- port: http
relabelings:
- separator: /
- action: replace
separator: /
sourceLabels:
- namespace
- pod

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store-0
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
store.thanos.io/shard: shard-0
name: thanos-store-0
namespace: thanos

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store-0
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
store.thanos.io/shard: shard-0
name: thanos-store-0
namespace: thanos
@ -24,7 +24,7 @@ spec:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store-0
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
store.thanos.io/shard: shard-0
spec:
affinity:
@ -115,7 +115,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: status.hostIP
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 8
@ -145,6 +145,17 @@ spec:
requests:
cpu: 0.123
memory: 123Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
terminationMessagePolicy: FallbackToLogsOnError
volumeMounts:
- mountPath: /var/thanos/store
@ -154,7 +165,11 @@ spec:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-store
terminationGracePeriodSeconds: 120
volumes: []

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store-1
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
store.thanos.io/shard: shard-1
name: thanos-store-1
namespace: thanos

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store-1
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
store.thanos.io/shard: shard-1
name: thanos-store-1
namespace: thanos
@ -24,7 +24,7 @@ spec:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store-1
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
store.thanos.io/shard: shard-1
spec:
affinity:
@ -115,7 +115,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: status.hostIP
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 8
@ -145,6 +145,17 @@ spec:
requests:
cpu: 0.123
memory: 123Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
terminationMessagePolicy: FallbackToLogsOnError
volumeMounts:
- mountPath: /var/thanos/store
@ -154,7 +165,11 @@ spec:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-store
terminationGracePeriodSeconds: 120
volumes: []

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store-2
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
store.thanos.io/shard: shard-2
name: thanos-store-2
namespace: thanos

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store-2
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
store.thanos.io/shard: shard-2
name: thanos-store-2
namespace: thanos
@ -24,7 +24,7 @@ spec:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store-2
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
store.thanos.io/shard: shard-2
spec:
affinity:
@ -115,7 +115,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: status.hostIP
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 8
@ -145,6 +145,17 @@ spec:
requests:
cpu: 0.123
memory: 123Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
terminationMessagePolicy: FallbackToLogsOnError
volumeMounts:
- mountPath: /var/thanos/store
@ -154,7 +165,11 @@ spec:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-store
terminationGracePeriodSeconds: 120
volumes: []

View File

@ -6,6 +6,6 @@ metadata:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-store
namespace: thanos

View File

@ -5,19 +5,21 @@ metadata:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-store
namespace: thanos
spec:
endpoints:
- port: http
relabelings:
- separator: /
- action: replace
separator: /
sourceLabels:
- namespace
- pod
targetLabel: instance
- regex: shard\-(\d+)
- action: replace
regex: shard\-(\d+)
replacement: $1
sourceLabels:
- __meta_kubernetes_service_label_store_thanos_io_shard

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
name: thanos-store
namespace: thanos
spec:
@ -22,7 +22,7 @@ spec:
app.kubernetes.io/component: object-store-gateway
app.kubernetes.io/instance: thanos-store
app.kubernetes.io/name: thanos-store
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.30.2
spec:
affinity:
podAntiAffinity:
@ -103,7 +103,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: status.hostIP
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.30.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 8
@ -133,6 +133,17 @@ spec:
requests:
cpu: 0.123
memory: 123Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
terminationMessagePolicy: FallbackToLogsOnError
volumeMounts:
- mountPath: /var/thanos/store
@ -142,7 +153,11 @@ spec:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-store
terminationGracePeriodSeconds: 120
volumes: []

View File

@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: minio
namespace: thanos
spec:
selector:
matchLabels:
@ -14,22 +15,25 @@ spec:
app.kubernetes.io/name: minio
spec:
containers:
- name: minio
image: minio/minio
command:
- command:
- /bin/sh
- -c
- "mkdir -p /storage/thanos && /opt/bin/minio server /storage"
- |
mkdir -p /storage/thanos && \
/usr/bin/docker-entrypoint.sh minio server /storage
env:
- name: MINIO_ACCESS_KEY
value: "minio"
- name: MINIO_SECRET_KEY
value: "minio123"
- name: MINIO_ROOT_USER
value: minio
- name: MINIO_ROOT_PASSWORD
value: minio123
image: minio/minio:RELEASE.2023-05-27T05-56-19Z
imagePullPolicy: IfNotPresent
name: minio
ports:
- containerPort: 9000
volumeMounts:
- name: storage
mountPath: "/storage"
- mountPath: /storage
name: storage
volumes:
- name: storage
persistentVolumeClaim:

View File

@ -1,12 +1,13 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: minio
labels:
app.kubernetes.io/name: minio
name: minio
namespace: thanos
spec:
accessModes:
- ReadWriteOnce
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storage: 5Gi

View File

@ -2,13 +2,14 @@ apiVersion: v1
kind: Secret
metadata:
name: thanos-objectstorage
type: Opaque
namespace: thanos
stringData:
thanos.yaml: |-
thanos.yaml: |
type: s3
config:
bucket: thanos
endpoint: minio:9000
endpoint: minio.thanos.svc.cluster.local:9000
insecure: true
access_key: minio
secret_key: minio123
type: Opaque

View File

@ -2,11 +2,12 @@ apiVersion: v1
kind: Service
metadata:
name: minio
namespace: thanos
spec:
type: ClusterIP
ports:
- port: 9000
targetPort: 9000
protocol: TCP
- port: 9000
protocol: TCP
targetPort: 9000
selector:
app.kubernetes.io/name: minio
type: ClusterIP

View File

@ -39,6 +39,18 @@ local defaults = {
securityContext:: {
fsGroup: 65534,
runAsUser: 65534,
runAsGroup: 65532,
runAsNonRoot: true,
seccompProfile: { type: 'RuntimeDefault' },
},
securityContextContainer:: {
runAsUser: defaults.securityContext.runAsUser,
runAsGroup: defaults.securityContext.runAsGroup,
runAsNonRoot: defaults.securityContext.runAsNonRoot,
seccompProfile: defaults.securityContext.seccompProfile,
allowPrivilegeEscalation: false,
readOnlyRootFilesystem: true,
capabilities: { drop: ['ALL'] },
},
serviceAccountAnnotations:: {},
@ -191,7 +203,7 @@ function(params) {
}] else [],
terminationGracePeriodSeconds: 120,
nodeSelector: {
'beta.kubernetes.io/os': 'linux',
'kubernetes.io/os': 'linux',
},
},
},

View File

@ -34,6 +34,18 @@ local defaults = {
securityContext:: {
fsGroup: 65534,
runAsUser: 65534,
runAsGroup: 65532,
runAsNonRoot: true,
seccompProfile: { type: 'RuntimeDefault' },
},
securityContextContainer:: {
runAsUser: defaults.securityContext.runAsUser,
runAsGroup: defaults.securityContext.runAsGroup,
runAsNonRoot: defaults.securityContext.runAsNonRoot,
seccompProfile: defaults.securityContext.seccompProfile,
allowPrivilegeEscalation: false,
readOnlyRootFilesystem: true,
capabilities: { drop: ['ALL'] },
},
serviceAccountAnnotations:: {},
@ -142,6 +154,7 @@ function(params) {
path: '/-/ready',
} },
resources: if tb.config.resources != {} then tb.config.resources else {},
securityContext: tb.config.securityContextContainer,
terminationMessagePolicy: 'FallbackToLogsOnError',
volumeMounts: if std.objectHas(tb.config.objectStorageConfig, 'tlsSecretName') && std.length(tb.config.objectStorageConfig.tlsSecretName) > 0 then [
{ name: 'tls-secret', mountPath: tb.config.objectStorageConfig.tlsSecretMountPath },

View File

@ -44,6 +44,19 @@
securityContext:: {
fsGroup: 65534,
runAsUser: 65534,
runAsGroup: 65532,
runAsNonRoot: true,
seccompProfile: { type: 'RuntimeDefault' },
},
securityContextContainer:: {
runAsUser: defaults.securityContext.runAsUser,
runAsGroup: defaults.securityContext.runAsGroup,
runAsNonRoot: defaults.securityContext.runAsNonRoot,
seccompProfile: defaults.securityContext.seccompProfile,
allowPrivilegeEscalation: false,
readOnlyRootFilesystem: true,
capabilities: { drop: ['ALL'] },
},
serviceAccountAnnotations:: {},

View File

@ -89,11 +89,13 @@ function(params)
port: 'http',
relabelings: [
{
action: 'replace',
sourceLabels: ['namespace', 'pod'],
separator: '/',
targetLabel: 'instance',
},
{
action: 'replace',
sourceLabels: ['__meta_kubernetes_service_label_compact_thanos_io_shard'],
regex: 'shard\\-(\\d+)',
replacement: '$1',

View File

@ -202,6 +202,7 @@ function(params) {
{
port: 'http',
relabelings: [{
action: 'replace',
sourceLabels: ['namespace', 'pod'],
separator: '/',
targetLabel: 'instance',

View File

@ -21,6 +21,7 @@ local defaults = {
},
},
queryRangeCache: {},
queryUrl: '',
labelsCache: {},
logLevel: 'info',
logFormat: 'logfmt',
@ -63,6 +64,19 @@ local defaults = {
securityContext:: {
fsGroup: 65534,
runAsUser: 65534,
runAsGroup: 65532,
runAsNonRoot: true,
seccompProfile: { type: 'RuntimeDefault' },
},
securityContextContainer:: {
runAsUser: defaults.securityContext.runAsUser,
runAsGroup: defaults.securityContext.runAsGroup,
runAsNonRoot: defaults.securityContext.runAsNonRoot,
seccompProfile: defaults.securityContext.seccompProfile,
allowPrivilegeEscalation: false,
readOnlyRootFilesystem: true,
capabilities: { drop: ['ALL'] },
},
serviceAccountAnnotations:: {},
@ -174,6 +188,10 @@ function(params) {
{ config+: { service_name: defaults.name } } + tqf.config.tracing
),
] else []
) + (
if tqf.config.queryUrl != '' then [
'--alert.query-url=' + tqf.config.queryUrl,
] else []
),
env: [
{
@ -203,6 +221,7 @@ function(params) {
path: '/-/ready',
} },
resources: if tqf.config.resources != {} then tqf.config.resources else {},
securityContext: tqf.config.securityContextContainer,
terminationMessagePolicy: 'FallbackToLogsOnError',
};
@ -262,6 +281,7 @@ function(params) {
{
port: 'http',
relabelings: [{
action: 'replace',
sourceLabels: ['namespace', 'pod'],
separator: '/',
targetLabel: 'instance',

View File

@ -13,6 +13,7 @@ local defaults = {
stores: ['dnssrv+_grpc._tcp.thanos-store.%s.svc.cluster.local' % defaults.namespace],
rules: [], // TODO(bwplotka): This is deprecated, switch to endpoints while ready.
externalPrefix: '',
queryUrl: '',
prefixHeader: '',
autoDownsampling: true,
useThanosEngine: false,
@ -28,6 +29,9 @@ local defaults = {
logFormat: 'logfmt',
tracing: {},
extraEnv: [],
telemetryDurationQuantiles: '',
telemetrySamplesQuantiles: '',
telemetrySeriesQuantiles: '',
commonLabels:: {
'app.kubernetes.io/name': 'thanos-query',
@ -45,7 +49,21 @@ local defaults = {
securityContext:: {
fsGroup: 65534,
runAsUser: 65534,
runAsGroup: 65532,
runAsNonRoot: true,
seccompProfile: { type: 'RuntimeDefault' },
},
securityContextContainer:: {
runAsUser: defaults.securityContext.runAsUser,
runAsGroup: defaults.securityContext.runAsGroup,
runAsNonRoot: defaults.securityContext.runAsNonRoot,
seccompProfile: defaults.securityContext.seccompProfile,
allowPrivilegeEscalation: false,
readOnlyRootFilesystem: true,
capabilities: { drop: ['ALL'] },
},
serviceAccountAnnotations:: {},
};
@ -115,7 +133,7 @@ function(params) {
'--query.replica-label=%s' % labelName
for labelName in tq.config.replicaLabels
] + [
'--store=%s' % store
'--endpoint=%s' % store
for store in tq.config.stores
] + [
'--rule=%s' % store
@ -154,6 +172,25 @@ function(params) {
if tq.config.useThanosEngine then [
'--query.promql-engine=thanos',
] else []
) + (
if tq.config.telemetryDurationQuantiles != '' then [
'--query.telemetry.request-duration-seconds-quantiles=' + std.stripChars(quantile, ' ')
for quantile in std.split(tq.config.telemetryDurationQuantiles, ',')
] else []
) + (
if tq.config.telemetrySamplesQuantiles != '' then [
'--query.telemetry.request-samples-quantiles=' + std.stripChars(quantile, ' ')
for quantile in std.split(tq.config.telemetrySamplesQuantiles, ',')
] else []
) + (
if tq.config.telemetrySeriesQuantiles != '' then [
'--query.telemetry.request-series-seconds-quantiles=' + std.stripChars(quantile, ' ')
for quantile in std.split(tq.config.telemetrySeriesQuantiles, ',')
] else []
) + (
if tq.config.queryUrl != '' then [
'--alert.query-url=' + tq.config.queryUrl,
] else []
),
env: [
{
@ -183,6 +220,7 @@ function(params) {
path: '/-/ready',
} },
resources: if tq.config.resources != {} then tq.config.resources else {},
securityContext: tq.config.securityContextContainer,
terminationMessagePolicy: 'FallbackToLogsOnError',
};
@ -244,6 +282,7 @@ function(params) {
{
port: 'http',
relabelings: [{
action: 'replace',
sourceLabels: ['namespace', 'pod'],
separator: '/',
targetLabel: 'instance',

View File

@ -9,6 +9,7 @@
image: error 'must provide image',
imagePullPolicy: 'IfNotPresent',
replicas: error 'must provide replicas',
minReadySeconds: 0,
replicationFactor: error 'must provide replication factor',
objectStorageConfig: error 'must provide objectStorageConfig',
podDisruptionBudgetMaxUnavailable: (std.floor(defaults.replicationFactor / 2)),
@ -34,6 +35,8 @@
tenantHeader: null,
clusterDomain: 'cluster.local',
extraEnv: [],
receiveLimitsConfigFile: {},
storeLimits: {},
commonLabels:: {
'app.kubernetes.io/name': 'thanos-receive',
@ -51,6 +54,19 @@
securityContext:: {
fsGroup: 65534,
runAsUser: 65534,
runAsGroup: 65532,
runAsNonRoot: true,
seccompProfile: { type: 'RuntimeDefault' },
},
securityContextContainer:: {
runAsUser: defaults.securityContext.runAsUser,
runAsGroup: defaults.securityContext.runAsGroup,
runAsNonRoot: defaults.securityContext.runAsNonRoot,
seccompProfile: defaults.securityContext.seccompProfile,
allowPrivilegeEscalation: false,
readOnlyRootFilesystem: true,
capabilities: { drop: ['ALL'] },
},
serviceAccountAnnotations:: {},

View File

@ -91,11 +91,13 @@ function(params)
port: 'http',
relabelings: [
{
action: 'replace',
sourceLabels: ['namespace', 'pod'],
separator: '/',
targetLabel: 'instance',
},
{
action: 'replace',
sourceLabels: ['__meta_kubernetes_service_label_controller_receive_thanos_io_shard'],
targetLabel: 'hashring',
},

View File

@ -19,6 +19,12 @@ function(params) {
'app.kubernetes.io/component': tr.config.name + '-router',
},
podLabelSelector:: {
[labelName]: tr.routerLabels[labelName]
for labelName in std.objectFields(tr.routerLabels)
if labelName != 'app.kubernetes.io/version'
},
service: {
apiVersion: 'v1',
kind: 'Service',
@ -77,7 +83,7 @@ function(params) {
},
spec: {
replicas: tr.config.routerReplicas,
selector: { matchLabels: tr.routerLabels },
selector: { matchLabels: tr.podLabelSelector },
template: {
metadata: {
labels: tr.routerLabels,
@ -140,6 +146,7 @@ function(params) {
path: '/-/ready',
} },
resources: if tr.config.resources != {} then tr.config.resources else {},
securityContext: tr.config.securityContextContainer,
terminationMessagePolicy: 'FallbackToLogsOnError',
}],
volumes: [{
@ -148,7 +155,7 @@ function(params) {
}],
terminationGracePeriodSeconds: 30,
nodeSelector: {
'beta.kubernetes.io/os': 'linux',
'kubernetes.io/os': 'linux',
},
},
},

View File

@ -12,6 +12,9 @@ function(params) {
assert std.isBoolean(tr.config.serviceMonitor),
assert std.isObject(tr.config.volumeClaimTemplate),
assert !std.objectHas(tr.config.volumeClaimTemplate, 'spec') || std.assertEqual(tr.config.volumeClaimTemplate.spec.accessModes, ['ReadWriteOnce']) : 'thanos receive PVC accessMode can only be ReadWriteOnce',
assert std.isNumber(tr.config.minReadySeconds),
assert std.isObject(tr.config.receiveLimitsConfigFile),
assert std.isObject(tr.config.storeLimits),
service: {
apiVersion: 'v1',
@ -93,12 +96,25 @@ function(params) {
if tr.config.hashringConfigMapName != '' then [
'--receive.hashrings-file=/var/lib/thanos-receive/hashrings.json',
] else []
) + (
if std.objectHas(tr.config.storeLimits, 'requestSamples') then [
'--store.limits.request-samples=%s' % tr.config.storeLimits.requestSamples,
] else []
) + (
if std.objectHas(tr.config.storeLimits, 'requestSeries') then [
'--store.limits.request-series=%s' % tr.config.storeLimits.requestSeries,
] else []
) + (
if std.length(tr.config.tracing) > 0 then [
'--tracing.config=' + std.manifestYamlDoc(
{ config+: { service_name: defaults.name } } + tr.config.tracing
),
] else []
) + (
if tr.config.receiveLimitsConfigFile != {} then [
'--receive.limits-config-file=/etc/thanos/config/' + tr.config.receiveLimitsConfigFile.name + '/' + tr.config.receiveLimitsConfigFile.key,
]
else []
),
env: [
{ name: 'NAME', valueFrom: { fieldRef: { fieldPath: 'metadata.name' } } },
@ -139,6 +155,10 @@ function(params) {
if tr.config.objectStorageConfig != null && std.objectHas(tr.config.objectStorageConfig, 'tlsSecretName') && std.length(tr.config.objectStorageConfig.tlsSecretName) > 0 then [
{ name: 'tls-secret', mountPath: tr.config.objectStorageConfig.tlsSecretMountPath },
] else []
) + (
if tr.config.receiveLimitsConfigFile != {} then [
{ name: tr.config.receiveLimitsConfigFile.name, mountPath: '/etc/thanos/config/' + tr.config.receiveLimitsConfigFile.name, readOnly: true },
] else []
),
livenessProbe: { failureThreshold: 8, periodSeconds: 30, httpGet: {
scheme: 'HTTP',
@ -164,6 +184,7 @@ function(params) {
},
spec: {
replicas: tr.config.replicas,
minReadySeconds: tr.config.minReadySeconds,
selector: { matchLabels: tr.config.podLabelSelector },
serviceName: tr.service.metadata.name,
template: {
@ -184,6 +205,11 @@ function(params) {
name: 'tls-secret',
secret: { secretName: tr.config.objectStorageConfig.tlsSecretName },
}] else []
) + (
if tr.config.receiveLimitsConfigFile != {} then [{
name: tr.config.receiveLimitsConfigFile.name,
configMap: { name: tr.config.receiveLimitsConfigFile.name },
}] else []
),
terminationGracePeriodSeconds: 900,
nodeSelector: {
@ -245,6 +271,7 @@ function(params) {
{
port: 'http',
relabelings: [{
action: 'replace',
sourceLabels: ['namespace', 'pod'],
separator: '/',
targetLabel: 'instance',

View File

@ -49,6 +49,19 @@ local defaults = {
securityContext:: {
fsGroup: 65534,
runAsUser: 65534,
runAsGroup: 65532,
runAsNonRoot: true,
seccompProfile: { type: 'RuntimeDefault' },
},
securityContextContainer:: {
runAsUser: defaults.securityContext.runAsUser,
runAsGroup: defaults.securityContext.runAsGroup,
runAsNonRoot: defaults.securityContext.runAsNonRoot,
seccompProfile: defaults.securityContext.seccompProfile,
allowPrivilegeEscalation: false,
readOnlyRootFilesystem: true,
capabilities: { drop: ['ALL'] },
},
serviceAccountAnnotations:: {},
@ -215,6 +228,7 @@ function(params) {
} },
resources: if tr.config.resources != {} then tr.config.resources else {},
securityContext: tr.config.securityContextContainer,
terminationMessagePolicy: 'FallbackToLogsOnError',
};
@ -328,6 +342,27 @@ function(params) {
nodeSelector: {
'kubernetes.io/os': 'linux',
},
affinity: { podAntiAffinity: {
local labelSelector = { matchExpressions: [{
key: 'app.kubernetes.io/name',
operator: 'In',
values: [tr.statefulSet.metadata.labels['app.kubernetes.io/name']],
}, {
key: 'app.kubernetes.io/instance',
operator: 'In',
values: [tr.statefulSet.metadata.labels['app.kubernetes.io/instance']],
}] },
preferredDuringSchedulingIgnoredDuringExecution: [
{
podAffinityTerm: {
namespaces: [tr.config.namespace],
topologyKey: 'kubernetes.io/hostname',
labelSelector: labelSelector,
},
weight: 100,
},
],
} },
},
},
volumeClaimTemplates: if std.length(tr.config.volumeClaimTemplate) > 0 then [tr.config.volumeClaimTemplate {
@ -355,6 +390,7 @@ function(params) {
{
port: 'http',
relabelings: [{
action: 'replace',
sourceLabels: ['namespace', 'pod'],
separator: '/',
targetLabel: 'instance',

View File

@ -72,6 +72,7 @@ function(params) {
endpoints: [{
port: 'http',
relabelings: [{
action: 'replace',
sourceLabels: ['namespace', 'pod'],
separator: '/',
targetLabel: 'instance',

View File

@ -9,6 +9,11 @@
image: error 'must provide image',
imagePullPolicy: 'IfNotPresent',
replicas: error 'must provide replicas',
limits: {
seriesTouched: 0,
seriesSample: 0,
downloadedBytes: 0,
},
objectStorageConfig: error 'must provide objectStorageConfig',
ignoreDeletionMarksDelay: '24h',
logLevel: 'info',
@ -78,6 +83,18 @@
securityContext:: {
fsGroup: 65534,
runAsUser: 65534,
runAsGroup: 65532,
runAsNonRoot: true,
seccompProfile: { type: 'RuntimeDefault' },
},
securityContextContainer:: {
runAsUser: defaults.securityContext.runAsUser,
runAsGroup: defaults.securityContext.runAsGroup,
runAsNonRoot: defaults.securityContext.runAsNonRoot,
seccompProfile: defaults.securityContext.seccompProfile,
allowPrivilegeEscalation: false,
readOnlyRootFilesystem: true,
capabilities: { drop: ['ALL'] },
},
serviceAccountAnnotations:: {},

View File

@ -88,11 +88,13 @@ function(params)
port: 'http',
relabelings: [
{
action: 'replace',
sourceLabels: ['namespace', 'pod'],
separator: '/',
targetLabel: 'instance',
},
{
action: 'replace',
sourceLabels: ['__meta_kubernetes_service_label_store_thanos_io_shard'],
regex: 'shard\\-(\\d+)',
replacement: '$1',

View File

@ -22,6 +22,10 @@ function(params) {
// Safety checks for combined config of defaults and params
assert std.isNumber(ts.config.replicas) && ts.config.replicas >= 0 : 'thanos store replicas has to be number >= 0',
assert std.isObject(ts.config.limits) : 'thanos store limits has to be an object',
assert std.isNumber(ts.config.limits.seriesTouched) && ts.config.limits.seriesTouched >= 0 : 'thanos store series touched limit has to be number >= 0',
assert std.isNumber(ts.config.limits.seriesSample) && ts.config.limits.seriesSample >= 0 : 'thanos store series sample limit has to be number >= 0',
assert std.isNumber(ts.config.limits.downloadedBytes) && ts.config.limits.downloadedBytes >= 0 : 'thanos store series download bytes limit has to be number >= 0',
assert std.isObject(ts.config.resources),
assert std.isBoolean(ts.config.serviceMonitor),
assert std.isObject(ts.config.volumeClaimTemplate),
@ -89,6 +93,18 @@ function(params) {
if std.length(ts.config.minTime) > 0 then [
'--min-time=' + ts.config.minTime,
] else []
) + (
if ts.config.limits.seriesTouched > 0 then [
'--store.grpc.touched-series-limit=' + ts.config.limits.seriesTouched,
] else []
) + (
if ts.config.limits.seriesSample > 0 then [
'--store.grpc.series-sample-limit=' + ts.config.limits.seriesSample,
] else []
) + (
if ts.config.limits.downloadedBytes > 0 then [
'--store.grpc.downloaded-bytes-limit=' + ts.config.limits.downloadedBytes,
] else []
) + (
if std.length(ts.config.maxTime) > 0 then [
'--max-time=' + ts.config.maxTime,
@ -151,6 +167,7 @@ function(params) {
path: '/-/ready',
} },
resources: if ts.config.resources != {} then ts.config.resources else {},
securityContext: ts.config.securityContextContainer,
terminationMessagePolicy: 'FallbackToLogsOnError',
};
@ -227,6 +244,7 @@ function(params) {
{
port: 'http',
relabelings: [{
action: 'replace',
sourceLabels: ['namespace', 'pod'],
separator: '/',
targetLabel: 'instance',

View File

@ -0,0 +1,107 @@
// These are the defaults for this components configuration.
// When calling the function to generate the component's manifest,
// you can pass an object structured like the default to overwrite default values.
local defaults = {
namespace: error 'must provide namespace',
buckets: error 'must provide buckets',
accessKey: error 'must provide accessKey',
secretKey: error 'must provide secretKey',
commonLabels:: { 'app.kubernetes.io/name': 'minio' },
};
function(params) {
local minio = self,
// Combine the defaults and the passed params to make the component's config.
config:: defaults + params,
deployment: {
apiVersion: 'apps/v1',
kind: 'Deployment',
metadata: {
name: 'minio',
namespace: minio.config.namespace,
},
spec: {
selector: {
matchLabels: minio.config.commonLabels,
},
strategy: { type: 'Recreate' },
template: {
metadata: {
labels: minio.config.commonLabels,
},
spec: {
containers: [
{
command: [
'/bin/sh',
'-c',
|||
mkdir -p %s && \
/usr/bin/docker-entrypoint.sh minio server /storage
||| % std.join(' ', ['/storage/%s' % bucket for bucket in minio.config.buckets]),
],
env: [
{
name: 'MINIO_ROOT_USER',
value: minio.config.accessKey,
},
{
name: 'MINIO_ROOT_PASSWORD',
value: minio.config.secretKey,
},
],
image: 'minio/minio:RELEASE.2023-05-27T05-56-19Z',
imagePullPolicy: 'IfNotPresent',
name: 'minio',
ports: [
{ containerPort: 9000 },
],
volumeMounts: [
{ mountPath: '/storage', name: 'storage' },
],
},
],
volumes: [{
name: 'storage',
persistentVolumeClaim: { claimName: 'minio' },
}],
},
},
},
},
pvc: {
apiVersion: 'v1',
kind: 'PersistentVolumeClaim',
metadata: {
labels: minio.config.commonLabels,
name: 'minio',
namespace: minio.config.namespace,
},
spec: {
accessModes: ['ReadWriteOnce'],
resources: {
requests: { storage: '5Gi' },
},
},
},
service: {
apiVersion: 'v1',
kind: 'Service',
metadata: {
name: 'minio',
namespace: minio.config.namespace,
},
spec: {
ports: [
{ port: 9000, protocol: 'TCP', targetPort: 9000 },
],
selector: minio.config.commonLabels,
type: 'ClusterIP',
},
},
}

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: query-layer
app.kubernetes.io/instance: thanos-query
app.kubernetes.io/name: thanos-query
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.31.0
name: thanos-query
namespace: thanos
spec:
@ -21,7 +21,7 @@ spec:
app.kubernetes.io/component: query-layer
app.kubernetes.io/instance: thanos-query
app.kubernetes.io/name: thanos-query
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.31.0
spec:
affinity:
podAntiAffinity:
@ -46,15 +46,15 @@ spec:
- --log.format=logfmt
- --query.replica-label=prometheus_replica
- --query.replica-label=rule_replica
- --store=dnssrv+_grpc._tcp.thanos-store.thanos.svc.cluster.local:10901
- --store=dnssrv+_grpc._tcp.thanos-receive-ingestor-default.thanos.svc.cluster.local:10901
- --endpoint=dnssrv+_grpc._tcp.thanos-store.thanos.svc.cluster.local:10901
- --endpoint=dnssrv+_grpc._tcp.thanos-receive-ingestor-default.thanos.svc.cluster.local:10901
- --query.auto-downsampling
env:
- name: HOST_IP_ADDRESS
valueFrom:
fieldRef:
fieldPath: status.hostIP
image: quay.io/thanos/thanos:v0.29.0
image: quay.io/thanos/thanos:v0.31.0
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 4
@ -77,11 +77,26 @@ spec:
scheme: HTTP
periodSeconds: 5
resources: {}
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
terminationMessagePolicy: FallbackToLogsOnError
nodeSelector:
kubernetes.io/os: linux
securityContext:
fsGroup: 65534
runAsGroup: 65532
runAsNonRoot: true
runAsUser: 65534
seccompProfile:
type: RuntimeDefault
serviceAccountName: thanos-query
terminationGracePeriodSeconds: 120

View File

@ -5,7 +5,7 @@ metadata:
app.kubernetes.io/component: query-layer
app.kubernetes.io/instance: thanos-query
app.kubernetes.io/name: thanos-query
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.31.0
name: thanos-query
namespace: thanos
spec:

View File

@ -6,6 +6,6 @@ metadata:
app.kubernetes.io/component: query-layer
app.kubernetes.io/instance: thanos-query
app.kubernetes.io/name: thanos-query
app.kubernetes.io/version: v0.29.0
app.kubernetes.io/version: v0.31.0
name: thanos-query
namespace: thanos

Some files were not shown because too many files have changed in this diff Show More