diff --git a/operator/.bingo/Variables.mk b/operator/.bingo/Variables.mk
index 31dd5cde7bf85..972e158e6eab1 100644
--- a/operator/.bingo/Variables.mk
+++ b/operator/.bingo/Variables.mk
@@ -77,11 +77,11 @@ $(KIND): $(BINGO_DIR)/kind.mod
@echo "(re)installing $(GOBIN)/kind-v0.23.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=kind.mod -o=$(GOBIN)/kind-v0.23.0 "sigs.k8s.io/kind"
-KUSTOMIZE := $(GOBIN)/kustomize-v4.5.7
+KUSTOMIZE := $(GOBIN)/kustomize-v5.4.3
$(KUSTOMIZE): $(BINGO_DIR)/kustomize.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)/kustomize-v4.5.7"
- @cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=kustomize.mod -o=$(GOBIN)/kustomize-v4.5.7 "sigs.k8s.io/kustomize/kustomize/v4"
+ @echo "(re)installing $(GOBIN)/kustomize-v5.4.3"
+ @cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=kustomize.mod -o=$(GOBIN)/kustomize-v5.4.3 "sigs.k8s.io/kustomize/kustomize/v5"
OPERATOR_SDK := $(GOBIN)/operator-sdk-v1.37.0
$(OPERATOR_SDK): $(BINGO_DIR)/operator-sdk.mod
diff --git a/operator/.bingo/kustomize.mod b/operator/.bingo/kustomize.mod
index f2af7638a1d52..89cbd27701f15 100644
--- a/operator/.bingo/kustomize.mod
+++ b/operator/.bingo/kustomize.mod
@@ -1,9 +1,5 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
-go 1.17
+go 1.22.5
-exclude sigs.k8s.io/kustomize/api v0.2.0
-
-exclude sigs.k8s.io/kustomize/cmd/config v0.2.0
-
-require sigs.k8s.io/kustomize/kustomize/v4 v4.5.7
+require sigs.k8s.io/kustomize/kustomize/v5 v5.4.3
diff --git a/operator/.bingo/kustomize.sum b/operator/.bingo/kustomize.sum
index 247834f4b7f42..8f7eee9e3a76a 100644
--- a/operator/.bingo/kustomize.sum
+++ b/operator/.bingo/kustomize.sum
@@ -1,453 +1,98 @@
-cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
-github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
-github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
-github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
-github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
-github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
-github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
-github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
-github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
-github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
-github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
-github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
-github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA=
-github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
-github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
-github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
+github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
+github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
-github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
-github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
-github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
-github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
-github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
-github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
-github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
+github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
-github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
-github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
-github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
-github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
-github.com/evanphx/json-patch v4.5.0+incompatible h1:ouOWdg56aJriqS0huScTkVXPC5IcNrDCXZ6OoTAWu7M=
-github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-github.com/evanphx/json-patch v4.11.0+incompatible h1:glyUF9yIYtMHzn8xaKw5rMhdWcwsYV8dZHIq5567/xs=
-github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
-github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg=
-github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
-github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w=
-github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q=
-github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
-github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
-github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
-github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
-github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
-github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
-github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
-github.com/go-openapi/analysis v0.19.5 h1:8b2ZgKfKIUTVQpTb77MoRDIMEIwvDVw40o3aOXdfYzI=
-github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU=
-github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY=
-github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
-github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
-github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
-github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
-github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
-github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
-github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
-github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o=
-github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
-github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM=
-github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg=
-github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
-github.com/go-openapi/loads v0.19.4 h1:5I4CCSqoWzT+82bBkNIvmLc0UOsoKKQ4Fz+3VxOB7SY=
-github.com/go-openapi/loads v0.19.4/go.mod h1:zZVHonKd8DXyxyw4yfnVjPzBjIQcLt0CCsn0N0ZrQsk=
-github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
-github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
-github.com/go-openapi/runtime v0.19.4 h1:csnOgcgAiuGoM/Po7PEpKDoNulCcF3FGbSnbHfxgjMI=
-github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4=
-github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
-github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
-github.com/go-openapi/spec v0.19.5 h1:Xm0Ao53uqnk9QE/LlYV5DEU09UAgpliA85QoT9LzqPw=
-github.com/go-openapi/spec v0.19.5/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
-github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
-github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
-github.com/go-openapi/strfmt v0.19.5 h1:0utjKrw+BAh8s57XE9Xz8DUBsVvPmRUB6styvl9wWIM=
-github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
-github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
-github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng=
-github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
-github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
-github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
-github.com/go-openapi/validate v0.19.8 h1:YFzsdWIDfVuLvIOF+ZmKjVg1MbPJ1QgY9PihMwei1ys=
-github.com/go-openapi/validate v0.19.8/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4=
-github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
-github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
-github.com/gobuffalo/here v0.6.0/go.mod h1:wAG085dHOYqUpf+Ap+WOdrPTp5IYcDAs/x7PLa8Y5fM=
-github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
-github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
-github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
-github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
-github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
-github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
-github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
-github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
-github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
+github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA=
+github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
+github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE=
+github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
+github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE=
+github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k=
+github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
+github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogBU=
+github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
-github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
-github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
-github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54=
-github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ=
-github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
-github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
+github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
+github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
+github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
-github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU=
-github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
-github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
-github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
-github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
-github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
-github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
-github.com/imdario/mergo v0.3.5 h1:JboBksRwiiAJWvIYJVo46AfV+IAIKZpfrSzVKj42R4Q=
-github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
-github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28=
-github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
-github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
-github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
-github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
+github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
+github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
-github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
-github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
-github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
-github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
+github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
-github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.7.0 h1:aizVhC/NAAcKWb+5QsU1iNOZb4Yws5UO2I+aIprQITM=
-github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
-github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA=
-github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
-github.com/markbates/pkger v0.17.1/go.mod h1:0JoVlrol20BSywW79rN3kdFFsE5xYM+rSCQDXbLhiuI=
-github.com/mattn/go-runewidth v0.0.7 h1:Ei8KR0497xHyKJPAv59M1dkC+rOZCMBJ+t3fZ+twI54=
-github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
-github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
-github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
-github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
-github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
-github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag=
-github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
-github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
+github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0=
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4=
-github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
-github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
-github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
-github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
-github.com/olekukonko/tablewriter v0.0.4 h1:vHD/YYe1Wolo78koG299f7V/VAS08c6IpCLn+Ejf/w8=
-github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA=
-github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
-github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
-github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
-github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
-github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
-github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
-github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
-github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
-github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
-github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
-github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
-github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
-github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
-github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
-github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
-github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
-github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
-github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
-github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
-github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
-github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
-github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
-github.com/spf13/cobra v1.0.0 h1:6m/oheQuQ13N9ks4hubMG6BnvwOeaJrqSPLahSnczz8=
-github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
-github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q=
-github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g=
-github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
-github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
-github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
+github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
+github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
+github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
-github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
-github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
-github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
+github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
+github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
-github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
-github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
-github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
-github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
-github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
-github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
-github.com/xlab/treeprint v0.0.0-20181112141820-a009c3971eca h1:1CFlNzQhALwjS9mBAUkycX616GzgsuYUOCHA5+HSlXI=
-github.com/xlab/treeprint v0.0.0-20181112141820-a009c3971eca/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg=
-github.com/xlab/treeprint v1.1.0 h1:G/1DjNkPpfZCFt9CSh6b5/nY4VimlbHF3Rh4obvtzDk=
-github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=
-github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
-github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
-go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
-go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
-go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
-go.mongodb.org/mongo-driver v1.1.2 h1:jxcFYjlkl8xaERsgLo+RNquI0epW6zuy/ZRQs6jnrFA=
-go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
+github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
+github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
+github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ=
+github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=
go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 h1:+FNtrFTmVw0YZGpBGX56XDee331t6JAXeK2bcyhLOOc=
go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5/go.mod h1:nmDLcffg48OtT/PSW0Hg7FvpRQsQh5OSqIylirxKC7o=
-go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
-go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
-go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
-golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
-golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
-golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME=
-golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
-golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk=
-golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
-golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191002063906-3421d5a6bb1c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM=
-golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc=
-golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
-golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
-golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
-golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
+golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
+golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
-google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
-google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
-google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
-google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
-google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
-google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
-google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
-google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
-google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
-google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=
-google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
-gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
+google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
+google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
+gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4=
+gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M=
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
-gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
-gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
-gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
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/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-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=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ=
-gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
-gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
-k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
-k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
-k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
-k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e h1:KLHHjkdQFomZy8+06csTWZ0m1343QqxZhR2LJ1OxCYM=
-k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw=
-k8s.io/kube-openapi v0.0.0-20220401212409-b28bf2818661 h1:nqYOUleKLC/0P1zbU29F5q6aoezM6MOAVz+iyfQbZ5M=
-k8s.io/kube-openapi v0.0.0-20220401212409-b28bf2818661/go.mod h1:daOouuuwd9JXpv1L7Y34iV3yf6nxzipkKMWWlqlvK9M=
-k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
-k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
-k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
-sigs.k8s.io/kustomize/api v0.8.5 h1:bfCXGXDAbFbb/Jv5AhMj2BB8a5VAJuuQ5/KU69WtDjQ=
-sigs.k8s.io/kustomize/api v0.8.5/go.mod h1:M377apnKT5ZHJS++6H4rQoCHmWtt6qTpp3mbe7p6OLY=
-sigs.k8s.io/kustomize/api v0.8.11 h1:LzQzlq6Z023b+mBtc6v72N2mSHYmN8x7ssgbf/hv0H8=
-sigs.k8s.io/kustomize/api v0.8.11/go.mod h1:a77Ls36JdfCWojpUqR6m60pdGY1AYFix4AH83nJtY1g=
-sigs.k8s.io/kustomize/api v0.12.1 h1:7YM7gW3kYBwtKvoY216ZzY+8hM+lV53LUayghNRJ0vM=
-sigs.k8s.io/kustomize/api v0.12.1/go.mod h1:y3JUhimkZkR6sbLNwfJHxvo1TCLwuwm14sCYnkH6S1s=
-sigs.k8s.io/kustomize/cmd/config v0.9.7 h1:xxvL/np/zYHVuCH1tNFehlyEtSW5oXjoI6ycejiyOwQ=
-sigs.k8s.io/kustomize/cmd/config v0.9.7/go.mod h1:MvXCpHs77cfyxRmCNUQjIqCmZyYsbn5PyQpWiq44nW0=
-sigs.k8s.io/kustomize/cmd/config v0.9.13 h1:lqOf0QcFhNvgZkgrPINNRs7TxEO7IGVtLMyUJId3oRE=
-sigs.k8s.io/kustomize/cmd/config v0.9.13/go.mod h1:7547FLF8W/lTaDf0BDqFTbZxM9zqwEJqCKN9sSR0xSs=
-sigs.k8s.io/kustomize/cmd/config v0.10.9 h1:LV8AUwZPuvqhGfia50uNwsPwNg1xOy9koEf5hyBnYs4=
-sigs.k8s.io/kustomize/cmd/config v0.10.9/go.mod h1:T0s850zPV3wKfBALA0dyeP/K74jlJcoP8Pr9ZWwE3MQ=
-sigs.k8s.io/kustomize/kustomize/v4 v4.0.5 h1:0xQWp03aKWilF6UJrupcA2rCoCn3jejkJ+m/CCI/Fis=
-sigs.k8s.io/kustomize/kustomize/v4 v4.0.5/go.mod h1:C7rYla7sI8EnxHE/xEhRBSHMNfcL91fx0uKmUlUhrBk=
-sigs.k8s.io/kustomize/kustomize/v4 v4.2.0 h1:RKgbyHgzuHQZ35sBDzWcbnR3HBlJSYdSN0H+sx3tUkk=
-sigs.k8s.io/kustomize/kustomize/v4 v4.2.0/go.mod h1:MOkR6fmhwG7hEDRXBYELTi5GSFcLwfqwzTRHW3kv5go=
-sigs.k8s.io/kustomize/kustomize/v4 v4.5.7 h1:cDW6AVMl6t/SLuQaezMET8hgnadZGIAr8tUrxFVOrpg=
-sigs.k8s.io/kustomize/kustomize/v4 v4.5.7/go.mod h1:VSNKEH9D9d9bLiWEGbS6Xbg/Ih0tgQalmPvntzRxZ/Q=
-sigs.k8s.io/kustomize/kyaml v0.10.15 h1:dSLgG78KyaxN4HylPXdK+7zB3k7sW6q3IcCmcfKA+aI=
-sigs.k8s.io/kustomize/kyaml v0.10.15/go.mod h1:mlQFagmkm1P+W4lZJbJ/yaxMd8PqMRSC4cPcfUVt5Hg=
-sigs.k8s.io/kustomize/kyaml v0.11.0 h1:9KhiCPKaVyuPcgOLJXkvytOvjMJLoxpjodiycb4gHsA=
-sigs.k8s.io/kustomize/kyaml v0.11.0/go.mod h1:GNMwjim4Ypgp/MueD3zXHLRJEjz7RvtPae0AwlvEMFM=
-sigs.k8s.io/kustomize/kyaml v0.13.9 h1:Qz53EAaFFANyNgyOEJbT/yoIHygK40/ZcvU3rgry2Tk=
-sigs.k8s.io/kustomize/kyaml v0.13.9/go.mod h1:QsRbD0/KcU+wdk0/L0fIp2KLnohkVzs6fQ85/nOXac4=
-sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
-sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
-sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
+gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780=
+k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA=
+sigs.k8s.io/kustomize/api v0.17.3 h1:6GCuHSsxq7fN5yhF2XrC+AAr8gxQwhexgHflOAD/JJU=
+sigs.k8s.io/kustomize/api v0.17.3/go.mod h1:TuDH4mdx7jTfK61SQ/j1QZM/QWR+5rmEiNjvYlhzFhc=
+sigs.k8s.io/kustomize/cmd/config v0.14.2 h1:YOCu0BnVPm2Iq6PR4fJgO6+rivg5LbR3+o/4ZUeXAvM=
+sigs.k8s.io/kustomize/cmd/config v0.14.2/go.mod h1:w30rR4oCUm5wEi0tSuBCmuBMS9Z/Cq6oDdfg8fL/qls=
+sigs.k8s.io/kustomize/kustomize/v5 v5.4.3 h1:SJMDq/0HYNTFPgmlBuxsGzdBB6furxhwHKHEfzBbvSw=
+sigs.k8s.io/kustomize/kustomize/v5 v5.4.3/go.mod h1:vhSLBp3H7wx0oeh/hE7CMQVNft42plZxUqxhvVZxb8Q=
+sigs.k8s.io/kustomize/kyaml v0.17.2 h1:+AzvoJUY0kq4QAhH/ydPHHMRLijtUKiyVyh7fOSshr0=
+sigs.k8s.io/kustomize/kyaml v0.17.2/go.mod h1:9V0mCjIEYjlXuCdYsSXvyoy2BTsLESH7TlGV81S282U=
+sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
+sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
diff --git a/operator/.bingo/operator-sdk.mod b/operator/.bingo/operator-sdk.mod
index 120bd4ebf28b9..9eff57c0f1cf3 100644
--- a/operator/.bingo/operator-sdk.mod
+++ b/operator/.bingo/operator-sdk.mod
@@ -1,5 +1,5 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
-go 1.22.8
+go 1.22.5
require github.com/operator-framework/operator-sdk v1.37.0 // cmd/operator-sdk
diff --git a/operator/.bingo/variables.env b/operator/.bingo/variables.env
index a9a57eff65af7..fb4756563dcee 100644
--- a/operator/.bingo/variables.env
+++ b/operator/.bingo/variables.env
@@ -28,7 +28,7 @@ JSONNETFMT="${GOBIN}/jsonnetfmt-v0.20.0"
KIND="${GOBIN}/kind-v0.23.0"
-KUSTOMIZE="${GOBIN}/kustomize-v4.5.7"
+KUSTOMIZE="${GOBIN}/kustomize-v5.4.3"
OPERATOR_SDK="${GOBIN}/operator-sdk-v1.37.0"
diff --git a/operator/CHANGELOG.md b/operator/CHANGELOG.md
index 204438d19a1f6..85eef56af193a 100644
--- a/operator/CHANGELOG.md
+++ b/operator/CHANGELOG.md
@@ -2,6 +2,7 @@
## Release 5.9.9
+- [14447](https://github.com/grafana/loki/pull/14447) **periklis**: refactor(operator)!: Migrate project layout to kubebuilder go/v4
- [14526](https://github.com/grafana/loki/pull/14526) **periklis**: feat(operator): Update Loki operand to v3.2.1
- [14445](https://github.com/grafana/loki/pull/14445) **periklis**: chore(operator): Upgrade operator-sdk 1.37.0 and kind 0.23.0
diff --git a/operator/Dockerfile b/operator/Dockerfile
index 1f8a6a3ca0483..a29ad9692c027 100644
--- a/operator/Dockerfile
+++ b/operator/Dockerfile
@@ -3,7 +3,7 @@ FROM golang:1.22.8 as builder
WORKDIR /workspace
# Copy the Go Modules manifests
-COPY apis/ apis/
+COPY api/ api/
COPY go.mod go.mod
COPY go.sum go.sum
# cache deps before building and copying source so that we don't need to re-download as much
@@ -11,12 +11,11 @@ COPY go.sum go.sum
RUN go mod download
# Copy the go source
-COPY main.go main.go
-COPY controllers/ controllers/
+COPY cmd/loki-operator/main.go cmd/loki-operator/main.go
COPY internal/ internal/
# Build
-RUN CGO_ENABLED=0 GOOS=linux GO111MODULE=on go build -mod=readonly -a -o manager main.go
+RUN CGO_ENABLED=0 GOOS=linux GO111MODULE=on go build -mod=readonly -a -o manager cmd/loki-operator/main.go
# Use distroless as minimal base image to package the manager binary
# Refer to https://github.com/GoogleContainerTools/distroless for more details
diff --git a/operator/Dockerfile.cross b/operator/Dockerfile.cross
index 5a99474e6eb18..8343be5db56fa 100644
--- a/operator/Dockerfile.cross
+++ b/operator/Dockerfile.cross
@@ -8,7 +8,7 @@ FROM --platform=linux/amd64 $BUILD_IMAGE as builder
COPY --from=goenv /goarch /goarm /
WORKDIR /workspace
# Copy the Go Modules manifests
-COPY apis/ apis/
+COPY api/ api/
COPY go.mod go.mod
COPY go.sum go.sum
# cache deps before building and copying source so that we don't need to re-download as much
@@ -16,12 +16,11 @@ COPY go.sum go.sum
RUN go mod download
# Copy the go source
-COPY main.go main.go
-COPY controllers/ controllers/
+COPY cmd/loki-operator/main.go cmd/loki-operator/main.go
COPY internal/ internal/
# Build
-RUN CGO_ENABLED=0 GOOS=linux GO111MODULE=on GOARCH=$(cat /goarch) GOARM=$(cat /goarm) go build -a -o manager main.go
+RUN CGO_ENABLED=0 GOOS=linux GO111MODULE=on GOARCH=$(cat /goarch) GOARM=$(cat /goarm) go build -a -o manager cmd/loki-operator/main.go
# Use distroless as minimal base image to package the manager binary
# Refer to https://github.com/GoogleContainerTools/distroless for more details
diff --git a/operator/Makefile b/operator/Makefile
index 94be0bfa3dbaf..a7d01e9fdf6d7 100644
--- a/operator/Makefile
+++ b/operator/Makefile
@@ -126,10 +126,10 @@ deps: go.mod go.sum
go mod verify
.PHONY: deps-api
-deps-api: apis/loki/go.mod apis/loki/go.sum
- @cd ./apis/loki/ && go mod tidy
- @cd ./apis/loki/ && go mod download
- @cd ./apis/loki/ && go mod verify
+deps-api: api/loki/go.mod api/loki/go.sum
+ @cd ./api/loki/ && go mod tidy
+ @cd ./api/loki/ && go mod download
+ @cd ./api/loki/ && go mod verify
.PHONY: cli
cli: deps bin/loki-broker ## Build loki-broker CLI binary
@@ -138,11 +138,11 @@ bin/loki-broker: $(GO_FILES) | generate
.PHONY: manager
manager: deps generate ## Build manager binary
- go build -o bin/manager main.go
+ go build -o bin/manager ./cmd/loki-operator/main.go
.PHONY: size-calculator
size-calculator: deps generate ## Build size-calculator binary
- go build -o bin/size-calculator main.go
+ go build -o bin/size-calculator ./cmd/size-calculator/main.go
.PHONY: go-generate
go-generate: ## Run go generate
@@ -163,7 +163,7 @@ test: $(GO_FILES)
.PHONY: test-unit-api
test-unit-api: $(GO_FILES)
- @cd ./apis/loki/ && go test ./... -coverprofile cover.out
+ @cd ./api/loki/ && go test ./... -coverprofile cover.out
.PHONY: test-unit-prometheus
test-unit-prometheus: $(PROMTOOL) ## Run prometheus unit tests
@@ -237,7 +237,7 @@ quickstart-cleanup: $(KIND) ## Cleanup for quickstart set up
.PHONY: run
run: generate manifests ## Run against the configured Kubernetes cluster in ~/.kube/config
- go run ./main.go
+ go run ./cmd/loki-operator/main.go
.PHONY: install
install: manifests $(KUSTOMIZE) ## Install CRDs into a cluster
@@ -312,17 +312,17 @@ oci-push-calculator: ## Push the calculator image
$(OCI_RUNTIME) push $(CALCULATOR_IMG)
##@ Website
-TYPES_TARGET := $(shell find apis/loki -type f -iname "*_types.go")
+TYPES_TARGET := $(shell find api/loki -type f -iname "*_types.go")
docs/operator/api.md: $(TYPES_TARGET) $(GEN_CRD_API_REFERENCE_DOCS)
- $(GEN_CRD_API_REFERENCE_DOCS) -api-dir "github.com/grafana/loki/operator/apis/loki/" -config "$(PWD)/config/docs/config.json" -template-dir "$(PWD)/config/docs/templates" -out-file "$(PWD)/$@"
+ $(GEN_CRD_API_REFERENCE_DOCS) -api-dir "github.com/grafana/loki/operator/api/loki/" -config "$(PWD)/config/docs/config.json" -template-dir "$(PWD)/config/docs/templates" -out-file "$(PWD)/$@"
sed -i 's/+docs:/ docs:/' $@
sed -i 's/+parent:/ parent:/' $@
sed -i 's/##/\n##/' $@
sed -i 's/+newline/\n/' $@
-FEATURE_GATES_TARGET := $(shell find apis/config -type f -iname "*_types.go")
+FEATURE_GATES_TARGET := $(shell find api/config -type f -iname "*_types.go")
docs/operator/feature-gates.md: $(FEATURE_GATES_TARGET) $(GEN_CRD_API_REFERENCE_DOCS)
- $(GEN_CRD_API_REFERENCE_DOCS) -api-dir "github.com/grafana/loki/operator/apis/config/v1/" -config "$(PWD)/config/docs/config.json" -template-dir "$(PWD)/config/docs/templates" -out-file "$(PWD)/$@"
+ $(GEN_CRD_API_REFERENCE_DOCS) -api-dir "github.com/grafana/loki/operator/api/config/v1/" -config "$(PWD)/config/docs/config.json" -template-dir "$(PWD)/config/docs/templates" -out-file "$(PWD)/$@"
sed -i 's/title: "API"/title: "Feature Gates"/' $@
sed -i 's/+docs:/ docs:/' $@
sed -i 's/+parent:/ parent:/' $@
diff --git a/operator/PROJECT b/operator/PROJECT
index 2f46cff1f974a..cef254c461476 100644
--- a/operator/PROJECT
+++ b/operator/PROJECT
@@ -1,7 +1,7 @@
componentConfig: true
domain: grafana.com
layout:
-- go.kubebuilder.io/v3
+- go.kubebuilder.io/v4
multigroup: true
plugins:
manifests.sdk.operatorframework.io/v2: {}
@@ -16,7 +16,7 @@ resources:
domain: grafana.com
group: loki
kind: LokiStack
- path: github.com/grafana/loki/operator/apis/loki/v1beta1
+ path: github.com/grafana/loki/operator/api/loki/v1beta1
version: v1beta1
- api:
crdVersion: v1
@@ -25,7 +25,7 @@ resources:
domain: grafana.com
group: loki
kind: LokiStack
- path: github.com/grafana/loki/operator/apis/loki/v1
+ path: github.com/grafana/loki/operator/api/loki/v1
version: v1
webhooks:
conversion: true
@@ -38,7 +38,7 @@ resources:
domain: grafana.com
group: loki
kind: AlertingRule
- path: github.com/grafana/loki/operator/apis/loki/v1
+ path: github.com/grafana/loki/operator/api/loki/v1
version: v1
webhooks:
conversion: true
@@ -51,7 +51,7 @@ resources:
domain: grafana.com
group: loki
kind: AlertingRule
- path: github.com/grafana/loki/operator/apis/loki/v1beta1
+ path: github.com/grafana/loki/operator/api/loki/v1beta1
version: v1beta1
webhooks:
validation: true
@@ -63,7 +63,7 @@ resources:
domain: grafana.com
group: loki
kind: RecordingRule
- path: github.com/grafana/loki/operator/apis/loki/v1
+ path: github.com/grafana/loki/operator/api/loki/v1
version: v1
webhooks:
validation: true
@@ -76,7 +76,7 @@ resources:
domain: grafana.com
group: loki
kind: RecordingRule
- path: github.com/grafana/loki/operator/apis/loki/v1beta1
+ path: github.com/grafana/loki/operator/api/loki/v1beta1
version: v1beta1
webhooks:
validation: true
@@ -88,7 +88,7 @@ resources:
domain: grafana.com
group: loki
kind: RulerConfig
- path: github.com/grafana/loki/operator/apis/loki/v1
+ path: github.com/grafana/loki/operator/api/loki/v1
version: v1
- api:
crdVersion: v1
@@ -97,6 +97,6 @@ resources:
domain: grafana.com
group: loki
kind: RulerConfig
- path: github.com/grafana/loki/operator/apis/loki/v1beta1
+ path: github.com/grafana/loki/operator/api/loki/v1beta1
version: v1beta1
version: "3"
diff --git a/operator/apis/config/v1/doc.go b/operator/api/config/v1/doc.go
similarity index 100%
rename from operator/apis/config/v1/doc.go
rename to operator/api/config/v1/doc.go
diff --git a/operator/apis/config/v1/projectconfig_types.go b/operator/api/config/v1/projectconfig_types.go
similarity index 100%
rename from operator/apis/config/v1/projectconfig_types.go
rename to operator/api/config/v1/projectconfig_types.go
diff --git a/operator/apis/config/v1/zz_generated.deepcopy.go b/operator/api/config/v1/zz_generated.deepcopy.go
similarity index 100%
rename from operator/apis/config/v1/zz_generated.deepcopy.go
rename to operator/api/config/v1/zz_generated.deepcopy.go
diff --git a/operator/apis/loki/go.mod b/operator/api/loki/go.mod
similarity index 95%
rename from operator/apis/loki/go.mod
rename to operator/api/loki/go.mod
index 72171d9393511..1ddab044083c4 100644
--- a/operator/apis/loki/go.mod
+++ b/operator/api/loki/go.mod
@@ -1,4 +1,4 @@
-module github.com/grafana/loki/operator/apis/loki
+module github.com/grafana/loki/operator/api/loki
go 1.19
diff --git a/operator/apis/loki/go.sum b/operator/api/loki/go.sum
similarity index 100%
rename from operator/apis/loki/go.sum
rename to operator/api/loki/go.sum
diff --git a/operator/apis/loki/register.go b/operator/api/loki/register.go
similarity index 100%
rename from operator/apis/loki/register.go
rename to operator/api/loki/register.go
diff --git a/operator/apis/loki/v1/alertingrule_types.go b/operator/api/loki/v1/alertingrule_types.go
similarity index 100%
rename from operator/apis/loki/v1/alertingrule_types.go
rename to operator/api/loki/v1/alertingrule_types.go
diff --git a/operator/apis/loki/v1/doc.go b/operator/api/loki/v1/doc.go
similarity index 100%
rename from operator/apis/loki/v1/doc.go
rename to operator/api/loki/v1/doc.go
diff --git a/operator/apis/loki/v1/groupversion_info.go b/operator/api/loki/v1/groupversion_info.go
similarity index 100%
rename from operator/apis/loki/v1/groupversion_info.go
rename to operator/api/loki/v1/groupversion_info.go
diff --git a/operator/apis/loki/v1/lokistack_types.go b/operator/api/loki/v1/lokistack_types.go
similarity index 100%
rename from operator/apis/loki/v1/lokistack_types.go
rename to operator/api/loki/v1/lokistack_types.go
diff --git a/operator/apis/loki/v1/recordingrule_types.go b/operator/api/loki/v1/recordingrule_types.go
similarity index 100%
rename from operator/apis/loki/v1/recordingrule_types.go
rename to operator/api/loki/v1/recordingrule_types.go
diff --git a/operator/apis/loki/v1/rulerconfig_types.go b/operator/api/loki/v1/rulerconfig_types.go
similarity index 100%
rename from operator/apis/loki/v1/rulerconfig_types.go
rename to operator/api/loki/v1/rulerconfig_types.go
diff --git a/operator/apis/loki/v1/v1.go b/operator/api/loki/v1/v1.go
similarity index 100%
rename from operator/apis/loki/v1/v1.go
rename to operator/api/loki/v1/v1.go
diff --git a/operator/apis/loki/v1/zz_generated.deepcopy.go b/operator/api/loki/v1/zz_generated.deepcopy.go
similarity index 100%
rename from operator/apis/loki/v1/zz_generated.deepcopy.go
rename to operator/api/loki/v1/zz_generated.deepcopy.go
diff --git a/operator/apis/loki/v1beta1/alertingrule_types.go b/operator/api/loki/v1beta1/alertingrule_types.go
similarity index 99%
rename from operator/apis/loki/v1beta1/alertingrule_types.go
rename to operator/api/loki/v1beta1/alertingrule_types.go
index 9a51320f788d4..15d9c6afd02cc 100644
--- a/operator/apis/loki/v1beta1/alertingrule_types.go
+++ b/operator/api/loki/v1beta1/alertingrule_types.go
@@ -1,7 +1,7 @@
package v1beta1
import (
- v1 "github.com/grafana/loki/operator/apis/loki/v1"
+ v1 "github.com/grafana/loki/operator/api/loki/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/conversion"
)
diff --git a/operator/apis/loki/v1beta1/alertingrule_types_test.go b/operator/api/loki/v1beta1/alertingrule_types_test.go
similarity index 98%
rename from operator/apis/loki/v1beta1/alertingrule_types_test.go
rename to operator/api/loki/v1beta1/alertingrule_types_test.go
index 373e7d8e71e00..e21f95e2380e8 100644
--- a/operator/apis/loki/v1beta1/alertingrule_types_test.go
+++ b/operator/api/loki/v1beta1/alertingrule_types_test.go
@@ -3,8 +3,8 @@ package v1beta1_test
import (
"testing"
- v1 "github.com/grafana/loki/operator/apis/loki/v1"
- "github.com/grafana/loki/operator/apis/loki/v1beta1"
+ v1 "github.com/grafana/loki/operator/api/loki/v1"
+ "github.com/grafana/loki/operator/api/loki/v1beta1"
"github.com/stretchr/testify/require"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
diff --git a/operator/apis/loki/v1beta1/doc.go b/operator/api/loki/v1beta1/doc.go
similarity index 100%
rename from operator/apis/loki/v1beta1/doc.go
rename to operator/api/loki/v1beta1/doc.go
diff --git a/operator/apis/loki/v1beta1/groupversion_info.go b/operator/api/loki/v1beta1/groupversion_info.go
similarity index 100%
rename from operator/apis/loki/v1beta1/groupversion_info.go
rename to operator/api/loki/v1beta1/groupversion_info.go
diff --git a/operator/apis/loki/v1beta1/lokistack_types.go b/operator/api/loki/v1beta1/lokistack_types.go
similarity index 99%
rename from operator/apis/loki/v1beta1/lokistack_types.go
rename to operator/api/loki/v1beta1/lokistack_types.go
index cd7fb0c90cff5..e37436d213eda 100644
--- a/operator/apis/loki/v1beta1/lokistack_types.go
+++ b/operator/api/loki/v1beta1/lokistack_types.go
@@ -1,7 +1,7 @@
package v1beta1
import (
- v1 "github.com/grafana/loki/operator/apis/loki/v1"
+ v1 "github.com/grafana/loki/operator/api/loki/v1"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/conversion"
diff --git a/operator/apis/loki/v1beta1/lokistack_types_test.go b/operator/api/loki/v1beta1/lokistack_types_test.go
similarity index 99%
rename from operator/apis/loki/v1beta1/lokistack_types_test.go
rename to operator/api/loki/v1beta1/lokistack_types_test.go
index 28ffb1763137d..33477d1b89024 100644
--- a/operator/apis/loki/v1beta1/lokistack_types_test.go
+++ b/operator/api/loki/v1beta1/lokistack_types_test.go
@@ -7,8 +7,8 @@ import (
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- v1 "github.com/grafana/loki/operator/apis/loki/v1"
- "github.com/grafana/loki/operator/apis/loki/v1beta1"
+ v1 "github.com/grafana/loki/operator/api/loki/v1"
+ "github.com/grafana/loki/operator/api/loki/v1beta1"
)
func TestConvertToV1_LokiStack(t *testing.T) {
diff --git a/operator/apis/loki/v1beta1/recordingrule_types.go b/operator/api/loki/v1beta1/recordingrule_types.go
similarity index 99%
rename from operator/apis/loki/v1beta1/recordingrule_types.go
rename to operator/api/loki/v1beta1/recordingrule_types.go
index e6d7f63ddd3ab..348ca3703f59d 100644
--- a/operator/apis/loki/v1beta1/recordingrule_types.go
+++ b/operator/api/loki/v1beta1/recordingrule_types.go
@@ -1,7 +1,7 @@
package v1beta1
import (
- v1 "github.com/grafana/loki/operator/apis/loki/v1"
+ v1 "github.com/grafana/loki/operator/api/loki/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/conversion"
)
diff --git a/operator/apis/loki/v1beta1/recordingrule_types_test.go b/operator/api/loki/v1beta1/recordingrule_types_test.go
similarity index 98%
rename from operator/apis/loki/v1beta1/recordingrule_types_test.go
rename to operator/api/loki/v1beta1/recordingrule_types_test.go
index d2a8ea7df83ab..6c8f494699571 100644
--- a/operator/apis/loki/v1beta1/recordingrule_types_test.go
+++ b/operator/api/loki/v1beta1/recordingrule_types_test.go
@@ -3,8 +3,8 @@ package v1beta1_test
import (
"testing"
- v1 "github.com/grafana/loki/operator/apis/loki/v1"
- "github.com/grafana/loki/operator/apis/loki/v1beta1"
+ v1 "github.com/grafana/loki/operator/api/loki/v1"
+ "github.com/grafana/loki/operator/api/loki/v1beta1"
"github.com/stretchr/testify/require"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
diff --git a/operator/apis/loki/v1beta1/rulerconfig_types.go b/operator/api/loki/v1beta1/rulerconfig_types.go
similarity index 99%
rename from operator/apis/loki/v1beta1/rulerconfig_types.go
rename to operator/api/loki/v1beta1/rulerconfig_types.go
index c7bd9b4e7e812..420c9fb617021 100644
--- a/operator/apis/loki/v1beta1/rulerconfig_types.go
+++ b/operator/api/loki/v1beta1/rulerconfig_types.go
@@ -1,7 +1,7 @@
package v1beta1
import (
- v1 "github.com/grafana/loki/operator/apis/loki/v1"
+ v1 "github.com/grafana/loki/operator/api/loki/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/conversion"
)
diff --git a/operator/apis/loki/v1beta1/rulerconfig_types_test.go b/operator/api/loki/v1beta1/rulerconfig_types_test.go
similarity index 99%
rename from operator/apis/loki/v1beta1/rulerconfig_types_test.go
rename to operator/api/loki/v1beta1/rulerconfig_types_test.go
index ab79fc35e0e58..239e43027c887 100644
--- a/operator/apis/loki/v1beta1/rulerconfig_types_test.go
+++ b/operator/api/loki/v1beta1/rulerconfig_types_test.go
@@ -3,8 +3,8 @@ package v1beta1_test
import (
"testing"
- v1 "github.com/grafana/loki/operator/apis/loki/v1"
- "github.com/grafana/loki/operator/apis/loki/v1beta1"
+ v1 "github.com/grafana/loki/operator/api/loki/v1"
+ "github.com/grafana/loki/operator/api/loki/v1beta1"
"github.com/stretchr/testify/require"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/utils/ptr"
diff --git a/operator/apis/loki/v1beta1/v1beta1.go b/operator/api/loki/v1beta1/v1beta1.go
similarity index 100%
rename from operator/apis/loki/v1beta1/v1beta1.go
rename to operator/api/loki/v1beta1/v1beta1.go
diff --git a/operator/apis/loki/v1beta1/zz_generated.deepcopy.go b/operator/api/loki/v1beta1/zz_generated.deepcopy.go
similarity index 100%
rename from operator/apis/loki/v1beta1/zz_generated.deepcopy.go
rename to operator/api/loki/v1beta1/zz_generated.deepcopy.go
diff --git a/operator/bundle/community-openshift/bundle.Dockerfile b/operator/bundle/community-openshift/bundle.Dockerfile
index d83b40681db86..3be10ce151140 100644
--- a/operator/bundle/community-openshift/bundle.Dockerfile
+++ b/operator/bundle/community-openshift/bundle.Dockerfile
@@ -9,7 +9,7 @@ LABEL operators.operatorframework.io.bundle.channels.v1=alpha
LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-unknown
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
-LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3
+LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v4
# Labels for testing.
LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1
diff --git a/operator/bundle/community-openshift/manifests/loki-operator-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml b/operator/bundle/community-openshift/manifests/loki-operator-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml
index 56302724d3e61..033a8d38b8afb 100644
--- a/operator/bundle/community-openshift/manifests/loki-operator-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml
+++ b/operator/bundle/community-openshift/manifests/loki-operator-metrics-monitor_monitoring.coreos.com_v1_servicemonitor.yaml
@@ -26,7 +26,7 @@ spec:
secret:
key: service-ca.crt
name: loki-operator-controller-manager-metrics-token
- serverName: loki-operator-controller-manager-metrics-service.kubernetes-operators.svc
+ serverName: loki-operator-controller-manager-metrics-service.openshift-operators-redhat.svc
selector:
matchLabels:
app.kubernetes.io/component: metrics
diff --git a/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml
index 32309664dc6fc..c0c132a445881 100644
--- a/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml
+++ b/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml
@@ -150,7 +150,7 @@ metadata:
categories: OpenShift Optional, Logging & Tracing
certified: "false"
containerImage: docker.io/grafana/loki-operator:0.6.0
- createdAt: "2024-10-24T10:50:46Z"
+ createdAt: "2024-10-24T11:46:47Z"
description: The Community Loki Operator provides Kubernetes native deployment
and management of Loki and related logging components.
features.operators.openshift.io/disconnected: "true"
@@ -161,7 +161,7 @@ metadata:
features.operators.openshift.io/token-auth-azure: "true"
features.operators.openshift.io/token-auth-gcp: "false"
operators.operatorframework.io/builder: operator-sdk-unknown
- operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
+ operators.operatorframework.io/project_layout: go.kubebuilder.io/v4
repository: https://github.com/grafana/loki/tree/main/operator
support: Grafana Loki SIG Operator
labels:
@@ -185,8 +185,9 @@ spec:
- description: List of groups for alerting rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given alerting rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ alerting rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of alerts an alerting rule can produce.
@@ -208,14 +209,15 @@ spec:
- description: Annotations to add to each alert.
displayName: Annotations
path: groups[0].rules[0].annotations
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- - description: Alerts are considered firing once they have been returned for
- this long. Alerts which have not yet fired for long enough are considered
- pending.
+ - description: |-
+ Alerts are considered firing once they have been returned for this long.
+ Alerts which have not yet fired for long enough are considered pending.
displayName: Firing Threshold
path: groups[0].rules[0].for
- description: Labels to add to each alert.
@@ -272,17 +274,21 @@ spec:
- description: MemberList configuration spec
displayName: Memberlist Config
path: hashRing.memberlist
- - description: "EnableIPv6 enables IPv6 support for the memberlist based hash
- ring. \n Currently this also forces the instanceAddrType to podIP to avoid
- local address lookup for the memberlist."
+ - description: |-
+ EnableIPv6 enables IPv6 support for the memberlist based hash ring.
+
+
+ Currently this also forces the instanceAddrType to podIP to avoid local address lookup
+ for the memberlist.
displayName: Enable IPv6
path: hashRing.memberlist.enableIPv6
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: InstanceAddrType defines the type of address to use to advertise
- to the ring. Defaults to the first address from any private network interfaces
- of the current pod. Alternatively the public pod IP can be used in case
- private networks (RFC 1918 and RFC 6598) are not available.
+ - description: |-
+ InstanceAddrType defines the type of address to use to advertise to the ring.
+ Defaults to the first address from any private network interfaces of the current pod.
+ Alternatively the public pod IP can be used in case private networks (RFC 1918 and RFC 6598)
+ are not available.
displayName: Instance Address
path: hashRing.memberlist.instanceAddrType
x-descriptors:
@@ -301,9 +307,10 @@ spec:
- description: Global defines the limits applied globally across the cluster.
displayName: Global Limits
path: limits.global
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.global.ingestion.ingestionBurstSize
x-descriptors:
@@ -313,26 +320,30 @@ spec:
path: limits.global.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.global.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.global.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.global.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.global.ingestion.maxLabelValueLength
x-descriptors:
@@ -343,8 +354,9 @@ spec:
path: limits.global.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: PerStreamDesiredRate defines the desired ingestion rate per second
- that LokiStack should target applying automatic stream sharding. Units MB.
+ - description: |-
+ PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should
+ target applying automatic stream sharding. Units MB.
displayName: Per Stream Desired Rate (in MB)
path: limits.global.ingestion.perStreamDesiredRate
x-descriptors:
@@ -366,20 +378,23 @@ spec:
path: limits.global.queries.cardinalityLimit
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.global.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.global.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.global.queries.maxQuerySeries
x-descriptors:
@@ -397,9 +412,10 @@ spec:
- description: Tenants defines the limits applied per tenant.
displayName: Limits per Tenant
path: limits.tenants
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.tenants.ingestion.ingestionBurstSize
x-descriptors:
@@ -409,26 +425,30 @@ spec:
path: limits.tenants.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.tenants.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.tenants.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.tenants.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.tenants.ingestion.maxLabelValueLength
x-descriptors:
@@ -439,8 +459,9 @@ spec:
path: limits.tenants.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: PerStreamDesiredRate defines the desired ingestion rate per second
- that LokiStack should target applying automatic stream sharding. Units MB.
+ - description: |-
+ PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should
+ target applying automatic stream sharding. Units MB.
displayName: Per Stream Desired Rate (in MB)
path: limits.tenants.ingestion.perStreamDesiredRate
x-descriptors:
@@ -483,20 +504,23 @@ spec:
path: limits.tenants.queries.cardinalityLimit
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.tenants.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.tenants.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.tenants.queries.maxQuerySeries
x-descriptors:
@@ -511,8 +535,9 @@ spec:
of a query request.
displayName: Query Timeout
path: limits.tenants.queries.queryTimeout
- - description: ManagementState defines if the CR should be managed by the operator
- or not. Default is managed.
+ - description: |-
+ ManagementState defines if the CR should be managed by the operator or not.
+ Default is managed.
displayName: Management State
path: managementState
x-descriptors:
@@ -539,9 +564,9 @@ spec:
path: replication.factor
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: 'Zones defines an array of ZoneSpec that the scheduler will try
- to satisfy. IMPORTANT: Make sure that the replication factor defined is
- less than or equal to the number of available zones.'
+ - description: |-
+ Zones defines an array of ZoneSpec that the scheduler will try to satisfy.
+ IMPORTANT: Make sure that the replication factor defined is less than or equal to the number of available zones.
displayName: Zones Spec
path: replication.zones
- description: MaxSkew describes the maximum degree to which Pods can be unevenly
@@ -554,9 +579,9 @@ spec:
labels.
displayName: Topology Key
path: replication.zones[0].topologyKey
- - description: 'Deprecated: Please use replication.factor instead. This field
- will be removed in future versions of this CRD. ReplicationFactor defines
- the policy for log stream replication.'
+ - description: |-
+ Deprecated: Please use replication.factor instead. This field will be removed in future versions of this CRD.
+ ReplicationFactor defines the policy for log stream replication.
displayName: Replication Factor
path: replicationFactor
x-descriptors:
@@ -571,11 +596,13 @@ spec:
path: rules.enabled
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: Namespaces to be selected for PrometheusRules discovery. If unspecified,
- only the same namespace as the LokiStack object is in is used.
+ - description: |-
+ Namespaces to be selected for PrometheusRules discovery. If unspecified, only
+ the same namespace as the LokiStack object is in is used.
displayName: Namespace Selector
path: rules.namespaceSelector
- - description: A selector to select which LokiRules to mount for loading alerting/recording
+ - description: |-
+ A selector to select which LokiRules to mount for loading alerting/recording
rules from.
displayName: Selector
path: rules.selector
@@ -615,13 +642,15 @@ spec:
- description: TLS configuration for reaching the object storage endpoint.
displayName: TLS Config
path: storage.tls
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: storage.tls.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: storage.tls.caName
x-descriptors:
@@ -641,8 +670,9 @@ spec:
- description: Compactor defines the compaction component spec.
displayName: Compactor pods
path: template.compactor
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.compactor.podAntiAffinity
x-descriptors:
@@ -655,8 +685,9 @@ spec:
- description: Distributor defines the distributor component spec.
displayName: Distributor pods
path: template.distributor
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.distributor.podAntiAffinity
x-descriptors:
@@ -669,8 +700,9 @@ spec:
- description: Gateway defines the lokistack gateway component spec.
displayName: Gateway pods
path: template.gateway
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.gateway.podAntiAffinity
x-descriptors:
@@ -683,8 +715,9 @@ spec:
- description: IndexGateway defines the index gateway component spec.
displayName: Index Gateway pods
path: template.indexGateway
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.indexGateway.podAntiAffinity
x-descriptors:
@@ -697,8 +730,9 @@ spec:
- description: Ingester defines the ingester component spec.
displayName: Ingester pods
path: template.ingester
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.ingester.podAntiAffinity
x-descriptors:
@@ -711,8 +745,9 @@ spec:
- description: Querier defines the querier component spec.
displayName: Querier pods
path: template.querier
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.querier.podAntiAffinity
x-descriptors:
@@ -725,8 +760,9 @@ spec:
- description: QueryFrontend defines the query frontend component spec.
displayName: Query Frontend pods
path: template.queryFrontend
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.queryFrontend.podAntiAffinity
x-descriptors:
@@ -739,8 +775,9 @@ spec:
- description: Ruler defines the ruler component spec.
displayName: Ruler pods
path: template.ruler
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.ruler.podAntiAffinity
x-descriptors:
@@ -764,13 +801,15 @@ spec:
- description: CA defines the spec for the custom CA for tenant's authentication.
displayName: CA ConfigMap
path: tenants.authentication[0].mTLS.ca
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: tenants.authentication[0].mTLS.ca.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: tenants.authentication[0].mTLS.ca.caName
x-descriptors:
@@ -781,13 +820,15 @@ spec:
- description: IssuerCA defines the spec for the issuer CA for tenant's authentication.
displayName: IssuerCA ConfigMap
path: tenants.authentication[0].oidc.issuerCA
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: tenants.authentication[0].oidc.issuerCA.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: tenants.authentication[0].oidc.issuerCA.caName
x-descriptors:
@@ -843,10 +884,15 @@ spec:
- description: Openshift defines the configuration specific to Openshift modes.
displayName: Openshift
path: tenants.openshift
- - description: "AdminGroups defines a list of groups, whose members are considered
- to have admin-privileges by the Loki Operator. Setting this to an empty
- array disables admin groups. \n By default the following groups are considered
- admin-groups: - system:cluster-admins - cluster-admin - dedicated-admin"
+ - description: |-
+ AdminGroups defines a list of groups, whose members are considered to have admin-privileges by the Loki Operator.
+ Setting this to an empty array disables admin groups.
+
+
+ By default the following groups are considered admin-groups:
+ - system:cluster-admins
+ - cluster-admin
+ - dedicated-admin
displayName: Admin Groups
path: tenants.openshift.adminGroups
statusDescriptors:
@@ -912,8 +958,9 @@ spec:
- description: List of groups for recording rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given recoding rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ recoding rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of series a recording rule can produce.
@@ -929,9 +976,10 @@ spec:
- description: Rules defines a list of recording rules
displayName: Rules
path: groups[0].rules
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- description: Labels to add to each recording rule.
@@ -1031,9 +1079,10 @@ spec:
path: alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -1053,9 +1102,9 @@ spec:
path: alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -1088,21 +1137,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: alertmanager.relabelConfigs[0].targetLabel
@@ -1180,9 +1231,10 @@ spec:
path: overrides.alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: overrides.alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -1202,9 +1254,9 @@ spec:
path: overrides.alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: overrides.alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -1237,21 +1289,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: overrides.alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: overrides.alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: overrides.alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: overrides.alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: overrides.alertmanager.relabelConfigs[0].targetLabel
@@ -1313,21 +1367,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: remoteWrite.client.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: remoteWrite.client.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: remoteWrite.client.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: remoteWrite.client.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: remoteWrite.client.relabelConfigs[0].targetLabel
@@ -1726,7 +1782,7 @@ spec:
- /manager
env:
- name: RELATED_IMAGE_LOKI
- value: docker.io/grafana/loki:3.2.1
+ value: quay.io/openshift-logging/loki:v3.2.1
- name: RELATED_IMAGE_GATEWAY
value: quay.io/observatorium/api:latest
- name: RELATED_IMAGE_OPA
@@ -1850,7 +1906,7 @@ spec:
provider:
name: Grafana Loki SIG Operator
relatedImages:
- - image: docker.io/grafana/loki:3.2.1
+ - image: quay.io/openshift-logging/loki:v3.2.1
name: loki
- image: quay.io/observatorium/api:latest
name: gateway
diff --git a/operator/bundle/community-openshift/metadata/annotations.yaml b/operator/bundle/community-openshift/metadata/annotations.yaml
index f17f3ab1caacc..4c99b3aa08786 100644
--- a/operator/bundle/community-openshift/metadata/annotations.yaml
+++ b/operator/bundle/community-openshift/metadata/annotations.yaml
@@ -8,7 +8,7 @@ annotations:
operators.operatorframework.io.bundle.channel.default.v1: alpha
operators.operatorframework.io.metrics.builder: operator-sdk-unknown
operators.operatorframework.io.metrics.mediatype.v1: metrics+v1
- operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3
+ operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v4
# Annotations for testing.
operators.operatorframework.io.test.mediatype.v1: scorecard+v1
diff --git a/operator/bundle/community/bundle.Dockerfile b/operator/bundle/community/bundle.Dockerfile
index d83b40681db86..3be10ce151140 100644
--- a/operator/bundle/community/bundle.Dockerfile
+++ b/operator/bundle/community/bundle.Dockerfile
@@ -9,7 +9,7 @@ LABEL operators.operatorframework.io.bundle.channels.v1=alpha
LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-unknown
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
-LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3
+LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v4
# Labels for testing.
LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1
diff --git a/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml
index c757c94920f27..5efc8adb2b67d 100644
--- a/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml
+++ b/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml
@@ -150,11 +150,11 @@ metadata:
categories: OpenShift Optional, Logging & Tracing
certified: "false"
containerImage: docker.io/grafana/loki-operator:0.6.0
- createdAt: "2024-10-24T10:50:44Z"
+ createdAt: "2024-10-24T11:46:45Z"
description: The Community Loki Operator provides Kubernetes native deployment
and management of Loki and related logging components.
operators.operatorframework.io/builder: operator-sdk-unknown
- operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
+ operators.operatorframework.io/project_layout: go.kubebuilder.io/v4
repository: https://github.com/grafana/loki/tree/main/operator
support: Grafana Loki SIG Operator
labels:
@@ -178,8 +178,9 @@ spec:
- description: List of groups for alerting rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given alerting rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ alerting rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of alerts an alerting rule can produce.
@@ -201,14 +202,15 @@ spec:
- description: Annotations to add to each alert.
displayName: Annotations
path: groups[0].rules[0].annotations
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- - description: Alerts are considered firing once they have been returned for
- this long. Alerts which have not yet fired for long enough are considered
- pending.
+ - description: |-
+ Alerts are considered firing once they have been returned for this long.
+ Alerts which have not yet fired for long enough are considered pending.
displayName: Firing Threshold
path: groups[0].rules[0].for
- description: Labels to add to each alert.
@@ -265,17 +267,21 @@ spec:
- description: MemberList configuration spec
displayName: Memberlist Config
path: hashRing.memberlist
- - description: "EnableIPv6 enables IPv6 support for the memberlist based hash
- ring. \n Currently this also forces the instanceAddrType to podIP to avoid
- local address lookup for the memberlist."
+ - description: |-
+ EnableIPv6 enables IPv6 support for the memberlist based hash ring.
+
+
+ Currently this also forces the instanceAddrType to podIP to avoid local address lookup
+ for the memberlist.
displayName: Enable IPv6
path: hashRing.memberlist.enableIPv6
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: InstanceAddrType defines the type of address to use to advertise
- to the ring. Defaults to the first address from any private network interfaces
- of the current pod. Alternatively the public pod IP can be used in case
- private networks (RFC 1918 and RFC 6598) are not available.
+ - description: |-
+ InstanceAddrType defines the type of address to use to advertise to the ring.
+ Defaults to the first address from any private network interfaces of the current pod.
+ Alternatively the public pod IP can be used in case private networks (RFC 1918 and RFC 6598)
+ are not available.
displayName: Instance Address
path: hashRing.memberlist.instanceAddrType
x-descriptors:
@@ -294,9 +300,10 @@ spec:
- description: Global defines the limits applied globally across the cluster.
displayName: Global Limits
path: limits.global
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.global.ingestion.ingestionBurstSize
x-descriptors:
@@ -306,26 +313,30 @@ spec:
path: limits.global.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.global.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.global.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.global.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.global.ingestion.maxLabelValueLength
x-descriptors:
@@ -336,8 +347,9 @@ spec:
path: limits.global.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: PerStreamDesiredRate defines the desired ingestion rate per second
- that LokiStack should target applying automatic stream sharding. Units MB.
+ - description: |-
+ PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should
+ target applying automatic stream sharding. Units MB.
displayName: Per Stream Desired Rate (in MB)
path: limits.global.ingestion.perStreamDesiredRate
x-descriptors:
@@ -359,20 +371,23 @@ spec:
path: limits.global.queries.cardinalityLimit
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.global.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.global.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.global.queries.maxQuerySeries
x-descriptors:
@@ -390,9 +405,10 @@ spec:
- description: Tenants defines the limits applied per tenant.
displayName: Limits per Tenant
path: limits.tenants
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.tenants.ingestion.ingestionBurstSize
x-descriptors:
@@ -402,26 +418,30 @@ spec:
path: limits.tenants.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.tenants.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.tenants.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.tenants.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.tenants.ingestion.maxLabelValueLength
x-descriptors:
@@ -432,8 +452,9 @@ spec:
path: limits.tenants.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: PerStreamDesiredRate defines the desired ingestion rate per second
- that LokiStack should target applying automatic stream sharding. Units MB.
+ - description: |-
+ PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should
+ target applying automatic stream sharding. Units MB.
displayName: Per Stream Desired Rate (in MB)
path: limits.tenants.ingestion.perStreamDesiredRate
x-descriptors:
@@ -476,20 +497,23 @@ spec:
path: limits.tenants.queries.cardinalityLimit
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.tenants.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.tenants.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.tenants.queries.maxQuerySeries
x-descriptors:
@@ -504,8 +528,9 @@ spec:
of a query request.
displayName: Query Timeout
path: limits.tenants.queries.queryTimeout
- - description: ManagementState defines if the CR should be managed by the operator
- or not. Default is managed.
+ - description: |-
+ ManagementState defines if the CR should be managed by the operator or not.
+ Default is managed.
displayName: Management State
path: managementState
x-descriptors:
@@ -532,9 +557,9 @@ spec:
path: replication.factor
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: 'Zones defines an array of ZoneSpec that the scheduler will try
- to satisfy. IMPORTANT: Make sure that the replication factor defined is
- less than or equal to the number of available zones.'
+ - description: |-
+ Zones defines an array of ZoneSpec that the scheduler will try to satisfy.
+ IMPORTANT: Make sure that the replication factor defined is less than or equal to the number of available zones.
displayName: Zones Spec
path: replication.zones
- description: MaxSkew describes the maximum degree to which Pods can be unevenly
@@ -547,9 +572,9 @@ spec:
labels.
displayName: Topology Key
path: replication.zones[0].topologyKey
- - description: 'Deprecated: Please use replication.factor instead. This field
- will be removed in future versions of this CRD. ReplicationFactor defines
- the policy for log stream replication.'
+ - description: |-
+ Deprecated: Please use replication.factor instead. This field will be removed in future versions of this CRD.
+ ReplicationFactor defines the policy for log stream replication.
displayName: Replication Factor
path: replicationFactor
x-descriptors:
@@ -564,11 +589,13 @@ spec:
path: rules.enabled
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: Namespaces to be selected for PrometheusRules discovery. If unspecified,
- only the same namespace as the LokiStack object is in is used.
+ - description: |-
+ Namespaces to be selected for PrometheusRules discovery. If unspecified, only
+ the same namespace as the LokiStack object is in is used.
displayName: Namespace Selector
path: rules.namespaceSelector
- - description: A selector to select which LokiRules to mount for loading alerting/recording
+ - description: |-
+ A selector to select which LokiRules to mount for loading alerting/recording
rules from.
displayName: Selector
path: rules.selector
@@ -608,13 +635,15 @@ spec:
- description: TLS configuration for reaching the object storage endpoint.
displayName: TLS Config
path: storage.tls
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: storage.tls.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: storage.tls.caName
x-descriptors:
@@ -634,8 +663,9 @@ spec:
- description: Compactor defines the compaction component spec.
displayName: Compactor pods
path: template.compactor
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.compactor.podAntiAffinity
x-descriptors:
@@ -648,8 +678,9 @@ spec:
- description: Distributor defines the distributor component spec.
displayName: Distributor pods
path: template.distributor
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.distributor.podAntiAffinity
x-descriptors:
@@ -662,8 +693,9 @@ spec:
- description: Gateway defines the lokistack gateway component spec.
displayName: Gateway pods
path: template.gateway
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.gateway.podAntiAffinity
x-descriptors:
@@ -676,8 +708,9 @@ spec:
- description: IndexGateway defines the index gateway component spec.
displayName: Index Gateway pods
path: template.indexGateway
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.indexGateway.podAntiAffinity
x-descriptors:
@@ -690,8 +723,9 @@ spec:
- description: Ingester defines the ingester component spec.
displayName: Ingester pods
path: template.ingester
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.ingester.podAntiAffinity
x-descriptors:
@@ -704,8 +738,9 @@ spec:
- description: Querier defines the querier component spec.
displayName: Querier pods
path: template.querier
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.querier.podAntiAffinity
x-descriptors:
@@ -718,8 +753,9 @@ spec:
- description: QueryFrontend defines the query frontend component spec.
displayName: Query Frontend pods
path: template.queryFrontend
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.queryFrontend.podAntiAffinity
x-descriptors:
@@ -732,8 +768,9 @@ spec:
- description: Ruler defines the ruler component spec.
displayName: Ruler pods
path: template.ruler
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.ruler.podAntiAffinity
x-descriptors:
@@ -757,13 +794,15 @@ spec:
- description: CA defines the spec for the custom CA for tenant's authentication.
displayName: CA ConfigMap
path: tenants.authentication[0].mTLS.ca
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: tenants.authentication[0].mTLS.ca.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: tenants.authentication[0].mTLS.ca.caName
x-descriptors:
@@ -774,13 +813,15 @@ spec:
- description: IssuerCA defines the spec for the issuer CA for tenant's authentication.
displayName: IssuerCA ConfigMap
path: tenants.authentication[0].oidc.issuerCA
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: tenants.authentication[0].oidc.issuerCA.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: tenants.authentication[0].oidc.issuerCA.caName
x-descriptors:
@@ -836,10 +877,15 @@ spec:
- description: Openshift defines the configuration specific to Openshift modes.
displayName: Openshift
path: tenants.openshift
- - description: "AdminGroups defines a list of groups, whose members are considered
- to have admin-privileges by the Loki Operator. Setting this to an empty
- array disables admin groups. \n By default the following groups are considered
- admin-groups: - system:cluster-admins - cluster-admin - dedicated-admin"
+ - description: |-
+ AdminGroups defines a list of groups, whose members are considered to have admin-privileges by the Loki Operator.
+ Setting this to an empty array disables admin groups.
+
+
+ By default the following groups are considered admin-groups:
+ - system:cluster-admins
+ - cluster-admin
+ - dedicated-admin
displayName: Admin Groups
path: tenants.openshift.adminGroups
statusDescriptors:
@@ -905,8 +951,9 @@ spec:
- description: List of groups for recording rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given recoding rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ recoding rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of series a recording rule can produce.
@@ -922,9 +969,10 @@ spec:
- description: Rules defines a list of recording rules
displayName: Rules
path: groups[0].rules
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- description: Labels to add to each recording rule.
@@ -1024,9 +1072,10 @@ spec:
path: alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -1046,9 +1095,9 @@ spec:
path: alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -1081,21 +1130,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: alertmanager.relabelConfigs[0].targetLabel
@@ -1173,9 +1224,10 @@ spec:
path: overrides.alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: overrides.alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -1195,9 +1247,9 @@ spec:
path: overrides.alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: overrides.alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -1230,21 +1282,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: overrides.alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: overrides.alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: overrides.alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: overrides.alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: overrides.alertmanager.relabelConfigs[0].targetLabel
@@ -1306,21 +1360,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: remoteWrite.client.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: remoteWrite.client.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: remoteWrite.client.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: remoteWrite.client.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: remoteWrite.client.relabelConfigs[0].targetLabel
diff --git a/operator/bundle/community/manifests/loki.grafana.com_alertingrules.yaml b/operator/bundle/community/manifests/loki.grafana.com_alertingrules.yaml
index 3cbb4d71c8ec0..17c7ea60ca897 100644
--- a/operator/bundle/community/manifests/loki.grafana.com_alertingrules.yaml
+++ b/operator/bundle/community/manifests/loki.grafana.com_alertingrules.yaml
@@ -2,6 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
+ cert-manager.io/inject-ca-from: loki-operator/loki-operator-serving-cert
controller-gen.kubebuilder.io/version: v0.14.0
creationTimestamp: null
labels:
diff --git a/operator/bundle/community/manifests/loki.grafana.com_lokistacks.yaml b/operator/bundle/community/manifests/loki.grafana.com_lokistacks.yaml
index b258ffc24ef66..1df4ca9037c1a 100644
--- a/operator/bundle/community/manifests/loki.grafana.com_lokistacks.yaml
+++ b/operator/bundle/community/manifests/loki.grafana.com_lokistacks.yaml
@@ -2,6 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
+ cert-manager.io/inject-ca-from: loki-operator/loki-operator-serving-cert
controller-gen.kubebuilder.io/version: v0.14.0
creationTimestamp: null
labels:
diff --git a/operator/bundle/community/manifests/loki.grafana.com_recordingrules.yaml b/operator/bundle/community/manifests/loki.grafana.com_recordingrules.yaml
index bb79347b58cde..1e8b22e965a6a 100644
--- a/operator/bundle/community/manifests/loki.grafana.com_recordingrules.yaml
+++ b/operator/bundle/community/manifests/loki.grafana.com_recordingrules.yaml
@@ -2,6 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
+ cert-manager.io/inject-ca-from: loki-operator/loki-operator-serving-cert
controller-gen.kubebuilder.io/version: v0.14.0
creationTimestamp: null
labels:
diff --git a/operator/bundle/community/manifests/loki.grafana.com_rulerconfigs.yaml b/operator/bundle/community/manifests/loki.grafana.com_rulerconfigs.yaml
index 80177cd5097bd..ad32962f3415c 100644
--- a/operator/bundle/community/manifests/loki.grafana.com_rulerconfigs.yaml
+++ b/operator/bundle/community/manifests/loki.grafana.com_rulerconfigs.yaml
@@ -2,6 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
+ cert-manager.io/inject-ca-from: loki-operator/loki-operator-serving-cert
controller-gen.kubebuilder.io/version: v0.14.0
creationTimestamp: null
labels:
diff --git a/operator/bundle/community/metadata/annotations.yaml b/operator/bundle/community/metadata/annotations.yaml
index f17f3ab1caacc..4c99b3aa08786 100644
--- a/operator/bundle/community/metadata/annotations.yaml
+++ b/operator/bundle/community/metadata/annotations.yaml
@@ -8,7 +8,7 @@ annotations:
operators.operatorframework.io.bundle.channel.default.v1: alpha
operators.operatorframework.io.metrics.builder: operator-sdk-unknown
operators.operatorframework.io.metrics.mediatype.v1: metrics+v1
- operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3
+ operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v4
# Annotations for testing.
operators.operatorframework.io.test.mediatype.v1: scorecard+v1
diff --git a/operator/bundle/openshift/bundle.Dockerfile b/operator/bundle/openshift/bundle.Dockerfile
index cddaca7779303..70e27a124f05e 100644
--- a/operator/bundle/openshift/bundle.Dockerfile
+++ b/operator/bundle/openshift/bundle.Dockerfile
@@ -9,7 +9,7 @@ LABEL operators.operatorframework.io.bundle.channels.v1=stable
LABEL operators.operatorframework.io.bundle.channel.default.v1=stable
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-unknown
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
-LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3
+LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v4
# Labels for testing.
LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1
diff --git a/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml
index 295f321006aae..6a54311bbb897 100644
--- a/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml
+++ b/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml
@@ -150,7 +150,7 @@ metadata:
categories: OpenShift Optional, Logging & Tracing
certified: "false"
containerImage: quay.io/openshift-logging/loki-operator:0.1.0
- createdAt: "2024-10-24T10:50:48Z"
+ createdAt: "2024-10-24T11:46:49Z"
description: |
The Loki Operator for OCP provides a means for configuring and managing a Loki stack for cluster logging.
## Prerequisites and Requirements
@@ -173,7 +173,7 @@ metadata:
operators.openshift.io/valid-subscription: '["OpenShift Container Platform", "OpenShift
Platform Plus"]'
operators.operatorframework.io/builder: operator-sdk-unknown
- operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
+ operators.operatorframework.io/project_layout: go.kubebuilder.io/v4
support: AOS Cluster Logging
labels:
operatorframework.io/arch.amd64: supported
@@ -198,8 +198,9 @@ spec:
- description: List of groups for alerting rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given alerting rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ alerting rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of alerts an alerting rule can produce.
@@ -221,14 +222,15 @@ spec:
- description: Annotations to add to each alert.
displayName: Annotations
path: groups[0].rules[0].annotations
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- - description: Alerts are considered firing once they have been returned for
- this long. Alerts which have not yet fired for long enough are considered
- pending.
+ - description: |-
+ Alerts are considered firing once they have been returned for this long.
+ Alerts which have not yet fired for long enough are considered pending.
displayName: Firing Threshold
path: groups[0].rules[0].for
- description: Labels to add to each alert.
@@ -285,17 +287,21 @@ spec:
- description: MemberList configuration spec
displayName: Memberlist Config
path: hashRing.memberlist
- - description: "EnableIPv6 enables IPv6 support for the memberlist based hash
- ring. \n Currently this also forces the instanceAddrType to podIP to avoid
- local address lookup for the memberlist."
+ - description: |-
+ EnableIPv6 enables IPv6 support for the memberlist based hash ring.
+
+
+ Currently this also forces the instanceAddrType to podIP to avoid local address lookup
+ for the memberlist.
displayName: Enable IPv6
path: hashRing.memberlist.enableIPv6
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: InstanceAddrType defines the type of address to use to advertise
- to the ring. Defaults to the first address from any private network interfaces
- of the current pod. Alternatively the public pod IP can be used in case
- private networks (RFC 1918 and RFC 6598) are not available.
+ - description: |-
+ InstanceAddrType defines the type of address to use to advertise to the ring.
+ Defaults to the first address from any private network interfaces of the current pod.
+ Alternatively the public pod IP can be used in case private networks (RFC 1918 and RFC 6598)
+ are not available.
displayName: Instance Address
path: hashRing.memberlist.instanceAddrType
x-descriptors:
@@ -314,9 +320,10 @@ spec:
- description: Global defines the limits applied globally across the cluster.
displayName: Global Limits
path: limits.global
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.global.ingestion.ingestionBurstSize
x-descriptors:
@@ -326,26 +333,30 @@ spec:
path: limits.global.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.global.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.global.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.global.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.global.ingestion.maxLabelValueLength
x-descriptors:
@@ -356,8 +367,9 @@ spec:
path: limits.global.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: PerStreamDesiredRate defines the desired ingestion rate per second
- that LokiStack should target applying automatic stream sharding. Units MB.
+ - description: |-
+ PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should
+ target applying automatic stream sharding. Units MB.
displayName: Per Stream Desired Rate (in MB)
path: limits.global.ingestion.perStreamDesiredRate
x-descriptors:
@@ -379,20 +391,23 @@ spec:
path: limits.global.queries.cardinalityLimit
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.global.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.global.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.global.queries.maxQuerySeries
x-descriptors:
@@ -410,9 +425,10 @@ spec:
- description: Tenants defines the limits applied per tenant.
displayName: Limits per Tenant
path: limits.tenants
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.tenants.ingestion.ingestionBurstSize
x-descriptors:
@@ -422,26 +438,30 @@ spec:
path: limits.tenants.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.tenants.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.tenants.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.tenants.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.tenants.ingestion.maxLabelValueLength
x-descriptors:
@@ -452,8 +472,9 @@ spec:
path: limits.tenants.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: PerStreamDesiredRate defines the desired ingestion rate per second
- that LokiStack should target applying automatic stream sharding. Units MB.
+ - description: |-
+ PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should
+ target applying automatic stream sharding. Units MB.
displayName: Per Stream Desired Rate (in MB)
path: limits.tenants.ingestion.perStreamDesiredRate
x-descriptors:
@@ -496,20 +517,23 @@ spec:
path: limits.tenants.queries.cardinalityLimit
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.tenants.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.tenants.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.tenants.queries.maxQuerySeries
x-descriptors:
@@ -524,8 +548,9 @@ spec:
of a query request.
displayName: Query Timeout
path: limits.tenants.queries.queryTimeout
- - description: ManagementState defines if the CR should be managed by the operator
- or not. Default is managed.
+ - description: |-
+ ManagementState defines if the CR should be managed by the operator or not.
+ Default is managed.
displayName: Management State
path: managementState
x-descriptors:
@@ -552,9 +577,9 @@ spec:
path: replication.factor
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: 'Zones defines an array of ZoneSpec that the scheduler will try
- to satisfy. IMPORTANT: Make sure that the replication factor defined is
- less than or equal to the number of available zones.'
+ - description: |-
+ Zones defines an array of ZoneSpec that the scheduler will try to satisfy.
+ IMPORTANT: Make sure that the replication factor defined is less than or equal to the number of available zones.
displayName: Zones Spec
path: replication.zones
- description: MaxSkew describes the maximum degree to which Pods can be unevenly
@@ -567,9 +592,9 @@ spec:
labels.
displayName: Topology Key
path: replication.zones[0].topologyKey
- - description: 'Deprecated: Please use replication.factor instead. This field
- will be removed in future versions of this CRD. ReplicationFactor defines
- the policy for log stream replication.'
+ - description: |-
+ Deprecated: Please use replication.factor instead. This field will be removed in future versions of this CRD.
+ ReplicationFactor defines the policy for log stream replication.
displayName: Replication Factor
path: replicationFactor
x-descriptors:
@@ -584,11 +609,13 @@ spec:
path: rules.enabled
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: Namespaces to be selected for PrometheusRules discovery. If unspecified,
- only the same namespace as the LokiStack object is in is used.
+ - description: |-
+ Namespaces to be selected for PrometheusRules discovery. If unspecified, only
+ the same namespace as the LokiStack object is in is used.
displayName: Namespace Selector
path: rules.namespaceSelector
- - description: A selector to select which LokiRules to mount for loading alerting/recording
+ - description: |-
+ A selector to select which LokiRules to mount for loading alerting/recording
rules from.
displayName: Selector
path: rules.selector
@@ -628,13 +655,15 @@ spec:
- description: TLS configuration for reaching the object storage endpoint.
displayName: TLS Config
path: storage.tls
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: storage.tls.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: storage.tls.caName
x-descriptors:
@@ -654,8 +683,9 @@ spec:
- description: Compactor defines the compaction component spec.
displayName: Compactor pods
path: template.compactor
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.compactor.podAntiAffinity
x-descriptors:
@@ -668,8 +698,9 @@ spec:
- description: Distributor defines the distributor component spec.
displayName: Distributor pods
path: template.distributor
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.distributor.podAntiAffinity
x-descriptors:
@@ -682,8 +713,9 @@ spec:
- description: Gateway defines the lokistack gateway component spec.
displayName: Gateway pods
path: template.gateway
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.gateway.podAntiAffinity
x-descriptors:
@@ -696,8 +728,9 @@ spec:
- description: IndexGateway defines the index gateway component spec.
displayName: Index Gateway pods
path: template.indexGateway
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.indexGateway.podAntiAffinity
x-descriptors:
@@ -710,8 +743,9 @@ spec:
- description: Ingester defines the ingester component spec.
displayName: Ingester pods
path: template.ingester
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.ingester.podAntiAffinity
x-descriptors:
@@ -724,8 +758,9 @@ spec:
- description: Querier defines the querier component spec.
displayName: Querier pods
path: template.querier
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.querier.podAntiAffinity
x-descriptors:
@@ -738,8 +773,9 @@ spec:
- description: QueryFrontend defines the query frontend component spec.
displayName: Query Frontend pods
path: template.queryFrontend
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.queryFrontend.podAntiAffinity
x-descriptors:
@@ -752,8 +788,9 @@ spec:
- description: Ruler defines the ruler component spec.
displayName: Ruler pods
path: template.ruler
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.ruler.podAntiAffinity
x-descriptors:
@@ -777,13 +814,15 @@ spec:
- description: CA defines the spec for the custom CA for tenant's authentication.
displayName: CA ConfigMap
path: tenants.authentication[0].mTLS.ca
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: tenants.authentication[0].mTLS.ca.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: tenants.authentication[0].mTLS.ca.caName
x-descriptors:
@@ -794,13 +833,15 @@ spec:
- description: IssuerCA defines the spec for the issuer CA for tenant's authentication.
displayName: IssuerCA ConfigMap
path: tenants.authentication[0].oidc.issuerCA
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: tenants.authentication[0].oidc.issuerCA.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: tenants.authentication[0].oidc.issuerCA.caName
x-descriptors:
@@ -856,10 +897,15 @@ spec:
- description: Openshift defines the configuration specific to Openshift modes.
displayName: Openshift
path: tenants.openshift
- - description: "AdminGroups defines a list of groups, whose members are considered
- to have admin-privileges by the Loki Operator. Setting this to an empty
- array disables admin groups. \n By default the following groups are considered
- admin-groups: - system:cluster-admins - cluster-admin - dedicated-admin"
+ - description: |-
+ AdminGroups defines a list of groups, whose members are considered to have admin-privileges by the Loki Operator.
+ Setting this to an empty array disables admin groups.
+
+
+ By default the following groups are considered admin-groups:
+ - system:cluster-admins
+ - cluster-admin
+ - dedicated-admin
displayName: Admin Groups
path: tenants.openshift.adminGroups
statusDescriptors:
@@ -925,8 +971,9 @@ spec:
- description: List of groups for recording rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given recoding rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ recoding rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of series a recording rule can produce.
@@ -942,9 +989,10 @@ spec:
- description: Rules defines a list of recording rules
displayName: Rules
path: groups[0].rules
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- description: Labels to add to each recording rule.
@@ -1044,9 +1092,10 @@ spec:
path: alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -1066,9 +1115,9 @@ spec:
path: alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -1101,21 +1150,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: alertmanager.relabelConfigs[0].targetLabel
@@ -1193,9 +1244,10 @@ spec:
path: overrides.alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: overrides.alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -1215,9 +1267,9 @@ spec:
path: overrides.alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: overrides.alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -1250,21 +1302,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: overrides.alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: overrides.alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: overrides.alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: overrides.alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: overrides.alertmanager.relabelConfigs[0].targetLabel
@@ -1326,21 +1380,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: remoteWrite.client.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: remoteWrite.client.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: remoteWrite.client.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: remoteWrite.client.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: remoteWrite.client.relabelConfigs[0].targetLabel
diff --git a/operator/bundle/openshift/metadata/annotations.yaml b/operator/bundle/openshift/metadata/annotations.yaml
index 6d1990b6762a3..ecc572548242f 100644
--- a/operator/bundle/openshift/metadata/annotations.yaml
+++ b/operator/bundle/openshift/metadata/annotations.yaml
@@ -8,7 +8,7 @@ annotations:
operators.operatorframework.io.bundle.channel.default.v1: stable
operators.operatorframework.io.metrics.builder: operator-sdk-unknown
operators.operatorframework.io.metrics.mediatype.v1: metrics+v1
- operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3
+ operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v4
# Annotations for testing.
operators.operatorframework.io.test.mediatype.v1: scorecard+v1
diff --git a/operator/cmd/loki-broker/main.go b/operator/cmd/loki-broker/main.go
index 5df903dd5e9ee..0e1c638620e71 100644
--- a/operator/cmd/loki-broker/main.go
+++ b/operator/cmd/loki-broker/main.go
@@ -12,8 +12,8 @@ import (
openshiftv1 "github.com/openshift/api/config/v1"
"sigs.k8s.io/yaml"
- configv1 "github.com/grafana/loki/operator/apis/config/v1"
- lokiv1 "github.com/grafana/loki/operator/apis/loki/v1"
+ configv1 "github.com/grafana/loki/operator/api/config/v1"
+ lokiv1 "github.com/grafana/loki/operator/api/loki/v1"
"github.com/grafana/loki/operator/internal/manifests"
"github.com/grafana/loki/operator/internal/manifests/storage"
)
diff --git a/operator/main.go b/operator/cmd/loki-operator/main.go
similarity index 96%
rename from operator/main.go
rename to operator/cmd/loki-operator/main.go
index fdefa6f663a06..a80bef34aba48 100644
--- a/operator/main.go
+++ b/operator/cmd/loki-operator/main.go
@@ -17,11 +17,11 @@ import (
"sigs.k8s.io/controller-runtime/pkg/healthz"
runtimemetrics "sigs.k8s.io/controller-runtime/pkg/metrics"
- ctrlconfigv1 "github.com/grafana/loki/operator/apis/config/v1"
- lokiv1 "github.com/grafana/loki/operator/apis/loki/v1"
- lokiv1beta1 "github.com/grafana/loki/operator/apis/loki/v1beta1"
- lokictrl "github.com/grafana/loki/operator/controllers/loki"
+ ctrlconfigv1 "github.com/grafana/loki/operator/api/config/v1"
+ lokiv1 "github.com/grafana/loki/operator/api/loki/v1"
+ lokiv1beta1 "github.com/grafana/loki/operator/api/loki/v1beta1"
"github.com/grafana/loki/operator/internal/config"
+ lokictrl "github.com/grafana/loki/operator/internal/controller/loki"
"github.com/grafana/loki/operator/internal/metrics"
"github.com/grafana/loki/operator/internal/operator"
"github.com/grafana/loki/operator/internal/validation"
diff --git a/operator/config/certmanager/certificate.yaml b/operator/config/certmanager/certificate.yaml
index d7c5227840ecf..c484bd7d21d77 100644
--- a/operator/config/certmanager/certificate.yaml
+++ b/operator/config/certmanager/certificate.yaml
@@ -15,10 +15,10 @@ metadata:
name: serving-cert # this name should match the one appeared in kustomizeconfig.yaml
namespace: system
spec:
- # $(SERVICE_NAME) and $(SERVICE_NAMESPACE) will be substituted by kustomize
+ # SERVICE_NAME_PLACEHOLDER and SERVICE_NAMESPACE_PLACEHOLDER will be substituted by kustomize
dnsNames:
- - $(SERVICE_NAME).$(SERVICE_NAMESPACE).svc
- - $(SERVICE_NAME).$(SERVICE_NAMESPACE).svc.cluster.local
+ - SERVICE_NAME_PLACEHOLDER.SERVICE_NAMESPACE_PLACEHOLDER.svc
+ - SERVICE_NAME_PLACEHOLDER.SERVICE_NAMESPACE_PLACEHOLDER.svc.cluster.local
issuerRef:
kind: Issuer
name: selfsigned-issuer
diff --git a/operator/config/crd/kustomization.yaml b/operator/config/crd/kustomization.yaml
index 19e6c0879325b..c2d8ce484b9ee 100644
--- a/operator/config/crd/kustomization.yaml
+++ b/operator/config/crd/kustomization.yaml
@@ -1,3 +1,6 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+
# This kustomization.yaml is not intended to be run by itself,
# since it depends on service name and namespace that are out of this kustomize package.
# It should be run by config/default
@@ -8,13 +11,8 @@ resources:
- bases/loki.grafana.com_rulerconfigs.yaml
# +kubebuilder:scaffold:crdkustomizeresource
-patchesStrategicMerge:
# [WEBHOOK] To enable webhook, uncomment all the sections with [WEBHOOK] prefix.
# patches here are for enabling the conversion webhook for each CRD
-- patches/webhook_in_lokistacks.yaml
-- patches/webhook_in_alertingrules.yaml
-- patches/webhook_in_recordingrules.yaml
-- patches/webhook_in_rulerconfigs.yaml
# +kubebuilder:scaffold:crdkustomizewebhookpatch
# [CERTMANAGER] To enable webhook, uncomment all the sections with [CERTMANAGER] prefix.
@@ -28,3 +26,9 @@ patchesStrategicMerge:
# the following config is for teaching kustomize how to do kustomization for CRDs.
configurations:
- kustomizeconfig.yaml
+
+patches:
+- path: patches/webhook_in_lokistacks.yaml
+- path: patches/webhook_in_alertingrules.yaml
+- path: patches/webhook_in_recordingrules.yaml
+- path: patches/webhook_in_rulerconfigs.yaml
diff --git a/operator/config/docs/config.json b/operator/config/docs/config.json
index fb1b7d8a11b2b..c646667f25840 100644
--- a/operator/config/docs/config.json
+++ b/operator/config/docs/config.json
@@ -30,15 +30,15 @@
"docsURLTemplate": "https://pkg.go.dev/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1#JSON"
},
{
- "typeMatchPrefix": "^github\\.com/grafana/loki/operator/apis/loki/v1",
+ "typeMatchPrefix": "^github\\.com/grafana/loki/operator/api/loki/v1",
"docsURLTemplate": "../v1/api.md#loki.grafana.com/v1.{{ .TypeIdentifier}}"
},
{
- "typeMatchPrefix": "^github\\.com/grafana/loki/operator/apis/loki/v1beta1",
+ "typeMatchPrefix": "^github\\.com/grafana/loki/operator/api/loki/v1beta1",
"docsURLTemplate": "../v1beta1/api.md#loki-grafana.com-v1beta1-{{ .TypeIdentifier}}"
},
{
- "typeMatchPrefix": "^github\\.com/grafana/loki/operator/apis/loki/config/v1",
+ "typeMatchPrefix": "^github\\.com/grafana/loki/operator/api/loki/config/v1",
"docsURLTemplate": "../v1/feature-gates.md#loki-grafana-com-v1-{{ .TypeIdentifier}}"
},
{
@@ -51,9 +51,9 @@
"k8s.io/apimachinery/pkg/apis/": "Kubernetes ",
"k8s.io/component-base/config/": "Kubernetes ",
"sigs.k8s.io/controller-runtime/pkg/config/": "K8S Controller-runtime ",
- "github.com/grafana/loki/operator/apis/loki/v1": "Loki Operator v1",
- "github.com/grafana/loki/operator/apis/loki/v1beta1": "Loki Operator v1beta1",
- "github.com/grafana/loki/operator/apis/loki/config/v1": "Feature Gates"
+ "github.com/grafana/loki/operator/api/loki/v1": "Loki Operator v1",
+ "github.com/grafana/loki/operator/api/loki/v1beta1": "Loki Operator v1beta1",
+ "github.com/grafana/loki/operator/api/loki/config/v1": "Feature Gates"
},
"markdownDisabled": false
}
diff --git a/operator/config/manifests/community-openshift/bases/loki-operator.clusterserviceversion.yaml b/operator/config/manifests/community-openshift/bases/loki-operator.clusterserviceversion.yaml
index aa3be6f85b6ee..ea2003791e7b7 100644
--- a/operator/config/manifests/community-openshift/bases/loki-operator.clusterserviceversion.yaml
+++ b/operator/config/manifests/community-openshift/bases/loki-operator.clusterserviceversion.yaml
@@ -40,8 +40,9 @@ spec:
- description: List of groups for alerting rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given alerting rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ alerting rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of alerts an alerting rule can produce.
@@ -63,14 +64,15 @@ spec:
- description: Annotations to add to each alert.
displayName: Annotations
path: groups[0].rules[0].annotations
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- - description: Alerts are considered firing once they have been returned for
- this long. Alerts which have not yet fired for long enough are considered
- pending.
+ - description: |-
+ Alerts are considered firing once they have been returned for this long.
+ Alerts which have not yet fired for long enough are considered pending.
displayName: Firing Threshold
path: groups[0].rules[0].for
- description: Labels to add to each alert.
@@ -98,8 +100,9 @@ spec:
- description: List of groups for alerting rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given alerting rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ alerting rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of alerts an alerting rule can produce.
@@ -121,14 +124,15 @@ spec:
- description: Annotations to add to each alert.
displayName: Annotations
path: groups[0].rules[0].annotations
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- - description: Alerts are considered firing once they have been returned for
- this long. Alerts which have not yet fired for long enough are considered
- pending.
+ - description: |-
+ Alerts are considered firing once they have been returned for this long.
+ Alerts which have not yet fired for long enough are considered pending.
displayName: Firing Threshold
path: groups[0].rules[0].for
- description: Labels to add to each alert.
@@ -185,17 +189,21 @@ spec:
- description: MemberList configuration spec
displayName: Memberlist Config
path: hashRing.memberlist
- - description: "EnableIPv6 enables IPv6 support for the memberlist based hash
- ring. \n Currently this also forces the instanceAddrType to podIP to avoid
- local address lookup for the memberlist."
+ - description: |-
+ EnableIPv6 enables IPv6 support for the memberlist based hash ring.
+
+
+ Currently this also forces the instanceAddrType to podIP to avoid local address lookup
+ for the memberlist.
displayName: Enable IPv6
path: hashRing.memberlist.enableIPv6
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: InstanceAddrType defines the type of address to use to advertise
- to the ring. Defaults to the first address from any private network interfaces
- of the current pod. Alternatively the public pod IP can be used in case
- private networks (RFC 1918 and RFC 6598) are not available.
+ - description: |-
+ InstanceAddrType defines the type of address to use to advertise to the ring.
+ Defaults to the first address from any private network interfaces of the current pod.
+ Alternatively the public pod IP can be used in case private networks (RFC 1918 and RFC 6598)
+ are not available.
displayName: Instance Address
path: hashRing.memberlist.instanceAddrType
x-descriptors:
@@ -214,9 +222,10 @@ spec:
- description: Global defines the limits applied globally across the cluster.
displayName: Global Limits
path: limits.global
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.global.ingestion.ingestionBurstSize
x-descriptors:
@@ -226,26 +235,30 @@ spec:
path: limits.global.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.global.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.global.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.global.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.global.ingestion.maxLabelValueLength
x-descriptors:
@@ -256,8 +269,9 @@ spec:
path: limits.global.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: PerStreamDesiredRate defines the desired ingestion rate per second
- that LokiStack should target applying automatic stream sharding. Units MB.
+ - description: |-
+ PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should
+ target applying automatic stream sharding. Units MB.
displayName: Per Stream Desired Rate (in MB)
path: limits.global.ingestion.perStreamDesiredRate
x-descriptors:
@@ -279,20 +293,23 @@ spec:
path: limits.global.queries.cardinalityLimit
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.global.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.global.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.global.queries.maxQuerySeries
x-descriptors:
@@ -310,9 +327,10 @@ spec:
- description: Tenants defines the limits applied per tenant.
displayName: Limits per Tenant
path: limits.tenants
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.tenants.ingestion.ingestionBurstSize
x-descriptors:
@@ -322,26 +340,30 @@ spec:
path: limits.tenants.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.tenants.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.tenants.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.tenants.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.tenants.ingestion.maxLabelValueLength
x-descriptors:
@@ -352,8 +374,9 @@ spec:
path: limits.tenants.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: PerStreamDesiredRate defines the desired ingestion rate per second
- that LokiStack should target applying automatic stream sharding. Units MB.
+ - description: |-
+ PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should
+ target applying automatic stream sharding. Units MB.
displayName: Per Stream Desired Rate (in MB)
path: limits.tenants.ingestion.perStreamDesiredRate
x-descriptors:
@@ -396,20 +419,23 @@ spec:
path: limits.tenants.queries.cardinalityLimit
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.tenants.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.tenants.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.tenants.queries.maxQuerySeries
x-descriptors:
@@ -424,8 +450,9 @@ spec:
of a query request.
displayName: Query Timeout
path: limits.tenants.queries.queryTimeout
- - description: ManagementState defines if the CR should be managed by the operator
- or not. Default is managed.
+ - description: |-
+ ManagementState defines if the CR should be managed by the operator or not.
+ Default is managed.
displayName: Management State
path: managementState
x-descriptors:
@@ -452,9 +479,9 @@ spec:
path: replication.factor
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: 'Zones defines an array of ZoneSpec that the scheduler will try
- to satisfy. IMPORTANT: Make sure that the replication factor defined is
- less than or equal to the number of available zones.'
+ - description: |-
+ Zones defines an array of ZoneSpec that the scheduler will try to satisfy.
+ IMPORTANT: Make sure that the replication factor defined is less than or equal to the number of available zones.
displayName: Zones Spec
path: replication.zones
- description: MaxSkew describes the maximum degree to which Pods can be unevenly
@@ -467,9 +494,9 @@ spec:
labels.
displayName: Topology Key
path: replication.zones[0].topologyKey
- - description: 'Deprecated: Please use replication.factor instead. This field
- will be removed in future versions of this CRD. ReplicationFactor defines
- the policy for log stream replication.'
+ - description: |-
+ Deprecated: Please use replication.factor instead. This field will be removed in future versions of this CRD.
+ ReplicationFactor defines the policy for log stream replication.
displayName: Replication Factor
path: replicationFactor
x-descriptors:
@@ -484,11 +511,13 @@ spec:
path: rules.enabled
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: Namespaces to be selected for PrometheusRules discovery. If unspecified,
- only the same namespace as the LokiStack object is in is used.
+ - description: |-
+ Namespaces to be selected for PrometheusRules discovery. If unspecified, only
+ the same namespace as the LokiStack object is in is used.
displayName: Namespace Selector
path: rules.namespaceSelector
- - description: A selector to select which LokiRules to mount for loading alerting/recording
+ - description: |-
+ A selector to select which LokiRules to mount for loading alerting/recording
rules from.
displayName: Selector
path: rules.selector
@@ -528,13 +557,15 @@ spec:
- description: TLS configuration for reaching the object storage endpoint.
displayName: TLS Config
path: storage.tls
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: storage.tls.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: storage.tls.caName
x-descriptors:
@@ -554,8 +585,9 @@ spec:
- description: Compactor defines the compaction component spec.
displayName: Compactor pods
path: template.compactor
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.compactor.podAntiAffinity
x-descriptors:
@@ -568,8 +600,9 @@ spec:
- description: Distributor defines the distributor component spec.
displayName: Distributor pods
path: template.distributor
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.distributor.podAntiAffinity
x-descriptors:
@@ -582,8 +615,9 @@ spec:
- description: Gateway defines the lokistack gateway component spec.
displayName: Gateway pods
path: template.gateway
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.gateway.podAntiAffinity
x-descriptors:
@@ -596,8 +630,9 @@ spec:
- description: IndexGateway defines the index gateway component spec.
displayName: Index Gateway pods
path: template.indexGateway
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.indexGateway.podAntiAffinity
x-descriptors:
@@ -610,8 +645,9 @@ spec:
- description: Ingester defines the ingester component spec.
displayName: Ingester pods
path: template.ingester
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.ingester.podAntiAffinity
x-descriptors:
@@ -624,8 +660,9 @@ spec:
- description: Querier defines the querier component spec.
displayName: Querier pods
path: template.querier
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.querier.podAntiAffinity
x-descriptors:
@@ -638,8 +675,9 @@ spec:
- description: QueryFrontend defines the query frontend component spec.
displayName: Query Frontend pods
path: template.queryFrontend
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.queryFrontend.podAntiAffinity
x-descriptors:
@@ -652,8 +690,9 @@ spec:
- description: Ruler defines the ruler component spec.
displayName: Ruler pods
path: template.ruler
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.ruler.podAntiAffinity
x-descriptors:
@@ -677,13 +716,15 @@ spec:
- description: CA defines the spec for the custom CA for tenant's authentication.
displayName: CA ConfigMap
path: tenants.authentication[0].mTLS.ca
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: tenants.authentication[0].mTLS.ca.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: tenants.authentication[0].mTLS.ca.caName
x-descriptors:
@@ -694,13 +735,15 @@ spec:
- description: IssuerCA defines the spec for the issuer CA for tenant's authentication.
displayName: IssuerCA ConfigMap
path: tenants.authentication[0].oidc.issuerCA
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: tenants.authentication[0].oidc.issuerCA.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: tenants.authentication[0].oidc.issuerCA.caName
x-descriptors:
@@ -756,10 +799,15 @@ spec:
- description: Openshift defines the configuration specific to Openshift modes.
displayName: Openshift
path: tenants.openshift
- - description: "AdminGroups defines a list of groups, whose members are considered
- to have admin-privileges by the Loki Operator. Setting this to an empty
- array disables admin groups. \n By default the following groups are considered
- admin-groups: - system:cluster-admins - cluster-admin - dedicated-admin"
+ - description: |-
+ AdminGroups defines a list of groups, whose members are considered to have admin-privileges by the Loki Operator.
+ Setting this to an empty array disables admin groups.
+
+
+ By default the following groups are considered admin-groups:
+ - system:cluster-admins
+ - cluster-admin
+ - dedicated-admin
displayName: Admin Groups
path: tenants.openshift.adminGroups
statusDescriptors:
@@ -855,9 +903,10 @@ spec:
- description: Global defines the limits applied globally across the cluster.
displayName: Global Limits
path: limits.global
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.global.ingestion.ingestionBurstSize
x-descriptors:
@@ -867,26 +916,30 @@ spec:
path: limits.global.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.global.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.global.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.global.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.global.ingestion.maxLabelValueLength
x-descriptors:
@@ -897,20 +950,23 @@ spec:
path: limits.global.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.global.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.global.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.global.queries.maxQuerySeries
x-descriptors:
@@ -918,9 +974,10 @@ spec:
- description: Tenants defines the limits and overrides applied per tenant.
displayName: Limits per Tenant
path: limits.tenants
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.tenants.ingestion.ingestionBurstSize
x-descriptors:
@@ -930,26 +987,30 @@ spec:
path: limits.tenants.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.tenants.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.tenants.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.tenants.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.tenants.ingestion.maxLabelValueLength
x-descriptors:
@@ -960,26 +1021,30 @@ spec:
path: limits.tenants.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.tenants.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.tenants.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.tenants.queries.maxQuerySeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: ManagementState defines if the CR should be managed by the operator
- or not. Default is managed.
+ - description: |-
+ ManagementState defines if the CR should be managed by the operator or not.
+ Default is managed.
displayName: Management State
path: managementState
x-descriptors:
@@ -1000,11 +1065,13 @@ spec:
path: rules.enabled
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: Namespaces to be selected for PrometheusRules discovery. If unspecified,
- only the same namespace as the LokiStack object is in is used.
+ - description: |-
+ Namespaces to be selected for PrometheusRules discovery. If unspecified, only
+ the same namespace as the LokiStack object is in is used.
displayName: Namespace Selector
path: rules.namespaceSelector
- - description: A selector to select which LokiRules to mount for loading alerting/recording
+ - description: |-
+ A selector to select which LokiRules to mount for loading alerting/recording
rules from.
displayName: Selector
path: rules.selector
@@ -1042,8 +1109,9 @@ spec:
- description: TLS configuration for reaching the object storage endpoint.
displayName: TLS Config
path: storage.tls
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: storage.tls.caName
x-descriptors:
@@ -1245,8 +1313,9 @@ spec:
- description: List of groups for recording rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given recoding rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ recoding rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of series a recording rule can produce.
@@ -1262,9 +1331,10 @@ spec:
- description: Rules defines a list of recording rules
displayName: Rules
path: groups[0].rules
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- description: Labels to add to each recording rule.
@@ -1296,8 +1366,9 @@ spec:
- description: List of groups for recording rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given recoding rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ recoding rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of series a recording rule can produce.
@@ -1313,9 +1384,10 @@ spec:
- description: Rules defines a list of recording rules
displayName: Rules
path: groups[0].rules
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- description: The name of the time series to output to. Must be a valid metric
@@ -1412,9 +1484,10 @@ spec:
path: alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -1434,9 +1507,9 @@ spec:
path: alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -1469,21 +1542,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: alertmanager.relabelConfigs[0].targetLabel
@@ -1561,9 +1636,10 @@ spec:
path: overrides.alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: overrides.alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -1583,9 +1659,9 @@ spec:
path: overrides.alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: overrides.alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -1618,21 +1694,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: overrides.alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: overrides.alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: overrides.alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: overrides.alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: overrides.alertmanager.relabelConfigs[0].targetLabel
@@ -1694,21 +1772,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: remoteWrite.client.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: remoteWrite.client.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: remoteWrite.client.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: remoteWrite.client.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: remoteWrite.client.relabelConfigs[0].targetLabel
@@ -1848,9 +1928,10 @@ spec:
path: alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -1870,9 +1951,9 @@ spec:
path: alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -1905,21 +1986,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: alertmanager.relabelConfigs[0].targetLabel
@@ -1997,9 +2080,10 @@ spec:
path: overrides.alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: overrides.alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -2019,9 +2103,9 @@ spec:
path: overrides.alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: overrides.alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -2054,21 +2138,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: overrides.alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: overrides.alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: overrides.alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: overrides.alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: overrides.alertmanager.relabelConfigs[0].targetLabel
@@ -2130,21 +2216,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: remoteWrite.client.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: remoteWrite.client.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: remoteWrite.client.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: remoteWrite.client.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: remoteWrite.client.relabelConfigs[0].targetLabel
diff --git a/operator/config/manifests/community/bases/loki-operator.clusterserviceversion.yaml b/operator/config/manifests/community/bases/loki-operator.clusterserviceversion.yaml
index 5dd2c2d108ab8..23c7e36035032 100644
--- a/operator/config/manifests/community/bases/loki-operator.clusterserviceversion.yaml
+++ b/operator/config/manifests/community/bases/loki-operator.clusterserviceversion.yaml
@@ -33,8 +33,9 @@ spec:
- description: List of groups for alerting rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given alerting rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ alerting rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of alerts an alerting rule can produce.
@@ -56,14 +57,15 @@ spec:
- description: Annotations to add to each alert.
displayName: Annotations
path: groups[0].rules[0].annotations
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- - description: Alerts are considered firing once they have been returned for
- this long. Alerts which have not yet fired for long enough are considered
- pending.
+ - description: |-
+ Alerts are considered firing once they have been returned for this long.
+ Alerts which have not yet fired for long enough are considered pending.
displayName: Firing Threshold
path: groups[0].rules[0].for
- description: Labels to add to each alert.
@@ -91,8 +93,9 @@ spec:
- description: List of groups for alerting rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given alerting rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ alerting rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of alerts an alerting rule can produce.
@@ -114,14 +117,15 @@ spec:
- description: Annotations to add to each alert.
displayName: Annotations
path: groups[0].rules[0].annotations
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- - description: Alerts are considered firing once they have been returned for
- this long. Alerts which have not yet fired for long enough are considered
- pending.
+ - description: |-
+ Alerts are considered firing once they have been returned for this long.
+ Alerts which have not yet fired for long enough are considered pending.
displayName: Firing Threshold
path: groups[0].rules[0].for
- description: Labels to add to each alert.
@@ -178,17 +182,21 @@ spec:
- description: MemberList configuration spec
displayName: Memberlist Config
path: hashRing.memberlist
- - description: "EnableIPv6 enables IPv6 support for the memberlist based hash
- ring. \n Currently this also forces the instanceAddrType to podIP to avoid
- local address lookup for the memberlist."
+ - description: |-
+ EnableIPv6 enables IPv6 support for the memberlist based hash ring.
+
+
+ Currently this also forces the instanceAddrType to podIP to avoid local address lookup
+ for the memberlist.
displayName: Enable IPv6
path: hashRing.memberlist.enableIPv6
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: InstanceAddrType defines the type of address to use to advertise
- to the ring. Defaults to the first address from any private network interfaces
- of the current pod. Alternatively the public pod IP can be used in case
- private networks (RFC 1918 and RFC 6598) are not available.
+ - description: |-
+ InstanceAddrType defines the type of address to use to advertise to the ring.
+ Defaults to the first address from any private network interfaces of the current pod.
+ Alternatively the public pod IP can be used in case private networks (RFC 1918 and RFC 6598)
+ are not available.
displayName: Instance Address
path: hashRing.memberlist.instanceAddrType
x-descriptors:
@@ -207,9 +215,10 @@ spec:
- description: Global defines the limits applied globally across the cluster.
displayName: Global Limits
path: limits.global
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.global.ingestion.ingestionBurstSize
x-descriptors:
@@ -219,26 +228,30 @@ spec:
path: limits.global.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.global.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.global.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.global.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.global.ingestion.maxLabelValueLength
x-descriptors:
@@ -249,8 +262,9 @@ spec:
path: limits.global.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: PerStreamDesiredRate defines the desired ingestion rate per second
- that LokiStack should target applying automatic stream sharding. Units MB.
+ - description: |-
+ PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should
+ target applying automatic stream sharding. Units MB.
displayName: Per Stream Desired Rate (in MB)
path: limits.global.ingestion.perStreamDesiredRate
x-descriptors:
@@ -272,20 +286,23 @@ spec:
path: limits.global.queries.cardinalityLimit
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.global.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.global.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.global.queries.maxQuerySeries
x-descriptors:
@@ -303,9 +320,10 @@ spec:
- description: Tenants defines the limits applied per tenant.
displayName: Limits per Tenant
path: limits.tenants
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.tenants.ingestion.ingestionBurstSize
x-descriptors:
@@ -315,26 +333,30 @@ spec:
path: limits.tenants.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.tenants.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.tenants.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.tenants.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.tenants.ingestion.maxLabelValueLength
x-descriptors:
@@ -345,8 +367,9 @@ spec:
path: limits.tenants.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: PerStreamDesiredRate defines the desired ingestion rate per second
- that LokiStack should target applying automatic stream sharding. Units MB.
+ - description: |-
+ PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should
+ target applying automatic stream sharding. Units MB.
displayName: Per Stream Desired Rate (in MB)
path: limits.tenants.ingestion.perStreamDesiredRate
x-descriptors:
@@ -389,20 +412,23 @@ spec:
path: limits.tenants.queries.cardinalityLimit
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.tenants.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.tenants.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.tenants.queries.maxQuerySeries
x-descriptors:
@@ -417,8 +443,9 @@ spec:
of a query request.
displayName: Query Timeout
path: limits.tenants.queries.queryTimeout
- - description: ManagementState defines if the CR should be managed by the operator
- or not. Default is managed.
+ - description: |-
+ ManagementState defines if the CR should be managed by the operator or not.
+ Default is managed.
displayName: Management State
path: managementState
x-descriptors:
@@ -445,9 +472,9 @@ spec:
path: replication.factor
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: 'Zones defines an array of ZoneSpec that the scheduler will try
- to satisfy. IMPORTANT: Make sure that the replication factor defined is
- less than or equal to the number of available zones.'
+ - description: |-
+ Zones defines an array of ZoneSpec that the scheduler will try to satisfy.
+ IMPORTANT: Make sure that the replication factor defined is less than or equal to the number of available zones.
displayName: Zones Spec
path: replication.zones
- description: MaxSkew describes the maximum degree to which Pods can be unevenly
@@ -460,9 +487,9 @@ spec:
labels.
displayName: Topology Key
path: replication.zones[0].topologyKey
- - description: 'Deprecated: Please use replication.factor instead. This field
- will be removed in future versions of this CRD. ReplicationFactor defines
- the policy for log stream replication.'
+ - description: |-
+ Deprecated: Please use replication.factor instead. This field will be removed in future versions of this CRD.
+ ReplicationFactor defines the policy for log stream replication.
displayName: Replication Factor
path: replicationFactor
x-descriptors:
@@ -477,11 +504,13 @@ spec:
path: rules.enabled
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: Namespaces to be selected for PrometheusRules discovery. If unspecified,
- only the same namespace as the LokiStack object is in is used.
+ - description: |-
+ Namespaces to be selected for PrometheusRules discovery. If unspecified, only
+ the same namespace as the LokiStack object is in is used.
displayName: Namespace Selector
path: rules.namespaceSelector
- - description: A selector to select which LokiRules to mount for loading alerting/recording
+ - description: |-
+ A selector to select which LokiRules to mount for loading alerting/recording
rules from.
displayName: Selector
path: rules.selector
@@ -521,13 +550,15 @@ spec:
- description: TLS configuration for reaching the object storage endpoint.
displayName: TLS Config
path: storage.tls
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: storage.tls.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: storage.tls.caName
x-descriptors:
@@ -547,8 +578,9 @@ spec:
- description: Compactor defines the compaction component spec.
displayName: Compactor pods
path: template.compactor
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.compactor.podAntiAffinity
x-descriptors:
@@ -561,8 +593,9 @@ spec:
- description: Distributor defines the distributor component spec.
displayName: Distributor pods
path: template.distributor
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.distributor.podAntiAffinity
x-descriptors:
@@ -575,8 +608,9 @@ spec:
- description: Gateway defines the lokistack gateway component spec.
displayName: Gateway pods
path: template.gateway
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.gateway.podAntiAffinity
x-descriptors:
@@ -589,8 +623,9 @@ spec:
- description: IndexGateway defines the index gateway component spec.
displayName: Index Gateway pods
path: template.indexGateway
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.indexGateway.podAntiAffinity
x-descriptors:
@@ -603,8 +638,9 @@ spec:
- description: Ingester defines the ingester component spec.
displayName: Ingester pods
path: template.ingester
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.ingester.podAntiAffinity
x-descriptors:
@@ -617,8 +653,9 @@ spec:
- description: Querier defines the querier component spec.
displayName: Querier pods
path: template.querier
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.querier.podAntiAffinity
x-descriptors:
@@ -631,8 +668,9 @@ spec:
- description: QueryFrontend defines the query frontend component spec.
displayName: Query Frontend pods
path: template.queryFrontend
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.queryFrontend.podAntiAffinity
x-descriptors:
@@ -645,8 +683,9 @@ spec:
- description: Ruler defines the ruler component spec.
displayName: Ruler pods
path: template.ruler
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.ruler.podAntiAffinity
x-descriptors:
@@ -670,13 +709,15 @@ spec:
- description: CA defines the spec for the custom CA for tenant's authentication.
displayName: CA ConfigMap
path: tenants.authentication[0].mTLS.ca
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: tenants.authentication[0].mTLS.ca.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: tenants.authentication[0].mTLS.ca.caName
x-descriptors:
@@ -687,13 +728,15 @@ spec:
- description: IssuerCA defines the spec for the issuer CA for tenant's authentication.
displayName: IssuerCA ConfigMap
path: tenants.authentication[0].oidc.issuerCA
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: tenants.authentication[0].oidc.issuerCA.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: tenants.authentication[0].oidc.issuerCA.caName
x-descriptors:
@@ -749,10 +792,15 @@ spec:
- description: Openshift defines the configuration specific to Openshift modes.
displayName: Openshift
path: tenants.openshift
- - description: "AdminGroups defines a list of groups, whose members are considered
- to have admin-privileges by the Loki Operator. Setting this to an empty
- array disables admin groups. \n By default the following groups are considered
- admin-groups: - system:cluster-admins - cluster-admin - dedicated-admin"
+ - description: |-
+ AdminGroups defines a list of groups, whose members are considered to have admin-privileges by the Loki Operator.
+ Setting this to an empty array disables admin groups.
+
+
+ By default the following groups are considered admin-groups:
+ - system:cluster-admins
+ - cluster-admin
+ - dedicated-admin
displayName: Admin Groups
path: tenants.openshift.adminGroups
statusDescriptors:
@@ -848,9 +896,10 @@ spec:
- description: Global defines the limits applied globally across the cluster.
displayName: Global Limits
path: limits.global
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.global.ingestion.ingestionBurstSize
x-descriptors:
@@ -860,26 +909,30 @@ spec:
path: limits.global.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.global.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.global.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.global.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.global.ingestion.maxLabelValueLength
x-descriptors:
@@ -890,20 +943,23 @@ spec:
path: limits.global.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.global.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.global.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.global.queries.maxQuerySeries
x-descriptors:
@@ -911,9 +967,10 @@ spec:
- description: Tenants defines the limits and overrides applied per tenant.
displayName: Limits per Tenant
path: limits.tenants
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.tenants.ingestion.ingestionBurstSize
x-descriptors:
@@ -923,26 +980,30 @@ spec:
path: limits.tenants.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.tenants.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.tenants.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.tenants.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.tenants.ingestion.maxLabelValueLength
x-descriptors:
@@ -953,26 +1014,30 @@ spec:
path: limits.tenants.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.tenants.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.tenants.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.tenants.queries.maxQuerySeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: ManagementState defines if the CR should be managed by the operator
- or not. Default is managed.
+ - description: |-
+ ManagementState defines if the CR should be managed by the operator or not.
+ Default is managed.
displayName: Management State
path: managementState
x-descriptors:
@@ -993,11 +1058,13 @@ spec:
path: rules.enabled
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: Namespaces to be selected for PrometheusRules discovery. If unspecified,
- only the same namespace as the LokiStack object is in is used.
+ - description: |-
+ Namespaces to be selected for PrometheusRules discovery. If unspecified, only
+ the same namespace as the LokiStack object is in is used.
displayName: Namespace Selector
path: rules.namespaceSelector
- - description: A selector to select which LokiRules to mount for loading alerting/recording
+ - description: |-
+ A selector to select which LokiRules to mount for loading alerting/recording
rules from.
displayName: Selector
path: rules.selector
@@ -1035,8 +1102,9 @@ spec:
- description: TLS configuration for reaching the object storage endpoint.
displayName: TLS Config
path: storage.tls
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: storage.tls.caName
x-descriptors:
@@ -1238,8 +1306,9 @@ spec:
- description: List of groups for recording rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given recoding rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ recoding rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of series a recording rule can produce.
@@ -1255,9 +1324,10 @@ spec:
- description: Rules defines a list of recording rules
displayName: Rules
path: groups[0].rules
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- description: Labels to add to each recording rule.
@@ -1289,8 +1359,9 @@ spec:
- description: List of groups for recording rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given recoding rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ recoding rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of series a recording rule can produce.
@@ -1306,9 +1377,10 @@ spec:
- description: Rules defines a list of recording rules
displayName: Rules
path: groups[0].rules
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- description: The name of the time series to output to. Must be a valid metric
@@ -1405,9 +1477,10 @@ spec:
path: alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -1427,9 +1500,9 @@ spec:
path: alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -1462,21 +1535,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: alertmanager.relabelConfigs[0].targetLabel
@@ -1554,9 +1629,10 @@ spec:
path: overrides.alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: overrides.alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -1576,9 +1652,9 @@ spec:
path: overrides.alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: overrides.alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -1611,21 +1687,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: overrides.alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: overrides.alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: overrides.alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: overrides.alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: overrides.alertmanager.relabelConfigs[0].targetLabel
@@ -1687,21 +1765,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: remoteWrite.client.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: remoteWrite.client.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: remoteWrite.client.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: remoteWrite.client.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: remoteWrite.client.relabelConfigs[0].targetLabel
@@ -1841,9 +1921,10 @@ spec:
path: alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -1863,9 +1944,9 @@ spec:
path: alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -1898,21 +1979,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: alertmanager.relabelConfigs[0].targetLabel
@@ -1990,9 +2073,10 @@ spec:
path: overrides.alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: overrides.alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -2012,9 +2096,9 @@ spec:
path: overrides.alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: overrides.alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -2047,21 +2131,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: overrides.alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: overrides.alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: overrides.alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: overrides.alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: overrides.alertmanager.relabelConfigs[0].targetLabel
@@ -2123,21 +2209,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: remoteWrite.client.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: remoteWrite.client.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: remoteWrite.client.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: remoteWrite.client.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: remoteWrite.client.relabelConfigs[0].targetLabel
diff --git a/operator/config/manifests/openshift/bases/loki-operator.clusterserviceversion.yaml b/operator/config/manifests/openshift/bases/loki-operator.clusterserviceversion.yaml
index c090356908e8b..b44c988f5ffff 100644
--- a/operator/config/manifests/openshift/bases/loki-operator.clusterserviceversion.yaml
+++ b/operator/config/manifests/openshift/bases/loki-operator.clusterserviceversion.yaml
@@ -52,8 +52,9 @@ spec:
- description: List of groups for alerting rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given alerting rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ alerting rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of alerts an alerting rule can produce.
@@ -75,14 +76,15 @@ spec:
- description: Annotations to add to each alert.
displayName: Annotations
path: groups[0].rules[0].annotations
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- - description: Alerts are considered firing once they have been returned for
- this long. Alerts which have not yet fired for long enough are considered
- pending.
+ - description: |-
+ Alerts are considered firing once they have been returned for this long.
+ Alerts which have not yet fired for long enough are considered pending.
displayName: Firing Threshold
path: groups[0].rules[0].for
- description: Labels to add to each alert.
@@ -110,8 +112,9 @@ spec:
- description: List of groups for alerting rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given alerting rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ alerting rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of alerts an alerting rule can produce.
@@ -133,14 +136,15 @@ spec:
- description: Annotations to add to each alert.
displayName: Annotations
path: groups[0].rules[0].annotations
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- - description: Alerts are considered firing once they have been returned for
- this long. Alerts which have not yet fired for long enough are considered
- pending.
+ - description: |-
+ Alerts are considered firing once they have been returned for this long.
+ Alerts which have not yet fired for long enough are considered pending.
displayName: Firing Threshold
path: groups[0].rules[0].for
- description: Labels to add to each alert.
@@ -197,17 +201,21 @@ spec:
- description: MemberList configuration spec
displayName: Memberlist Config
path: hashRing.memberlist
- - description: "EnableIPv6 enables IPv6 support for the memberlist based hash
- ring. \n Currently this also forces the instanceAddrType to podIP to avoid
- local address lookup for the memberlist."
+ - description: |-
+ EnableIPv6 enables IPv6 support for the memberlist based hash ring.
+
+
+ Currently this also forces the instanceAddrType to podIP to avoid local address lookup
+ for the memberlist.
displayName: Enable IPv6
path: hashRing.memberlist.enableIPv6
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: InstanceAddrType defines the type of address to use to advertise
- to the ring. Defaults to the first address from any private network interfaces
- of the current pod. Alternatively the public pod IP can be used in case
- private networks (RFC 1918 and RFC 6598) are not available.
+ - description: |-
+ InstanceAddrType defines the type of address to use to advertise to the ring.
+ Defaults to the first address from any private network interfaces of the current pod.
+ Alternatively the public pod IP can be used in case private networks (RFC 1918 and RFC 6598)
+ are not available.
displayName: Instance Address
path: hashRing.memberlist.instanceAddrType
x-descriptors:
@@ -226,9 +234,10 @@ spec:
- description: Global defines the limits applied globally across the cluster.
displayName: Global Limits
path: limits.global
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.global.ingestion.ingestionBurstSize
x-descriptors:
@@ -238,26 +247,30 @@ spec:
path: limits.global.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.global.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.global.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.global.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.global.ingestion.maxLabelValueLength
x-descriptors:
@@ -268,8 +281,9 @@ spec:
path: limits.global.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: PerStreamDesiredRate defines the desired ingestion rate per second
- that LokiStack should target applying automatic stream sharding. Units MB.
+ - description: |-
+ PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should
+ target applying automatic stream sharding. Units MB.
displayName: Per Stream Desired Rate (in MB)
path: limits.global.ingestion.perStreamDesiredRate
x-descriptors:
@@ -291,20 +305,23 @@ spec:
path: limits.global.queries.cardinalityLimit
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.global.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.global.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.global.queries.maxQuerySeries
x-descriptors:
@@ -322,9 +339,10 @@ spec:
- description: Tenants defines the limits applied per tenant.
displayName: Limits per Tenant
path: limits.tenants
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.tenants.ingestion.ingestionBurstSize
x-descriptors:
@@ -334,26 +352,30 @@ spec:
path: limits.tenants.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.tenants.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.tenants.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.tenants.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.tenants.ingestion.maxLabelValueLength
x-descriptors:
@@ -364,8 +386,9 @@ spec:
path: limits.tenants.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: PerStreamDesiredRate defines the desired ingestion rate per second
- that LokiStack should target applying automatic stream sharding. Units MB.
+ - description: |-
+ PerStreamDesiredRate defines the desired ingestion rate per second that LokiStack should
+ target applying automatic stream sharding. Units MB.
displayName: Per Stream Desired Rate (in MB)
path: limits.tenants.ingestion.perStreamDesiredRate
x-descriptors:
@@ -408,20 +431,23 @@ spec:
path: limits.tenants.queries.cardinalityLimit
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.tenants.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.tenants.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.tenants.queries.maxQuerySeries
x-descriptors:
@@ -436,8 +462,9 @@ spec:
of a query request.
displayName: Query Timeout
path: limits.tenants.queries.queryTimeout
- - description: ManagementState defines if the CR should be managed by the operator
- or not. Default is managed.
+ - description: |-
+ ManagementState defines if the CR should be managed by the operator or not.
+ Default is managed.
displayName: Management State
path: managementState
x-descriptors:
@@ -464,9 +491,9 @@ spec:
path: replication.factor
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: 'Zones defines an array of ZoneSpec that the scheduler will try
- to satisfy. IMPORTANT: Make sure that the replication factor defined is
- less than or equal to the number of available zones.'
+ - description: |-
+ Zones defines an array of ZoneSpec that the scheduler will try to satisfy.
+ IMPORTANT: Make sure that the replication factor defined is less than or equal to the number of available zones.
displayName: Zones Spec
path: replication.zones
- description: MaxSkew describes the maximum degree to which Pods can be unevenly
@@ -479,9 +506,9 @@ spec:
labels.
displayName: Topology Key
path: replication.zones[0].topologyKey
- - description: 'Deprecated: Please use replication.factor instead. This field
- will be removed in future versions of this CRD. ReplicationFactor defines
- the policy for log stream replication.'
+ - description: |-
+ Deprecated: Please use replication.factor instead. This field will be removed in future versions of this CRD.
+ ReplicationFactor defines the policy for log stream replication.
displayName: Replication Factor
path: replicationFactor
x-descriptors:
@@ -496,11 +523,13 @@ spec:
path: rules.enabled
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: Namespaces to be selected for PrometheusRules discovery. If unspecified,
- only the same namespace as the LokiStack object is in is used.
+ - description: |-
+ Namespaces to be selected for PrometheusRules discovery. If unspecified, only
+ the same namespace as the LokiStack object is in is used.
displayName: Namespace Selector
path: rules.namespaceSelector
- - description: A selector to select which LokiRules to mount for loading alerting/recording
+ - description: |-
+ A selector to select which LokiRules to mount for loading alerting/recording
rules from.
displayName: Selector
path: rules.selector
@@ -540,13 +569,15 @@ spec:
- description: TLS configuration for reaching the object storage endpoint.
displayName: TLS Config
path: storage.tls
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: storage.tls.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: storage.tls.caName
x-descriptors:
@@ -566,8 +597,9 @@ spec:
- description: Compactor defines the compaction component spec.
displayName: Compactor pods
path: template.compactor
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.compactor.podAntiAffinity
x-descriptors:
@@ -580,8 +612,9 @@ spec:
- description: Distributor defines the distributor component spec.
displayName: Distributor pods
path: template.distributor
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.distributor.podAntiAffinity
x-descriptors:
@@ -594,8 +627,9 @@ spec:
- description: Gateway defines the lokistack gateway component spec.
displayName: Gateway pods
path: template.gateway
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.gateway.podAntiAffinity
x-descriptors:
@@ -608,8 +642,9 @@ spec:
- description: IndexGateway defines the index gateway component spec.
displayName: Index Gateway pods
path: template.indexGateway
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.indexGateway.podAntiAffinity
x-descriptors:
@@ -622,8 +657,9 @@ spec:
- description: Ingester defines the ingester component spec.
displayName: Ingester pods
path: template.ingester
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.ingester.podAntiAffinity
x-descriptors:
@@ -636,8 +672,9 @@ spec:
- description: Querier defines the querier component spec.
displayName: Querier pods
path: template.querier
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.querier.podAntiAffinity
x-descriptors:
@@ -650,8 +687,9 @@ spec:
- description: QueryFrontend defines the query frontend component spec.
displayName: Query Frontend pods
path: template.queryFrontend
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.queryFrontend.podAntiAffinity
x-descriptors:
@@ -664,8 +702,9 @@ spec:
- description: Ruler defines the ruler component spec.
displayName: Ruler pods
path: template.ruler
- - description: PodAntiAffinity defines the pod anti affinity scheduling rules
- to schedule pods of a component.
+ - description: |-
+ PodAntiAffinity defines the pod anti affinity scheduling rules to schedule pods
+ of a component.
displayName: PodAntiAffinity
path: template.ruler.podAntiAffinity
x-descriptors:
@@ -689,13 +728,15 @@ spec:
- description: CA defines the spec for the custom CA for tenant's authentication.
displayName: CA ConfigMap
path: tenants.authentication[0].mTLS.ca
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: tenants.authentication[0].mTLS.ca.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: tenants.authentication[0].mTLS.ca.caName
x-descriptors:
@@ -706,13 +747,15 @@ spec:
- description: IssuerCA defines the spec for the issuer CA for tenant's authentication.
displayName: IssuerCA ConfigMap
path: tenants.authentication[0].oidc.issuerCA
- - description: Key is the data key of a ConfigMap containing a CA certificate.
- It needs to be in the same namespace as the LokiStack custom resource. If
- empty, it defaults to "service-ca.crt".
+ - description: |-
+ Key is the data key of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
+ If empty, it defaults to "service-ca.crt".
displayName: CA ConfigMap Key
path: tenants.authentication[0].oidc.issuerCA.caKey
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: tenants.authentication[0].oidc.issuerCA.caName
x-descriptors:
@@ -768,10 +811,15 @@ spec:
- description: Openshift defines the configuration specific to Openshift modes.
displayName: Openshift
path: tenants.openshift
- - description: "AdminGroups defines a list of groups, whose members are considered
- to have admin-privileges by the Loki Operator. Setting this to an empty
- array disables admin groups. \n By default the following groups are considered
- admin-groups: - system:cluster-admins - cluster-admin - dedicated-admin"
+ - description: |-
+ AdminGroups defines a list of groups, whose members are considered to have admin-privileges by the Loki Operator.
+ Setting this to an empty array disables admin groups.
+
+
+ By default the following groups are considered admin-groups:
+ - system:cluster-admins
+ - cluster-admin
+ - dedicated-admin
displayName: Admin Groups
path: tenants.openshift.adminGroups
statusDescriptors:
@@ -867,9 +915,10 @@ spec:
- description: Global defines the limits applied globally across the cluster.
displayName: Global Limits
path: limits.global
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.global.ingestion.ingestionBurstSize
x-descriptors:
@@ -879,26 +928,30 @@ spec:
path: limits.global.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.global.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.global.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.global.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.global.ingestion.maxLabelValueLength
x-descriptors:
@@ -909,20 +962,23 @@ spec:
path: limits.global.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.global.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.global.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.global.queries.maxQuerySeries
x-descriptors:
@@ -930,9 +986,10 @@ spec:
- description: Tenants defines the limits and overrides applied per tenant.
displayName: Limits per Tenant
path: limits.tenants
- - description: IngestionBurstSize defines the local rate-limited sample size
- per distributor replica. It should be set to the set at least to the maximum
- logs size expected in a single push request.
+ - description: |-
+ IngestionBurstSize defines the local rate-limited sample size per
+ distributor replica. It should be set to the set at least to the
+ maximum logs size expected in a single push request.
displayName: Ingestion Burst Size (in MB)
path: limits.tenants.ingestion.ingestionBurstSize
x-descriptors:
@@ -942,26 +999,30 @@ spec:
path: limits.tenants.ingestion.ingestionRate
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxGlobalStreamsPerTenant defines the maximum number of active
- streams per tenant, across the cluster.
+ - description: |-
+ MaxGlobalStreamsPerTenant defines the maximum number of active streams
+ per tenant, across the cluster.
displayName: Max Global Streams per Tenant
path: limits.tenants.ingestion.maxGlobalStreamsPerTenant
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNameLength defines the maximum number of characters allowed
+ - description: |-
+ MaxLabelNameLength defines the maximum number of characters allowed
for label keys in log streams.
displayName: Max Label Name Length
path: limits.tenants.ingestion.maxLabelNameLength
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelNamesPerSeries defines the maximum number of label names
- per series in each log stream.
+ - description: |-
+ MaxLabelNamesPerSeries defines the maximum number of label names per series
+ in each log stream.
displayName: Max Labels Names per Series
path: limits.tenants.ingestion.maxLabelNamesPerSeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxLabelValueLength defines the maximum number of characters
- allowed for label values in log streams.
+ - description: |-
+ MaxLabelValueLength defines the maximum number of characters allowed
+ for label values in log streams.
displayName: Max Label Value Length
path: limits.tenants.ingestion.maxLabelValueLength
x-descriptors:
@@ -972,26 +1033,30 @@ spec:
path: limits.tenants.ingestion.maxLineSize
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxChunksPerQuery defines the maximum number of chunks that can
- be fetched by a single query.
+ - description: |-
+ MaxChunksPerQuery defines the maximum number of chunks
+ that can be fetched by a single query.
displayName: Max Chunk per Query
path: limits.tenants.queries.maxChunksPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxEntriesLimitsPerQuery defines the maximum number of log entries
+ - description: |-
+ MaxEntriesLimitsPerQuery defines the maximum number of log entries
that will be returned for a query.
displayName: Max Entries Limit per Query
path: limits.tenants.queries.maxEntriesLimitPerQuery
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: MaxQuerySeries defines the maximum of unique series that is returned
- by a metric query.
+ - description: |-
+ MaxQuerySeries defines the maximum of unique series
+ that is returned by a metric query.
displayName: Max Query Series
path: limits.tenants.queries.maxQuerySeries
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: ManagementState defines if the CR should be managed by the operator
- or not. Default is managed.
+ - description: |-
+ ManagementState defines if the CR should be managed by the operator or not.
+ Default is managed.
displayName: Management State
path: managementState
x-descriptors:
@@ -1012,11 +1077,13 @@ spec:
path: rules.enabled
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: Namespaces to be selected for PrometheusRules discovery. If unspecified,
- only the same namespace as the LokiStack object is in is used.
+ - description: |-
+ Namespaces to be selected for PrometheusRules discovery. If unspecified, only
+ the same namespace as the LokiStack object is in is used.
displayName: Namespace Selector
path: rules.namespaceSelector
- - description: A selector to select which LokiRules to mount for loading alerting/recording
+ - description: |-
+ A selector to select which LokiRules to mount for loading alerting/recording
rules from.
displayName: Selector
path: rules.selector
@@ -1054,8 +1121,9 @@ spec:
- description: TLS configuration for reaching the object storage endpoint.
displayName: TLS Config
path: storage.tls
- - description: CA is the name of a ConfigMap containing a CA certificate. It
- needs to be in the same namespace as the LokiStack custom resource.
+ - description: |-
+ CA is the name of a ConfigMap containing a CA certificate.
+ It needs to be in the same namespace as the LokiStack custom resource.
displayName: CA ConfigMap Name
path: storage.tls.caName
x-descriptors:
@@ -1257,8 +1325,9 @@ spec:
- description: List of groups for recording rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given recoding rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ recoding rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of series a recording rule can produce.
@@ -1274,9 +1343,10 @@ spec:
- description: Rules defines a list of recording rules
displayName: Rules
path: groups[0].rules
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- description: Labels to add to each recording rule.
@@ -1308,8 +1378,9 @@ spec:
- description: List of groups for recording rules.
displayName: Groups
path: groups
- - description: Interval defines the time interval between evaluation of the
- given recoding rule.
+ - description: |-
+ Interval defines the time interval between evaluation of the given
+ recoding rule.
displayName: Evaluation Interval
path: groups[0].interval
- description: Limit defines the number of series a recording rule can produce.
@@ -1325,9 +1396,10 @@ spec:
- description: Rules defines a list of recording rules
displayName: Rules
path: groups[0].rules
- - description: The LogQL expression to evaluate. Every evaluation cycle this
- is evaluated at the current time, and all resultant time series become pending/firing
- alerts.
+ - description: |-
+ The LogQL expression to evaluate. Every evaluation cycle this is
+ evaluated at the current time, and all resultant time series become
+ pending/firing alerts.
displayName: LogQL Expression
path: groups[0].rules[0].expr
- description: The name of the time series to output to. Must be a valid metric
@@ -1424,9 +1496,10 @@ spec:
path: alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -1446,9 +1519,9 @@ spec:
path: alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -1481,21 +1554,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: alertmanager.relabelConfigs[0].targetLabel
@@ -1573,9 +1648,10 @@ spec:
path: overrides.alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: overrides.alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -1595,9 +1671,9 @@ spec:
path: overrides.alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: overrides.alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -1630,21 +1706,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: overrides.alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: overrides.alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: overrides.alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: overrides.alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: overrides.alertmanager.relabelConfigs[0].targetLabel
@@ -1706,21 +1784,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: remoteWrite.client.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: remoteWrite.client.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: remoteWrite.client.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: remoteWrite.client.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: remoteWrite.client.relabelConfigs[0].targetLabel
@@ -1860,9 +1940,10 @@ spec:
path: alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -1882,9 +1963,9 @@ spec:
path: alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -1917,21 +1998,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: alertmanager.relabelConfigs[0].targetLabel
@@ -2009,9 +2092,10 @@ spec:
path: overrides.alertmanager.enableV2
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:booleanSwitch
- - description: List of AlertManager URLs to send notifications to. Each Alertmanager
- URL is treated as a separate group in the configuration. Multiple Alertmanagers
- in HA per group can be supported by using DNS resolution (See EnableDNSDiscovery).
+ - description: |-
+ List of AlertManager URLs to send notifications to. Each Alertmanager URL is treated as
+ a separate group in the configuration. Multiple Alertmanagers in HA per group can be
+ supported by using DNS resolution (See EnableDNSDiscovery).
displayName: AlertManager Endpoints
path: overrides.alertmanager.endpoints
- description: Additional labels to add to all alerts.
@@ -2031,9 +2115,9 @@ spec:
path: overrides.alertmanager.notificationQueue.capacity
x-descriptors:
- urn:alm:descriptor:com.tectonic.ui:number
- - description: Minimum duration between alert and restored "for" state. This
- is maintained only for alerts with configured "for" time greater than the
- grace period.
+ - description: |-
+ Minimum duration between alert and restored "for" state. This is maintained
+ only for alerts with configured "for" time greater than the grace period.
displayName: Firing Grace Period
path: overrides.alertmanager.notificationQueue.forGracePeriod
- description: Max time to tolerate outage for restoring "for" state of alert.
@@ -2066,21 +2150,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: overrides.alertmanager.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: overrides.alertmanager.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: overrides.alertmanager.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: overrides.alertmanager.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: overrides.alertmanager.relabelConfigs[0].targetLabel
@@ -2142,21 +2228,23 @@ spec:
Default is '(.*)'
displayName: Regex
path: remoteWrite.client.relabelConfigs[0].regex
- - description: Replacement value against which a regex replace is performed
- if the regular expression matches. Regex capture groups are available. Default
- is '$1'
+ - description: |-
+ Replacement value against which a regex replace is performed if the
+ regular expression matches. Regex capture groups are available. Default is '$1'
displayName: Replacement
path: remoteWrite.client.relabelConfigs[0].replacement
- description: Separator placed between concatenated source label values. default
is ';'.
displayName: Separator
path: remoteWrite.client.relabelConfigs[0].separator
- - description: The source labels select values from existing labels. Their content
- is concatenated using the configured separator and matched against the configured
- regular expression for the replace, keep, and drop actions.
+ - description: |-
+ The source labels select values from existing labels. Their content is concatenated
+ using the configured separator and matched against the configured regular expression
+ for the replace, keep, and drop actions.
displayName: Source Labels
path: remoteWrite.client.relabelConfigs[0].sourceLabels
- - description: Label to which the resulting value is written in a replace action.
+ - description: |-
+ Label to which the resulting value is written in a replace action.
It is mandatory for replace actions. Regex capture groups are available.
displayName: Target Label
path: remoteWrite.client.relabelConfigs[0].targetLabel
diff --git a/operator/config/overlays/community-openshift/kustomization.yaml b/operator/config/overlays/community-openshift/kustomization.yaml
index c0d952afd73f5..19f9b91b1512e 100644
--- a/operator/config/overlays/community-openshift/kustomization.yaml
+++ b/operator/config/overlays/community-openshift/kustomization.yaml
@@ -1,3 +1,6 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+
resources:
- ./../openshift
@@ -5,24 +8,21 @@ resources:
namespace: kubernetes-operators
labels:
-- pairs:
+- includeSelectors: true
+ pairs:
+ app.kubernetes.io/managed-by: operator-lifecycle-manager
app.kubernetes.io/name: loki-operator
app.kubernetes.io/part-of: loki-operator
- app.kubernetes.io/managed-by: operator-lifecycle-manager
- includeSelectors: true
- pairs:
app.kubernetes.io/instance: loki-operator-v0.6.0
app.kubernetes.io/version: "0.6.0"
configMapGenerator:
-- files:
+- behavior: replace
+ files:
- controller_manager_config.yaml
name: manager-config
- behavior: replace
-patchesStrategicMerge:
-- manager_related_image_patch.yaml
-- prometheus_service_monitor_patch.yaml
images:
- name: controller
diff --git a/operator/config/overlays/community/kustomization.yaml b/operator/config/overlays/community/kustomization.yaml
index 7caaab03255cc..007fa0c8a9e64 100644
--- a/operator/config/overlays/community/kustomization.yaml
+++ b/operator/config/overlays/community/kustomization.yaml
@@ -1,3 +1,6 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+
resources:
- ../../crd
- ../../rbac
@@ -16,11 +19,11 @@ namespace: loki-operator
namePrefix: loki-operator-
labels:
-- pairs:
+- includeSelectors: true
+ pairs:
+ app.kubernetes.io/managed-by: operator-lifecycle-manager
app.kubernetes.io/name: loki-operator
app.kubernetes.io/part-of: loki-operator
- app.kubernetes.io/managed-by: operator-lifecycle-manager
- includeSelectors: true
- pairs:
app.kubernetes.io/instance: loki-operator-v0.6.0
app.kubernetes.io/version: "0.6.0"
@@ -33,12 +36,6 @@ configMapGenerator:
- controller_manager_config.yaml
name: manager-config
-patchesStrategicMerge:
-- manager_auth_proxy_patch.yaml
-- manager_related_image_patch.yaml
-- manager_run_flags_patch.yaml
-- manager_webhook_patch.yaml
-- webhookcainjection_patch.yaml
images:
- name: controller
@@ -46,31 +43,109 @@ images:
newTag: 0.6.0
# the following config is for teaching kustomize how to do var substitution
-vars:
# [CERTMANAGER] To enable cert-manager, uncomment all sections with 'CERTMANAGER' prefix.
-- name: CERTIFICATE_NAMESPACE # namespace of the certificate CR
- objref:
- kind: Certificate
- group: cert-manager.io
- version: v1
- name: serving-cert # this name should match the one in certificate.yaml
- fieldref:
- fieldpath: metadata.namespace
-- name: CERTIFICATE_NAME
- objref:
- kind: Certificate
- group: cert-manager.io
- version: v1
- name: serving-cert # this name should match the one in certificate.yaml
-- name: SERVICE_NAMESPACE # namespace of the service
- objref:
- kind: Service
- version: v1
- name: webhook-service
- fieldref:
- fieldpath: metadata.namespace
-- name: SERVICE_NAME
- objref:
- kind: Service
- version: v1
- name: webhook-service
+patches:
+- path: manager_auth_proxy_patch.yaml
+- path: manager_related_image_patch.yaml
+- path: manager_run_flags_patch.yaml
+- path: manager_webhook_patch.yaml
+- path: webhookcainjection_patch.yaml
+# [CERTMANAGER] To enable cert-manager, uncomment all sections with 'CERTMANAGER' prefix.
+# Uncomment the following replacements to add the cert-manager CA injection annotations
+replacements:
+ - source: # Add cert-manager annotation to ValidatingWebhookConfiguration, MutatingWebhookConfiguration and CRDs
+ kind: Certificate
+ group: cert-manager.io
+ version: v1
+ name: serving-cert # this name should match the one in certificate.yaml
+ fieldPath: .metadata.namespace # namespace of the certificate CR
+ targets:
+ - select:
+ kind: ValidatingWebhookConfiguration
+ fieldPaths:
+ - .metadata.annotations.[cert-manager.io/inject-ca-from]
+ options:
+ delimiter: '/'
+ index: 0
+ create: true
+ - select:
+ kind: MutatingWebhookConfiguration
+ fieldPaths:
+ - .metadata.annotations.[cert-manager.io/inject-ca-from]
+ options:
+ delimiter: '/'
+ index: 0
+ create: true
+ - select:
+ kind: CustomResourceDefinition
+ fieldPaths:
+ - .metadata.annotations.[cert-manager.io/inject-ca-from]
+ options:
+ delimiter: '/'
+ index: 0
+ create: true
+ - source:
+ kind: Certificate
+ group: cert-manager.io
+ version: v1
+ name: serving-cert # this name should match the one in certificate.yaml
+ fieldPath: .metadata.name
+ targets:
+ - select:
+ kind: ValidatingWebhookConfiguration
+ fieldPaths:
+ - .metadata.annotations.[cert-manager.io/inject-ca-from]
+ options:
+ delimiter: '/'
+ index: 1
+ create: true
+ - select:
+ kind: MutatingWebhookConfiguration
+ fieldPaths:
+ - .metadata.annotations.[cert-manager.io/inject-ca-from]
+ options:
+ delimiter: '/'
+ index: 1
+ create: true
+ - select:
+ kind: CustomResourceDefinition
+ fieldPaths:
+ - .metadata.annotations.[cert-manager.io/inject-ca-from]
+ options:
+ delimiter: '/'
+ index: 1
+ create: true
+ - source: # Add cert-manager annotation to the webhook Service
+ kind: Service
+ version: v1
+ name: webhook-service
+ fieldPath: .metadata.name # namespace of the service
+ targets:
+ - select:
+ kind: Certificate
+ group: cert-manager.io
+ version: v1
+ fieldPaths:
+ - .spec.dnsNames.0
+ - .spec.dnsNames.1
+ options:
+ delimiter: '.'
+ index: 0
+ create: true
+ - source:
+ kind: Service
+ version: v1
+ name: webhook-service
+ fieldPath: .metadata.namespace # namespace of the service
+ targets:
+ - select:
+ kind: Certificate
+ group: cert-manager.io
+ version: v1
+ fieldPaths:
+ - .spec.dnsNames.0
+ - .spec.dnsNames.1
+ options:
+ delimiter: '.'
+ index: 1
+ create: true
diff --git a/operator/config/overlays/community/webhookcainjection_patch.yaml b/operator/config/overlays/community/webhookcainjection_patch.yaml
index cbcbf762a647b..40c40fe3ced15 100644
--- a/operator/config/overlays/community/webhookcainjection_patch.yaml
+++ b/operator/config/overlays/community/webhookcainjection_patch.yaml
@@ -1,5 +1,5 @@
# This patch add annotation to admission webhook config and
-# the variables $(CERTIFICATE_NAMESPACE) and $(CERTIFICATE_NAME) will be substituted by kustomize.
+# the variables CERTIFICATE_NAMESPACE_PLACEHOLDER and CERTIFICATE_NAME_PLACEHOLDER will be substituted by kustomize.
#
# [WEBHOOK] To enable mutating webhook hook, uncomment the following section
#
@@ -8,11 +8,11 @@
# metadata:
# name: mutating-webhook-configuration
# annotations:
-# cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME)
+# cert-manager.io/inject-ca-from: CERTIFICATE_NAMESPACE_PLACEHOLDER/CERTIFICATE_NAME_PLACEHOLDER
---
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
name: validating-webhook-configuration
annotations:
- cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME)
+ cert-manager.io/inject-ca-from: CERTIFICATE_NAMESPACE_PLACEHOLDER/CERTIFICATE_NAME_PLACEHOLDER
diff --git a/operator/config/overlays/openshift/auth_proxy_service_annotations_patch.yaml b/operator/config/overlays/openshift/auth_proxy_service_annotations_patch.yaml
index a24f8b83bc8ca..a2b8d2e84c4bb 100644
--- a/operator/config/overlays/openshift/auth_proxy_service_annotations_patch.yaml
+++ b/operator/config/overlays/openshift/auth_proxy_service_annotations_patch.yaml
@@ -3,5 +3,4 @@ kind: Service
metadata:
annotations:
service.beta.openshift.io/serving-cert-secret-name: loki-operator-metrics
- labels:
name: controller-manager-metrics-service
diff --git a/operator/config/overlays/openshift/kustomization.yaml b/operator/config/overlays/openshift/kustomization.yaml
index cdd65f1cbeafc..29c420ed2f43a 100644
--- a/operator/config/overlays/openshift/kustomization.yaml
+++ b/operator/config/overlays/openshift/kustomization.yaml
@@ -1,3 +1,6 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+
resources:
- ../../crd
- ../../rbac
@@ -17,14 +20,14 @@ namespace: openshift-operators-redhat
namePrefix: loki-operator-
labels:
-- pairs:
+- includeSelectors: true
+ pairs:
+ app.kubernetes.io/managed-by: operator-lifecycle-manager
app.kubernetes.io/name: loki-operator
app.kubernetes.io/part-of: cluster-logging
- app.kubernetes.io/managed-by: operator-lifecycle-manager
- includeSelectors: true
- pairs:
app.kubernetes.io/instance: loki-operator-0.1.0
- app.kubernetes.io/version: "0.1.0"
+ app.kubernetes.io/version: 0.1.0
generatorOptions:
disableNameSuffixHash: true
@@ -34,16 +37,17 @@ configMapGenerator:
- controller_manager_config.yaml
name: manager-config
-patchesStrategicMerge:
-- auth_proxy_service_annotations_patch.yaml
-- manager_auth_proxy_patch.yaml
-- manager_related_image_patch.yaml
-- manager_run_flags_patch.yaml
-- manager_security_context_patch.yaml
-- manager_webhook_patch.yaml
-- prometheus_service_monitor_patch.yaml
images:
- name: controller
newName: quay.io/openshift-logging/loki-operator
newTag: 0.1.0
+
+patches:
+- path: auth_proxy_service_annotations_patch.yaml
+- path: manager_auth_proxy_patch.yaml
+- path: manager_related_image_patch.yaml
+- path: manager_run_flags_patch.yaml
+- path: manager_security_context_patch.yaml
+- path: manager_webhook_patch.yaml
+- path: prometheus_service_monitor_patch.yaml
diff --git a/operator/config/scorecard/kustomization.yaml b/operator/config/scorecard/kustomization.yaml
index d73509ee73fa9..814b71282d560 100644
--- a/operator/config/scorecard/kustomization.yaml
+++ b/operator/config/scorecard/kustomization.yaml
@@ -1,16 +1,19 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+
resources:
- bases/config.yaml
-patchesJson6902:
+
+patches:
- path: patches/basic.config.yaml
target:
group: scorecard.operatorframework.io
- version: v1alpha3
kind: Configuration
name: config
+ version: v1alpha3
- path: patches/olm.config.yaml
target:
group: scorecard.operatorframework.io
- version: v1alpha3
kind: Configuration
name: config
-# +kubebuilder:scaffold:patchesJson6902
+ version: v1alpha3
diff --git a/operator/config/webhook/kustomizeconfig.yaml b/operator/config/webhook/kustomizeconfig.yaml
index 25e21e3c963f0..30293f0f5d90f 100644
--- a/operator/config/webhook/kustomizeconfig.yaml
+++ b/operator/config/webhook/kustomizeconfig.yaml
@@ -20,6 +20,3 @@ namespace:
group: admissionregistration.k8s.io
path: webhooks/clientConfig/service/namespace
create: true
-
-varReference:
-- path: metadata/annotations
diff --git a/operator/docs/operator/api.md b/operator/docs/operator/api.md
index 7dd2bf6b9c2c2..6bac7b57332e5 100644
--- a/operator/docs/operator/api.md
+++ b/operator/docs/operator/api.md
@@ -995,7 +995,7 @@ BlockedQueryTypes
## BlockedQueryTypes { #loki-grafana-com-v1-BlockedQueryTypes }
-([]github.com/grafana/loki/operator/apis/loki/v1.BlockedQueryType
alias)
+([]github.com/grafana/loki/operator/api/loki/v1.BlockedQueryType
alias)
(Appears on:BlockedQuerySpec)
@@ -1404,7 +1404,7 @@ LimitsTemplateSpectenants
map[github.com/grafana/loki/operator/apis/loki/v1.PodStatus][]string
alias)
+(map[github.com/grafana/loki/operator/api/loki/v1.PodStatus][]string
alias)
(Appears on:LokiStackComponentStatus)
@@ -4247,7 +4247,7 @@ RemoteWriteSpecoverrides
tenants
overrides