From 6c4b6140a67eee6dc3008380e57474b87e32831c Mon Sep 17 00:00:00 2001 From: Periklis Tsirakidis Date: Mon, 21 Oct 2024 13:38:40 +0200 Subject: [PATCH] refactor(operator)!: Migrate project layout to kubebuilder go/v4 (#14447) --- operator/.bingo/Variables.mk | 6 +- operator/.bingo/kustomize.mod | 8 +- operator/.bingo/kustomize.sum | 471 ++-------------- operator/.bingo/operator-sdk.mod | 2 +- operator/.bingo/variables.env | 2 +- operator/CHANGELOG.md | 1 + operator/Dockerfile | 7 +- operator/Dockerfile.cross | 7 +- operator/Makefile | 24 +- operator/PROJECT | 18 +- operator/{apis => api}/config/v1/doc.go | 0 .../config/v1/projectconfig_types.go | 0 .../config/v1/zz_generated.deepcopy.go | 0 operator/{apis => api}/loki/go.mod | 2 +- operator/{apis => api}/loki/go.sum | 0 operator/{apis => api}/loki/register.go | 0 .../loki/v1/alertingrule_types.go | 0 operator/{apis => api}/loki/v1/doc.go | 0 .../loki/v1/groupversion_info.go | 0 .../{apis => api}/loki/v1/lokistack_types.go | 0 .../loki/v1/recordingrule_types.go | 0 .../loki/v1/rulerconfig_types.go | 0 operator/{apis => api}/loki/v1/v1.go | 0 .../loki/v1/zz_generated.deepcopy.go | 0 .../loki/v1beta1/alertingrule_types.go | 2 +- .../loki/v1beta1/alertingrule_types_test.go | 4 +- operator/{apis => api}/loki/v1beta1/doc.go | 0 .../loki/v1beta1/groupversion_info.go | 0 .../loki/v1beta1/lokistack_types.go | 2 +- .../loki/v1beta1/lokistack_types_test.go | 4 +- .../loki/v1beta1/recordingrule_types.go | 2 +- .../loki/v1beta1/recordingrule_types_test.go | 4 +- .../loki/v1beta1/rulerconfig_types.go | 2 +- .../loki/v1beta1/rulerconfig_types_test.go | 4 +- .../{apis => api}/loki/v1beta1/v1beta1.go | 0 .../loki/v1beta1/zz_generated.deepcopy.go | 0 .../community-openshift/bundle.Dockerfile | 2 +- ...nitoring.coreos.com_v1_servicemonitor.yaml | 2 +- .../loki-operator.clusterserviceversion.yaml | 330 ++++++----- .../metadata/annotations.yaml | 2 +- operator/bundle/community/bundle.Dockerfile | 2 +- .../loki-operator.clusterserviceversion.yaml | 326 ++++++----- .../loki.grafana.com_alertingrules.yaml | 1 + .../loki.grafana.com_lokistacks.yaml | 1 + .../loki.grafana.com_recordingrules.yaml | 1 + .../loki.grafana.com_rulerconfigs.yaml | 1 + .../community/metadata/annotations.yaml | 2 +- operator/bundle/openshift/bundle.Dockerfile | 2 +- .../loki-operator.clusterserviceversion.yaml | 326 ++++++----- .../openshift/metadata/annotations.yaml | 2 +- operator/cmd/loki-broker/main.go | 4 +- operator/{ => cmd/loki-operator}/main.go | 8 +- operator/config/certmanager/certificate.yaml | 6 +- operator/config/crd/kustomization.yaml | 14 +- operator/config/docs/config.json | 12 +- .../loki-operator.clusterserviceversion.yaml | 520 ++++++++++-------- .../loki-operator.clusterserviceversion.yaml | 520 ++++++++++-------- .../loki-operator.clusterserviceversion.yaml | 520 ++++++++++-------- .../community-openshift/kustomization.yaml | 16 +- .../overlays/community/kustomization.yaml | 147 +++-- .../community/webhookcainjection_patch.yaml | 6 +- .../auth_proxy_service_annotations_patch.yaml | 1 - .../overlays/openshift/kustomization.yaml | 28 +- operator/config/scorecard/kustomization.yaml | 11 +- operator/config/webhook/kustomizeconfig.yaml | 3 - operator/docs/operator/api.md | 12 +- operator/go.mod | 4 +- operator/internal/certrotation/build.go | 2 +- operator/internal/certrotation/build_test.go | 2 +- operator/internal/certrotation/options.go | 2 +- operator/internal/certrotation/target_test.go | 2 +- operator/internal/config/loader.go | 2 +- operator/internal/config/options.go | 2 +- .../loki/alertingrule_controller.go | 6 +- .../loki/certrotation_controller.go | 10 +- .../loki/certrotation_controller_test.go | 4 +- .../controller}/loki/dashboards_controller.go | 4 +- .../lokistack/certrotation_discovery.go | 2 +- .../lokistack/ruler_config_discovery.go | 2 +- .../internal/lokistack/rules_discovery.go | 2 +- .../loki/internal/lokistack/update.go | 2 +- .../loki/internal/management/state/state.go | 2 +- .../internal/management/state/state_test.go | 9 +- .../controller}/loki/lokistack_controller.go | 8 +- .../loki/lokistack_controller_test.go | 6 +- .../lokistack_zone_labeling_controller.go | 4 +- ...lokistack_zone_labeling_controller_test.go | 2 +- .../loki/recordingrule_controller.go | 6 +- .../loki/rulerconfig_controller.go | 6 +- .../internal/handlers/credentialsrequest.go | 2 +- .../handlers/credentialsrequest_test.go | 2 +- .../handlers/dashboards_create_test.go | 2 +- .../handlers/internal/certificates/options.go | 2 +- .../internal/certificates/options_test.go | 2 +- .../handlers/internal/gateway/base_domain.go | 2 +- .../handlers/internal/gateway/gateway.go | 4 +- .../handlers/internal/gateway/gateway_test.go | 4 +- .../handlers/internal/gateway/modes.go | 2 +- .../handlers/internal/gateway/modes_test.go | 2 +- .../internal/gateway/tenant_configsecret.go | 2 +- .../gateway/tenant_configsecret_test.go | 2 +- .../internal/gateway/tenant_secrets.go | 2 +- .../internal/gateway/tenant_secrets_test.go | 2 +- .../internal/openshift/alertmanager.go | 2 +- .../handlers/internal/openshift/proxy.go | 2 +- .../handlers/internal/rules/cleanup.go | 2 +- .../handlers/internal/rules/cleanup_test.go | 2 +- .../handlers/internal/rules/config.go | 2 +- .../internal/handlers/internal/rules/rules.go | 2 +- .../handlers/internal/rules/rules_test.go | 2 +- .../handlers/internal/rules/secrets.go | 2 +- .../handlers/internal/rules/secrets_test.go | 2 +- .../handlers/internal/storage/ca_configmap.go | 2 +- .../handlers/internal/storage/secrets.go | 4 +- .../handlers/internal/storage/secrets_test.go | 4 +- .../handlers/internal/storage/storage.go | 4 +- .../handlers/internal/storage/storage_test.go | 4 +- .../internal/tlsprofile/tlsprofile.go | 2 +- .../internal/tlsprofile/tlsprofile_test.go | 2 +- .../handlers/lokistack_check_cert_expiry.go | 4 +- .../lokistack_check_cert_expiry_test.go | 2 +- .../handlers/lokistack_create_or_update.go | 4 +- .../lokistack_create_or_update_test.go | 4 +- .../lokistack_enable_zone_awareness.go | 2 +- .../lokistack_enable_zone_awareness_test.go | 2 +- .../handlers/lokistack_rotate_certs.go | 4 +- .../handlers/lokistack_rotate_certs_test.go | 2 +- operator/internal/manifests/build.go | 2 +- operator/internal/manifests/build_test.go | 4 +- operator/internal/manifests/compactor_test.go | 2 +- operator/internal/manifests/config.go | 2 +- operator/internal/manifests/config_test.go | 2 +- .../internal/manifests/distributor_test.go | 2 +- .../internal/manifests/gateway_tenants.go | 4 +- .../manifests/gateway_tenants_test.go | 4 +- operator/internal/manifests/gateway_test.go | 4 +- .../internal/manifests/indexgateway_test.go | 2 +- operator/internal/manifests/ingester_test.go | 4 +- .../manifests/internal/config/build_test.go | 4 +- .../manifests/internal/config/options.go | 4 +- .../manifests/internal/gateway/build.go | 2 +- .../manifests/internal/gateway/build_test.go | 2 +- .../manifests/internal/gateway/options.go | 2 +- .../manifests/internal/rules/marshal.go | 2 +- .../manifests/internal/rules/marshal_test.go | 2 +- operator/internal/manifests/internal/sizes.go | 2 +- operator/internal/manifests/memberlist.go | 2 +- .../internal/manifests/memberlist_test.go | 2 +- operator/internal/manifests/node_placement.go | 2 +- .../internal/manifests/node_placement_test.go | 4 +- .../manifests/openshift/alertingrule.go | 2 +- .../manifests/openshift/alertingrule_test.go | 2 +- .../manifests/openshift/build_test.go | 2 +- .../internal/manifests/openshift/configure.go | 2 +- .../manifests/openshift/opa_openshift.go | 2 +- .../internal/manifests/openshift/options.go | 2 +- .../manifests/openshift/recordingrule.go | 2 +- .../manifests/openshift/recordingrule_test.go | 2 +- operator/internal/manifests/options.go | 4 +- operator/internal/manifests/options_test.go | 2 +- operator/internal/manifests/proxy_env.go | 2 +- operator/internal/manifests/proxy_env_test.go | 2 +- operator/internal/manifests/querier_test.go | 2 +- .../internal/manifests/query-frontend_test.go | 2 +- operator/internal/manifests/ruler.go | 2 +- operator/internal/manifests/ruler_test.go | 2 +- operator/internal/manifests/rules_config.go | 2 +- .../internal/manifests/rules_config_test.go | 2 +- .../manifests/service_monitor_test.go | 4 +- operator/internal/manifests/service_test.go | 4 +- .../internal/manifests/serviceaccount_test.go | 2 +- .../internal/manifests/storage/configure.go | 2 +- .../manifests/storage/configure_test.go | 2 +- .../internal/manifests/storage/options.go | 2 +- operator/internal/manifests/storage/schema.go | 2 +- .../internal/manifests/storage/schema_test.go | 2 +- operator/internal/manifests/var.go | 2 +- operator/internal/metrics/lokistack.go | 2 +- operator/internal/metrics/lokistack_test.go | 2 +- operator/internal/status/components.go | 2 +- operator/internal/status/components_test.go | 2 +- operator/internal/status/conditions_test.go | 2 +- operator/internal/status/lokistack.go | 2 +- operator/internal/status/lokistack_test.go | 2 +- operator/internal/status/status.go | 2 +- operator/internal/status/status_test.go | 2 +- operator/internal/status/storage.go | 2 +- operator/internal/status/storage_test.go | 2 +- operator/internal/validation/alertingrule.go | 2 +- .../internal/validation/alertingrule_test.go | 2 +- operator/internal/validation/lokistack.go | 2 +- .../internal/validation/lokistack_test.go | 2 +- .../validation/openshift/alertingrule.go | 2 +- .../validation/openshift/alertingrule_test.go | 2 +- .../internal/validation/openshift/common.go | 2 +- .../validation/openshift/recordingrule.go | 2 +- .../openshift/recordingrule_test.go | 2 +- operator/internal/validation/recordingrule.go | 2 +- .../internal/validation/recordingrule_test.go | 2 +- operator/internal/validation/rulerconfig.go | 2 +- .../internal/validation/rulerconfig_test.go | 2 +- 201 files changed, 1957 insertions(+), 1800 deletions(-) rename operator/{apis => api}/config/v1/doc.go (100%) rename operator/{apis => api}/config/v1/projectconfig_types.go (100%) rename operator/{apis => api}/config/v1/zz_generated.deepcopy.go (100%) rename operator/{apis => api}/loki/go.mod (95%) rename operator/{apis => api}/loki/go.sum (100%) rename operator/{apis => api}/loki/register.go (100%) rename operator/{apis => api}/loki/v1/alertingrule_types.go (100%) rename operator/{apis => api}/loki/v1/doc.go (100%) rename operator/{apis => api}/loki/v1/groupversion_info.go (100%) rename operator/{apis => api}/loki/v1/lokistack_types.go (100%) rename operator/{apis => api}/loki/v1/recordingrule_types.go (100%) rename operator/{apis => api}/loki/v1/rulerconfig_types.go (100%) rename operator/{apis => api}/loki/v1/v1.go (100%) rename operator/{apis => api}/loki/v1/zz_generated.deepcopy.go (100%) rename operator/{apis => api}/loki/v1beta1/alertingrule_types.go (99%) rename operator/{apis => api}/loki/v1beta1/alertingrule_types_test.go (98%) rename operator/{apis => api}/loki/v1beta1/doc.go (100%) rename operator/{apis => api}/loki/v1beta1/groupversion_info.go (100%) rename operator/{apis => api}/loki/v1beta1/lokistack_types.go (99%) rename operator/{apis => api}/loki/v1beta1/lokistack_types_test.go (99%) rename operator/{apis => api}/loki/v1beta1/recordingrule_types.go (99%) rename operator/{apis => api}/loki/v1beta1/recordingrule_types_test.go (98%) rename operator/{apis => api}/loki/v1beta1/rulerconfig_types.go (99%) rename operator/{apis => api}/loki/v1beta1/rulerconfig_types_test.go (99%) rename operator/{apis => api}/loki/v1beta1/v1beta1.go (100%) rename operator/{apis => api}/loki/v1beta1/zz_generated.deepcopy.go (100%) rename operator/{ => cmd/loki-operator}/main.go (96%) rename operator/{controllers => internal/controller}/loki/alertingrule_controller.go (92%) rename operator/{controllers => internal/controller}/loki/certrotation_controller.go (91%) rename operator/{controllers => internal/controller}/loki/certrotation_controller_test.go (95%) rename operator/{controllers => internal/controller}/loki/dashboards_controller.go (97%) rename operator/{controllers => internal/controller}/loki/internal/lokistack/certrotation_discovery.go (95%) rename operator/{controllers => internal/controller}/loki/internal/lokistack/ruler_config_discovery.go (97%) rename operator/{controllers => internal/controller}/loki/internal/lokistack/rules_discovery.go (95%) rename operator/{controllers => internal/controller}/loki/internal/lokistack/update.go (96%) rename operator/{controllers => internal/controller}/loki/internal/management/state/state.go (92%) rename operator/{controllers => internal/controller}/loki/internal/management/state/state_test.go (91%) rename operator/{controllers => internal/controller}/loki/lokistack_controller.go (98%) rename operator/{controllers => internal/controller}/loki/lokistack_controller_test.go (98%) rename operator/{controllers => internal/controller}/loki/lokistack_zone_labeling_controller.go (97%) rename operator/{controllers => internal/controller}/loki/lokistack_zone_labeling_controller_test.go (98%) rename operator/{controllers => internal/controller}/loki/recordingrule_controller.go (92%) rename operator/{controllers => internal/controller}/loki/rulerconfig_controller.go (92%) 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 @@ LimitsTemplateSpec tenants
-map[string]github.com/grafana/loki/operator/apis/loki/v1.PerTenantLimitsTemplateSpec +map[string]github.com/grafana/loki/operator/api/loki/v1.PerTenantLimitsTemplateSpec @@ -3058,7 +3058,7 @@ At least one container is still running or is in the process of being restarted. ## PodStatusMap { #loki-grafana-com-v1-PodStatusMap } -(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 @@ RemoteWriteSpec overrides
-map[string]github.com/grafana/loki/operator/apis/loki/v1.RulerOverrides +map[string]github.com/grafana/loki/operator/api/loki/v1.RulerOverrides @@ -5620,7 +5620,7 @@ LimitsTemplateSpec tenants
-map[string]github.com/grafana/loki/operator/apis/loki/v1beta1.LimitsTemplateSpec +map[string]github.com/grafana/loki/operator/api/loki/v1beta1.LimitsTemplateSpec @@ -7841,7 +7841,7 @@ RemoteWriteSpec overrides
-map[string]github.com/grafana/loki/operator/apis/loki/v1beta1.RulerOverrides +map[string]github.com/grafana/loki/operator/api/loki/v1beta1.RulerOverrides diff --git a/operator/go.mod b/operator/go.mod index 4c22bd55daa7b..6b3ae5c322757 100644 --- a/operator/go.mod +++ b/operator/go.mod @@ -10,7 +10,7 @@ require ( github.com/google/go-cmp v0.6.0 github.com/google/uuid v1.4.0 github.com/grafana/loki v1.6.2-0.20230403212622-90888a0cc737 - github.com/grafana/loki/operator/apis/loki v0.0.0-00010101000000-000000000000 + github.com/grafana/loki/operator/api/loki v0.0.0-00010101000000-000000000000 github.com/imdario/mergo v0.3.16 github.com/maxbrunsfeld/counterfeiter/v6 v6.9.0 github.com/openshift/api v0.0.0-20240228005710-4511c790cc60 // release-4.15 @@ -162,7 +162,7 @@ require ( sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect ) -replace github.com/grafana/loki/operator/apis/loki => ./apis/loki +replace github.com/grafana/loki/operator/api/loki => ./api/loki // Replace v2.4.0+incompatible indirect refs with v5.1.1 for compatibility with google.golang.org/grpc >=v1.56.3 replace github.com/sercand/kuberesolver => github.com/sercand/kuberesolver/v5 v5.1.1 diff --git a/operator/internal/certrotation/build.go b/operator/internal/certrotation/build.go index 8def711c62dbc..b93c8db3e06bf 100644 --- a/operator/internal/certrotation/build.go +++ b/operator/internal/certrotation/build.go @@ -8,7 +8,7 @@ import ( "k8s.io/apiserver/pkg/authentication/user" "sigs.k8s.io/controller-runtime/pkg/client" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" ) var defaultUserInfo = &user.DefaultInfo{Name: "system:lokistacks", Groups: []string{"system:logging"}} diff --git a/operator/internal/certrotation/build_test.go b/operator/internal/certrotation/build_test.go index 47845765eb49c..0e02d83b5bb94 100644 --- a/operator/internal/certrotation/build_test.go +++ b/operator/internal/certrotation/build_test.go @@ -10,7 +10,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/sets" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" ) func TestBuildAll(t *testing.T) { diff --git a/operator/internal/certrotation/options.go b/operator/internal/certrotation/options.go index 5954ec678517d..b6a878ff15b64 100644 --- a/operator/internal/certrotation/options.go +++ b/operator/internal/certrotation/options.go @@ -8,7 +8,7 @@ import ( "github.com/openshift/library-go/pkg/crypto" corev1 "k8s.io/api/core/v1" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" ) // ComponentCertificates is a map of lokistack component names to TLS certificates diff --git a/operator/internal/certrotation/target_test.go b/operator/internal/certrotation/target_test.go index 71efc5e70cfdf..dfefb329eea3d 100644 --- a/operator/internal/certrotation/target_test.go +++ b/operator/internal/certrotation/target_test.go @@ -10,7 +10,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/util/cert" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" ) func TestCertificatesExpired(t *testing.T) { diff --git a/operator/internal/config/loader.go b/operator/internal/config/loader.go index b5af090ddb887..d3e7fc21dddd5 100644 --- a/operator/internal/config/loader.go +++ b/operator/internal/config/loader.go @@ -8,7 +8,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/serializer" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" ) var errConfigFileLoading = errors.New("could not read file at path") diff --git a/operator/internal/config/options.go b/operator/internal/config/options.go index 33ce3cfde91f2..8c2f1b42ae864 100644 --- a/operator/internal/config/options.go +++ b/operator/internal/config/options.go @@ -12,7 +12,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/manager" "sigs.k8s.io/controller-runtime/pkg/webhook" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" ) // LoadConfig initializes the controller configuration, optionally overriding the defaults diff --git a/operator/controllers/loki/alertingrule_controller.go b/operator/internal/controller/loki/alertingrule_controller.go similarity index 92% rename from operator/controllers/loki/alertingrule_controller.go rename to operator/internal/controller/loki/alertingrule_controller.go index 8840141d63e5e..84890d553100c 100644 --- a/operator/controllers/loki/alertingrule_controller.go +++ b/operator/internal/controller/loki/alertingrule_controller.go @@ -1,4 +1,4 @@ -package controllers +package loki import ( "context" @@ -11,8 +11,8 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/handler" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" - "github.com/grafana/loki/operator/controllers/loki/internal/lokistack" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" + "github.com/grafana/loki/operator/internal/controller/loki/internal/lokistack" ) // AlertingRuleReconciler reconciles a AlertingRule object diff --git a/operator/controllers/loki/certrotation_controller.go b/operator/internal/controller/loki/certrotation_controller.go similarity index 91% rename from operator/controllers/loki/certrotation_controller.go rename to operator/internal/controller/loki/certrotation_controller.go index d682d489c6691..b677a32b5990e 100644 --- a/operator/controllers/loki/certrotation_controller.go +++ b/operator/internal/controller/loki/certrotation_controller.go @@ -1,4 +1,4 @@ -package controllers +package loki import ( "context" @@ -11,11 +11,11 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - configv1 "github.com/grafana/loki/operator/apis/config/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" - "github.com/grafana/loki/operator/controllers/loki/internal/lokistack" - "github.com/grafana/loki/operator/controllers/loki/internal/management/state" + configv1 "github.com/grafana/loki/operator/api/config/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/certrotation" + "github.com/grafana/loki/operator/internal/controller/loki/internal/lokistack" + "github.com/grafana/loki/operator/internal/controller/loki/internal/management/state" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/handlers" ) diff --git a/operator/controllers/loki/certrotation_controller_test.go b/operator/internal/controller/loki/certrotation_controller_test.go similarity index 95% rename from operator/controllers/loki/certrotation_controller_test.go rename to operator/internal/controller/loki/certrotation_controller_test.go index a33b8226216e3..7e1936b924877 100644 --- a/operator/controllers/loki/certrotation_controller_test.go +++ b/operator/internal/controller/loki/certrotation_controller_test.go @@ -1,4 +1,4 @@ -package controllers +package loki import ( "testing" @@ -7,7 +7,7 @@ import ( "github.com/stretchr/testify/require" corev1 "k8s.io/api/core/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" ) diff --git a/operator/controllers/loki/dashboards_controller.go b/operator/internal/controller/loki/dashboards_controller.go similarity index 97% rename from operator/controllers/loki/dashboards_controller.go rename to operator/internal/controller/loki/dashboards_controller.go index fde3f107bcd6a..87d2ee15c0dd3 100644 --- a/operator/controllers/loki/dashboards_controller.go +++ b/operator/internal/controller/loki/dashboards_controller.go @@ -1,4 +1,4 @@ -package controllers +package loki import ( "context" @@ -14,7 +14,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/manager" "sigs.k8s.io/controller-runtime/pkg/predicate" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/handlers" ) diff --git a/operator/controllers/loki/internal/lokistack/certrotation_discovery.go b/operator/internal/controller/loki/internal/lokistack/certrotation_discovery.go similarity index 95% rename from operator/controllers/loki/internal/lokistack/certrotation_discovery.go rename to operator/internal/controller/loki/internal/lokistack/certrotation_discovery.go index 1b16b580e6059..377aadf6ee826 100644 --- a/operator/controllers/loki/internal/lokistack/certrotation_discovery.go +++ b/operator/internal/controller/loki/internal/lokistack/certrotation_discovery.go @@ -9,7 +9,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" ) diff --git a/operator/controllers/loki/internal/lokistack/ruler_config_discovery.go b/operator/internal/controller/loki/internal/lokistack/ruler_config_discovery.go similarity index 97% rename from operator/controllers/loki/internal/lokistack/ruler_config_discovery.go rename to operator/internal/controller/loki/internal/lokistack/ruler_config_discovery.go index 6d1852ca03e54..06249caa03230 100644 --- a/operator/controllers/loki/internal/lokistack/ruler_config_discovery.go +++ b/operator/internal/controller/loki/internal/lokistack/ruler_config_discovery.go @@ -8,7 +8,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" ) diff --git a/operator/controllers/loki/internal/lokistack/rules_discovery.go b/operator/internal/controller/loki/internal/lokistack/rules_discovery.go similarity index 95% rename from operator/controllers/loki/internal/lokistack/rules_discovery.go rename to operator/internal/controller/loki/internal/lokistack/rules_discovery.go index ed51722d07bc9..9ea2821ec03df 100644 --- a/operator/controllers/loki/internal/lokistack/rules_discovery.go +++ b/operator/internal/controller/loki/internal/lokistack/rules_discovery.go @@ -8,7 +8,7 @@ import ( "k8s.io/apimachinery/pkg/labels" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" ) diff --git a/operator/controllers/loki/internal/lokistack/update.go b/operator/internal/controller/loki/internal/lokistack/update.go similarity index 96% rename from operator/controllers/loki/internal/lokistack/update.go rename to operator/internal/controller/loki/internal/lokistack/update.go index b16ed815a7310..24fd3dafe6cd6 100644 --- a/operator/controllers/loki/internal/lokistack/update.go +++ b/operator/internal/controller/loki/internal/lokistack/update.go @@ -7,7 +7,7 @@ import ( "k8s.io/client-go/util/retry" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" ) diff --git a/operator/controllers/loki/internal/management/state/state.go b/operator/internal/controller/loki/internal/management/state/state.go similarity index 92% rename from operator/controllers/loki/internal/management/state/state.go rename to operator/internal/controller/loki/internal/management/state/state.go index 759c26e57ba43..13204043ea67c 100644 --- a/operator/controllers/loki/internal/management/state/state.go +++ b/operator/internal/controller/loki/internal/management/state/state.go @@ -7,7 +7,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" ctrl "sigs.k8s.io/controller-runtime" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" ) diff --git a/operator/controllers/loki/internal/management/state/state_test.go b/operator/internal/controller/loki/internal/management/state/state_test.go similarity index 91% rename from operator/controllers/loki/internal/management/state/state_test.go rename to operator/internal/controller/loki/internal/management/state/state_test.go index ab9f00f8b3545..f6f8a9241d0ed 100644 --- a/operator/controllers/loki/internal/management/state/state_test.go +++ b/operator/internal/controller/loki/internal/management/state/state_test.go @@ -1,4 +1,4 @@ -package state_test +package state import ( "context" @@ -13,8 +13,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" - "github.com/grafana/loki/operator/controllers/loki/internal/management/state" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" ) @@ -73,7 +72,7 @@ func TestIsManaged(t *testing.T) { k.SetClientObject(object, &tst.stack) return nil } - ok, err := state.IsManaged(context.TODO(), r, k) + ok, err := IsManaged(context.TODO(), r, k) require.NoError(t, err) require.Equal(t, ok, tst.wantOk) }) @@ -109,7 +108,7 @@ func TestIsManaged_WhenError_ReturnNotManagedWithError(t *testing.T) { for _, tst := range table { t.Run(tst.name, func(t *testing.T) { k.GetReturns(tst.apierror) - ok, err := state.IsManaged(context.TODO(), r, k) + ok, err := IsManaged(context.TODO(), r, k) require.Equal(t, tst.wantErr, err) require.False(t, ok) }) diff --git a/operator/controllers/loki/lokistack_controller.go b/operator/internal/controller/loki/lokistack_controller.go similarity index 98% rename from operator/controllers/loki/lokistack_controller.go rename to operator/internal/controller/loki/lokistack_controller.go index 59c9965cb9fc5..5c7c376d3bd06 100644 --- a/operator/controllers/loki/lokistack_controller.go +++ b/operator/internal/controller/loki/lokistack_controller.go @@ -1,4 +1,4 @@ -package controllers +package loki import ( "context" @@ -26,10 +26,10 @@ import ( "sigs.k8s.io/controller-runtime/pkg/predicate" "sigs.k8s.io/controller-runtime/pkg/reconcile" - configv1 "github.com/grafana/loki/operator/apis/config/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" - "github.com/grafana/loki/operator/controllers/loki/internal/management/state" + configv1 "github.com/grafana/loki/operator/api/config/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/config" + "github.com/grafana/loki/operator/internal/controller/loki/internal/management/state" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/handlers" manifestsocp "github.com/grafana/loki/operator/internal/manifests/openshift" diff --git a/operator/controllers/loki/lokistack_controller_test.go b/operator/internal/controller/loki/lokistack_controller_test.go similarity index 98% rename from operator/controllers/loki/lokistack_controller_test.go rename to operator/internal/controller/loki/lokistack_controller_test.go index a4efc5d3ed45c..0af66748f41d5 100644 --- a/operator/controllers/loki/lokistack_controller_test.go +++ b/operator/internal/controller/loki/lokistack_controller_test.go @@ -1,4 +1,4 @@ -package controllers +package loki import ( "flag" @@ -22,8 +22,8 @@ import ( "sigs.k8s.io/controller-runtime/pkg/builder" "sigs.k8s.io/controller-runtime/pkg/client" - 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/external/k8s/k8sfakes" ) diff --git a/operator/controllers/loki/lokistack_zone_labeling_controller.go b/operator/internal/controller/loki/lokistack_zone_labeling_controller.go similarity index 97% rename from operator/controllers/loki/lokistack_zone_labeling_controller.go rename to operator/internal/controller/loki/lokistack_zone_labeling_controller.go index 1012f6a2f5dc6..a45c06a860f3f 100644 --- a/operator/controllers/loki/lokistack_zone_labeling_controller.go +++ b/operator/internal/controller/loki/lokistack_zone_labeling_controller.go @@ -1,4 +1,4 @@ -package controllers +package loki import ( "context" @@ -14,7 +14,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/handler" "sigs.k8s.io/controller-runtime/pkg/predicate" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/handlers" ) diff --git a/operator/controllers/loki/lokistack_zone_labeling_controller_test.go b/operator/internal/controller/loki/lokistack_zone_labeling_controller_test.go similarity index 98% rename from operator/controllers/loki/lokistack_zone_labeling_controller_test.go rename to operator/internal/controller/loki/lokistack_zone_labeling_controller_test.go index 5fffbe894bf91..a0ec40498de8e 100644 --- a/operator/controllers/loki/lokistack_zone_labeling_controller_test.go +++ b/operator/internal/controller/loki/lokistack_zone_labeling_controller_test.go @@ -1,4 +1,4 @@ -package controllers +package loki import ( "testing" diff --git a/operator/controllers/loki/recordingrule_controller.go b/operator/internal/controller/loki/recordingrule_controller.go similarity index 92% rename from operator/controllers/loki/recordingrule_controller.go rename to operator/internal/controller/loki/recordingrule_controller.go index adb6dbf80f194..75a2c971f1eb9 100644 --- a/operator/controllers/loki/recordingrule_controller.go +++ b/operator/internal/controller/loki/recordingrule_controller.go @@ -1,4 +1,4 @@ -package controllers +package loki import ( "context" @@ -11,8 +11,8 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/handler" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" - "github.com/grafana/loki/operator/controllers/loki/internal/lokistack" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" + "github.com/grafana/loki/operator/internal/controller/loki/internal/lokistack" ) // RecordingRuleReconciler reconciles a RecordingRule object diff --git a/operator/controllers/loki/rulerconfig_controller.go b/operator/internal/controller/loki/rulerconfig_controller.go similarity index 92% rename from operator/controllers/loki/rulerconfig_controller.go rename to operator/internal/controller/loki/rulerconfig_controller.go index 5e827b54e2ffa..901ca5b65d0e1 100644 --- a/operator/controllers/loki/rulerconfig_controller.go +++ b/operator/internal/controller/loki/rulerconfig_controller.go @@ -1,4 +1,4 @@ -package controllers +package loki import ( "context" @@ -8,8 +8,8 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" - "github.com/grafana/loki/operator/controllers/loki/internal/lokistack" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" + "github.com/grafana/loki/operator/internal/controller/loki/internal/lokistack" ) // RulerConfigReconciler reconciles a RulerConfig object diff --git a/operator/internal/handlers/credentialsrequest.go b/operator/internal/handlers/credentialsrequest.go index 9096f15d4026f..7d25bde2c9d27 100644 --- a/operator/internal/handlers/credentialsrequest.go +++ b/operator/internal/handlers/credentialsrequest.go @@ -13,7 +13,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" ctrlutil "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/config" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/manifests" diff --git a/operator/internal/handlers/credentialsrequest_test.go b/operator/internal/handlers/credentialsrequest_test.go index dfb63cf166820..d71995d3de2b7 100644 --- a/operator/internal/handlers/credentialsrequest_test.go +++ b/operator/internal/handlers/credentialsrequest_test.go @@ -13,7 +13,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/config" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" ) diff --git a/operator/internal/handlers/dashboards_create_test.go b/operator/internal/handlers/dashboards_create_test.go index f897b45841543..71001c4760bd7 100644 --- a/operator/internal/handlers/dashboards_create_test.go +++ b/operator/internal/handlers/dashboards_create_test.go @@ -13,7 +13,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" ) diff --git a/operator/internal/handlers/internal/certificates/options.go b/operator/internal/handlers/internal/certificates/options.go index 4aa9d1871112e..b978ae3b0e9f0 100644 --- a/operator/internal/handlers/internal/certificates/options.go +++ b/operator/internal/handlers/internal/certificates/options.go @@ -10,7 +10,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/certrotation" "github.com/grafana/loki/operator/internal/external/k8s" ) diff --git a/operator/internal/handlers/internal/certificates/options_test.go b/operator/internal/handlers/internal/certificates/options_test.go index 56f2080f74a86..de578a6ca5b68 100644 --- a/operator/internal/handlers/internal/certificates/options_test.go +++ b/operator/internal/handlers/internal/certificates/options_test.go @@ -15,7 +15,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" ) diff --git a/operator/internal/handlers/internal/gateway/base_domain.go b/operator/internal/handlers/internal/gateway/base_domain.go index 893659ca5d29b..c1170b70f7edc 100644 --- a/operator/internal/handlers/internal/gateway/base_domain.go +++ b/operator/internal/handlers/internal/gateway/base_domain.go @@ -8,7 +8,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/status" ) diff --git a/operator/internal/handlers/internal/gateway/gateway.go b/operator/internal/handlers/internal/gateway/gateway.go index 0b05801f2e9aa..d37c82866af35 100644 --- a/operator/internal/handlers/internal/gateway/gateway.go +++ b/operator/internal/handlers/internal/gateway/gateway.go @@ -6,8 +6,8 @@ import ( "github.com/go-logr/logr" - 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/external/k8s" "github.com/grafana/loki/operator/internal/handlers/internal/openshift" "github.com/grafana/loki/operator/internal/manifests" diff --git a/operator/internal/handlers/internal/gateway/gateway_test.go b/operator/internal/handlers/internal/gateway/gateway_test.go index 2c8f846f55825..59dcf5821ab40 100644 --- a/operator/internal/handlers/internal/gateway/gateway_test.go +++ b/operator/internal/handlers/internal/gateway/gateway_test.go @@ -15,8 +15,8 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - 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/external/k8s/k8sfakes" "github.com/grafana/loki/operator/internal/status" ) diff --git a/operator/internal/handlers/internal/gateway/modes.go b/operator/internal/handlers/internal/gateway/modes.go index 8fd9855b352dc..46a271361b939 100644 --- a/operator/internal/handlers/internal/gateway/modes.go +++ b/operator/internal/handlers/internal/gateway/modes.go @@ -3,7 +3,7 @@ package gateway import ( "github.com/ViaQ/logerr/v2/kverrors" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) func validateModes(stack *lokiv1.LokiStack) error { diff --git a/operator/internal/handlers/internal/gateway/modes_test.go b/operator/internal/handlers/internal/gateway/modes_test.go index 0d6dd9eb88cd6..20ae7c86ca4da 100644 --- a/operator/internal/handlers/internal/gateway/modes_test.go +++ b/operator/internal/handlers/internal/gateway/modes_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) func TestValidateModes_StaticMode(t *testing.T) { diff --git a/operator/internal/handlers/internal/gateway/tenant_configsecret.go b/operator/internal/handlers/internal/gateway/tenant_configsecret.go index f4e6c493bc069..252ebe7b34495 100644 --- a/operator/internal/handlers/internal/gateway/tenant_configsecret.go +++ b/operator/internal/handlers/internal/gateway/tenant_configsecret.go @@ -9,7 +9,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/yaml" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/manifests" ) diff --git a/operator/internal/handlers/internal/gateway/tenant_configsecret_test.go b/operator/internal/handlers/internal/gateway/tenant_configsecret_test.go index 15e85a2295465..5c1020fd48b3d 100644 --- a/operator/internal/handlers/internal/gateway/tenant_configsecret_test.go +++ b/operator/internal/handlers/internal/gateway/tenant_configsecret_test.go @@ -12,7 +12,7 @@ import ( "k8s.io/apimachinery/pkg/types" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" "github.com/grafana/loki/operator/internal/manifests" ) diff --git a/operator/internal/handlers/internal/gateway/tenant_secrets.go b/operator/internal/handlers/internal/gateway/tenant_secrets.go index 6cc39ae05e254..84bcf1b8c07f1 100644 --- a/operator/internal/handlers/internal/gateway/tenant_secrets.go +++ b/operator/internal/handlers/internal/gateway/tenant_secrets.go @@ -9,7 +9,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/manifests" "github.com/grafana/loki/operator/internal/status" diff --git a/operator/internal/handlers/internal/gateway/tenant_secrets_test.go b/operator/internal/handlers/internal/gateway/tenant_secrets_test.go index 52c1476059174..7094416b03028 100644 --- a/operator/internal/handlers/internal/gateway/tenant_secrets_test.go +++ b/operator/internal/handlers/internal/gateway/tenant_secrets_test.go @@ -11,7 +11,7 @@ import ( "k8s.io/apimachinery/pkg/types" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" "github.com/grafana/loki/operator/internal/manifests" ) diff --git a/operator/internal/handlers/internal/openshift/alertmanager.go b/operator/internal/handlers/internal/openshift/alertmanager.go index d470bf6ffe6df..0ee614d596549 100644 --- a/operator/internal/handlers/internal/openshift/alertmanager.go +++ b/operator/internal/handlers/internal/openshift/alertmanager.go @@ -8,7 +8,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/manifests/openshift" ) diff --git a/operator/internal/handlers/internal/openshift/proxy.go b/operator/internal/handlers/internal/openshift/proxy.go index 4f5c2c022e901..10d2330c104e6 100644 --- a/operator/internal/handlers/internal/openshift/proxy.go +++ b/operator/internal/handlers/internal/openshift/proxy.go @@ -7,7 +7,7 @@ import ( "k8s.io/apimachinery/pkg/api/errors" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" ) diff --git a/operator/internal/handlers/internal/rules/cleanup.go b/operator/internal/handlers/internal/rules/cleanup.go index abd5bacd5c032..faabe70d4ea82 100644 --- a/operator/internal/handlers/internal/rules/cleanup.go +++ b/operator/internal/handlers/internal/rules/cleanup.go @@ -11,7 +11,7 @@ import ( "k8s.io/apimachinery/pkg/labels" "sigs.k8s.io/controller-runtime/pkg/client" - v1 "github.com/grafana/loki/operator/apis/loki/v1" + v1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/manifests" ) diff --git a/operator/internal/handlers/internal/rules/cleanup_test.go b/operator/internal/handlers/internal/rules/cleanup_test.go index 5ecd9f69c345f..18242877c578b 100644 --- a/operator/internal/handlers/internal/rules/cleanup_test.go +++ b/operator/internal/handlers/internal/rules/cleanup_test.go @@ -17,7 +17,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" ) diff --git a/operator/internal/handlers/internal/rules/config.go b/operator/internal/handlers/internal/rules/config.go index ec4413fc49ecd..e983be441f75f 100644 --- a/operator/internal/handlers/internal/rules/config.go +++ b/operator/internal/handlers/internal/rules/config.go @@ -7,7 +7,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" ) diff --git a/operator/internal/handlers/internal/rules/rules.go b/operator/internal/handlers/internal/rules/rules.go index e21335e98c095..93196a98c0526 100644 --- a/operator/internal/handlers/internal/rules/rules.go +++ b/operator/internal/handlers/internal/rules/rules.go @@ -11,7 +11,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/handlers/internal/openshift" "github.com/grafana/loki/operator/internal/manifests" diff --git a/operator/internal/handlers/internal/rules/rules_test.go b/operator/internal/handlers/internal/rules/rules_test.go index e33a2ac928a6a..c5f4b17ea8047 100644 --- a/operator/internal/handlers/internal/rules/rules_test.go +++ b/operator/internal/handlers/internal/rules/rules_test.go @@ -14,7 +14,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" "github.com/grafana/loki/operator/internal/status" ) diff --git a/operator/internal/handlers/internal/rules/secrets.go b/operator/internal/handlers/internal/rules/secrets.go index 311bd139c615c..09b103c41cb46 100644 --- a/operator/internal/handlers/internal/rules/secrets.go +++ b/operator/internal/handlers/internal/rules/secrets.go @@ -4,7 +4,7 @@ import ( "github.com/ViaQ/logerr/v2/kverrors" corev1 "k8s.io/api/core/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests" ) diff --git a/operator/internal/handlers/internal/rules/secrets_test.go b/operator/internal/handlers/internal/rules/secrets_test.go index 118cc0c8e0fb9..b59905ca93451 100644 --- a/operator/internal/handlers/internal/rules/secrets_test.go +++ b/operator/internal/handlers/internal/rules/secrets_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" corev1 "k8s.io/api/core/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/handlers/internal/rules" "github.com/grafana/loki/operator/internal/manifests" ) diff --git a/operator/internal/handlers/internal/storage/ca_configmap.go b/operator/internal/handlers/internal/storage/ca_configmap.go index 904e63373a207..4935a31355de8 100644 --- a/operator/internal/handlers/internal/storage/ca_configmap.go +++ b/operator/internal/handlers/internal/storage/ca_configmap.go @@ -10,7 +10,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/status" ) diff --git a/operator/internal/handlers/internal/storage/secrets.go b/operator/internal/handlers/internal/storage/secrets.go index 6c0c116009ac1..37325f623ba52 100644 --- a/operator/internal/handlers/internal/storage/secrets.go +++ b/operator/internal/handlers/internal/storage/secrets.go @@ -17,8 +17,8 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "sigs.k8s.io/controller-runtime/pkg/client" - 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/external/k8s" "github.com/grafana/loki/operator/internal/manifests/storage" "github.com/grafana/loki/operator/internal/status" diff --git a/operator/internal/handlers/internal/storage/secrets_test.go b/operator/internal/handlers/internal/storage/secrets_test.go index 0f6bbaf66b243..4590abd2e04f9 100644 --- a/operator/internal/handlers/internal/storage/secrets_test.go +++ b/operator/internal/handlers/internal/storage/secrets_test.go @@ -7,8 +7,8 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - 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/storage" ) diff --git a/operator/internal/handlers/internal/storage/storage.go b/operator/internal/handlers/internal/storage/storage.go index 6276942fe32e8..af7dbc726437d 100644 --- a/operator/internal/handlers/internal/storage/storage.go +++ b/operator/internal/handlers/internal/storage/storage.go @@ -5,8 +5,8 @@ import ( "fmt" "time" - 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/external/k8s" "github.com/grafana/loki/operator/internal/manifests/storage" "github.com/grafana/loki/operator/internal/status" diff --git a/operator/internal/handlers/internal/storage/storage_test.go b/operator/internal/handlers/internal/storage/storage_test.go index 19a7147c877a0..fe483656e7147 100644 --- a/operator/internal/handlers/internal/storage/storage_test.go +++ b/operator/internal/handlers/internal/storage/storage_test.go @@ -15,8 +15,8 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - 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/external/k8s/k8sfakes" "github.com/grafana/loki/operator/internal/status" ) diff --git a/operator/internal/handlers/internal/tlsprofile/tlsprofile.go b/operator/internal/handlers/internal/tlsprofile/tlsprofile.go index 01d6d907c86dd..0b5493596ba82 100644 --- a/operator/internal/handlers/internal/tlsprofile/tlsprofile.go +++ b/operator/internal/handlers/internal/tlsprofile/tlsprofile.go @@ -7,7 +7,7 @@ import ( openshiftconfigv1 "github.com/openshift/api/config/v1" "sigs.k8s.io/controller-runtime/pkg/client" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" "github.com/grafana/loki/operator/internal/external/k8s" ) diff --git a/operator/internal/handlers/internal/tlsprofile/tlsprofile_test.go b/operator/internal/handlers/internal/tlsprofile/tlsprofile_test.go index bdecb62ee4154..1a0397e75a319 100644 --- a/operator/internal/handlers/internal/tlsprofile/tlsprofile_test.go +++ b/operator/internal/handlers/internal/tlsprofile/tlsprofile_test.go @@ -12,7 +12,7 @@ import ( "k8s.io/apimachinery/pkg/types" "sigs.k8s.io/controller-runtime/pkg/client" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" "github.com/grafana/loki/operator/internal/handlers/internal/tlsprofile" ) diff --git a/operator/internal/handlers/lokistack_check_cert_expiry.go b/operator/internal/handlers/lokistack_check_cert_expiry.go index 4fe8a275b4da4..70d0b6fa75a4a 100644 --- a/operator/internal/handlers/lokistack_check_cert_expiry.go +++ b/operator/internal/handlers/lokistack_check_cert_expiry.go @@ -8,8 +8,8 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" ctrl "sigs.k8s.io/controller-runtime" - 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/certrotation" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/handlers/internal/certificates" diff --git a/operator/internal/handlers/lokistack_check_cert_expiry_test.go b/operator/internal/handlers/lokistack_check_cert_expiry_test.go index 6b6d35c8b6bcd..84cb54f78a68d 100644 --- a/operator/internal/handlers/lokistack_check_cert_expiry_test.go +++ b/operator/internal/handlers/lokistack_check_cert_expiry_test.go @@ -16,7 +16,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/certrotation" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" ) diff --git a/operator/internal/handlers/lokistack_create_or_update.go b/operator/internal/handlers/lokistack_create_or_update.go index ee0eea1513af0..e834fac0282ab 100644 --- a/operator/internal/handlers/lokistack_create_or_update.go +++ b/operator/internal/handlers/lokistack_create_or_update.go @@ -15,8 +15,8 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" ctrlutil "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" - 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/external/k8s" "github.com/grafana/loki/operator/internal/handlers/internal/gateway" "github.com/grafana/loki/operator/internal/handlers/internal/rules" diff --git a/operator/internal/handlers/lokistack_create_or_update_test.go b/operator/internal/handlers/lokistack_create_or_update_test.go index c7677e49a05a4..b2a64e39fa922 100644 --- a/operator/internal/handlers/lokistack_create_or_update_test.go +++ b/operator/internal/handlers/lokistack_create_or_update_test.go @@ -25,8 +25,8 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - 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/external/k8s/k8sfakes" "github.com/grafana/loki/operator/internal/status" ) diff --git a/operator/internal/handlers/lokistack_enable_zone_awareness.go b/operator/internal/handlers/lokistack_enable_zone_awareness.go index c66f54af5bc04..97e178d819e64 100644 --- a/operator/internal/handlers/lokistack_enable_zone_awareness.go +++ b/operator/internal/handlers/lokistack_enable_zone_awareness.go @@ -12,7 +12,7 @@ import ( "k8s.io/apimachinery/pkg/types" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" ) diff --git a/operator/internal/handlers/lokistack_enable_zone_awareness_test.go b/operator/internal/handlers/lokistack_enable_zone_awareness_test.go index f0c0f02be342b..dd3767408d83c 100644 --- a/operator/internal/handlers/lokistack_enable_zone_awareness_test.go +++ b/operator/internal/handlers/lokistack_enable_zone_awareness_test.go @@ -13,7 +13,7 @@ import ( "k8s.io/apimachinery/pkg/types" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" ) diff --git a/operator/internal/handlers/lokistack_rotate_certs.go b/operator/internal/handlers/lokistack_rotate_certs.go index 2f7b088abd043..7ed6d85827ed1 100644 --- a/operator/internal/handlers/lokistack_rotate_certs.go +++ b/operator/internal/handlers/lokistack_rotate_certs.go @@ -12,8 +12,8 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" ctrlutil "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" - 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/certrotation" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/handlers/internal/certificates" diff --git a/operator/internal/handlers/lokistack_rotate_certs_test.go b/operator/internal/handlers/lokistack_rotate_certs_test.go index 7ace87de85cd1..e204c99b9217b 100644 --- a/operator/internal/handlers/lokistack_rotate_certs_test.go +++ b/operator/internal/handlers/lokistack_rotate_certs_test.go @@ -16,7 +16,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" ) diff --git a/operator/internal/manifests/build.go b/operator/internal/manifests/build.go index cc0da5771c0c1..99b0d5daa597e 100644 --- a/operator/internal/manifests/build.go +++ b/operator/internal/manifests/build.go @@ -7,7 +7,7 @@ import ( "github.com/openshift/library-go/pkg/crypto" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/internal" ) diff --git a/operator/internal/manifests/build_test.go b/operator/internal/manifests/build_test.go index dd8d8d22a5aa6..536e40df04629 100644 --- a/operator/internal/manifests/build_test.go +++ b/operator/internal/manifests/build_test.go @@ -11,8 +11,8 @@ import ( corev1 "k8s.io/api/core/v1" "sigs.k8s.io/controller-runtime/pkg/client" - 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/internal" ) diff --git a/operator/internal/manifests/compactor_test.go b/operator/internal/manifests/compactor_test.go index 6839d64a74263..ac636b364a6f4 100644 --- a/operator/internal/manifests/compactor_test.go +++ b/operator/internal/manifests/compactor_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/storage" ) diff --git a/operator/internal/manifests/config.go b/operator/internal/manifests/config.go index 4ec0b728d916d..e87c0a29b7cdb 100644 --- a/operator/internal/manifests/config.go +++ b/operator/internal/manifests/config.go @@ -8,7 +8,7 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/internal/config" ) diff --git a/operator/internal/manifests/config_test.go b/operator/internal/manifests/config_test.go index faebb2f73b3a0..ec55aa21bc60b 100644 --- a/operator/internal/manifests/config_test.go +++ b/operator/internal/manifests/config_test.go @@ -12,7 +12,7 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/utils/ptr" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/internal/config" "github.com/grafana/loki/operator/internal/manifests/openshift" ) diff --git a/operator/internal/manifests/distributor_test.go b/operator/internal/manifests/distributor_test.go index a3b9e6abc932d..ec10e34472386 100644 --- a/operator/internal/manifests/distributor_test.go +++ b/operator/internal/manifests/distributor_test.go @@ -10,7 +10,7 @@ import ( policyv1 "k8s.io/api/policy/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/storage" ) diff --git a/operator/internal/manifests/gateway_tenants.go b/operator/internal/manifests/gateway_tenants.go index 467f0a1fe5c25..1a4610a94114f 100644 --- a/operator/internal/manifests/gateway_tenants.go +++ b/operator/internal/manifests/gateway_tenants.go @@ -12,8 +12,8 @@ import ( networkingv1 "k8s.io/api/networking/v1" "sigs.k8s.io/controller-runtime/pkg/client" - 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/internal/config" "github.com/grafana/loki/operator/internal/manifests/openshift" ) diff --git a/operator/internal/manifests/gateway_tenants_test.go b/operator/internal/manifests/gateway_tenants_test.go index 8399eaaf352ec..051b6a653aab8 100644 --- a/operator/internal/manifests/gateway_tenants_test.go +++ b/operator/internal/manifests/gateway_tenants_test.go @@ -12,8 +12,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/intstr" - 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/openshift" ) diff --git a/operator/internal/manifests/gateway_test.go b/operator/internal/manifests/gateway_test.go index b7e7b3270824d..02ad588974858 100644 --- a/operator/internal/manifests/gateway_test.go +++ b/operator/internal/manifests/gateway_test.go @@ -14,8 +14,8 @@ import ( policyv1 "k8s.io/api/policy/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - 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/internal/gateway" "github.com/grafana/loki/operator/internal/manifests/openshift" "github.com/grafana/loki/operator/internal/manifests/storage" diff --git a/operator/internal/manifests/indexgateway_test.go b/operator/internal/manifests/indexgateway_test.go index 93ab7a033e147..35f46ae88777c 100644 --- a/operator/internal/manifests/indexgateway_test.go +++ b/operator/internal/manifests/indexgateway_test.go @@ -9,7 +9,7 @@ import ( policyv1 "k8s.io/api/policy/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/storage" ) diff --git a/operator/internal/manifests/ingester_test.go b/operator/internal/manifests/ingester_test.go index 83b0d94111301..c491b580ad7cf 100644 --- a/operator/internal/manifests/ingester_test.go +++ b/operator/internal/manifests/ingester_test.go @@ -10,8 +10,8 @@ import ( policyv1 "k8s.io/api/policy/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - v1 "github.com/grafana/loki/operator/apis/config/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + v1 "github.com/grafana/loki/operator/api/config/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/internal" "github.com/grafana/loki/operator/internal/manifests/storage" ) diff --git a/operator/internal/manifests/internal/config/build_test.go b/operator/internal/manifests/internal/config/build_test.go index 35b1334cef5bb..9abc617ed38ec 100644 --- a/operator/internal/manifests/internal/config/build_test.go +++ b/operator/internal/manifests/internal/config/build_test.go @@ -8,8 +8,8 @@ import ( "github.com/stretchr/testify/require" "k8s.io/utils/ptr" - 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/storage" ) diff --git a/operator/internal/manifests/internal/config/options.go b/operator/internal/manifests/internal/config/options.go index e19d4c34f3262..c22f0f898fb4c 100644 --- a/operator/internal/manifests/internal/config/options.go +++ b/operator/internal/manifests/internal/config/options.go @@ -6,8 +6,8 @@ import ( "strings" "time" - 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/storage" ) diff --git a/operator/internal/manifests/internal/gateway/build.go b/operator/internal/manifests/internal/gateway/build.go index 41de2a9282fd2..6b2b00c8ae339 100644 --- a/operator/internal/manifests/internal/gateway/build.go +++ b/operator/internal/manifests/internal/gateway/build.go @@ -8,7 +8,7 @@ import ( "github.com/ViaQ/logerr/v2/kverrors" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) const ( diff --git a/operator/internal/manifests/internal/gateway/build_test.go b/operator/internal/manifests/internal/gateway/build_test.go index 77d7fc1873a24..2b089f464ed08 100644 --- a/operator/internal/manifests/internal/gateway/build_test.go +++ b/operator/internal/manifests/internal/gateway/build_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/openshift" ) diff --git a/operator/internal/manifests/internal/gateway/options.go b/operator/internal/manifests/internal/gateway/options.go index eefefedcfbca6..9854f01071f7b 100644 --- a/operator/internal/manifests/internal/gateway/options.go +++ b/operator/internal/manifests/internal/gateway/options.go @@ -1,7 +1,7 @@ package gateway import ( - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/openshift" ) diff --git a/operator/internal/manifests/internal/rules/marshal.go b/operator/internal/manifests/internal/rules/marshal.go index 192f7d8ba7ef4..288faf3b35e29 100644 --- a/operator/internal/manifests/internal/rules/marshal.go +++ b/operator/internal/manifests/internal/rules/marshal.go @@ -4,7 +4,7 @@ import ( "github.com/ViaQ/logerr/v2/kverrors" "gopkg.in/yaml.v2" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) const tenantLabel = "tenantId" diff --git a/operator/internal/manifests/internal/rules/marshal_test.go b/operator/internal/manifests/internal/rules/marshal_test.go index 1620f050a7652..f9f14580470a5 100644 --- a/operator/internal/manifests/internal/rules/marshal_test.go +++ b/operator/internal/manifests/internal/rules/marshal_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/internal/rules" ) diff --git a/operator/internal/manifests/internal/sizes.go b/operator/internal/manifests/internal/sizes.go index 4962e4b3e762c..0501aba60ea1e 100644 --- a/operator/internal/manifests/internal/sizes.go +++ b/operator/internal/manifests/internal/sizes.go @@ -4,7 +4,7 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) // ComponentResources is a map of component->requests/limits diff --git a/operator/internal/manifests/memberlist.go b/operator/internal/manifests/memberlist.go index dd279b3b48e47..451ce39618edd 100644 --- a/operator/internal/manifests/memberlist.go +++ b/operator/internal/manifests/memberlist.go @@ -8,7 +8,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/intstr" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) // BuildLokiGossipRingService creates a k8s service for the gossip/memberlist members of the cluster diff --git a/operator/internal/manifests/memberlist_test.go b/operator/internal/manifests/memberlist_test.go index f7d2b0686f518..e9bfbded964fa 100644 --- a/operator/internal/manifests/memberlist_test.go +++ b/operator/internal/manifests/memberlist_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" corev1 "k8s.io/api/core/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) func TestConfigureHashRingEnv_UseDefaults_NoHashRingSpec(t *testing.T) { diff --git a/operator/internal/manifests/node_placement.go b/operator/internal/manifests/node_placement.go index 7a74cc877225b..f965a093458b2 100644 --- a/operator/internal/manifests/node_placement.go +++ b/operator/internal/manifests/node_placement.go @@ -8,7 +8,7 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) const ( diff --git a/operator/internal/manifests/node_placement_test.go b/operator/internal/manifests/node_placement_test.go index 79d4c53ba316c..a400ad50d0bfc 100644 --- a/operator/internal/manifests/node_placement_test.go +++ b/operator/internal/manifests/node_placement_test.go @@ -8,8 +8,8 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - 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/storage" ) diff --git a/operator/internal/manifests/openshift/alertingrule.go b/operator/internal/manifests/openshift/alertingrule.go index e4869e9f7ca5c..5d03db6d0f924 100644 --- a/operator/internal/manifests/openshift/alertingrule.go +++ b/operator/internal/manifests/openshift/alertingrule.go @@ -1,6 +1,6 @@ package openshift -import lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" +import lokiv1 "github.com/grafana/loki/operator/api/loki/v1" func AlertingRuleTenantLabels(ar *lokiv1.AlertingRule) { switch ar.Spec.TenantID { diff --git a/operator/internal/manifests/openshift/alertingrule_test.go b/operator/internal/manifests/openshift/alertingrule_test.go index 89519af3cb14f..afd50dc3d2d73 100644 --- a/operator/internal/manifests/openshift/alertingrule_test.go +++ b/operator/internal/manifests/openshift/alertingrule_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) func TestAlertingRuleTenantLabels(t *testing.T) { diff --git a/operator/internal/manifests/openshift/build_test.go b/operator/internal/manifests/openshift/build_test.go index 9cf050ed92fab..5ce0cba1473c2 100644 --- a/operator/internal/manifests/openshift/build_test.go +++ b/operator/internal/manifests/openshift/build_test.go @@ -9,7 +9,7 @@ import ( corev1 "k8s.io/api/core/v1" rbacv1 "k8s.io/api/rbac/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) func TestBuildGatewayTenantModeObjects_ClusterRoleRefMatches(t *testing.T) { diff --git a/operator/internal/manifests/openshift/configure.go b/operator/internal/manifests/openshift/configure.go index cac8dc77c64f4..75ecc65973bf5 100644 --- a/operator/internal/manifests/openshift/configure.go +++ b/operator/internal/manifests/openshift/configure.go @@ -10,7 +10,7 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/utils/ptr" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/internal/config" ) diff --git a/operator/internal/manifests/openshift/opa_openshift.go b/operator/internal/manifests/openshift/opa_openshift.go index ccf5eac09b7a7..bc804c11b11ed 100644 --- a/operator/internal/manifests/openshift/opa_openshift.go +++ b/operator/internal/manifests/openshift/opa_openshift.go @@ -9,7 +9,7 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/util/intstr" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) const ( diff --git a/operator/internal/manifests/openshift/options.go b/operator/internal/manifests/openshift/options.go index 7cba773841b82..2d6276446dfb8 100644 --- a/operator/internal/manifests/openshift/options.go +++ b/operator/internal/manifests/openshift/options.go @@ -5,7 +5,7 @@ import ( "math/rand" "time" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/config" ) diff --git a/operator/internal/manifests/openshift/recordingrule.go b/operator/internal/manifests/openshift/recordingrule.go index 97be1bb4a17ec..8e8a0eccfa6de 100644 --- a/operator/internal/manifests/openshift/recordingrule.go +++ b/operator/internal/manifests/openshift/recordingrule.go @@ -1,6 +1,6 @@ package openshift -import lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" +import lokiv1 "github.com/grafana/loki/operator/api/loki/v1" func RecordingRuleTenantLabels(r *lokiv1.RecordingRule) { switch r.Spec.TenantID { diff --git a/operator/internal/manifests/openshift/recordingrule_test.go b/operator/internal/manifests/openshift/recordingrule_test.go index 16e95b2310a65..901913dac2944 100644 --- a/operator/internal/manifests/openshift/recordingrule_test.go +++ b/operator/internal/manifests/openshift/recordingrule_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) func TestRecordingRuleTenantLabels(t *testing.T) { diff --git a/operator/internal/manifests/options.go b/operator/internal/manifests/options.go index b294b697c3721..c3e627b047003 100644 --- a/operator/internal/manifests/options.go +++ b/operator/internal/manifests/options.go @@ -4,8 +4,8 @@ import ( "strings" "time" - 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/internal" "github.com/grafana/loki/operator/internal/manifests/internal/config" "github.com/grafana/loki/operator/internal/manifests/openshift" diff --git a/operator/internal/manifests/options_test.go b/operator/internal/manifests/options_test.go index d6fe7c5c19d4a..06cf1cb41ec2c 100644 --- a/operator/internal/manifests/options_test.go +++ b/operator/internal/manifests/options_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/internal/config" ) diff --git a/operator/internal/manifests/proxy_env.go b/operator/internal/manifests/proxy_env.go index e0bc1841ace49..21e564d8a0d1c 100644 --- a/operator/internal/manifests/proxy_env.go +++ b/operator/internal/manifests/proxy_env.go @@ -6,7 +6,7 @@ import ( "github.com/imdario/mergo" corev1 "k8s.io/api/core/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) const ( diff --git a/operator/internal/manifests/proxy_env_test.go b/operator/internal/manifests/proxy_env_test.go index 9a780dfe48be4..a12e0d7bccdb0 100644 --- a/operator/internal/manifests/proxy_env_test.go +++ b/operator/internal/manifests/proxy_env_test.go @@ -8,7 +8,7 @@ import ( appsv1 "k8s.io/api/apps/v1" corev1 "k8s.io/api/core/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) func TestContainerEnvVars_ReadVarsFromCustomResource(t *testing.T) { diff --git a/operator/internal/manifests/querier_test.go b/operator/internal/manifests/querier_test.go index ff3e0ccd45630..565e4f82a4803 100644 --- a/operator/internal/manifests/querier_test.go +++ b/operator/internal/manifests/querier_test.go @@ -10,7 +10,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/intstr" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/storage" ) diff --git a/operator/internal/manifests/query-frontend_test.go b/operator/internal/manifests/query-frontend_test.go index d11fb968ce3ac..a29ee5e4977eb 100644 --- a/operator/internal/manifests/query-frontend_test.go +++ b/operator/internal/manifests/query-frontend_test.go @@ -9,7 +9,7 @@ import ( policyv1 "k8s.io/api/policy/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/storage" ) diff --git a/operator/internal/manifests/ruler.go b/operator/internal/manifests/ruler.go index 4e9eaf22b66b0..09ea743679153 100644 --- a/operator/internal/manifests/ruler.go +++ b/operator/internal/manifests/ruler.go @@ -14,7 +14,7 @@ import ( "k8s.io/utils/ptr" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/internal/config" "github.com/grafana/loki/operator/internal/manifests/openshift" "github.com/grafana/loki/operator/internal/manifests/storage" diff --git a/operator/internal/manifests/ruler_test.go b/operator/internal/manifests/ruler_test.go index b753dc090de8c..866a40b6c10e8 100644 --- a/operator/internal/manifests/ruler_test.go +++ b/operator/internal/manifests/ruler_test.go @@ -10,7 +10,7 @@ import ( policyv1 "k8s.io/api/policy/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/openshift" "github.com/grafana/loki/operator/internal/manifests/storage" ) diff --git a/operator/internal/manifests/rules_config.go b/operator/internal/manifests/rules_config.go index 1640aedc4f10c..5cc4a3772ae3e 100644 --- a/operator/internal/manifests/rules_config.go +++ b/operator/internal/manifests/rules_config.go @@ -6,7 +6,7 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/internal/rules" "github.com/grafana/loki/operator/internal/manifests/openshift" ) diff --git a/operator/internal/manifests/rules_config_test.go b/operator/internal/manifests/rules_config_test.go index 338fab231644e..c164c60cd5b4c 100644 --- a/operator/internal/manifests/rules_config_test.go +++ b/operator/internal/manifests/rules_config_test.go @@ -8,7 +8,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) func TestRulesConfigMap_ReturnsDataEntriesPerRule(t *testing.T) { diff --git a/operator/internal/manifests/service_monitor_test.go b/operator/internal/manifests/service_monitor_test.go index 4763277daa886..ed85f702b8690 100644 --- a/operator/internal/manifests/service_monitor_test.go +++ b/operator/internal/manifests/service_monitor_test.go @@ -9,8 +9,8 @@ import ( "github.com/stretchr/testify/require" corev1 "k8s.io/api/core/v1" - 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" ) // Test that all serviceMonitor match the labels of their services so that we know all serviceMonitor diff --git a/operator/internal/manifests/service_test.go b/operator/internal/manifests/service_test.go index fa8ddff99e3b1..1dc7e63e349af 100644 --- a/operator/internal/manifests/service_test.go +++ b/operator/internal/manifests/service_test.go @@ -11,8 +11,8 @@ import ( corev1 "k8s.io/api/core/v1" "sigs.k8s.io/controller-runtime/pkg/client" - 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" ) // Test that the service ports have matching deployment/statefulset/daemonset ports on the podspec. diff --git a/operator/internal/manifests/serviceaccount_test.go b/operator/internal/manifests/serviceaccount_test.go index dc08b62f700c0..1a6046280fcf9 100644 --- a/operator/internal/manifests/serviceaccount_test.go +++ b/operator/internal/manifests/serviceaccount_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/assert" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/storage" ) diff --git a/operator/internal/manifests/storage/configure.go b/operator/internal/manifests/storage/configure.go index b1c8a0df955a9..ce6fa78273349 100644 --- a/operator/internal/manifests/storage/configure.go +++ b/operator/internal/manifests/storage/configure.go @@ -10,7 +10,7 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/utils/ptr" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) var ( diff --git a/operator/internal/manifests/storage/configure_test.go b/operator/internal/manifests/storage/configure_test.go index 804ca1d52bb02..3080f924c11cf 100644 --- a/operator/internal/manifests/storage/configure_test.go +++ b/operator/internal/manifests/storage/configure_test.go @@ -8,7 +8,7 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/utils/ptr" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) func TestConfigureDeploymentForStorageType(t *testing.T) { diff --git a/operator/internal/manifests/storage/options.go b/operator/internal/manifests/storage/options.go index 1adb80235b097..59618953d1f92 100644 --- a/operator/internal/manifests/storage/options.go +++ b/operator/internal/manifests/storage/options.go @@ -1,7 +1,7 @@ package storage import ( - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) // Options is used to configure Loki to integrate with diff --git a/operator/internal/manifests/storage/schema.go b/operator/internal/manifests/storage/schema.go index a36f4c46c6598..c9cf737a4a2ae 100644 --- a/operator/internal/manifests/storage/schema.go +++ b/operator/internal/manifests/storage/schema.go @@ -6,7 +6,7 @@ import ( "github.com/ViaQ/logerr/v2/kverrors" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/validation" ) diff --git a/operator/internal/manifests/storage/schema_test.go b/operator/internal/manifests/storage/schema_test.go index c3ca914658f9e..7490ae5aeb002 100644 --- a/operator/internal/manifests/storage/schema_test.go +++ b/operator/internal/manifests/storage/schema_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) func TestBuildSchemaConfig_NoSchemas(t *testing.T) { diff --git a/operator/internal/manifests/var.go b/operator/internal/manifests/var.go index c0255d389a25c..501a12c1cd57b 100644 --- a/operator/internal/manifests/var.go +++ b/operator/internal/manifests/var.go @@ -11,7 +11,7 @@ import ( "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/intstr" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests/openshift" ) diff --git a/operator/internal/metrics/lokistack.go b/operator/internal/metrics/lokistack.go index 7bdc966024956..c321562ecec86 100644 --- a/operator/internal/metrics/lokistack.go +++ b/operator/internal/metrics/lokistack.go @@ -8,7 +8,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) const ( diff --git a/operator/internal/metrics/lokistack_test.go b/operator/internal/metrics/lokistack_test.go index 061b349c4e0e6..ba12439fa6edc 100644 --- a/operator/internal/metrics/lokistack_test.go +++ b/operator/internal/metrics/lokistack_test.go @@ -13,7 +13,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" ) diff --git a/operator/internal/status/components.go b/operator/internal/status/components.go index 3e59f8a198556..78f26572831ce 100644 --- a/operator/internal/status/components.go +++ b/operator/internal/status/components.go @@ -7,7 +7,7 @@ import ( corev1 "k8s.io/api/core/v1" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/manifests" ) diff --git a/operator/internal/status/components_test.go b/operator/internal/status/components_test.go index 0132ac772a358..2606d704c4188 100644 --- a/operator/internal/status/components_test.go +++ b/operator/internal/status/components_test.go @@ -10,7 +10,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" "github.com/grafana/loki/operator/internal/manifests" ) diff --git a/operator/internal/status/conditions_test.go b/operator/internal/status/conditions_test.go index e011b8406460a..5cb16eb2162b9 100644 --- a/operator/internal/status/conditions_test.go +++ b/operator/internal/status/conditions_test.go @@ -7,7 +7,7 @@ import ( "github.com/google/go-cmp/cmp" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) func TestMergeConditions(t *testing.T) { diff --git a/operator/internal/status/lokistack.go b/operator/internal/status/lokistack.go index 17d81ab01d3aa..d32036a37f2bc 100644 --- a/operator/internal/status/lokistack.go +++ b/operator/internal/status/lokistack.go @@ -8,7 +8,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" ) diff --git a/operator/internal/status/lokistack_test.go b/operator/internal/status/lokistack_test.go index d3ae5e4839436..1ec64dc20c898 100644 --- a/operator/internal/status/lokistack_test.go +++ b/operator/internal/status/lokistack_test.go @@ -13,7 +13,7 @@ import ( "k8s.io/apimachinery/pkg/types" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" ) diff --git a/operator/internal/status/status.go b/operator/internal/status/status.go index c544695d3d2ea..ca86e02d6434d 100644 --- a/operator/internal/status/status.go +++ b/operator/internal/status/status.go @@ -10,7 +10,7 @@ import ( "k8s.io/client-go/util/retry" ctrl "sigs.k8s.io/controller-runtime" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" ) diff --git a/operator/internal/status/status_test.go b/operator/internal/status/status_test.go index 58978f49f7745..9028fc95b99a7 100644 --- a/operator/internal/status/status_test.go +++ b/operator/internal/status/status_test.go @@ -12,7 +12,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/manifests" ) diff --git a/operator/internal/status/storage.go b/operator/internal/status/storage.go index 620b5d4eeb364..066fe113fa520 100644 --- a/operator/internal/status/storage.go +++ b/operator/internal/status/storage.go @@ -7,7 +7,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" ctrl "sigs.k8s.io/controller-runtime" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" ) diff --git a/operator/internal/status/storage_test.go b/operator/internal/status/storage_test.go index 86ea6641b4739..8924a7808d609 100644 --- a/operator/internal/status/storage_test.go +++ b/operator/internal/status/storage_test.go @@ -12,7 +12,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s/k8sfakes" "github.com/grafana/loki/operator/internal/status" ) diff --git a/operator/internal/validation/alertingrule.go b/operator/internal/validation/alertingrule.go index d72f0b1ae8d95..59727737ce914 100644 --- a/operator/internal/validation/alertingrule.go +++ b/operator/internal/validation/alertingrule.go @@ -13,7 +13,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/webhook/admission" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) var _ admission.CustomValidator = &AlertingRuleValidator{} diff --git a/operator/internal/validation/alertingrule_test.go b/operator/internal/validation/alertingrule_test.go index 6eac5be9a25c0..fa29ecd252054 100644 --- a/operator/internal/validation/alertingrule_test.go +++ b/operator/internal/validation/alertingrule_test.go @@ -10,7 +10,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/validation/field" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/validation" ) diff --git a/operator/internal/validation/lokistack.go b/operator/internal/validation/lokistack.go index 3246b7ada106f..b415aa9c07d36 100644 --- a/operator/internal/validation/lokistack.go +++ b/operator/internal/validation/lokistack.go @@ -12,7 +12,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/webhook/admission" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) // objectStorageSchemaMap defines the type for mapping a schema version with a date diff --git a/operator/internal/validation/lokistack_test.go b/operator/internal/validation/lokistack_test.go index 18ac672b9d2bc..ad0271ec7593e 100644 --- a/operator/internal/validation/lokistack_test.go +++ b/operator/internal/validation/lokistack_test.go @@ -10,7 +10,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/validation/field" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/validation" ) diff --git a/operator/internal/validation/openshift/alertingrule.go b/operator/internal/validation/openshift/alertingrule.go index cb22f1785895e..e9dc191597e0b 100644 --- a/operator/internal/validation/openshift/alertingrule.go +++ b/operator/internal/validation/openshift/alertingrule.go @@ -7,7 +7,7 @@ import ( "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/utils/strings/slices" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) // AlertingRuleValidator does extended-validation of AlertingRule resources for Openshift-based deployments. diff --git a/operator/internal/validation/openshift/alertingrule_test.go b/operator/internal/validation/openshift/alertingrule_test.go index c613de51df0fa..1644f7e10bd3e 100644 --- a/operator/internal/validation/openshift/alertingrule_test.go +++ b/operator/internal/validation/openshift/alertingrule_test.go @@ -8,7 +8,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/validation/field" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) func TestAlertingRuleValidator(t *testing.T) { diff --git a/operator/internal/validation/openshift/common.go b/operator/internal/validation/openshift/common.go index a2b28d5f5f0aa..a41161cbc54f6 100644 --- a/operator/internal/validation/openshift/common.go +++ b/operator/internal/validation/openshift/common.go @@ -9,7 +9,7 @@ import ( "github.com/prometheus/prometheus/model/labels" "k8s.io/apimachinery/pkg/util/validation/field" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) const ( diff --git a/operator/internal/validation/openshift/recordingrule.go b/operator/internal/validation/openshift/recordingrule.go index 6e0d9106c8c35..bb6851058fa6d 100644 --- a/operator/internal/validation/openshift/recordingrule.go +++ b/operator/internal/validation/openshift/recordingrule.go @@ -7,7 +7,7 @@ import ( "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/utils/strings/slices" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) // RecordingRuleValidator does extended-validation of RecordingRule resources for Openshift-based deployments. diff --git a/operator/internal/validation/openshift/recordingrule_test.go b/operator/internal/validation/openshift/recordingrule_test.go index 99540f2937c42..e51ab748c82cf 100644 --- a/operator/internal/validation/openshift/recordingrule_test.go +++ b/operator/internal/validation/openshift/recordingrule_test.go @@ -8,7 +8,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/validation/field" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) func TestRecordingRuleValidator(t *testing.T) { diff --git a/operator/internal/validation/recordingrule.go b/operator/internal/validation/recordingrule.go index a84011efd2de8..a5b2a803af23e 100644 --- a/operator/internal/validation/recordingrule.go +++ b/operator/internal/validation/recordingrule.go @@ -13,7 +13,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/webhook/admission" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) var _ admission.CustomValidator = &RecordingRuleValidator{} diff --git a/operator/internal/validation/recordingrule_test.go b/operator/internal/validation/recordingrule_test.go index 6b47ef0d6d8d7..fd79def757ed6 100644 --- a/operator/internal/validation/recordingrule_test.go +++ b/operator/internal/validation/recordingrule_test.go @@ -10,7 +10,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/validation/field" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/validation" ) diff --git a/operator/internal/validation/rulerconfig.go b/operator/internal/validation/rulerconfig.go index 9e4ab0b0b8297..3a9c51282887c 100644 --- a/operator/internal/validation/rulerconfig.go +++ b/operator/internal/validation/rulerconfig.go @@ -11,7 +11,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/webhook/admission" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" ) var _ admission.CustomValidator = &RulerConfigValidator{} diff --git a/operator/internal/validation/rulerconfig_test.go b/operator/internal/validation/rulerconfig_test.go index 4ed8757cabdbd..32097460dae8e 100644 --- a/operator/internal/validation/rulerconfig_test.go +++ b/operator/internal/validation/rulerconfig_test.go @@ -11,7 +11,7 @@ import ( "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/utils/ptr" - lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" + lokiv1 "github.com/grafana/loki/operator/api/loki/v1" "github.com/grafana/loki/operator/internal/validation" )