From e5f88545a640d20565aedd609a95776d7d568653 Mon Sep 17 00:00:00 2001 From: Periklis Tsirakidis Date: Thu, 10 Oct 2024 13:01:36 +0200 Subject: [PATCH 1/7] chore(operator): Upgrade operator-sdk 1.37.0 and kind 0.23.0 --- .../manifests/loki-operator.clusterserviceversion.yaml | 2 +- .../manifests/loki-operator.clusterserviceversion.yaml | 4 ++-- .../manifests/loki-operator.clusterserviceversion.yaml | 2 +- .../config/overlays/community/manager_auth_proxy_patch.yaml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml index 4ad8e058e5fbe..abf8f5fbf5054 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.2 - createdAt: "2024-10-14T10:09:32Z" + createdAt: "2024-10-14T10:36:51Z" description: The Community Loki Operator provides Kubernetes native deployment and management of Loki and related logging components. features.operators.openshift.io/disconnected: "true" diff --git a/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml index e185519eee975..3bdf74168ef3a 100644 --- a/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml +++ b/operator/bundle/community/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.2 - createdAt: "2024-10-14T10:09:30Z" + createdAt: "2024-10-14T10:36:50Z" description: The Community Loki Operator provides Kubernetes native deployment and management of Loki and related logging components. operators.operatorframework.io/builder: operator-sdk-unknown @@ -1796,7 +1796,7 @@ spec: - --upstream=http://127.0.0.1:8080/ - --logtostderr=true - --v=0 - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.18.1 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.16.0 name: kube-rbac-proxy ports: - containerPort: 8443 diff --git a/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml index d224b499b4724..d4d8c2a89a110 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-14T10:09:33Z" + createdAt: "2024-10-14T10:36:53Z" description: | The Loki Operator for OCP provides a means for configuring and managing a Loki stack for cluster logging. ## Prerequisites and Requirements diff --git a/operator/config/overlays/community/manager_auth_proxy_patch.yaml b/operator/config/overlays/community/manager_auth_proxy_patch.yaml index 50f11534dd3aa..f9955cc6285cd 100644 --- a/operator/config/overlays/community/manager_auth_proxy_patch.yaml +++ b/operator/config/overlays/community/manager_auth_proxy_patch.yaml @@ -7,7 +7,7 @@ spec: spec: containers: - name: kube-rbac-proxy - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.18.1 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.16.0 args: - "--secure-listen-address=0.0.0.0:8443" - "--upstream=http://127.0.0.1:8080/" From 6384f6d7d716a4ab5afbe9ccad1e32b5912c0fde Mon Sep 17 00:00:00 2001 From: Periklis Tsirakidis Date: Thu, 10 Oct 2024 14:21:51 +0200 Subject: [PATCH 2/7] Initial migration to kubebuilder go/v4 layout --- operator/Dockerfile | 8 +- operator/Dockerfile.cross | 8 +- operator/Makefile | 22 +- 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 | 0 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 | 0 .../loki/v1beta1/alertingrule_types_test.go | 0 operator/{apis => api}/loki/v1beta1/doc.go | 0 .../loki/v1beta1/groupversion_info.go | 0 .../loki/v1beta1/lokistack_types.go | 0 .../loki/v1beta1/lokistack_types_test.go | 0 .../loki/v1beta1/recordingrule_types.go | 0 .../loki/v1beta1/recordingrule_types_test.go | 0 .../loki/v1beta1/rulerconfig_types.go | 0 .../loki/v1beta1/rulerconfig_types_test.go | 0 .../{apis => api}/loki/v1beta1/v1beta1.go | 0 .../loki/v1beta1/zz_generated.deepcopy.go | 0 .../community-openshift/bundle.Dockerfile | 2 +- .../loki-operator.clusterserviceversion.yaml | 419 +++++++----- .../metadata/annotations.yaml | 2 +- operator/bundle/community/bundle.Dockerfile | 2 +- .../loki-operator.clusterserviceversion.yaml | 419 +++++++----- .../community/metadata/annotations.yaml | 2 +- operator/bundle/openshift/bundle.Dockerfile | 2 +- .../loki-operator.clusterserviceversion.yaml | 419 +++++++----- .../openshift/metadata/annotations.yaml | 2 +- operator/cmd/loki-broker/main.go | 2 +- operator/{ => cmd/loki-operator}/main.go | 4 +- .../loki-operator.clusterserviceversion.yaml | 613 +++++++++++------- .../loki-operator.clusterserviceversion.yaml | 613 +++++++++++------- .../loki-operator.clusterserviceversion.yaml | 613 +++++++++++------- operator/go.mod | 2 +- 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 | 4 +- .../loki/certrotation_controller.go | 8 +- .../loki/certrotation_controller_test.go | 2 +- .../controller}/loki/dashboards_controller.go | 2 +- .../lokistack/certrotation_discovery.go | 0 .../lokistack/ruler_config_discovery.go | 0 .../internal/lokistack/rules_discovery.go | 0 .../loki/internal/lokistack/update.go | 0 .../loki/internal/management/state/state.go | 0 .../internal/management/state/state_test.go | 7 +- .../controller}/loki/lokistack_controller.go | 6 +- .../loki/lokistack_controller_test.go | 4 +- .../lokistack_zone_labeling_controller.go | 2 +- ...lokistack_zone_labeling_controller_test.go | 2 +- .../loki/recordingrule_controller.go | 4 +- .../loki/rulerconfig_controller.go | 4 +- .../handlers/internal/gateway/gateway.go | 2 +- .../handlers/internal/gateway/gateway_test.go | 2 +- .../handlers/internal/storage/secrets.go | 2 +- .../handlers/internal/storage/secrets_test.go | 2 +- .../handlers/internal/storage/storage.go | 2 +- .../handlers/internal/storage/storage_test.go | 2 +- .../internal/tlsprofile/tlsprofile.go | 2 +- .../internal/tlsprofile/tlsprofile_test.go | 2 +- .../handlers/lokistack_check_cert_expiry.go | 2 +- .../handlers/lokistack_create_or_update.go | 2 +- .../lokistack_create_or_update_test.go | 2 +- .../handlers/lokistack_rotate_certs.go | 2 +- operator/internal/manifests/build_test.go | 2 +- .../internal/manifests/gateway_tenants.go | 2 +- .../manifests/gateway_tenants_test.go | 2 +- operator/internal/manifests/gateway_test.go | 2 +- operator/internal/manifests/ingester_test.go | 2 +- .../manifests/internal/config/build_test.go | 2 +- .../manifests/internal/config/options.go | 2 +- .../internal/manifests/node_placement_test.go | 2 +- operator/internal/manifests/options.go | 2 +- .../manifests/service_monitor_test.go | 2 +- operator/internal/manifests/service_test.go | 2 +- 90 files changed, 1916 insertions(+), 1359 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 (100%) 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 (100%) rename operator/{apis => api}/loki/v1beta1/alertingrule_types_test.go (100%) 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 (100%) rename operator/{apis => api}/loki/v1beta1/lokistack_types_test.go (100%) rename operator/{apis => api}/loki/v1beta1/recordingrule_types.go (100%) rename operator/{apis => api}/loki/v1beta1/recordingrule_types_test.go (100%) rename operator/{apis => api}/loki/v1beta1/rulerconfig_types.go (100%) rename operator/{apis => api}/loki/v1beta1/rulerconfig_types_test.go (100%) 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 (98%) rename operator/{controllers => internal/controller}/loki/alertingrule_controller.go (95%) rename operator/{controllers => internal/controller}/loki/certrotation_controller.go (93%) rename operator/{controllers => internal/controller}/loki/certrotation_controller_test.go (98%) rename operator/{controllers => internal/controller}/loki/dashboards_controller.go (99%) rename operator/{controllers => internal/controller}/loki/internal/lokistack/certrotation_discovery.go (100%) rename operator/{controllers => internal/controller}/loki/internal/lokistack/ruler_config_discovery.go (100%) rename operator/{controllers => internal/controller}/loki/internal/lokistack/rules_discovery.go (100%) rename operator/{controllers => internal/controller}/loki/internal/lokistack/update.go (100%) rename operator/{controllers => internal/controller}/loki/internal/management/state/state.go (100%) rename operator/{controllers => internal/controller}/loki/internal/management/state/state_test.go (93%) 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 (99%) rename operator/{controllers => internal/controller}/loki/lokistack_zone_labeling_controller_test.go (98%) rename operator/{controllers => internal/controller}/loki/recordingrule_controller.go (95%) rename operator/{controllers => internal/controller}/loki/rulerconfig_controller.go (95%) diff --git a/operator/Dockerfile b/operator/Dockerfile index 1f8a6a3ca0483..581971f3586d0 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,12 @@ 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 api/ api/ 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 548159b5d521b..8f80b024d0a57 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,12 @@ 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 api/ api/ 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 8dce06bbce797..79bb19c057c05 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,7 +138,7 @@ 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 @@ -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 100% rename from operator/apis/loki/go.mod rename to operator/api/loki/go.mod 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 100% rename from operator/apis/loki/v1beta1/alertingrule_types.go rename to operator/api/loki/v1beta1/alertingrule_types.go diff --git a/operator/apis/loki/v1beta1/alertingrule_types_test.go b/operator/api/loki/v1beta1/alertingrule_types_test.go similarity index 100% rename from operator/apis/loki/v1beta1/alertingrule_types_test.go rename to operator/api/loki/v1beta1/alertingrule_types_test.go 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 100% rename from operator/apis/loki/v1beta1/lokistack_types.go rename to operator/api/loki/v1beta1/lokistack_types.go diff --git a/operator/apis/loki/v1beta1/lokistack_types_test.go b/operator/api/loki/v1beta1/lokistack_types_test.go similarity index 100% rename from operator/apis/loki/v1beta1/lokistack_types_test.go rename to operator/api/loki/v1beta1/lokistack_types_test.go diff --git a/operator/apis/loki/v1beta1/recordingrule_types.go b/operator/api/loki/v1beta1/recordingrule_types.go similarity index 100% rename from operator/apis/loki/v1beta1/recordingrule_types.go rename to operator/api/loki/v1beta1/recordingrule_types.go diff --git a/operator/apis/loki/v1beta1/recordingrule_types_test.go b/operator/api/loki/v1beta1/recordingrule_types_test.go similarity index 100% rename from operator/apis/loki/v1beta1/recordingrule_types_test.go rename to operator/api/loki/v1beta1/recordingrule_types_test.go diff --git a/operator/apis/loki/v1beta1/rulerconfig_types.go b/operator/api/loki/v1beta1/rulerconfig_types.go similarity index 100% rename from operator/apis/loki/v1beta1/rulerconfig_types.go rename to operator/api/loki/v1beta1/rulerconfig_types.go diff --git a/operator/apis/loki/v1beta1/rulerconfig_types_test.go b/operator/api/loki/v1beta1/rulerconfig_types_test.go similarity index 100% rename from operator/apis/loki/v1beta1/rulerconfig_types_test.go rename to operator/api/loki/v1beta1/rulerconfig_types_test.go 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.clusterserviceversion.yaml b/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml index abf8f5fbf5054..bf2dc26ccc71c 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.2 - createdAt: "2024-10-14T10:36:51Z" + createdAt: "2024-10-14T10:37:09Z" 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: @@ -361,16 +373,19 @@ spec: path: limits.global.ingestion.perStreamRateLimitBurst x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number - - description: IndexedResourceAttributes contains the global configuration for - resource attributes to store them as index labels. + - description: |- + IndexedResourceAttributes contains the global configuration for resource attributes + to store them as index labels. displayName: Indexed Resource Attributes path: limits.global.otlp.indexedResourceAttributes - - description: LogAttributes contains the configuration for log attributes to - store them as structured metadata or drop them altogether. + - description: |- + LogAttributes contains the configuration for log attributes + to store them as structured metadata or drop them altogether. displayName: Log Attributes path: limits.global.otlp.logAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.logAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -379,39 +394,47 @@ spec: - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.global.otlp.logAttributes[0].regex - - description: ResourceAttributes contains the configuration for resource attributes + - description: |- + ResourceAttributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Resource Attributes path: limits.global.otlp.resourceAttributes - - description: Attributes contains the configuration for resource attributes + - description: |- + Attributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Attributes path: limits.global.otlp.resourceAttributes.attributes - - description: Action defines the indexing action for the selected resoure attributes. - They can be either indexed as labels, added to structured metadata or drop - altogether. + - description: |- + Action defines the indexing action for the selected resoure attributes. They + can be either indexed as labels, added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.resourceAttributes.attributes[0].action - - description: Attributes is the list of attributes to configure indexing or - drop them altogether. + - description: |- + Attributes is the list of attributes to configure indexing or drop them + altogether. displayName: Attribute Names path: limits.global.otlp.resourceAttributes.attributes[0].attributes - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.global.otlp.resourceAttributes.attributes[0].regex - - description: "IgnoreDefaults controls whether to ignore the global configuration - for resource attributes indexed as labels. \n If IgnoreDefaults is true, - then this spec needs to contain at least one mapping to a index label." + - description: |- + IgnoreDefaults controls whether to ignore the global configuration for resource attributes + indexed as labels. + + + If IgnoreDefaults is true, then this spec needs to contain at least one mapping to a index label. displayName: Ignore Global Defaults path: limits.global.otlp.resourceAttributes.ignoreDefaults x-descriptors: - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: ScopeAttributes contains the configuration for scope attributes + - description: |- + ScopeAttributes contains the configuration for scope attributes to store them as structured metadata or drop them altogether. displayName: Scope Attributes path: limits.global.otlp.scopeAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.scopeAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -425,20 +448,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: @@ -456,9 +482,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: @@ -468,26 +495,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: @@ -498,8 +529,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: @@ -516,12 +548,14 @@ spec: path: limits.tenants.ingestion.perStreamRateLimitBurst x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number - - description: LogAttributes contains the configuration for log attributes to - store them as structured metadata or drop them altogether. + - description: |- + LogAttributes contains the configuration for log attributes + to store them as structured metadata or drop them altogether. displayName: Log Attributes path: limits.tenants.otlp.logAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.logAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -530,39 +564,47 @@ spec: - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.tenants.otlp.logAttributes[0].regex - - description: ResourceAttributes contains the configuration for resource attributes + - description: |- + ResourceAttributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Resource Attributes path: limits.tenants.otlp.resourceAttributes - - description: Attributes contains the configuration for resource attributes + - description: |- + Attributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Attributes path: limits.tenants.otlp.resourceAttributes.attributes - - description: Action defines the indexing action for the selected resoure attributes. - They can be either indexed as labels, added to structured metadata or drop - altogether. + - description: |- + Action defines the indexing action for the selected resoure attributes. They + can be either indexed as labels, added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.resourceAttributes.attributes[0].action - - description: Attributes is the list of attributes to configure indexing or - drop them altogether. + - description: |- + Attributes is the list of attributes to configure indexing or drop them + altogether. displayName: Attribute Names path: limits.tenants.otlp.resourceAttributes.attributes[0].attributes - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.tenants.otlp.resourceAttributes.attributes[0].regex - - description: "IgnoreDefaults controls whether to ignore the global configuration - for resource attributes indexed as labels. \n If IgnoreDefaults is true, - then this spec needs to contain at least one mapping to a index label." + - description: |- + IgnoreDefaults controls whether to ignore the global configuration for resource attributes + indexed as labels. + + + If IgnoreDefaults is true, then this spec needs to contain at least one mapping to a index label. displayName: Ignore Global Defaults path: limits.tenants.otlp.resourceAttributes.ignoreDefaults x-descriptors: - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: ScopeAttributes contains the configuration for scope attributes + - description: |- + ScopeAttributes contains the configuration for scope attributes to store them as structured metadata or drop them altogether. displayName: Scope Attributes path: limits.tenants.otlp.scopeAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.scopeAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -597,20 +639,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: @@ -625,8 +670,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: @@ -653,9 +699,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 @@ -668,9 +714,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: @@ -685,11 +731,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 @@ -729,13 +777,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: @@ -755,8 +805,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: @@ -769,8 +820,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: @@ -783,8 +835,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: @@ -797,8 +850,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: @@ -811,8 +865,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: @@ -825,8 +880,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: @@ -839,8 +895,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: @@ -853,8 +910,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: @@ -878,13 +936,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: @@ -895,13 +955,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: @@ -957,10 +1019,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: @@ -1026,8 +1093,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. @@ -1043,9 +1111,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. @@ -1148,9 +1217,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. @@ -1170,9 +1240,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. @@ -1205,21 +1275,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 @@ -1300,9 +1372,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. @@ -1322,9 +1395,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. @@ -1357,21 +1430,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 @@ -1433,21 +1508,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-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 3bdf74168ef3a..8bda8314217c8 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.2 - createdAt: "2024-10-14T10:36:50Z" + createdAt: "2024-10-14T10:37:07Z" 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: @@ -354,16 +366,19 @@ spec: path: limits.global.ingestion.perStreamRateLimitBurst x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number - - description: IndexedResourceAttributes contains the global configuration for - resource attributes to store them as index labels. + - description: |- + IndexedResourceAttributes contains the global configuration for resource attributes + to store them as index labels. displayName: Indexed Resource Attributes path: limits.global.otlp.indexedResourceAttributes - - description: LogAttributes contains the configuration for log attributes to - store them as structured metadata or drop them altogether. + - description: |- + LogAttributes contains the configuration for log attributes + to store them as structured metadata or drop them altogether. displayName: Log Attributes path: limits.global.otlp.logAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.logAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -372,39 +387,47 @@ spec: - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.global.otlp.logAttributes[0].regex - - description: ResourceAttributes contains the configuration for resource attributes + - description: |- + ResourceAttributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Resource Attributes path: limits.global.otlp.resourceAttributes - - description: Attributes contains the configuration for resource attributes + - description: |- + Attributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Attributes path: limits.global.otlp.resourceAttributes.attributes - - description: Action defines the indexing action for the selected resoure attributes. - They can be either indexed as labels, added to structured metadata or drop - altogether. + - description: |- + Action defines the indexing action for the selected resoure attributes. They + can be either indexed as labels, added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.resourceAttributes.attributes[0].action - - description: Attributes is the list of attributes to configure indexing or - drop them altogether. + - description: |- + Attributes is the list of attributes to configure indexing or drop them + altogether. displayName: Attribute Names path: limits.global.otlp.resourceAttributes.attributes[0].attributes - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.global.otlp.resourceAttributes.attributes[0].regex - - description: "IgnoreDefaults controls whether to ignore the global configuration - for resource attributes indexed as labels. \n If IgnoreDefaults is true, - then this spec needs to contain at least one mapping to a index label." + - description: |- + IgnoreDefaults controls whether to ignore the global configuration for resource attributes + indexed as labels. + + + If IgnoreDefaults is true, then this spec needs to contain at least one mapping to a index label. displayName: Ignore Global Defaults path: limits.global.otlp.resourceAttributes.ignoreDefaults x-descriptors: - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: ScopeAttributes contains the configuration for scope attributes + - description: |- + ScopeAttributes contains the configuration for scope attributes to store them as structured metadata or drop them altogether. displayName: Scope Attributes path: limits.global.otlp.scopeAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.scopeAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -418,20 +441,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: @@ -449,9 +475,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: @@ -461,26 +488,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: @@ -491,8 +522,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: @@ -509,12 +541,14 @@ spec: path: limits.tenants.ingestion.perStreamRateLimitBurst x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number - - description: LogAttributes contains the configuration for log attributes to - store them as structured metadata or drop them altogether. + - description: |- + LogAttributes contains the configuration for log attributes + to store them as structured metadata or drop them altogether. displayName: Log Attributes path: limits.tenants.otlp.logAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.logAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -523,39 +557,47 @@ spec: - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.tenants.otlp.logAttributes[0].regex - - description: ResourceAttributes contains the configuration for resource attributes + - description: |- + ResourceAttributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Resource Attributes path: limits.tenants.otlp.resourceAttributes - - description: Attributes contains the configuration for resource attributes + - description: |- + Attributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Attributes path: limits.tenants.otlp.resourceAttributes.attributes - - description: Action defines the indexing action for the selected resoure attributes. - They can be either indexed as labels, added to structured metadata or drop - altogether. + - description: |- + Action defines the indexing action for the selected resoure attributes. They + can be either indexed as labels, added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.resourceAttributes.attributes[0].action - - description: Attributes is the list of attributes to configure indexing or - drop them altogether. + - description: |- + Attributes is the list of attributes to configure indexing or drop them + altogether. displayName: Attribute Names path: limits.tenants.otlp.resourceAttributes.attributes[0].attributes - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.tenants.otlp.resourceAttributes.attributes[0].regex - - description: "IgnoreDefaults controls whether to ignore the global configuration - for resource attributes indexed as labels. \n If IgnoreDefaults is true, - then this spec needs to contain at least one mapping to a index label." + - description: |- + IgnoreDefaults controls whether to ignore the global configuration for resource attributes + indexed as labels. + + + If IgnoreDefaults is true, then this spec needs to contain at least one mapping to a index label. displayName: Ignore Global Defaults path: limits.tenants.otlp.resourceAttributes.ignoreDefaults x-descriptors: - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: ScopeAttributes contains the configuration for scope attributes + - description: |- + ScopeAttributes contains the configuration for scope attributes to store them as structured metadata or drop them altogether. displayName: Scope Attributes path: limits.tenants.otlp.scopeAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.scopeAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -590,20 +632,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: @@ -618,8 +663,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: @@ -646,9 +692,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 @@ -661,9 +707,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: @@ -678,11 +724,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 @@ -722,13 +770,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: @@ -748,8 +798,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: @@ -762,8 +813,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: @@ -776,8 +828,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: @@ -790,8 +843,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: @@ -804,8 +858,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: @@ -818,8 +873,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: @@ -832,8 +888,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: @@ -846,8 +903,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: @@ -871,13 +929,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: @@ -888,13 +948,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: @@ -950,10 +1012,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: @@ -1019,8 +1086,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. @@ -1036,9 +1104,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. @@ -1141,9 +1210,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. @@ -1163,9 +1233,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. @@ -1198,21 +1268,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 @@ -1293,9 +1365,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. @@ -1315,9 +1388,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. @@ -1350,21 +1423,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 @@ -1426,21 +1501,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/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 d4d8c2a89a110..43351bedce0a5 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-14T10:36:53Z" + createdAt: "2024-10-14T10:37:10Z" 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: @@ -374,16 +386,19 @@ spec: path: limits.global.ingestion.perStreamRateLimitBurst x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number - - description: IndexedResourceAttributes contains the global configuration for - resource attributes to store them as index labels. + - description: |- + IndexedResourceAttributes contains the global configuration for resource attributes + to store them as index labels. displayName: Indexed Resource Attributes path: limits.global.otlp.indexedResourceAttributes - - description: LogAttributes contains the configuration for log attributes to - store them as structured metadata or drop them altogether. + - description: |- + LogAttributes contains the configuration for log attributes + to store them as structured metadata or drop them altogether. displayName: Log Attributes path: limits.global.otlp.logAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.logAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -392,39 +407,47 @@ spec: - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.global.otlp.logAttributes[0].regex - - description: ResourceAttributes contains the configuration for resource attributes + - description: |- + ResourceAttributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Resource Attributes path: limits.global.otlp.resourceAttributes - - description: Attributes contains the configuration for resource attributes + - description: |- + Attributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Attributes path: limits.global.otlp.resourceAttributes.attributes - - description: Action defines the indexing action for the selected resoure attributes. - They can be either indexed as labels, added to structured metadata or drop - altogether. + - description: |- + Action defines the indexing action for the selected resoure attributes. They + can be either indexed as labels, added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.resourceAttributes.attributes[0].action - - description: Attributes is the list of attributes to configure indexing or - drop them altogether. + - description: |- + Attributes is the list of attributes to configure indexing or drop them + altogether. displayName: Attribute Names path: limits.global.otlp.resourceAttributes.attributes[0].attributes - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.global.otlp.resourceAttributes.attributes[0].regex - - description: "IgnoreDefaults controls whether to ignore the global configuration - for resource attributes indexed as labels. \n If IgnoreDefaults is true, - then this spec needs to contain at least one mapping to a index label." + - description: |- + IgnoreDefaults controls whether to ignore the global configuration for resource attributes + indexed as labels. + + + If IgnoreDefaults is true, then this spec needs to contain at least one mapping to a index label. displayName: Ignore Global Defaults path: limits.global.otlp.resourceAttributes.ignoreDefaults x-descriptors: - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: ScopeAttributes contains the configuration for scope attributes + - description: |- + ScopeAttributes contains the configuration for scope attributes to store them as structured metadata or drop them altogether. displayName: Scope Attributes path: limits.global.otlp.scopeAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.scopeAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -438,20 +461,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: @@ -469,9 +495,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: @@ -481,26 +508,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: @@ -511,8 +542,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: @@ -529,12 +561,14 @@ spec: path: limits.tenants.ingestion.perStreamRateLimitBurst x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number - - description: LogAttributes contains the configuration for log attributes to - store them as structured metadata or drop them altogether. + - description: |- + LogAttributes contains the configuration for log attributes + to store them as structured metadata or drop them altogether. displayName: Log Attributes path: limits.tenants.otlp.logAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.logAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -543,39 +577,47 @@ spec: - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.tenants.otlp.logAttributes[0].regex - - description: ResourceAttributes contains the configuration for resource attributes + - description: |- + ResourceAttributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Resource Attributes path: limits.tenants.otlp.resourceAttributes - - description: Attributes contains the configuration for resource attributes + - description: |- + Attributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Attributes path: limits.tenants.otlp.resourceAttributes.attributes - - description: Action defines the indexing action for the selected resoure attributes. - They can be either indexed as labels, added to structured metadata or drop - altogether. + - description: |- + Action defines the indexing action for the selected resoure attributes. They + can be either indexed as labels, added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.resourceAttributes.attributes[0].action - - description: Attributes is the list of attributes to configure indexing or - drop them altogether. + - description: |- + Attributes is the list of attributes to configure indexing or drop them + altogether. displayName: Attribute Names path: limits.tenants.otlp.resourceAttributes.attributes[0].attributes - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.tenants.otlp.resourceAttributes.attributes[0].regex - - description: "IgnoreDefaults controls whether to ignore the global configuration - for resource attributes indexed as labels. \n If IgnoreDefaults is true, - then this spec needs to contain at least one mapping to a index label." + - description: |- + IgnoreDefaults controls whether to ignore the global configuration for resource attributes + indexed as labels. + + + If IgnoreDefaults is true, then this spec needs to contain at least one mapping to a index label. displayName: Ignore Global Defaults path: limits.tenants.otlp.resourceAttributes.ignoreDefaults x-descriptors: - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: ScopeAttributes contains the configuration for scope attributes + - description: |- + ScopeAttributes contains the configuration for scope attributes to store them as structured metadata or drop them altogether. displayName: Scope Attributes path: limits.tenants.otlp.scopeAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.scopeAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -610,20 +652,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: @@ -638,8 +683,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: @@ -666,9 +712,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 @@ -681,9 +727,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: @@ -698,11 +744,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 @@ -742,13 +790,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: @@ -768,8 +818,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: @@ -782,8 +833,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: @@ -796,8 +848,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: @@ -810,8 +863,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: @@ -824,8 +878,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: @@ -838,8 +893,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: @@ -852,8 +908,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: @@ -866,8 +923,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: @@ -891,13 +949,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: @@ -908,13 +968,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: @@ -970,10 +1032,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: @@ -1039,8 +1106,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. @@ -1056,9 +1124,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. @@ -1161,9 +1230,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. @@ -1183,9 +1253,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. @@ -1218,21 +1288,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 @@ -1313,9 +1385,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. @@ -1335,9 +1408,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. @@ -1370,21 +1443,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 @@ -1446,21 +1521,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..93d77f518c911 100644 --- a/operator/cmd/loki-broker/main.go +++ b/operator/cmd/loki-broker/main.go @@ -12,7 +12,7 @@ import ( openshiftv1 "github.com/openshift/api/config/v1" "sigs.k8s.io/yaml" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/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 98% rename from operator/main.go rename to operator/cmd/loki-operator/main.go index fdefa6f663a06..00afb7c5765a4 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" + ctrlconfigv1 "github.com/grafana/loki/operator/api/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" "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/manifests/community-openshift/bases/loki-operator.clusterserviceversion.yaml b/operator/config/manifests/community-openshift/bases/loki-operator.clusterserviceversion.yaml index 7e7e67ad51aab..0e6798f255c22 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: @@ -274,16 +288,19 @@ spec: path: limits.global.ingestion.perStreamRateLimitBurst x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number - - description: IndexedResourceAttributes contains the global configuration for - resource attributes to store them as index labels. + - description: |- + IndexedResourceAttributes contains the global configuration for resource attributes + to store them as index labels. displayName: Indexed Resource Attributes path: limits.global.otlp.indexedResourceAttributes - - description: LogAttributes contains the configuration for log attributes to - store them as structured metadata or drop them altogether. + - description: |- + LogAttributes contains the configuration for log attributes + to store them as structured metadata or drop them altogether. displayName: Log Attributes path: limits.global.otlp.logAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.logAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -292,39 +309,47 @@ spec: - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.global.otlp.logAttributes[0].regex - - description: ResourceAttributes contains the configuration for resource attributes + - description: |- + ResourceAttributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Resource Attributes path: limits.global.otlp.resourceAttributes - - description: Attributes contains the configuration for resource attributes + - description: |- + Attributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Attributes path: limits.global.otlp.resourceAttributes.attributes - - description: Action defines the indexing action for the selected resoure attributes. - They can be either indexed as labels, added to structured metadata or drop - altogether. + - description: |- + Action defines the indexing action for the selected resoure attributes. They + can be either indexed as labels, added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.resourceAttributes.attributes[0].action - - description: Attributes is the list of attributes to configure indexing or - drop them altogether. + - description: |- + Attributes is the list of attributes to configure indexing or drop them + altogether. displayName: Attribute Names path: limits.global.otlp.resourceAttributes.attributes[0].attributes - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.global.otlp.resourceAttributes.attributes[0].regex - - description: "IgnoreDefaults controls whether to ignore the global configuration - for resource attributes indexed as labels. \n If IgnoreDefaults is true, - then this spec needs to contain at least one mapping to a index label." + - description: |- + IgnoreDefaults controls whether to ignore the global configuration for resource attributes + indexed as labels. + + + If IgnoreDefaults is true, then this spec needs to contain at least one mapping to a index label. displayName: Ignore Global Defaults path: limits.global.otlp.resourceAttributes.ignoreDefaults x-descriptors: - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: ScopeAttributes contains the configuration for scope attributes + - description: |- + ScopeAttributes contains the configuration for scope attributes to store them as structured metadata or drop them altogether. displayName: Scope Attributes path: limits.global.otlp.scopeAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.scopeAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -338,20 +363,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: @@ -369,9 +397,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: @@ -381,26 +410,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: @@ -411,8 +444,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: @@ -429,12 +463,14 @@ spec: path: limits.tenants.ingestion.perStreamRateLimitBurst x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number - - description: LogAttributes contains the configuration for log attributes to - store them as structured metadata or drop them altogether. + - description: |- + LogAttributes contains the configuration for log attributes + to store them as structured metadata or drop them altogether. displayName: Log Attributes path: limits.tenants.otlp.logAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.logAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -443,39 +479,47 @@ spec: - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.tenants.otlp.logAttributes[0].regex - - description: ResourceAttributes contains the configuration for resource attributes + - description: |- + ResourceAttributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Resource Attributes path: limits.tenants.otlp.resourceAttributes - - description: Attributes contains the configuration for resource attributes + - description: |- + Attributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Attributes path: limits.tenants.otlp.resourceAttributes.attributes - - description: Action defines the indexing action for the selected resoure attributes. - They can be either indexed as labels, added to structured metadata or drop - altogether. + - description: |- + Action defines the indexing action for the selected resoure attributes. They + can be either indexed as labels, added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.resourceAttributes.attributes[0].action - - description: Attributes is the list of attributes to configure indexing or - drop them altogether. + - description: |- + Attributes is the list of attributes to configure indexing or drop them + altogether. displayName: Attribute Names path: limits.tenants.otlp.resourceAttributes.attributes[0].attributes - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.tenants.otlp.resourceAttributes.attributes[0].regex - - description: "IgnoreDefaults controls whether to ignore the global configuration - for resource attributes indexed as labels. \n If IgnoreDefaults is true, - then this spec needs to contain at least one mapping to a index label." + - description: |- + IgnoreDefaults controls whether to ignore the global configuration for resource attributes + indexed as labels. + + + If IgnoreDefaults is true, then this spec needs to contain at least one mapping to a index label. displayName: Ignore Global Defaults path: limits.tenants.otlp.resourceAttributes.ignoreDefaults x-descriptors: - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: ScopeAttributes contains the configuration for scope attributes + - description: |- + ScopeAttributes contains the configuration for scope attributes to store them as structured metadata or drop them altogether. displayName: Scope Attributes path: limits.tenants.otlp.scopeAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.scopeAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -510,20 +554,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: @@ -538,8 +585,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: @@ -566,9 +614,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 @@ -581,9 +629,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: @@ -598,11 +646,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 @@ -642,13 +692,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: @@ -668,8 +720,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: @@ -682,8 +735,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: @@ -696,8 +750,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: @@ -710,8 +765,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: @@ -724,8 +780,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: @@ -738,8 +795,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: @@ -752,8 +810,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: @@ -766,8 +825,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: @@ -791,13 +851,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: @@ -808,13 +870,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: @@ -870,10 +934,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: @@ -969,9 +1038,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: @@ -981,26 +1051,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: @@ -1011,20 +1085,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: @@ -1032,9 +1109,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: @@ -1044,26 +1122,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: @@ -1074,26 +1156,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: @@ -1114,11 +1200,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 @@ -1156,8 +1244,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: @@ -1359,8 +1448,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. @@ -1376,9 +1466,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. @@ -1410,8 +1501,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. @@ -1427,9 +1519,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 @@ -1529,9 +1622,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. @@ -1551,9 +1645,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. @@ -1586,21 +1680,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 @@ -1681,9 +1777,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. @@ -1703,9 +1800,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. @@ -1738,21 +1835,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 @@ -1814,21 +1913,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 @@ -1968,9 +2069,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. @@ -1990,9 +2092,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. @@ -2025,21 +2127,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 @@ -2117,9 +2221,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. @@ -2139,9 +2244,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. @@ -2174,21 +2279,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 @@ -2250,21 +2357,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 c1ee0008faa43..616d5e653184a 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: @@ -267,16 +281,19 @@ spec: path: limits.global.ingestion.perStreamRateLimitBurst x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number - - description: IndexedResourceAttributes contains the global configuration for - resource attributes to store them as index labels. + - description: |- + IndexedResourceAttributes contains the global configuration for resource attributes + to store them as index labels. displayName: Indexed Resource Attributes path: limits.global.otlp.indexedResourceAttributes - - description: LogAttributes contains the configuration for log attributes to - store them as structured metadata or drop them altogether. + - description: |- + LogAttributes contains the configuration for log attributes + to store them as structured metadata or drop them altogether. displayName: Log Attributes path: limits.global.otlp.logAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.logAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -285,39 +302,47 @@ spec: - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.global.otlp.logAttributes[0].regex - - description: ResourceAttributes contains the configuration for resource attributes + - description: |- + ResourceAttributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Resource Attributes path: limits.global.otlp.resourceAttributes - - description: Attributes contains the configuration for resource attributes + - description: |- + Attributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Attributes path: limits.global.otlp.resourceAttributes.attributes - - description: Action defines the indexing action for the selected resoure attributes. - They can be either indexed as labels, added to structured metadata or drop - altogether. + - description: |- + Action defines the indexing action for the selected resoure attributes. They + can be either indexed as labels, added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.resourceAttributes.attributes[0].action - - description: Attributes is the list of attributes to configure indexing or - drop them altogether. + - description: |- + Attributes is the list of attributes to configure indexing or drop them + altogether. displayName: Attribute Names path: limits.global.otlp.resourceAttributes.attributes[0].attributes - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.global.otlp.resourceAttributes.attributes[0].regex - - description: "IgnoreDefaults controls whether to ignore the global configuration - for resource attributes indexed as labels. \n If IgnoreDefaults is true, - then this spec needs to contain at least one mapping to a index label." + - description: |- + IgnoreDefaults controls whether to ignore the global configuration for resource attributes + indexed as labels. + + + If IgnoreDefaults is true, then this spec needs to contain at least one mapping to a index label. displayName: Ignore Global Defaults path: limits.global.otlp.resourceAttributes.ignoreDefaults x-descriptors: - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: ScopeAttributes contains the configuration for scope attributes + - description: |- + ScopeAttributes contains the configuration for scope attributes to store them as structured metadata or drop them altogether. displayName: Scope Attributes path: limits.global.otlp.scopeAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.scopeAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -331,20 +356,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: @@ -362,9 +390,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: @@ -374,26 +403,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: @@ -404,8 +437,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: @@ -422,12 +456,14 @@ spec: path: limits.tenants.ingestion.perStreamRateLimitBurst x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number - - description: LogAttributes contains the configuration for log attributes to - store them as structured metadata or drop them altogether. + - description: |- + LogAttributes contains the configuration for log attributes + to store them as structured metadata or drop them altogether. displayName: Log Attributes path: limits.tenants.otlp.logAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.logAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -436,39 +472,47 @@ spec: - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.tenants.otlp.logAttributes[0].regex - - description: ResourceAttributes contains the configuration for resource attributes + - description: |- + ResourceAttributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Resource Attributes path: limits.tenants.otlp.resourceAttributes - - description: Attributes contains the configuration for resource attributes + - description: |- + Attributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Attributes path: limits.tenants.otlp.resourceAttributes.attributes - - description: Action defines the indexing action for the selected resoure attributes. - They can be either indexed as labels, added to structured metadata or drop - altogether. + - description: |- + Action defines the indexing action for the selected resoure attributes. They + can be either indexed as labels, added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.resourceAttributes.attributes[0].action - - description: Attributes is the list of attributes to configure indexing or - drop them altogether. + - description: |- + Attributes is the list of attributes to configure indexing or drop them + altogether. displayName: Attribute Names path: limits.tenants.otlp.resourceAttributes.attributes[0].attributes - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.tenants.otlp.resourceAttributes.attributes[0].regex - - description: "IgnoreDefaults controls whether to ignore the global configuration - for resource attributes indexed as labels. \n If IgnoreDefaults is true, - then this spec needs to contain at least one mapping to a index label." + - description: |- + IgnoreDefaults controls whether to ignore the global configuration for resource attributes + indexed as labels. + + + If IgnoreDefaults is true, then this spec needs to contain at least one mapping to a index label. displayName: Ignore Global Defaults path: limits.tenants.otlp.resourceAttributes.ignoreDefaults x-descriptors: - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: ScopeAttributes contains the configuration for scope attributes + - description: |- + ScopeAttributes contains the configuration for scope attributes to store them as structured metadata or drop them altogether. displayName: Scope Attributes path: limits.tenants.otlp.scopeAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.scopeAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -503,20 +547,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: @@ -531,8 +578,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: @@ -559,9 +607,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 @@ -574,9 +622,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: @@ -591,11 +639,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 @@ -635,13 +685,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: @@ -661,8 +713,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: @@ -675,8 +728,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: @@ -689,8 +743,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: @@ -703,8 +758,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: @@ -717,8 +773,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: @@ -731,8 +788,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: @@ -745,8 +803,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: @@ -759,8 +818,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: @@ -784,13 +844,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: @@ -801,13 +863,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: @@ -863,10 +927,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: @@ -962,9 +1031,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: @@ -974,26 +1044,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: @@ -1004,20 +1078,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: @@ -1025,9 +1102,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: @@ -1037,26 +1115,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: @@ -1067,26 +1149,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: @@ -1107,11 +1193,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 @@ -1149,8 +1237,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: @@ -1352,8 +1441,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. @@ -1369,9 +1459,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. @@ -1403,8 +1494,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. @@ -1420,9 +1512,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 @@ -1522,9 +1615,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. @@ -1544,9 +1638,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. @@ -1579,21 +1673,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 @@ -1674,9 +1770,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. @@ -1696,9 +1793,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. @@ -1731,21 +1828,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 @@ -1807,21 +1906,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 @@ -1961,9 +2062,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. @@ -1983,9 +2085,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. @@ -2018,21 +2120,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 @@ -2110,9 +2214,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. @@ -2132,9 +2237,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. @@ -2167,21 +2272,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 @@ -2243,21 +2350,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 b841ead1147aa..f5d6b5efd6596 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: @@ -286,16 +300,19 @@ spec: path: limits.global.ingestion.perStreamRateLimitBurst x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number - - description: IndexedResourceAttributes contains the global configuration for - resource attributes to store them as index labels. + - description: |- + IndexedResourceAttributes contains the global configuration for resource attributes + to store them as index labels. displayName: Indexed Resource Attributes path: limits.global.otlp.indexedResourceAttributes - - description: LogAttributes contains the configuration for log attributes to - store them as structured metadata or drop them altogether. + - description: |- + LogAttributes contains the configuration for log attributes + to store them as structured metadata or drop them altogether. displayName: Log Attributes path: limits.global.otlp.logAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.logAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -304,39 +321,47 @@ spec: - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.global.otlp.logAttributes[0].regex - - description: ResourceAttributes contains the configuration for resource attributes + - description: |- + ResourceAttributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Resource Attributes path: limits.global.otlp.resourceAttributes - - description: Attributes contains the configuration for resource attributes + - description: |- + Attributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Attributes path: limits.global.otlp.resourceAttributes.attributes - - description: Action defines the indexing action for the selected resoure attributes. - They can be either indexed as labels, added to structured metadata or drop - altogether. + - description: |- + Action defines the indexing action for the selected resoure attributes. They + can be either indexed as labels, added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.resourceAttributes.attributes[0].action - - description: Attributes is the list of attributes to configure indexing or - drop them altogether. + - description: |- + Attributes is the list of attributes to configure indexing or drop them + altogether. displayName: Attribute Names path: limits.global.otlp.resourceAttributes.attributes[0].attributes - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.global.otlp.resourceAttributes.attributes[0].regex - - description: "IgnoreDefaults controls whether to ignore the global configuration - for resource attributes indexed as labels. \n If IgnoreDefaults is true, - then this spec needs to contain at least one mapping to a index label." + - description: |- + IgnoreDefaults controls whether to ignore the global configuration for resource attributes + indexed as labels. + + + If IgnoreDefaults is true, then this spec needs to contain at least one mapping to a index label. displayName: Ignore Global Defaults path: limits.global.otlp.resourceAttributes.ignoreDefaults x-descriptors: - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: ScopeAttributes contains the configuration for scope attributes + - description: |- + ScopeAttributes contains the configuration for scope attributes to store them as structured metadata or drop them altogether. displayName: Scope Attributes path: limits.global.otlp.scopeAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.global.otlp.scopeAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -350,20 +375,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: @@ -381,9 +409,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: @@ -393,26 +422,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: @@ -423,8 +456,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: @@ -441,12 +475,14 @@ spec: path: limits.tenants.ingestion.perStreamRateLimitBurst x-descriptors: - urn:alm:descriptor:com.tectonic.ui:number - - description: LogAttributes contains the configuration for log attributes to - store them as structured metadata or drop them altogether. + - description: |- + LogAttributes contains the configuration for log attributes + to store them as structured metadata or drop them altogether. displayName: Log Attributes path: limits.tenants.otlp.logAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.logAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -455,39 +491,47 @@ spec: - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.tenants.otlp.logAttributes[0].regex - - description: ResourceAttributes contains the configuration for resource attributes + - description: |- + ResourceAttributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Resource Attributes path: limits.tenants.otlp.resourceAttributes - - description: Attributes contains the configuration for resource attributes + - description: |- + Attributes contains the configuration for resource attributes to store them as index labels or structured metadata or drop them altogether. displayName: Attributes path: limits.tenants.otlp.resourceAttributes.attributes - - description: Action defines the indexing action for the selected resoure attributes. - They can be either indexed as labels, added to structured metadata or drop - altogether. + - description: |- + Action defines the indexing action for the selected resoure attributes. They + can be either indexed as labels, added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.resourceAttributes.attributes[0].action - - description: Attributes is the list of attributes to configure indexing or - drop them altogether. + - description: |- + Attributes is the list of attributes to configure indexing or drop them + altogether. displayName: Attribute Names path: limits.tenants.otlp.resourceAttributes.attributes[0].attributes - description: Regex allows choosing the attributes by matching a regular expression. displayName: Regular Expression path: limits.tenants.otlp.resourceAttributes.attributes[0].regex - - description: "IgnoreDefaults controls whether to ignore the global configuration - for resource attributes indexed as labels. \n If IgnoreDefaults is true, - then this spec needs to contain at least one mapping to a index label." + - description: |- + IgnoreDefaults controls whether to ignore the global configuration for resource attributes + indexed as labels. + + + If IgnoreDefaults is true, then this spec needs to contain at least one mapping to a index label. displayName: Ignore Global Defaults path: limits.tenants.otlp.resourceAttributes.ignoreDefaults x-descriptors: - urn:alm:descriptor:com.tectonic.ui:booleanSwitch - - description: ScopeAttributes contains the configuration for scope attributes + - description: |- + ScopeAttributes contains the configuration for scope attributes to store them as structured metadata or drop them altogether. displayName: Scope Attributes path: limits.tenants.otlp.scopeAttributes - - description: Action defines the indexing action for the selected attributes. - They can be either added to structured metadata or drop altogether. + - description: |- + Action defines the indexing action for the selected attributes. They + can be either added to structured metadata or drop altogether. displayName: Action path: limits.tenants.otlp.scopeAttributes[0].action - description: Attributes allows choosing the attributes by listing their names. @@ -522,20 +566,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: @@ -550,8 +597,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: @@ -578,9 +626,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 @@ -593,9 +641,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: @@ -610,11 +658,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 @@ -654,13 +704,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: @@ -680,8 +732,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: @@ -694,8 +747,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: @@ -708,8 +762,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: @@ -722,8 +777,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: @@ -736,8 +792,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: @@ -750,8 +807,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: @@ -764,8 +822,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: @@ -778,8 +837,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: @@ -803,13 +863,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: @@ -820,13 +882,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: @@ -882,10 +946,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: @@ -981,9 +1050,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: @@ -993,26 +1063,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: @@ -1023,20 +1097,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: @@ -1044,9 +1121,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: @@ -1056,26 +1134,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: @@ -1086,26 +1168,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: @@ -1126,11 +1212,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 @@ -1168,8 +1256,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: @@ -1371,8 +1460,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. @@ -1388,9 +1478,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. @@ -1422,8 +1513,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. @@ -1439,9 +1531,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 @@ -1541,9 +1634,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. @@ -1563,9 +1657,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. @@ -1598,21 +1692,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 @@ -1693,9 +1789,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. @@ -1715,9 +1812,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. @@ -1750,21 +1847,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 @@ -1826,21 +1925,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 @@ -1980,9 +2081,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. @@ -2002,9 +2104,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. @@ -2037,21 +2139,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 @@ -2129,9 +2233,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. @@ -2151,9 +2256,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. @@ -2186,21 +2291,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 @@ -2262,21 +2369,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/go.mod b/operator/go.mod index 72c7c768e0ab5..5390362e6efe7 100644 --- a/operator/go.mod +++ b/operator/go.mod @@ -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/apis/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 95% rename from operator/controllers/loki/alertingrule_controller.go rename to operator/internal/controller/loki/alertingrule_controller.go index 8840141d63e5e..21a920e42568c 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" @@ -12,7 +12,7 @@ import ( "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" + "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 93% rename from operator/controllers/loki/certrotation_controller.go rename to operator/internal/controller/loki/certrotation_controller.go index d682d489c6691..be2ad1eb70bd5 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" + configv1 "github.com/grafana/loki/operator/api/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" "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 98% rename from operator/controllers/loki/certrotation_controller_test.go rename to operator/internal/controller/loki/certrotation_controller_test.go index a33b8226216e3..584a52644421f 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" diff --git a/operator/controllers/loki/dashboards_controller.go b/operator/internal/controller/loki/dashboards_controller.go similarity index 99% rename from operator/controllers/loki/dashboards_controller.go rename to operator/internal/controller/loki/dashboards_controller.go index fde3f107bcd6a..ec9f4b9ab71b8 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" diff --git a/operator/controllers/loki/internal/lokistack/certrotation_discovery.go b/operator/internal/controller/loki/internal/lokistack/certrotation_discovery.go similarity index 100% rename from operator/controllers/loki/internal/lokistack/certrotation_discovery.go rename to operator/internal/controller/loki/internal/lokistack/certrotation_discovery.go 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 100% rename from operator/controllers/loki/internal/lokistack/ruler_config_discovery.go rename to operator/internal/controller/loki/internal/lokistack/ruler_config_discovery.go diff --git a/operator/controllers/loki/internal/lokistack/rules_discovery.go b/operator/internal/controller/loki/internal/lokistack/rules_discovery.go similarity index 100% rename from operator/controllers/loki/internal/lokistack/rules_discovery.go rename to operator/internal/controller/loki/internal/lokistack/rules_discovery.go diff --git a/operator/controllers/loki/internal/lokistack/update.go b/operator/internal/controller/loki/internal/lokistack/update.go similarity index 100% rename from operator/controllers/loki/internal/lokistack/update.go rename to operator/internal/controller/loki/internal/lokistack/update.go diff --git a/operator/controllers/loki/internal/management/state/state.go b/operator/internal/controller/loki/internal/management/state/state.go similarity index 100% rename from operator/controllers/loki/internal/management/state/state.go rename to operator/internal/controller/loki/internal/management/state/state.go 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 93% 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..0d4ece6f78ac3 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" @@ -14,7 +14,6 @@ import ( "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" "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..c0763bb646e53 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" + configv1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" - "github.com/grafana/loki/operator/controllers/loki/internal/management/state" "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..7029570a68310 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,7 +22,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/builder" "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" lokiv1 "github.com/grafana/loki/operator/apis/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 99% rename from operator/controllers/loki/lokistack_zone_labeling_controller.go rename to operator/internal/controller/loki/lokistack_zone_labeling_controller.go index 1012f6a2f5dc6..4656e3feeb288 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" 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 95% rename from operator/controllers/loki/recordingrule_controller.go rename to operator/internal/controller/loki/recordingrule_controller.go index adb6dbf80f194..ed58701383e92 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" @@ -12,7 +12,7 @@ import ( "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" + "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 95% rename from operator/controllers/loki/rulerconfig_controller.go rename to operator/internal/controller/loki/rulerconfig_controller.go index 5e827b54e2ffa..d774278bb3c6e 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" @@ -9,7 +9,7 @@ import ( "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" + "github.com/grafana/loki/operator/internal/controller/loki/internal/lokistack" ) // RulerConfigReconciler reconciles a RulerConfig object diff --git a/operator/internal/handlers/internal/gateway/gateway.go b/operator/internal/handlers/internal/gateway/gateway.go index 0b05801f2e9aa..5957364b4a572 100644 --- a/operator/internal/handlers/internal/gateway/gateway.go +++ b/operator/internal/handlers/internal/gateway/gateway.go @@ -6,7 +6,7 @@ import ( "github.com/go-logr/logr" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/handlers/internal/openshift" diff --git a/operator/internal/handlers/internal/gateway/gateway_test.go b/operator/internal/handlers/internal/gateway/gateway_test.go index 2c8f846f55825..cb4db6c5a64a1 100644 --- a/operator/internal/handlers/internal/gateway/gateway_test.go +++ b/operator/internal/handlers/internal/gateway/gateway_test.go @@ -15,7 +15,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "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" lokiv1 "github.com/grafana/loki/operator/apis/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/storage/secrets.go b/operator/internal/handlers/internal/storage/secrets.go index 2b591ba34f3f1..6f8066838ec16 100644 --- a/operator/internal/handlers/internal/storage/secrets.go +++ b/operator/internal/handlers/internal/storage/secrets.go @@ -17,7 +17,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "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" lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/manifests/storage" diff --git a/operator/internal/handlers/internal/storage/secrets_test.go b/operator/internal/handlers/internal/storage/secrets_test.go index a3d1428809466..2cc0861d5258c 100644 --- a/operator/internal/handlers/internal/storage/secrets_test.go +++ b/operator/internal/handlers/internal/storage/secrets_test.go @@ -7,7 +7,7 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/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..0f767dec38b0b 100644 --- a/operator/internal/handlers/internal/storage/storage.go +++ b/operator/internal/handlers/internal/storage/storage.go @@ -5,7 +5,7 @@ import ( "fmt" "time" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/manifests/storage" diff --git a/operator/internal/handlers/internal/storage/storage_test.go b/operator/internal/handlers/internal/storage/storage_test.go index 19a7147c877a0..cf500fd76d085 100644 --- a/operator/internal/handlers/internal/storage/storage_test.go +++ b/operator/internal/handlers/internal/storage/storage_test.go @@ -15,7 +15,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "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" lokiv1 "github.com/grafana/loki/operator/apis/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..c7e10613659a9 100644 --- a/operator/internal/handlers/lokistack_check_cert_expiry.go +++ b/operator/internal/handlers/lokistack_check_cert_expiry.go @@ -8,7 +8,7 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" ctrl "sigs.k8s.io/controller-runtime" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" "github.com/grafana/loki/operator/internal/certrotation" "github.com/grafana/loki/operator/internal/external/k8s" diff --git a/operator/internal/handlers/lokistack_create_or_update.go b/operator/internal/handlers/lokistack_create_or_update.go index ee0eea1513af0..d87f820b1f77e 100644 --- a/operator/internal/handlers/lokistack_create_or_update.go +++ b/operator/internal/handlers/lokistack_create_or_update.go @@ -15,7 +15,7 @@ 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" + configv1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" "github.com/grafana/loki/operator/internal/external/k8s" "github.com/grafana/loki/operator/internal/handlers/internal/gateway" diff --git a/operator/internal/handlers/lokistack_create_or_update_test.go b/operator/internal/handlers/lokistack_create_or_update_test.go index c7677e49a05a4..c4242d69506e5 100644 --- a/operator/internal/handlers/lokistack_create_or_update_test.go +++ b/operator/internal/handlers/lokistack_create_or_update_test.go @@ -25,7 +25,7 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "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" lokiv1 "github.com/grafana/loki/operator/apis/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_rotate_certs.go b/operator/internal/handlers/lokistack_rotate_certs.go index 2f7b088abd043..f8d2e845f58a7 100644 --- a/operator/internal/handlers/lokistack_rotate_certs.go +++ b/operator/internal/handlers/lokistack_rotate_certs.go @@ -12,7 +12,7 @@ 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" + configv1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" "github.com/grafana/loki/operator/internal/certrotation" "github.com/grafana/loki/operator/internal/external/k8s" diff --git a/operator/internal/manifests/build_test.go b/operator/internal/manifests/build_test.go index dd8d8d22a5aa6..d9bf7b8e75d43 100644 --- a/operator/internal/manifests/build_test.go +++ b/operator/internal/manifests/build_test.go @@ -11,7 +11,7 @@ import ( corev1 "k8s.io/api/core/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" lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" "github.com/grafana/loki/operator/internal/manifests/internal" ) diff --git a/operator/internal/manifests/gateway_tenants.go b/operator/internal/manifests/gateway_tenants.go index 467f0a1fe5c25..f3cf5894515c0 100644 --- a/operator/internal/manifests/gateway_tenants.go +++ b/operator/internal/manifests/gateway_tenants.go @@ -12,7 +12,7 @@ import ( networkingv1 "k8s.io/api/networking/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" lokiv1 "github.com/grafana/loki/operator/apis/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..68eb6ef48d47c 100644 --- a/operator/internal/manifests/gateway_tenants_test.go +++ b/operator/internal/manifests/gateway_tenants_test.go @@ -12,7 +12,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/intstr" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/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..393b2f4478483 100644 --- a/operator/internal/manifests/gateway_test.go +++ b/operator/internal/manifests/gateway_test.go @@ -14,7 +14,7 @@ import ( policyv1 "k8s.io/api/policy/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" "github.com/grafana/loki/operator/internal/manifests/internal/gateway" "github.com/grafana/loki/operator/internal/manifests/openshift" diff --git a/operator/internal/manifests/ingester_test.go b/operator/internal/manifests/ingester_test.go index 83b0d94111301..8f5fe728780f3 100644 --- a/operator/internal/manifests/ingester_test.go +++ b/operator/internal/manifests/ingester_test.go @@ -10,7 +10,7 @@ import ( policyv1 "k8s.io/api/policy/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - v1 "github.com/grafana/loki/operator/apis/config/v1" + v1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/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 016e42253f21b..b01385b4afef0 100644 --- a/operator/internal/manifests/internal/config/build_test.go +++ b/operator/internal/manifests/internal/config/build_test.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/require" "k8s.io/utils/ptr" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/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..78153f0a9f845 100644 --- a/operator/internal/manifests/internal/config/options.go +++ b/operator/internal/manifests/internal/config/options.go @@ -6,7 +6,7 @@ import ( "strings" "time" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" "github.com/grafana/loki/operator/internal/manifests/storage" ) diff --git a/operator/internal/manifests/node_placement_test.go b/operator/internal/manifests/node_placement_test.go index 79d4c53ba316c..73497840bc5d3 100644 --- a/operator/internal/manifests/node_placement_test.go +++ b/operator/internal/manifests/node_placement_test.go @@ -8,7 +8,7 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" "github.com/grafana/loki/operator/internal/manifests/storage" ) diff --git a/operator/internal/manifests/options.go b/operator/internal/manifests/options.go index b294b697c3721..f16abaab4d41d 100644 --- a/operator/internal/manifests/options.go +++ b/operator/internal/manifests/options.go @@ -4,7 +4,7 @@ import ( "strings" "time" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" "github.com/grafana/loki/operator/internal/manifests/internal" "github.com/grafana/loki/operator/internal/manifests/internal/config" diff --git a/operator/internal/manifests/service_monitor_test.go b/operator/internal/manifests/service_monitor_test.go index cf829cca07aff..6598453027396 100644 --- a/operator/internal/manifests/service_monitor_test.go +++ b/operator/internal/manifests/service_monitor_test.go @@ -10,7 +10,7 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/utils/ptr" - configv1 "github.com/grafana/loki/operator/apis/config/v1" + configv1 "github.com/grafana/loki/operator/api/config/v1" lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" ) diff --git a/operator/internal/manifests/service_test.go b/operator/internal/manifests/service_test.go index af3c79bd20add..7f033abcb9344 100644 --- a/operator/internal/manifests/service_test.go +++ b/operator/internal/manifests/service_test.go @@ -11,7 +11,7 @@ import ( corev1 "k8s.io/api/core/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" lokiv1 "github.com/grafana/loki/operator/apis/loki/v1" ) From 7feb4b3154f0d31266c1b3a9b55fbe534cf05594 Mon Sep 17 00:00:00 2001 From: Periklis Tsirakidis Date: Thu, 10 Oct 2024 15:16:50 +0200 Subject: [PATCH 3/7] Bump kustomization config to kustomize/v5 --- operator/.bingo/Variables.mk | 6 +- operator/.bingo/kustomize.mod | 8 +- operator/.bingo/kustomize.sum | 471 +++--------------- operator/.bingo/variables.env | 2 +- ...er-manager-metrics-service_v1_service.yaml | 1 - .../loki-operator.clusterserviceversion.yaml | 2 +- .../loki-operator.clusterserviceversion.yaml | 2 +- .../loki.grafana.com_alertingrules.yaml | 1 + .../loki.grafana.com_lokistacks.yaml | 1 + .../loki.grafana.com_recordingrules.yaml | 1 + .../loki.grafana.com_rulerconfigs.yaml | 1 + ...er-manager-metrics-service_v1_service.yaml | 1 - .../loki-operator.clusterserviceversion.yaml | 2 +- operator/config/certmanager/certificate.yaml | 6 +- operator/config/crd/kustomization.yaml | 12 +- .../community-openshift/kustomization.yaml | 20 +- .../overlays/community/kustomization.yaml | 148 ++++-- .../community/webhookcainjection_patch.yaml | 6 +- .../overlays/openshift/kustomization.yaml | 26 +- operator/config/scorecard/kustomization.yaml | 9 +- operator/config/webhook/kustomizeconfig.yaml | 3 - 21 files changed, 225 insertions(+), 504 deletions(-) diff --git a/operator/.bingo/Variables.mk b/operator/.bingo/Variables.mk index 348997ab41c11..910d148a265a6 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..52a2224e640d9 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.8 -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/variables.env b/operator/.bingo/variables.env index 63c377848036b..193b281afdea3 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/bundle/community-openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml b/operator/bundle/community-openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml index 83b327cf24d0d..ece1b4270a21c 100644 --- a/operator/bundle/community-openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml +++ b/operator/bundle/community-openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml @@ -5,7 +5,6 @@ metadata: service.beta.openshift.io/serving-cert-secret-name: loki-operator-metrics creationTimestamp: null labels: - app.kubernetes.io/component: metrics app.kubernetes.io/instance: loki-operator-v0.6.2 app.kubernetes.io/managed-by: operator-lifecycle-manager app.kubernetes.io/name: loki-operator diff --git a/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml index bf2dc26ccc71c..2ac9830429116 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.2 - createdAt: "2024-10-14T10:37:09Z" + createdAt: "2024-10-14T10:37:24Z" description: The Community Loki Operator provides Kubernetes native deployment and management of Loki and related logging components. features.operators.openshift.io/disconnected: "true" diff --git a/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml index 8bda8314217c8..ccd1db25b5a63 100644 --- a/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml +++ b/operator/bundle/community/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.2 - createdAt: "2024-10-14T10:37:07Z" + createdAt: "2024-10-14T10:37:22Z" description: The Community Loki Operator provides Kubernetes native deployment and management of Loki and related logging components. operators.operatorframework.io/builder: operator-sdk-unknown diff --git a/operator/bundle/community/manifests/loki.grafana.com_alertingrules.yaml b/operator/bundle/community/manifests/loki.grafana.com_alertingrules.yaml index b21ccf6f5e586..1ebd338f050b4 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.16.3 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 32a8561f742e4..73e3ff4bde678 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.16.3 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 5b0fed1309eac..eb401e5ed9e2a 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.16.3 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 4ab8c7e73574f..1ec2363bee213 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.16.3 creationTimestamp: null labels: diff --git a/operator/bundle/openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml b/operator/bundle/openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml index b7a8a16b7c344..aba4997c36ae9 100644 --- a/operator/bundle/openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml +++ b/operator/bundle/openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml @@ -5,7 +5,6 @@ metadata: service.beta.openshift.io/serving-cert-secret-name: loki-operator-metrics creationTimestamp: null labels: - app.kubernetes.io/component: metrics app.kubernetes.io/instance: loki-operator-0.1.0 app.kubernetes.io/managed-by: operator-lifecycle-manager app.kubernetes.io/name: loki-operator diff --git a/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml index 43351bedce0a5..ead208aef8c92 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-14T10:37:10Z" + createdAt: "2024-10-14T10:37:25Z" description: | The Loki Operator for OCP provides a means for configuring and managing a Loki stack for cluster logging. ## Prerequisites and Requirements 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..512c076fbaaaa 100644 --- a/operator/config/crd/kustomization.yaml +++ b/operator/config/crd/kustomization.yaml @@ -8,13 +8,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 +23,10 @@ patchesStrategicMerge: # the following config is for teaching kustomize how to do kustomization for CRDs. configurations: - kustomizeconfig.yaml +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +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/overlays/community-openshift/kustomization.yaml b/operator/config/overlays/community-openshift/kustomization.yaml index af5e40aac80b8..80bf6a8d563a7 100644 --- a/operator/config/overlays/community-openshift/kustomization.yaml +++ b/operator/config/overlays/community-openshift/kustomization.yaml @@ -5,26 +5,28 @@ 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.2 - app.kubernetes.io/version: "0.6.2" + app.kubernetes.io/version: 0.6.2 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 newName: docker.io/grafana/loki-operator newTag: 0.6.2 +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +patches: +- path: manager_related_image_patch.yaml +- path: prometheus_service_monitor_patch.yaml diff --git a/operator/config/overlays/community/kustomization.yaml b/operator/config/overlays/community/kustomization.yaml index ed910555da2c5..0f259c10356b4 100644 --- a/operator/config/overlays/community/kustomization.yaml +++ b/operator/config/overlays/community/kustomization.yaml @@ -16,14 +16,14 @@ 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.2 - app.kubernetes.io/version: "0.6.2" + app.kubernetes.io/version: 0.6.2 generatorOptions: disableNameSuffixHash: true @@ -33,12 +33,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 +40,111 @@ images: newTag: 0.6.2 # 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 +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +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/kustomization.yaml b/operator/config/overlays/openshift/kustomization.yaml index cdd65f1cbeafc..17e8a56174258 100644 --- a/operator/config/overlays/openshift/kustomization.yaml +++ b/operator/config/overlays/openshift/kustomization.yaml @@ -17,14 +17,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 +34,18 @@ 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 +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +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..61ceb4d787df6 100644 --- a/operator/config/scorecard/kustomization.yaml +++ b/operator/config/scorecard/kustomization.yaml @@ -1,16 +1,17 @@ resources: - bases/config.yaml -patchesJson6902: +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +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 From 0c854a6510960346468b235fab219a6c68c017c2 Mon Sep 17 00:00:00 2001 From: Periklis Tsirakidis Date: Mon, 14 Oct 2024 12:42:54 +0200 Subject: [PATCH 4/7] Fix api docs generation --- operator/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/operator/Makefile b/operator/Makefile index 79bb19c057c05..825b4a883f7aa 100644 --- a/operator/Makefile +++ b/operator/Makefile @@ -314,7 +314,7 @@ oci-push-calculator: ## Push the calculator image ##@ Website 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/api/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/apis/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##/' $@ From f226943d6f3d757c2cfda3ab24bd9c2e52dd8346 Mon Sep 17 00:00:00 2001 From: Periklis Tsirakidis Date: Fri, 18 Oct 2024 11:27:20 +0200 Subject: [PATCH 5/7] Address suggestions from code review --- operator/.bingo/kustomize.mod | 2 +- operator/Dockerfile | 3 +-- operator/Dockerfile.cross | 1 - .../manifests/loki-operator.clusterserviceversion.yaml | 2 +- .../manifests/loki-operator.clusterserviceversion.yaml | 4 ++-- .../manifests/loki-operator.clusterserviceversion.yaml | 2 +- operator/config/crd/kustomization.yaml | 6 ++++-- .../config/overlays/community-openshift/kustomization.yaml | 6 ++++-- operator/config/overlays/community/kustomization.yaml | 5 +++-- .../config/overlays/community/manager_auth_proxy_patch.yaml | 2 +- operator/config/overlays/openshift/kustomization.yaml | 6 ++++-- operator/config/scorecard/kustomization.yaml | 6 ++++-- 12 files changed, 26 insertions(+), 19 deletions(-) diff --git a/operator/.bingo/kustomize.mod b/operator/.bingo/kustomize.mod index 52a2224e640d9..89cbd27701f15 100644 --- a/operator/.bingo/kustomize.mod +++ b/operator/.bingo/kustomize.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 sigs.k8s.io/kustomize/kustomize/v5 v5.4.3 diff --git a/operator/Dockerfile b/operator/Dockerfile index 581971f3586d0..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 api api +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 @@ -12,7 +12,6 @@ RUN go mod download # Copy the go source COPY cmd/loki-operator/main.go cmd/loki-operator/main.go -COPY api/ api/ COPY internal/ internal/ # Build diff --git a/operator/Dockerfile.cross b/operator/Dockerfile.cross index 8f80b024d0a57..03b7b2e81ec5b 100644 --- a/operator/Dockerfile.cross +++ b/operator/Dockerfile.cross @@ -17,7 +17,6 @@ RUN go mod download # Copy the go source COPY cmd/loki-operator/main.go cmd/loki-operator/main.go -COPY api/ api/ COPY internal/ internal/ # Build diff --git a/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml index 2ac9830429116..5b1ff6e1a0169 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.2 - createdAt: "2024-10-14T10:37:24Z" + createdAt: "2024-10-18T09:23:20Z" description: The Community Loki Operator provides Kubernetes native deployment and management of Loki and related logging components. features.operators.openshift.io/disconnected: "true" diff --git a/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml index ccd1db25b5a63..528e6e0cdb1a6 100644 --- a/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml +++ b/operator/bundle/community/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.2 - createdAt: "2024-10-14T10:37:22Z" + createdAt: "2024-10-18T09:23:18Z" description: The Community Loki Operator provides Kubernetes native deployment and management of Loki and related logging components. operators.operatorframework.io/builder: operator-sdk-unknown @@ -1873,7 +1873,7 @@ spec: - --upstream=http://127.0.0.1:8080/ - --logtostderr=true - --v=0 - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.16.0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.18.1 name: kube-rbac-proxy ports: - containerPort: 8443 diff --git a/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml index ead208aef8c92..0b9705c814d35 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-14T10:37:25Z" + createdAt: "2024-10-18T09:23:21Z" description: | The Loki Operator for OCP provides a means for configuring and managing a Loki stack for cluster logging. ## Prerequisites and Requirements diff --git a/operator/config/crd/kustomization.yaml b/operator/config/crd/kustomization.yaml index 512c076fbaaaa..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 @@ -23,8 +26,7 @@ resources: # the following config is for teaching kustomize how to do kustomization for CRDs. configurations: - kustomizeconfig.yaml -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization + patches: - path: patches/webhook_in_lokistacks.yaml - path: patches/webhook_in_alertingrules.yaml diff --git a/operator/config/overlays/community-openshift/kustomization.yaml b/operator/config/overlays/community-openshift/kustomization.yaml index 80bf6a8d563a7..d5740c4a5d2b1 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 @@ -25,8 +28,7 @@ images: - name: controller newName: docker.io/grafana/loki-operator newTag: 0.6.2 -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization + patches: - path: manager_related_image_patch.yaml - path: prometheus_service_monitor_patch.yaml diff --git a/operator/config/overlays/community/kustomization.yaml b/operator/config/overlays/community/kustomization.yaml index 0f259c10356b4..8deef07f26d50 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 @@ -41,8 +44,6 @@ images: # the following config is for teaching kustomize how to do var substitution # [CERTMANAGER] To enable cert-manager, uncomment all sections with 'CERTMANAGER' prefix. -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization patches: - path: manager_auth_proxy_patch.yaml - path: manager_related_image_patch.yaml diff --git a/operator/config/overlays/community/manager_auth_proxy_patch.yaml b/operator/config/overlays/community/manager_auth_proxy_patch.yaml index f9955cc6285cd..50f11534dd3aa 100644 --- a/operator/config/overlays/community/manager_auth_proxy_patch.yaml +++ b/operator/config/overlays/community/manager_auth_proxy_patch.yaml @@ -7,7 +7,7 @@ spec: spec: containers: - name: kube-rbac-proxy - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.16.0 + image: gcr.io/kubebuilder/kube-rbac-proxy:v0.18.1 args: - "--secure-listen-address=0.0.0.0:8443" - "--upstream=http://127.0.0.1:8080/" diff --git a/operator/config/overlays/openshift/kustomization.yaml b/operator/config/overlays/openshift/kustomization.yaml index 17e8a56174258..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 @@ -39,8 +42,7 @@ images: - name: controller newName: quay.io/openshift-logging/loki-operator newTag: 0.1.0 -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization + patches: - path: auth_proxy_service_annotations_patch.yaml - path: manager_auth_proxy_patch.yaml diff --git a/operator/config/scorecard/kustomization.yaml b/operator/config/scorecard/kustomization.yaml index 61ceb4d787df6..814b71282d560 100644 --- a/operator/config/scorecard/kustomization.yaml +++ b/operator/config/scorecard/kustomization.yaml @@ -1,7 +1,9 @@ -resources: -- bases/config.yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization + +resources: +- bases/config.yaml + patches: - path: patches/basic.config.yaml target: From 060efd57e0580bab1cc2ca4aa7bf8500a53b63f3 Mon Sep 17 00:00:00 2001 From: Periklis Tsirakidis Date: Fri, 18 Oct 2024 11:44:58 +0200 Subject: [PATCH 6/7] Address suggestions from code review --- ...-operator-controller-manager-metrics-service_v1_service.yaml | 1 + .../manifests/loki-operator.clusterserviceversion.yaml | 2 +- .../manifests/loki-operator.clusterserviceversion.yaml | 2 +- ...-operator-controller-manager-metrics-service_v1_service.yaml | 1 + .../manifests/loki-operator.clusterserviceversion.yaml | 2 +- .../openshift/auth_proxy_service_annotations_patch.yaml | 1 - 6 files changed, 5 insertions(+), 4 deletions(-) diff --git a/operator/bundle/community-openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml b/operator/bundle/community-openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml index ece1b4270a21c..83b327cf24d0d 100644 --- a/operator/bundle/community-openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml +++ b/operator/bundle/community-openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml @@ -5,6 +5,7 @@ metadata: service.beta.openshift.io/serving-cert-secret-name: loki-operator-metrics creationTimestamp: null labels: + app.kubernetes.io/component: metrics app.kubernetes.io/instance: loki-operator-v0.6.2 app.kubernetes.io/managed-by: operator-lifecycle-manager app.kubernetes.io/name: loki-operator diff --git a/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/community-openshift/manifests/loki-operator.clusterserviceversion.yaml index 5b1ff6e1a0169..19a104467ef19 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.2 - createdAt: "2024-10-18T09:23:20Z" + createdAt: "2024-10-18T09:44:00Z" description: The Community Loki Operator provides Kubernetes native deployment and management of Loki and related logging components. features.operators.openshift.io/disconnected: "true" diff --git a/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml index 528e6e0cdb1a6..f5d38773afc30 100644 --- a/operator/bundle/community/manifests/loki-operator.clusterserviceversion.yaml +++ b/operator/bundle/community/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.2 - createdAt: "2024-10-18T09:23:18Z" + createdAt: "2024-10-18T09:43:58Z" description: The Community Loki Operator provides Kubernetes native deployment and management of Loki and related logging components. operators.operatorframework.io/builder: operator-sdk-unknown diff --git a/operator/bundle/openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml b/operator/bundle/openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml index aba4997c36ae9..b7a8a16b7c344 100644 --- a/operator/bundle/openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml +++ b/operator/bundle/openshift/manifests/loki-operator-controller-manager-metrics-service_v1_service.yaml @@ -5,6 +5,7 @@ metadata: service.beta.openshift.io/serving-cert-secret-name: loki-operator-metrics creationTimestamp: null labels: + app.kubernetes.io/component: metrics app.kubernetes.io/instance: loki-operator-0.1.0 app.kubernetes.io/managed-by: operator-lifecycle-manager app.kubernetes.io/name: loki-operator diff --git a/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml b/operator/bundle/openshift/manifests/loki-operator.clusterserviceversion.yaml index 0b9705c814d35..b9befd7ff4f59 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-18T09:23:21Z" + createdAt: "2024-10-18T09:44:01Z" description: | The Loki Operator for OCP provides a means for configuring and managing a Loki stack for cluster logging. ## Prerequisites and Requirements 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 From 39f4132c5479caadc3cc9523318b8d4814a442d6 Mon Sep 17 00:00:00 2001 From: Periklis Tsirakidis Date: Mon, 21 Oct 2024 13:01:17 +0200 Subject: [PATCH 7/7] Fix bingo go mod --- operator/.bingo/operator-sdk.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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