From e5ce48077adae7c85152093942b3a86a56dae83f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Sep 2025 00:32:35 +0000 Subject: [PATCH 1/2] [main][gomod]: Bump github.com/cloudevents/sdk-go/v2 Bumps [github.com/cloudevents/sdk-go/v2](https://github.com/cloudevents/sdk-go) from 2.15.2 to 2.16.2. - [Release notes](https://github.com/cloudevents/sdk-go/releases) - [Commits](https://github.com/cloudevents/sdk-go/compare/v2.15.2...v2.16.2) --- updated-dependencies: - dependency-name: github.com/cloudevents/sdk-go/v2 dependency-version: 2.16.2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 8 +- go.sum | 16 +- vendor/github.com/IBM/sarama/entrypoint.sh | 0 .../github.com/cespare/xxhash/v2/testall.sh | 0 .../github.com/cloudevents/sdk-go/v2/alias.go | 1 + .../v2/binding/buffering/copy_message.go | 7 +- .../cloudevents/sdk-go/v2/client/client.go | 13 +- .../sdk-go/v2/event/content_type.go | 12 + .../sdk-go/v2/event/datacodec/codec.go | 59 +++ .../sdk-go/v2/event/event_marshal.go | 19 +- .../sdk-go/v2/event/event_unmarshal.go | 17 +- .../sdk-go/v2/event/eventcontext_v03.go | 2 +- .../sdk-go/v2/event/eventcontext_v1.go | 2 +- .../cloudevents/sdk-go/v2/event/extensions.go | 2 +- .../cloudevents/sdk-go/v2/protocol/doc.go | 2 +- .../sdk-go/v2/protocol/http/options.go | 52 +++ .../sdk-go/v2/protocol/http/protocol.go | 25 +- .../v2/protocol/http/protocol_lifecycle.go | 4 +- .../emicklei/go-restful/v3/bench_test.sh | 0 .../emicklei/go-restful/v3/coverage.sh | 0 .../v2/internal/httprule/BUILD.bazel | 35 ++ .../grpc-gateway/v2/runtime/BUILD.bazel | 97 +++++ .../grpc-gateway/v2/utilities/BUILD.bazel | 31 ++ vendor/github.com/json-iterator/go/build.sh | 0 vendor/github.com/json-iterator/go/test.sh | 0 vendor/github.com/klauspost/compress/gen.sh | 0 .../manifestival/manifestival/manifestival.go | 10 +- .../github.com/modern-go/concurrent/test.sh | 0 .../api/route/v1/test-route-validation.sh | 0 vendor/github.com/pelletier/go-toml/v2/ci.sh | 0 .../rcrowley/go-metrics/validate.sh | 0 .../github.com/rickb777/plural/build+test.sh | 0 .../testify/assert/assertion_compare.go | 22 +- .../testify/assert/assertion_format.go | 51 ++- .../testify/assert/assertion_forward.go | 102 +++-- .../testify/assert/assertion_order.go | 2 +- .../stretchr/testify/assert/assertions.go | 367 ++++++++++++------ .../github.com/stretchr/testify/assert/doc.go | 4 + .../testify/assert/http_assertions.go | 4 +- .../testify/assert/yaml/yaml_custom.go | 1 - .../testify/assert/yaml/yaml_default.go | 1 - .../stretchr/testify/assert/yaml/yaml_fail.go | 1 - .../stretchr/testify/require/doc.go | 2 + .../stretchr/testify/require/require.go | 108 ++++-- .../testify/require/require_forward.go | 102 +++-- vendor/go.uber.org/zap/checklicense.sh | 0 vendor/golang.org/x/sync/errgroup/errgroup.go | 25 +- vendor/golang.org/x/sync/errgroup/go120.go | 13 - .../golang.org/x/sync/errgroup/pre_go120.go | 14 - vendor/golang.org/x/sys/plan9/mkall.sh | 0 vendor/golang.org/x/sys/plan9/mkerrors.sh | 0 .../golang.org/x/sys/plan9/mksysnum_plan9.sh | 0 vendor/golang.org/x/sys/unix/mkall.sh | 0 vendor/golang.org/x/sys/unix/mkerrors.sh | 0 vendor/golang.org/x/time/rate/rate.go | 17 +- vendor/golang.org/x/time/rate/sometimes.go | 4 +- .../k8s.io/apimachinery/pkg/api/errors/OWNERS | 16 + .../k8s.io/apimachinery/pkg/api/meta/OWNERS | 14 + .../apimachinery/pkg/api/resource/OWNERS | 10 + .../apimachinery/pkg/api/validation/OWNERS | 11 + .../apimachinery/pkg/apis/meta/v1/OWNERS | 16 + .../apimachinery/pkg/util/mergepatch/OWNERS | 6 + .../pkg/util/strategicpatch/OWNERS | 9 + .../apimachinery/pkg/util/validation/OWNERS | 11 + .../third_party/forked/golang/json/OWNERS | 6 + .../client-go/applyconfigurations/OWNERS | 5 + vendor/k8s.io/client-go/openapi/OWNERS | 4 + .../pkg/apis/clientauthentication/OWNERS | 8 + vendor/k8s.io/client-go/rest/OWNERS | 14 + vendor/k8s.io/client-go/tools/auth/OWNERS | 8 + vendor/k8s.io/client-go/tools/cache/OWNERS | 28 ++ .../client-go/tools/leaderelection/OWNERS | 11 + vendor/k8s.io/client-go/tools/metrics/OWNERS | 5 + vendor/k8s.io/client-go/tools/record/OWNERS | 6 + vendor/k8s.io/client-go/transport/OWNERS | 8 + vendor/k8s.io/client-go/util/cert/OWNERS | 8 + vendor/k8s.io/client-go/util/keyutil/OWNERS | 6 + vendor/k8s.io/client-go/util/retry/OWNERS | 4 + vendor/k8s.io/code-generator/OWNERS | 16 + .../code-generator/cmd/client-gen/OWNERS | 11 + .../code-generator/cmd/go-to-protobuf/OWNERS | 6 + .../k8s.io/code-generator/generate-groups.sh | 0 .../generate-internal-groups.sh | 0 vendor/k8s.io/code-generator/kube_codegen.sh | 0 vendor/k8s.io/klog/v2/OWNERS | 16 + .../kube-openapi/pkg/generators/rules/OWNERS | 4 + .../k8s.io/kube-openapi/pkg/util/proto/OWNERS | 2 + vendor/k8s.io/utils/pointer/OWNERS | 10 + vendor/k8s.io/utils/ptr/OWNERS | 10 + vendor/knative.dev/eventing/test/OWNERS | 10 + .../knative.dev/eventing/test/e2e-common.sh | 0 .../eventing/test/e2e-conformance-tests.sh | 0 .../eventing/test/e2e-rekt-tests.sh | 0 vendor/knative.dev/eventing/test/e2e-tests.sh | 0 .../eventing/test/e2e-upgrade-tests.sh | 0 .../test/lib/recordevents/resources.go | 4 - .../eventing/test/microbenchmarks-compare.sh | 0 .../eventing/test/microbenchmarks-run.sh | 0 .../eventing/test/presubmit-tests.sh | 0 .../eventing/test/upload-test-images.sh | 0 vendor/knative.dev/hack/OWNERS | 8 + vendor/knative.dev/hack/OWNERS_ALIASES | 144 +++++++ vendor/knative.dev/hack/codegen-library.sh | 0 vendor/knative.dev/hack/e2e-tests.sh | 0 vendor/knative.dev/hack/infra-library.sh | 0 vendor/knative.dev/hack/library.sh | 0 vendor/knative.dev/hack/microbenchmarks.sh | 0 vendor/knative.dev/hack/performance-tests.sh | 0 vendor/knative.dev/hack/presubmit-tests.sh | 0 vendor/knative.dev/hack/release.sh | 0 .../knative.dev/hack/shellcheck-presubmit.sh | 0 .../v1beta1/knativeeventing_lifecycle.go | 3 +- .../v1beta1/knativeserving_lifecycle.go | 3 +- .../typed/operator/v1beta1/operator_client.go | 2 +- .../operator/pkg/reconciler/common/job.go | 2 +- .../pkg/reconciler/common/releases.go | 26 +- .../reconciler/knativeeventing/controller.go | 20 - .../eventing_backstage_plugin.go | 79 ---- .../knativeeventing/knativeeventing.go | 9 +- .../knativeserving/knativeserving.go | 33 +- vendor/knative.dev/pkg/apis/OWNERS | 15 + vendor/knative.dev/pkg/apis/duck/OWNERS | 8 + vendor/knative.dev/pkg/controller/OWNERS | 7 + .../pkg/environment/client_config.go | 6 +- vendor/knative.dev/pkg/hack/format-code.sh | 0 .../knative.dev/pkg/hack/generate-knative.sh | 0 vendor/knative.dev/pkg/hack/update-codegen.sh | 0 vendor/knative.dev/pkg/hack/update-deps.sh | 0 vendor/knative.dev/pkg/hack/verify-codegen.sh | 0 vendor/knative.dev/pkg/reconciler/OWNERS | 7 + vendor/knative.dev/pkg/resolver/OWNERS | 8 + vendor/knative.dev/pkg/test/OWNERS | 10 + vendor/knative.dev/pkg/test/helpers/name.go | 2 +- .../knative.dev/pkg/test/presubmit-tests.sh | 0 .../pkg/test/spoof/openshift_checks.go | 22 -- vendor/knative.dev/pkg/test/spoof/spoof.go | 5 +- .../pkg/test/test-reconciler-codegen.sh | 0 .../pkg/test/upgrade/shell/fail-example.sh | 0 vendor/knative.dev/pkg/webhook/OWNERS | 7 + .../conversion/reconciler.go | 4 - .../reconciler-test/pkg/feature/feature.go | 9 - vendor/knative.dev/serving/test/e2e-common.sh | 0 .../test/e2e-external-domain-tls-tests.sh | 0 .../serving/test/e2e-networking-library.sh | 0 vendor/knative.dev/serving/test/e2e-tests.sh | 0 .../serving/test/e2e-upgrade-tests.sh | 0 .../serving/test/presubmit-tests.sh | 0 .../serving/test/upload-test-images.sh | 0 vendor/modules.txt | 14 +- vendor/sigs.k8s.io/json/OWNERS | 6 + vendor/sigs.k8s.io/yaml/OWNERS | 23 ++ vendor/sigs.k8s.io/yaml/goyaml.v2/OWNERS | 24 ++ 152 files changed, 1534 insertions(+), 529 deletions(-) mode change 100755 => 100644 vendor/github.com/IBM/sarama/entrypoint.sh mode change 100755 => 100644 vendor/github.com/cespare/xxhash/v2/testall.sh mode change 100755 => 100644 vendor/github.com/emicklei/go-restful/v3/bench_test.sh mode change 100755 => 100644 vendor/github.com/emicklei/go-restful/v3/coverage.sh create mode 100644 vendor/github.com/grpc-ecosystem/grpc-gateway/v2/internal/httprule/BUILD.bazel create mode 100644 vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/BUILD.bazel create mode 100644 vendor/github.com/grpc-ecosystem/grpc-gateway/v2/utilities/BUILD.bazel mode change 100755 => 100644 vendor/github.com/json-iterator/go/build.sh mode change 100755 => 100644 vendor/github.com/json-iterator/go/test.sh mode change 100755 => 100644 vendor/github.com/klauspost/compress/gen.sh mode change 100755 => 100644 vendor/github.com/modern-go/concurrent/test.sh mode change 100755 => 100644 vendor/github.com/openshift/api/route/v1/test-route-validation.sh mode change 100755 => 100644 vendor/github.com/pelletier/go-toml/v2/ci.sh mode change 100755 => 100644 vendor/github.com/rcrowley/go-metrics/validate.sh mode change 100755 => 100644 vendor/github.com/rickb777/plural/build+test.sh mode change 100755 => 100644 vendor/go.uber.org/zap/checklicense.sh delete mode 100644 vendor/golang.org/x/sync/errgroup/go120.go delete mode 100644 vendor/golang.org/x/sync/errgroup/pre_go120.go mode change 100755 => 100644 vendor/golang.org/x/sys/plan9/mkall.sh mode change 100755 => 100644 vendor/golang.org/x/sys/plan9/mkerrors.sh mode change 100755 => 100644 vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh mode change 100755 => 100644 vendor/golang.org/x/sys/unix/mkall.sh mode change 100755 => 100644 vendor/golang.org/x/sys/unix/mkerrors.sh create mode 100644 vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS create mode 100644 vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS create mode 100644 vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS create mode 100644 vendor/k8s.io/apimachinery/pkg/api/validation/OWNERS create mode 100644 vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS create mode 100644 vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS create mode 100644 vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS create mode 100644 vendor/k8s.io/apimachinery/pkg/util/validation/OWNERS create mode 100644 vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS create mode 100644 vendor/k8s.io/client-go/applyconfigurations/OWNERS create mode 100644 vendor/k8s.io/client-go/openapi/OWNERS create mode 100644 vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS create mode 100644 vendor/k8s.io/client-go/rest/OWNERS create mode 100644 vendor/k8s.io/client-go/tools/auth/OWNERS create mode 100644 vendor/k8s.io/client-go/tools/cache/OWNERS create mode 100644 vendor/k8s.io/client-go/tools/leaderelection/OWNERS create mode 100644 vendor/k8s.io/client-go/tools/metrics/OWNERS create mode 100644 vendor/k8s.io/client-go/tools/record/OWNERS create mode 100644 vendor/k8s.io/client-go/transport/OWNERS create mode 100644 vendor/k8s.io/client-go/util/cert/OWNERS create mode 100644 vendor/k8s.io/client-go/util/keyutil/OWNERS create mode 100644 vendor/k8s.io/client-go/util/retry/OWNERS create mode 100644 vendor/k8s.io/code-generator/OWNERS create mode 100644 vendor/k8s.io/code-generator/cmd/client-gen/OWNERS create mode 100644 vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS mode change 100755 => 100644 vendor/k8s.io/code-generator/generate-groups.sh mode change 100755 => 100644 vendor/k8s.io/code-generator/generate-internal-groups.sh mode change 100755 => 100644 vendor/k8s.io/code-generator/kube_codegen.sh create mode 100644 vendor/k8s.io/klog/v2/OWNERS create mode 100644 vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS create mode 100644 vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS create mode 100644 vendor/k8s.io/utils/pointer/OWNERS create mode 100644 vendor/k8s.io/utils/ptr/OWNERS create mode 100644 vendor/knative.dev/eventing/test/OWNERS mode change 100755 => 100644 vendor/knative.dev/eventing/test/e2e-common.sh mode change 100755 => 100644 vendor/knative.dev/eventing/test/e2e-conformance-tests.sh mode change 100755 => 100644 vendor/knative.dev/eventing/test/e2e-rekt-tests.sh mode change 100755 => 100644 vendor/knative.dev/eventing/test/e2e-tests.sh mode change 100755 => 100644 vendor/knative.dev/eventing/test/e2e-upgrade-tests.sh mode change 100755 => 100644 vendor/knative.dev/eventing/test/microbenchmarks-compare.sh mode change 100755 => 100644 vendor/knative.dev/eventing/test/microbenchmarks-run.sh mode change 100755 => 100644 vendor/knative.dev/eventing/test/presubmit-tests.sh mode change 100755 => 100644 vendor/knative.dev/eventing/test/upload-test-images.sh create mode 100644 vendor/knative.dev/hack/OWNERS create mode 100644 vendor/knative.dev/hack/OWNERS_ALIASES mode change 100755 => 100644 vendor/knative.dev/hack/codegen-library.sh mode change 100755 => 100644 vendor/knative.dev/hack/e2e-tests.sh mode change 100755 => 100644 vendor/knative.dev/hack/infra-library.sh mode change 100755 => 100644 vendor/knative.dev/hack/library.sh mode change 100755 => 100644 vendor/knative.dev/hack/microbenchmarks.sh mode change 100755 => 100644 vendor/knative.dev/hack/performance-tests.sh mode change 100755 => 100644 vendor/knative.dev/hack/presubmit-tests.sh mode change 100755 => 100644 vendor/knative.dev/hack/release.sh mode change 100755 => 100644 vendor/knative.dev/hack/shellcheck-presubmit.sh delete mode 100644 vendor/knative.dev/operator/pkg/reconciler/knativeeventing/eventing_backstage_plugin.go create mode 100644 vendor/knative.dev/pkg/apis/OWNERS create mode 100644 vendor/knative.dev/pkg/apis/duck/OWNERS create mode 100644 vendor/knative.dev/pkg/controller/OWNERS mode change 100755 => 100644 vendor/knative.dev/pkg/hack/format-code.sh mode change 100755 => 100644 vendor/knative.dev/pkg/hack/generate-knative.sh mode change 100755 => 100644 vendor/knative.dev/pkg/hack/update-codegen.sh mode change 100755 => 100644 vendor/knative.dev/pkg/hack/update-deps.sh mode change 100755 => 100644 vendor/knative.dev/pkg/hack/verify-codegen.sh create mode 100644 vendor/knative.dev/pkg/reconciler/OWNERS create mode 100644 vendor/knative.dev/pkg/resolver/OWNERS create mode 100644 vendor/knative.dev/pkg/test/OWNERS mode change 100755 => 100644 vendor/knative.dev/pkg/test/presubmit-tests.sh delete mode 100644 vendor/knative.dev/pkg/test/spoof/openshift_checks.go mode change 100755 => 100644 vendor/knative.dev/pkg/test/test-reconciler-codegen.sh mode change 100755 => 100644 vendor/knative.dev/pkg/test/upgrade/shell/fail-example.sh create mode 100644 vendor/knative.dev/pkg/webhook/OWNERS mode change 100755 => 100644 vendor/knative.dev/serving/test/e2e-common.sh mode change 100755 => 100644 vendor/knative.dev/serving/test/e2e-external-domain-tls-tests.sh mode change 100755 => 100644 vendor/knative.dev/serving/test/e2e-networking-library.sh mode change 100755 => 100644 vendor/knative.dev/serving/test/e2e-tests.sh mode change 100755 => 100644 vendor/knative.dev/serving/test/e2e-upgrade-tests.sh mode change 100755 => 100644 vendor/knative.dev/serving/test/presubmit-tests.sh mode change 100755 => 100644 vendor/knative.dev/serving/test/upload-test-images.sh create mode 100644 vendor/sigs.k8s.io/json/OWNERS create mode 100644 vendor/sigs.k8s.io/yaml/OWNERS create mode 100644 vendor/sigs.k8s.io/yaml/goyaml.v2/OWNERS diff --git a/go.mod b/go.mod index 8b30d2638d..d924223284 100644 --- a/go.mod +++ b/go.mod @@ -18,9 +18,9 @@ require ( github.com/prometheus/client_golang v1.20.5 github.com/prometheus/common v0.62.0 github.com/spf13/pflag v1.0.6 - github.com/stretchr/testify v1.10.0 + github.com/stretchr/testify v1.11.0 go.uber.org/zap v1.27.0 - golang.org/x/sync v0.11.0 + golang.org/x/sync v0.16.0 google.golang.org/grpc v1.70.0 k8s.io/api v0.32.2 k8s.io/apimachinery v0.32.2 @@ -73,7 +73,7 @@ require ( github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cloudevents/sdk-go/sql/v2 v2.15.2 // indirect - github.com/cloudevents/sdk-go/v2 v2.15.2 + github.com/cloudevents/sdk-go/v2 v2.16.2 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/eapache/go-resiliency v1.7.0 // indirect github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 // indirect @@ -147,7 +147,7 @@ require ( golang.org/x/sys v0.30.0 // indirect golang.org/x/term v0.29.0 // indirect golang.org/x/text v0.22.0 // indirect - golang.org/x/time v0.10.0 // indirect + golang.org/x/time v0.12.0 // indirect golang.org/x/tools v0.30.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect google.golang.org/api v0.198.0 // indirect diff --git a/go.sum b/go.sum index eb7dc6f67a..d42c60b5b8 100644 --- a/go.sum +++ b/go.sum @@ -1419,8 +1419,8 @@ github.com/cloudevents/conformance v0.2.0 h1:NvSXOKlagcsOWMEbi8U7Ex/0oQ4JZE1HQ45 github.com/cloudevents/conformance v0.2.0/go.mod h1:rHKDwylBH89Rns6U3wL9ww8bg9/4GbwRCDNuyoC6bcc= github.com/cloudevents/sdk-go/sql/v2 v2.15.2 h1:TNaTeWIbDaci89xgXbmmNVGccawQOvEfWYLWrr7Fk/k= github.com/cloudevents/sdk-go/sql/v2 v2.15.2/go.mod h1:us+PSk8OXdk8pDbRfvxy5w8ub5goKE7UP9PjKDY7TPw= -github.com/cloudevents/sdk-go/v2 v2.15.2 h1:54+I5xQEnI73RBhWHxbI1XJcqOFOVJN85vb41+8mHUc= -github.com/cloudevents/sdk-go/v2 v2.15.2/go.mod h1:lL7kSWAE/V8VI4Wh0jbL2v/jvqsm6tjmaQBSvxcv4uE= +github.com/cloudevents/sdk-go/v2 v2.16.2 h1:ZYDFrYke4FD+jM8TZTJJO6JhKHzOQl2oqpFK1D+NnQM= +github.com/cloudevents/sdk-go/v2 v2.16.2/go.mod h1:laOcGImm4nVJEU+PHnUrKL56CKmRL65RlQF0kRmW/kg= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= @@ -2225,8 +2225,8 @@ github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.11.0 h1:ib4sjIrwZKxE5u/Japgo/7SJV3PvgjGiRNAvTVGqQl8= +github.com/stretchr/testify v1.11.0/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/stvp/go-udp-testing v0.0.0-20201019212854-469649b16807/go.mod h1:7jxmlfBCDBXRzr0eAQJ48XC1hBu1np4CS5+cHEYfwpc= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/substrait-io/substrait-go v0.4.2/go.mod h1:qhpnLmrcvAnlZsUyPXZRqldiHapPTXC3t7xFgDi3aQg= @@ -2632,8 +2632,8 @@ golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= -golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -2818,8 +2818,8 @@ golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= -golang.org/x/time v0.10.0 h1:3usCWA8tQn0L8+hFJQNgzpWbd89begxN66o1Ojdn5L4= -golang.org/x/time v0.10.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE= +golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/vendor/github.com/IBM/sarama/entrypoint.sh b/vendor/github.com/IBM/sarama/entrypoint.sh old mode 100755 new mode 100644 diff --git a/vendor/github.com/cespare/xxhash/v2/testall.sh b/vendor/github.com/cespare/xxhash/v2/testall.sh old mode 100755 new mode 100644 diff --git a/vendor/github.com/cloudevents/sdk-go/v2/alias.go b/vendor/github.com/cloudevents/sdk-go/v2/alias.go index 2fbfaa9a78..0f484b33bc 100644 --- a/vendor/github.com/cloudevents/sdk-go/v2/alias.go +++ b/vendor/github.com/cloudevents/sdk-go/v2/alias.go @@ -173,6 +173,7 @@ var ( WithTarget = http.WithTarget WithHeader = http.WithHeader + WithHost = http.WithHost WithShutdownTimeout = http.WithShutdownTimeout //WithEncoding = http.WithEncoding //WithStructuredEncoding = http.WithStructuredEncoding // TODO: expose new way diff --git a/vendor/github.com/cloudevents/sdk-go/v2/binding/buffering/copy_message.go b/vendor/github.com/cloudevents/sdk-go/v2/binding/buffering/copy_message.go index c704bb2aae..90dc29ad6f 100644 --- a/vendor/github.com/cloudevents/sdk-go/v2/binding/buffering/copy_message.go +++ b/vendor/github.com/cloudevents/sdk-go/v2/binding/buffering/copy_message.go @@ -44,11 +44,12 @@ func CopyMessage(ctx context.Context, m binding.Message, transformers ...binding bm := binaryBufferedMessage{} encoding, err := binding.DirectWrite(ctx, m, &sm, &bm, transformers...) - if encoding == binding.EncodingStructured { + switch encoding { + case binding.EncodingStructured: return &sm, err - } else if encoding == binding.EncodingBinary { + case binding.EncodingBinary: return &bm, err - } else { + default: e, err := binding.ToEvent(ctx, m, transformers...) if err != nil { return nil, err diff --git a/vendor/github.com/cloudevents/sdk-go/v2/client/client.go b/vendor/github.com/cloudevents/sdk-go/v2/client/client.go index 452304ffdf..80051b95cd 100644 --- a/vendor/github.com/cloudevents/sdk-go/v2/client/client.go +++ b/vendor/github.com/cloudevents/sdk-go/v2/client/client.go @@ -38,15 +38,18 @@ type Client interface { // * func() // * func() error // * func(context.Context) - // * func(context.Context) protocol.Result + // * func(context.Context) error // * func(event.Event) - // * func(event.Event) protocol.Result + // * func(event.Event) error // * func(context.Context, event.Event) - // * func(context.Context, event.Event) protocol.Result + // * func(context.Context, event.Event) error // * func(event.Event) *event.Event - // * func(event.Event) (*event.Event, protocol.Result) + // * func(event.Event) (*event.Event, error) // * func(context.Context, event.Event) *event.Event - // * func(context.Context, event.Event) (*event.Event, protocol.Result) + // * func(context.Context, event.Event) (*event.Event, error) + // The error returned may impact the messages processing made by the protocol + // used (example: message acknowledgement). Please refer to each protocol's + // package documentation of the function "Finish(err error) error". StartReceiver(ctx context.Context, fn interface{}) error } diff --git a/vendor/github.com/cloudevents/sdk-go/v2/event/content_type.go b/vendor/github.com/cloudevents/sdk-go/v2/event/content_type.go index a49522f82f..e85b5ab605 100644 --- a/vendor/github.com/cloudevents/sdk-go/v2/event/content_type.go +++ b/vendor/github.com/cloudevents/sdk-go/v2/event/content_type.go @@ -14,6 +14,18 @@ const ( ApplicationCloudEventsBatchJSON = "application/cloudevents-batch+json" ) +// isJSON returns true if the content type is a JSON type. +func isJSON(contentType string) bool { + switch contentType { + case ApplicationJSON, TextJSON, ApplicationCloudEventsJSON, ApplicationCloudEventsBatchJSON: + return true + case "": + return true // Empty content type assumes json + default: + return false + } +} + // StringOfApplicationJSON returns a string pointer to "application/json" func StringOfApplicationJSON() *string { a := ApplicationJSON diff --git a/vendor/github.com/cloudevents/sdk-go/v2/event/datacodec/codec.go b/vendor/github.com/cloudevents/sdk-go/v2/event/datacodec/codec.go index 3e077740b5..6f5d1f4c58 100644 --- a/vendor/github.com/cloudevents/sdk-go/v2/event/datacodec/codec.go +++ b/vendor/github.com/cloudevents/sdk-go/v2/event/datacodec/codec.go @@ -8,6 +8,7 @@ package datacodec import ( "context" "fmt" + "strings" "github.com/cloudevents/sdk-go/v2/event/datacodec/json" "github.com/cloudevents/sdk-go/v2/event/datacodec/text" @@ -26,9 +27,20 @@ type Encoder func(ctx context.Context, in interface{}) ([]byte, error) var decoder map[string]Decoder var encoder map[string]Encoder +// ssDecoder is a map of content-type structured suffixes as defined in +// [Structured Syntax Suffixes](https://www.iana.org/assignments/media-type-structured-suffix/media-type-structured-suffix.xhtml), +// which may be used to match content types such as application/vnd.custom-app+json +var ssDecoder map[string]Decoder + +// ssEncoder is a map of content-type structured suffixes similar to ssDecoder. +var ssEncoder map[string]Encoder + func init() { decoder = make(map[string]Decoder, 10) + ssDecoder = make(map[string]Decoder, 10) + encoder = make(map[string]Encoder, 10) + ssEncoder = make(map[string]Encoder, 10) AddDecoder("", json.Decode) AddDecoder("application/json", json.Decode) @@ -37,12 +49,18 @@ func init() { AddDecoder("text/xml", xml.Decode) AddDecoder("text/plain", text.Decode) + AddStructuredSuffixDecoder("json", json.Decode) + AddStructuredSuffixDecoder("xml", xml.Decode) + AddEncoder("", json.Encode) AddEncoder("application/json", json.Encode) AddEncoder("text/json", json.Encode) AddEncoder("application/xml", xml.Encode) AddEncoder("text/xml", xml.Encode) AddEncoder("text/plain", text.Encode) + + AddStructuredSuffixEncoder("json", json.Encode) + AddStructuredSuffixEncoder("xml", xml.Encode) } // AddDecoder registers a decoder for a given content type. The codecs will use @@ -51,12 +69,34 @@ func AddDecoder(contentType string, fn Decoder) { decoder[contentType] = fn } +// AddStructuredSuffixDecoder registers a decoder for content-types which match the given structured +// syntax suffix as defined by +// [Structured Syntax Suffixes](https://www.iana.org/assignments/media-type-structured-suffix/media-type-structured-suffix.xhtml). +// This allows users to register custom decoders for non-standard content types which follow the +// structured syntax suffix standard (e.g. application/vnd.custom-app+json). +// +// Suffix should not include the "+" character, and "json" and "xml" are registered by default. +func AddStructuredSuffixDecoder(suffix string, fn Decoder) { + ssDecoder[suffix] = fn +} + // AddEncoder registers an encoder for a given content type. The codecs will // use these to encode the data payload for a cloudevent.Event object. func AddEncoder(contentType string, fn Encoder) { encoder[contentType] = fn } +// AddStructuredSuffixEncoder registers an encoder for content-types which match the given +// structured syntax suffix as defined by +// [Structured Syntax Suffixes](https://www.iana.org/assignments/media-type-structured-suffix/media-type-structured-suffix.xhtml). +// This allows users to register custom encoders for non-standard content types which follow the +// structured syntax suffix standard (e.g. application/vnd.custom-app+json). +// +// Suffix should not include the "+" character, and "json" and "xml" are registered by default. +func AddStructuredSuffixEncoder(suffix string, fn Encoder) { + ssEncoder[suffix] = fn +} + // Decode looks up and invokes the decoder registered for the given content // type. An error is returned if no decoder is registered for the given // content type. @@ -64,6 +104,11 @@ func Decode(ctx context.Context, contentType string, in []byte, out interface{}) if fn, ok := decoder[contentType]; ok { return fn(ctx, in, out) } + + if fn, ok := ssDecoder[structuredSuffix(contentType)]; ok { + return fn(ctx, in, out) + } + return fmt.Errorf("[decode] unsupported content type: %q", contentType) } @@ -74,5 +119,19 @@ func Encode(ctx context.Context, contentType string, in interface{}) ([]byte, er if fn, ok := encoder[contentType]; ok { return fn(ctx, in) } + + if fn, ok := ssEncoder[structuredSuffix(contentType)]; ok { + return fn(ctx, in) + } + return nil, fmt.Errorf("[encode] unsupported content type: %q", contentType) } + +func structuredSuffix(contentType string) string { + parts := strings.Split(contentType, "+") + if len(parts) >= 2 { + return parts[len(parts)-1] + } + + return "" +} diff --git a/vendor/github.com/cloudevents/sdk-go/v2/event/event_marshal.go b/vendor/github.com/cloudevents/sdk-go/v2/event/event_marshal.go index c5f2dc03c7..67adb40bda 100644 --- a/vendor/github.com/cloudevents/sdk-go/v2/event/event_marshal.go +++ b/vendor/github.com/cloudevents/sdk-go/v2/event/event_marshal.go @@ -10,6 +10,7 @@ import ( "encoding/base64" "fmt" "io" + "slices" "strings" jsoniter "github.com/json-iterator/go" @@ -149,10 +150,8 @@ func WriteJson(in *Event, writer io.Writer) error { mediaType = strings.TrimSpace(strings.ToLower(contentType[0:i])) } - isJson := mediaType == "" || mediaType == ApplicationJSON || mediaType == TextJSON - - // If isJson and no encoding to base64, we don't need to perform additional steps - if isJson && !isBase64 { + // If IsJSON and no encoding to base64, we don't need to perform additional steps + if isJSON(mediaType) && !isBase64 { stream.WriteObjectField("data") _, err := stream.Write(in.DataEncoded) if err != nil { @@ -179,10 +178,16 @@ func WriteJson(in *Event, writer io.Writer) error { return fmt.Errorf("error while writing the event data: %w", stream.Error) } - for k, v := range ext { + // Add extensions in a deterministic predictable order, similar to how Go maps are serialized in a predictable order. + extensionNames := make([]string, 0, len(ext)) + for extName := range ext { + extensionNames = append(extensionNames, extName) + } + slices.Sort(extensionNames) + for _, extName := range extensionNames { stream.WriteMore() - stream.WriteObjectField(k) - stream.WriteVal(v) + stream.WriteObjectField(extName) + stream.WriteVal(ext[extName]) } stream.WriteObjectEnd() diff --git a/vendor/github.com/cloudevents/sdk-go/v2/event/event_unmarshal.go b/vendor/github.com/cloudevents/sdk-go/v2/event/event_unmarshal.go index 0dd88ae5a7..960da87984 100644 --- a/vendor/github.com/cloudevents/sdk-go/v2/event/event_unmarshal.go +++ b/vendor/github.com/cloudevents/sdk-go/v2/event/event_unmarshal.go @@ -7,6 +7,7 @@ package event import ( "encoding/base64" + "encoding/json" "errors" "fmt" "io" @@ -364,8 +365,7 @@ func consumeDataAsBytes(e *Event, isBase64 bool, b []byte) error { } mt, _ := e.Context.GetDataMediaType() - // Empty content type assumes json - if mt != "" && mt != ApplicationJSON && mt != TextJSON { + if !isJSON(mt) { // If not json, then data is encoded as string iter := jsoniter.ParseBytes(jsoniter.ConfigFastest, b) src := iter.ReadString() // handles escaping @@ -385,9 +385,14 @@ func consumeData(e *Event, isBase64 bool, iter *jsoniter.Iterator) error { e.DataBase64 = true // Allocate payload byte buffer - base64Encoded := iter.ReadStringAsSlice() - e.DataEncoded = make([]byte, base64.StdEncoding.DecodedLen(len(base64Encoded))) - length, err := base64.StdEncoding.Decode(e.DataEncoded, base64Encoded) + base64Encoded := iter.ReadString() + var base64DeJSON string + err := json.Unmarshal([]byte(`"`+base64Encoded+`"`), &base64DeJSON) + if err != nil { + return err + } + e.DataEncoded = make([]byte, base64.StdEncoding.DecodedLen(len(base64DeJSON))) + length, err := base64.StdEncoding.Decode(e.DataEncoded, []byte(base64DeJSON)) if err != nil { return err } @@ -396,7 +401,7 @@ func consumeData(e *Event, isBase64 bool, iter *jsoniter.Iterator) error { } mt, _ := e.Context.GetDataMediaType() - if mt != ApplicationJSON && mt != TextJSON { + if !isJSON(mt) { // If not json, then data is encoded as string src := iter.ReadString() // handles escaping e.DataEncoded = []byte(src) diff --git a/vendor/github.com/cloudevents/sdk-go/v2/event/eventcontext_v03.go b/vendor/github.com/cloudevents/sdk-go/v2/event/eventcontext_v03.go index 3f0505547c..fc67521a28 100644 --- a/vendor/github.com/cloudevents/sdk-go/v2/event/eventcontext_v03.go +++ b/vendor/github.com/cloudevents/sdk-go/v2/event/eventcontext_v03.go @@ -314,7 +314,7 @@ func (ec EventContextV03) String() string { b.WriteString(" datacontentencoding: " + *ec.DataContentEncoding + "\n") } - if ec.Extensions != nil && len(ec.Extensions) > 0 { + if len(ec.Extensions) > 0 { b.WriteString("Extensions,\n") keys := make([]string, 0, len(ec.Extensions)) for k := range ec.Extensions { diff --git a/vendor/github.com/cloudevents/sdk-go/v2/event/eventcontext_v1.go b/vendor/github.com/cloudevents/sdk-go/v2/event/eventcontext_v1.go index 8f164502b0..df311657f7 100644 --- a/vendor/github.com/cloudevents/sdk-go/v2/event/eventcontext_v1.go +++ b/vendor/github.com/cloudevents/sdk-go/v2/event/eventcontext_v1.go @@ -299,7 +299,7 @@ func (ec EventContextV1) String() string { b.WriteString(" datacontenttype: " + *ec.DataContentType + "\n") } - if ec.Extensions != nil && len(ec.Extensions) > 0 { + if len(ec.Extensions) > 0 { b.WriteString("Extensions,\n") keys := make([]string, 0, len(ec.Extensions)) for k := range ec.Extensions { diff --git a/vendor/github.com/cloudevents/sdk-go/v2/event/extensions.go b/vendor/github.com/cloudevents/sdk-go/v2/event/extensions.go index 72d0e757aa..87e5de5726 100644 --- a/vendor/github.com/cloudevents/sdk-go/v2/event/extensions.go +++ b/vendor/github.com/cloudevents/sdk-go/v2/event/extensions.go @@ -49,7 +49,7 @@ func validateExtensionName(key string) error { } for _, c := range key { - if !((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9')) { + if (c < 'a' || c > 'z') && (c < 'A' || c > 'Z') && (c < '0' || c > '9') { return errors.New("bad key, CloudEvents attribute names MUST consist of lower-case letters ('a' to 'z'), upper-case letters ('A' to 'Z') or digits ('0' to '9') from the ASCII character set") } } diff --git a/vendor/github.com/cloudevents/sdk-go/v2/protocol/doc.go b/vendor/github.com/cloudevents/sdk-go/v2/protocol/doc.go index 3c771fc5c4..fbd89fd913 100644 --- a/vendor/github.com/cloudevents/sdk-go/v2/protocol/doc.go +++ b/vendor/github.com/cloudevents/sdk-go/v2/protocol/doc.go @@ -15,7 +15,7 @@ components like importers, channels or brokers. Available protocols: * HTTP (using net/http) -* Kafka (using github.com/Shopify/sarama) +* Kafka (using github.com/IBM/sarama) * AMQP (using pack.ag/amqp) * Go Channels * Nats diff --git a/vendor/github.com/cloudevents/sdk-go/v2/protocol/http/options.go b/vendor/github.com/cloudevents/sdk-go/v2/protocol/http/options.go index 6582af3eaf..91a45ce36c 100644 --- a/vendor/github.com/cloudevents/sdk-go/v2/protocol/http/options.go +++ b/vendor/github.com/cloudevents/sdk-go/v2/protocol/http/options.go @@ -72,6 +72,26 @@ func WithHeader(key, value string) Option { } } +// WithHost sets the outbound host header for all cloud events when using an HTTP request +func WithHost(value string) Option { + return func(p *Protocol) error { + if p == nil { + return fmt.Errorf("http host option can not set nil protocol") + } + value = strings.TrimSpace(value) + if value != "" { + if p.RequestTemplate == nil { + p.RequestTemplate = &nethttp.Request{ + Method: nethttp.MethodPost, + } + } + p.RequestTemplate.Host = value + return nil + } + return fmt.Errorf("http host option was empty string") + } +} + // WithShutdownTimeout sets the shutdown timeout when the http server is being shutdown. func WithShutdownTimeout(timeout time.Duration) Option { return func(p *Protocol) error { @@ -83,6 +103,38 @@ func WithShutdownTimeout(timeout time.Duration) Option { } } +// WithReadTimeout overwrites the default read timeout (600s) of the http +// server. The specified timeout must not be negative. A timeout of 0 disables +// read timeouts in the http server. +func WithReadTimeout(timeout time.Duration) Option { + return func(p *Protocol) error { + if p == nil { + return fmt.Errorf("http read timeout option can not set nil protocol") + } + if timeout < 0 { + return fmt.Errorf("http read timeout must not be negative") + } + p.readTimeout = &timeout + return nil + } +} + +// WithWriteTimeout overwrites the default write timeout (600s) of the http +// server. The specified timeout must not be negative. A timeout of 0 disables +// write timeouts in the http server. +func WithWriteTimeout(timeout time.Duration) Option { + return func(p *Protocol) error { + if p == nil { + return fmt.Errorf("http write timeout option can not set nil protocol") + } + if timeout < 0 { + return fmt.Errorf("http write timeout must not be negative") + } + p.writeTimeout = &timeout + return nil + } +} + func checkListen(p *Protocol, prefix string) error { switch { case p.listener.Load() != nil: diff --git a/vendor/github.com/cloudevents/sdk-go/v2/protocol/http/protocol.go b/vendor/github.com/cloudevents/sdk-go/v2/protocol/http/protocol.go index 7ee3b8fe12..ed76c7dc50 100644 --- a/vendor/github.com/cloudevents/sdk-go/v2/protocol/http/protocol.go +++ b/vendor/github.com/cloudevents/sdk-go/v2/protocol/http/protocol.go @@ -70,6 +70,18 @@ type Protocol struct { // If 0, DefaultShutdownTimeout is used. ShutdownTimeout time.Duration + // readTimeout defines the http.Server ReadTimeout It is the maximum duration + // for reading the entire request, including the body. If not overwritten by an + // option, the default value (600s) is used + readTimeout *time.Duration + + // writeTimeout defines the http.Server WriteTimeout It is the maximum duration + // before timing out writes of the response. It is reset whenever a new + // request's header is read. Like ReadTimeout, it does not let Handlers make + // decisions on a per-request basis. If not overwritten by an option, the + // default value (600s) is used + writeTimeout *time.Duration + // Port is the port configured to bind the receiver to. Defaults to 8080. // If you want to know the effective port you're listening to, use GetListeningPort() Port int @@ -116,6 +128,17 @@ func New(opts ...Option) (*Protocol, error) { p.ShutdownTimeout = DefaultShutdownTimeout } + // use default timeout from abuse protection value + defaultTimeout := DefaultTimeout + + if p.readTimeout == nil { + p.readTimeout = &defaultTimeout + } + + if p.writeTimeout == nil { + p.writeTimeout = &defaultTimeout + } + if p.isRetriableFunc == nil { p.isRetriableFunc = defaultIsRetriableFunc } @@ -303,7 +326,7 @@ func (p *Protocol) ServeHTTP(rw http.ResponseWriter, req *http.Request) { if !ok { rw.Header().Add("Retry-After", strconv.Itoa(int(reset))) - http.Error(rw, "limit exceeded", 429) + http.Error(rw, "limit exceeded", http.StatusTooManyRequests) return } diff --git a/vendor/github.com/cloudevents/sdk-go/v2/protocol/http/protocol_lifecycle.go b/vendor/github.com/cloudevents/sdk-go/v2/protocol/http/protocol_lifecycle.go index 04ef96915a..7551c31c54 100644 --- a/vendor/github.com/cloudevents/sdk-go/v2/protocol/http/protocol_lifecycle.go +++ b/vendor/github.com/cloudevents/sdk-go/v2/protocol/http/protocol_lifecycle.go @@ -40,8 +40,8 @@ func (p *Protocol) OpenInbound(ctx context.Context) error { p.server = &http.Server{ Addr: listener.Addr().String(), Handler: attachMiddleware(p.Handler, p.middleware), - ReadTimeout: DefaultTimeout, - WriteTimeout: DefaultTimeout, + ReadTimeout: *p.readTimeout, + WriteTimeout: *p.writeTimeout, } // Shutdown diff --git a/vendor/github.com/emicklei/go-restful/v3/bench_test.sh b/vendor/github.com/emicklei/go-restful/v3/bench_test.sh old mode 100755 new mode 100644 diff --git a/vendor/github.com/emicklei/go-restful/v3/coverage.sh b/vendor/github.com/emicklei/go-restful/v3/coverage.sh old mode 100755 new mode 100644 diff --git a/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/internal/httprule/BUILD.bazel b/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/internal/httprule/BUILD.bazel new file mode 100644 index 0000000000..b8fbb2b77c --- /dev/null +++ b/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/internal/httprule/BUILD.bazel @@ -0,0 +1,35 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package(default_visibility = ["//visibility:public"]) + +go_library( + name = "httprule", + srcs = [ + "compile.go", + "parse.go", + "types.go", + ], + importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/internal/httprule", + deps = ["//utilities"], +) + +go_test( + name = "httprule_test", + size = "small", + srcs = [ + "compile_test.go", + "parse_test.go", + "types_test.go", + ], + embed = [":httprule"], + deps = [ + "//utilities", + "@org_golang_google_grpc//grpclog", + ], +) + +alias( + name = "go_default_library", + actual = ":httprule", + visibility = ["//:__subpackages__"], +) diff --git a/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/BUILD.bazel b/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/BUILD.bazel new file mode 100644 index 0000000000..a65d88eb86 --- /dev/null +++ b/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/BUILD.bazel @@ -0,0 +1,97 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package(default_visibility = ["//visibility:public"]) + +go_library( + name = "runtime", + srcs = [ + "context.go", + "convert.go", + "doc.go", + "errors.go", + "fieldmask.go", + "handler.go", + "marshal_httpbodyproto.go", + "marshal_json.go", + "marshal_jsonpb.go", + "marshal_proto.go", + "marshaler.go", + "marshaler_registry.go", + "mux.go", + "pattern.go", + "proto2_convert.go", + "query.go", + ], + importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/runtime", + deps = [ + "//internal/httprule", + "//utilities", + "@org_golang_google_genproto_googleapis_api//httpbody", + "@org_golang_google_grpc//codes", + "@org_golang_google_grpc//grpclog", + "@org_golang_google_grpc//health/grpc_health_v1", + "@org_golang_google_grpc//metadata", + "@org_golang_google_grpc//status", + "@org_golang_google_protobuf//encoding/protojson", + "@org_golang_google_protobuf//proto", + "@org_golang_google_protobuf//reflect/protoreflect", + "@org_golang_google_protobuf//reflect/protoregistry", + "@org_golang_google_protobuf//types/known/durationpb", + "@org_golang_google_protobuf//types/known/fieldmaskpb", + "@org_golang_google_protobuf//types/known/structpb", + "@org_golang_google_protobuf//types/known/timestamppb", + "@org_golang_google_protobuf//types/known/wrapperspb", + ], +) + +go_test( + name = "runtime_test", + size = "small", + srcs = [ + "context_test.go", + "convert_test.go", + "errors_test.go", + "fieldmask_test.go", + "handler_test.go", + "marshal_httpbodyproto_test.go", + "marshal_json_test.go", + "marshal_jsonpb_test.go", + "marshal_proto_test.go", + "marshaler_registry_test.go", + "mux_internal_test.go", + "mux_test.go", + "pattern_test.go", + "query_fuzz_test.go", + "query_test.go", + ], + embed = [":runtime"], + deps = [ + "//runtime/internal/examplepb", + "//utilities", + "@com_github_google_go_cmp//cmp", + "@com_github_google_go_cmp//cmp/cmpopts", + "@org_golang_google_genproto_googleapis_api//httpbody", + "@org_golang_google_genproto_googleapis_rpc//errdetails", + "@org_golang_google_genproto_googleapis_rpc//status", + "@org_golang_google_grpc//:grpc", + "@org_golang_google_grpc//codes", + "@org_golang_google_grpc//health/grpc_health_v1", + "@org_golang_google_grpc//metadata", + "@org_golang_google_grpc//status", + "@org_golang_google_protobuf//encoding/protojson", + "@org_golang_google_protobuf//proto", + "@org_golang_google_protobuf//testing/protocmp", + "@org_golang_google_protobuf//types/known/durationpb", + "@org_golang_google_protobuf//types/known/emptypb", + "@org_golang_google_protobuf//types/known/fieldmaskpb", + "@org_golang_google_protobuf//types/known/structpb", + "@org_golang_google_protobuf//types/known/timestamppb", + "@org_golang_google_protobuf//types/known/wrapperspb", + ], +) + +alias( + name = "go_default_library", + actual = ":runtime", + visibility = ["//visibility:public"], +) diff --git a/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/utilities/BUILD.bazel b/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/utilities/BUILD.bazel new file mode 100644 index 0000000000..b894094657 --- /dev/null +++ b/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/utilities/BUILD.bazel @@ -0,0 +1,31 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +package(default_visibility = ["//visibility:public"]) + +go_library( + name = "utilities", + srcs = [ + "doc.go", + "pattern.go", + "readerfactory.go", + "string_array_flag.go", + "trie.go", + ], + importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/utilities", +) + +go_test( + name = "utilities_test", + size = "small", + srcs = [ + "string_array_flag_test.go", + "trie_test.go", + ], + deps = [":utilities"], +) + +alias( + name = "go_default_library", + actual = ":utilities", + visibility = ["//visibility:public"], +) diff --git a/vendor/github.com/json-iterator/go/build.sh b/vendor/github.com/json-iterator/go/build.sh old mode 100755 new mode 100644 diff --git a/vendor/github.com/json-iterator/go/test.sh b/vendor/github.com/json-iterator/go/test.sh old mode 100755 new mode 100644 diff --git a/vendor/github.com/klauspost/compress/gen.sh b/vendor/github.com/klauspost/compress/gen.sh old mode 100755 new mode 100644 diff --git a/vendor/github.com/manifestival/manifestival/manifestival.go b/vendor/github.com/manifestival/manifestival/manifestival.go index 892433fb61..b8d07b8bc2 100644 --- a/vendor/github.com/manifestival/manifestival/manifestival.go +++ b/vendor/github.com/manifestival/manifestival/manifestival.go @@ -133,7 +133,7 @@ func (m Manifest) apply(spec *unstructured.Unstructured, opts ...ApplyOption) er annotate(current, v1.LastAppliedConfigAnnotation, lastApplied(current)) return m.Client.Create(current, opts...) } else { - diff, err := patch.New(unsetStatus(current), unsetStatus(spec)) + diff, err := patch.New(current, spec) if err != nil { return err } @@ -156,14 +156,6 @@ func (m Manifest) apply(spec *unstructured.Unstructured, opts ...ApplyOption) er } } -func unsetStatus(spec *unstructured.Unstructured) *unstructured.Unstructured { - spec = spec.DeepCopy() - if _, ok := spec.Object["status"]; ok { - spec.Object["status"] = nil - } - return spec -} - // update a single resource func (m Manifest) update(live, spec *unstructured.Unstructured, opts ...ApplyOption) error { m.logResource("Updating", live) diff --git a/vendor/github.com/modern-go/concurrent/test.sh b/vendor/github.com/modern-go/concurrent/test.sh old mode 100755 new mode 100644 diff --git a/vendor/github.com/openshift/api/route/v1/test-route-validation.sh b/vendor/github.com/openshift/api/route/v1/test-route-validation.sh old mode 100755 new mode 100644 diff --git a/vendor/github.com/pelletier/go-toml/v2/ci.sh b/vendor/github.com/pelletier/go-toml/v2/ci.sh old mode 100755 new mode 100644 diff --git a/vendor/github.com/rcrowley/go-metrics/validate.sh b/vendor/github.com/rcrowley/go-metrics/validate.sh old mode 100755 new mode 100644 diff --git a/vendor/github.com/rickb777/plural/build+test.sh b/vendor/github.com/rickb777/plural/build+test.sh old mode 100755 new mode 100644 diff --git a/vendor/github.com/stretchr/testify/assert/assertion_compare.go b/vendor/github.com/stretchr/testify/assert/assertion_compare.go index 7e19eba090..ffb24e8e31 100644 --- a/vendor/github.com/stretchr/testify/assert/assertion_compare.go +++ b/vendor/github.com/stretchr/testify/assert/assertion_compare.go @@ -390,7 +390,8 @@ func Greater(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface if h, ok := t.(tHelper); ok { h.Helper() } - return compareTwoValues(t, e1, e2, []compareResult{compareGreater}, "\"%v\" is not greater than \"%v\"", msgAndArgs...) + failMessage := fmt.Sprintf("\"%v\" is not greater than \"%v\"", e1, e2) + return compareTwoValues(t, e1, e2, []compareResult{compareGreater}, failMessage, msgAndArgs...) } // GreaterOrEqual asserts that the first element is greater than or equal to the second @@ -403,7 +404,8 @@ func GreaterOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...in if h, ok := t.(tHelper); ok { h.Helper() } - return compareTwoValues(t, e1, e2, []compareResult{compareGreater, compareEqual}, "\"%v\" is not greater than or equal to \"%v\"", msgAndArgs...) + failMessage := fmt.Sprintf("\"%v\" is not greater than or equal to \"%v\"", e1, e2) + return compareTwoValues(t, e1, e2, []compareResult{compareGreater, compareEqual}, failMessage, msgAndArgs...) } // Less asserts that the first element is less than the second @@ -415,7 +417,8 @@ func Less(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) if h, ok := t.(tHelper); ok { h.Helper() } - return compareTwoValues(t, e1, e2, []compareResult{compareLess}, "\"%v\" is not less than \"%v\"", msgAndArgs...) + failMessage := fmt.Sprintf("\"%v\" is not less than \"%v\"", e1, e2) + return compareTwoValues(t, e1, e2, []compareResult{compareLess}, failMessage, msgAndArgs...) } // LessOrEqual asserts that the first element is less than or equal to the second @@ -428,7 +431,8 @@ func LessOrEqual(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...inter if h, ok := t.(tHelper); ok { h.Helper() } - return compareTwoValues(t, e1, e2, []compareResult{compareLess, compareEqual}, "\"%v\" is not less than or equal to \"%v\"", msgAndArgs...) + failMessage := fmt.Sprintf("\"%v\" is not less than or equal to \"%v\"", e1, e2) + return compareTwoValues(t, e1, e2, []compareResult{compareLess, compareEqual}, failMessage, msgAndArgs...) } // Positive asserts that the specified element is positive @@ -440,7 +444,8 @@ func Positive(t TestingT, e interface{}, msgAndArgs ...interface{}) bool { h.Helper() } zero := reflect.Zero(reflect.TypeOf(e)) - return compareTwoValues(t, e, zero.Interface(), []compareResult{compareGreater}, "\"%v\" is not positive", msgAndArgs...) + failMessage := fmt.Sprintf("\"%v\" is not positive", e) + return compareTwoValues(t, e, zero.Interface(), []compareResult{compareGreater}, failMessage, msgAndArgs...) } // Negative asserts that the specified element is negative @@ -452,7 +457,8 @@ func Negative(t TestingT, e interface{}, msgAndArgs ...interface{}) bool { h.Helper() } zero := reflect.Zero(reflect.TypeOf(e)) - return compareTwoValues(t, e, zero.Interface(), []compareResult{compareLess}, "\"%v\" is not negative", msgAndArgs...) + failMessage := fmt.Sprintf("\"%v\" is not negative", e) + return compareTwoValues(t, e, zero.Interface(), []compareResult{compareLess}, failMessage, msgAndArgs...) } func compareTwoValues(t TestingT, e1 interface{}, e2 interface{}, allowedComparesResults []compareResult, failMessage string, msgAndArgs ...interface{}) bool { @@ -468,11 +474,11 @@ func compareTwoValues(t TestingT, e1 interface{}, e2 interface{}, allowedCompare compareResult, isComparable := compare(e1, e2, e1Kind) if !isComparable { - return Fail(t, fmt.Sprintf("Can not compare type \"%s\"", reflect.TypeOf(e1)), msgAndArgs...) + return Fail(t, fmt.Sprintf(`Can not compare type "%T"`, e1), msgAndArgs...) } if !containsValue(allowedComparesResults, compareResult) { - return Fail(t, fmt.Sprintf(failMessage, e1, e2), msgAndArgs...) + return Fail(t, failMessage, msgAndArgs...) } return true diff --git a/vendor/github.com/stretchr/testify/assert/assertion_format.go b/vendor/github.com/stretchr/testify/assert/assertion_format.go index 1906341657..c592f6ad5f 100644 --- a/vendor/github.com/stretchr/testify/assert/assertion_format.go +++ b/vendor/github.com/stretchr/testify/assert/assertion_format.go @@ -50,10 +50,19 @@ func ElementsMatchf(t TestingT, listA interface{}, listB interface{}, msg string return ElementsMatch(t, listA, listB, append([]interface{}{msg}, args...)...) } -// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Emptyf asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // assert.Emptyf(t, obj, "error message %s", "formatted") +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func Emptyf(t TestingT, object interface{}, msg string, args ...interface{}) bool { if h, ok := t.(tHelper); ok { h.Helper() @@ -117,10 +126,8 @@ func EqualValuesf(t TestingT, expected interface{}, actual interface{}, msg stri // Errorf asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if assert.Errorf(t, err, "error message %s", "formatted") { -// assert.Equal(t, expectedErrorf, err) -// } +// actualObj, err := SomeFunction() +// assert.Errorf(t, err, "error message %s", "formatted") func Errorf(t TestingT, err error, msg string, args ...interface{}) bool { if h, ok := t.(tHelper); ok { h.Helper() @@ -438,7 +445,19 @@ func IsNonIncreasingf(t TestingT, object interface{}, msg string, args ...interf return IsNonIncreasing(t, object, append([]interface{}{msg}, args...)...) } +// IsNotTypef asserts that the specified objects are not of the same type. +// +// assert.IsNotTypef(t, &NotMyStruct{}, &MyStruct{}, "error message %s", "formatted") +func IsNotTypef(t TestingT, theType interface{}, object interface{}, msg string, args ...interface{}) bool { + if h, ok := t.(tHelper); ok { + h.Helper() + } + return IsNotType(t, theType, object, append([]interface{}{msg}, args...)...) +} + // IsTypef asserts that the specified objects are of the same type. +// +// assert.IsTypef(t, &MyStruct{}, &MyStruct{}, "error message %s", "formatted") func IsTypef(t TestingT, expectedType interface{}, object interface{}, msg string, args ...interface{}) bool { if h, ok := t.(tHelper); ok { h.Helper() @@ -585,8 +604,7 @@ func NotElementsMatchf(t TestingT, listA interface{}, listB interface{}, msg str return NotElementsMatch(t, listA, listB, append([]interface{}{msg}, args...)...) } -// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmptyf asserts that the specified object is NOT [Empty]. // // if assert.NotEmptyf(t, obj, "error message %s", "formatted") { // assert.Equal(t, "two", obj[1]) @@ -693,12 +711,15 @@ func NotSamef(t TestingT, expected interface{}, actual interface{}, msg string, return NotSame(t, expected, actual, append([]interface{}{msg}, args...)...) } -// NotSubsetf asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubsetf asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // assert.NotSubsetf(t, [1, 3, 4], [1, 2], "error message %s", "formatted") // assert.NotSubsetf(t, {"x": 1, "y": 2}, {"z": 3}, "error message %s", "formatted") +// assert.NotSubsetf(t, [1, 3, 4], {1: "one", 2: "two"}, "error message %s", "formatted") +// assert.NotSubsetf(t, {"x": 1, "y": 2}, ["z"], "error message %s", "formatted") func NotSubsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) bool { if h, ok := t.(tHelper); ok { h.Helper() @@ -782,11 +803,15 @@ func Samef(t TestingT, expected interface{}, actual interface{}, msg string, arg return Same(t, expected, actual, append([]interface{}{msg}, args...)...) } -// Subsetf asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subsetf asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // assert.Subsetf(t, [1, 2, 3], [1, 2], "error message %s", "formatted") // assert.Subsetf(t, {"x": 1, "y": 2}, {"x": 1}, "error message %s", "formatted") +// assert.Subsetf(t, [1, 2, 3], {1: "one", 2: "two"}, "error message %s", "formatted") +// assert.Subsetf(t, {"x": 1, "y": 2}, ["x"], "error message %s", "formatted") func Subsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) bool { if h, ok := t.(tHelper); ok { h.Helper() diff --git a/vendor/github.com/stretchr/testify/assert/assertion_forward.go b/vendor/github.com/stretchr/testify/assert/assertion_forward.go index 21629087ba..58db928450 100644 --- a/vendor/github.com/stretchr/testify/assert/assertion_forward.go +++ b/vendor/github.com/stretchr/testify/assert/assertion_forward.go @@ -92,10 +92,19 @@ func (a *Assertions) ElementsMatchf(listA interface{}, listB interface{}, msg st return ElementsMatchf(a.t, listA, listB, msg, args...) } -// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Empty asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // a.Empty(obj) +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -103,10 +112,19 @@ func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) bool { return Empty(a.t, object, msgAndArgs...) } -// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Emptyf asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // a.Emptyf(obj, "error message %s", "formatted") +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func (a *Assertions) Emptyf(object interface{}, msg string, args ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -224,10 +242,8 @@ func (a *Assertions) Equalf(expected interface{}, actual interface{}, msg string // Error asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if a.Error(err) { -// assert.Equal(t, expectedError, err) -// } +// actualObj, err := SomeFunction() +// a.Error(err) func (a *Assertions) Error(err error, msgAndArgs ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -297,10 +313,8 @@ func (a *Assertions) ErrorIsf(err error, target error, msg string, args ...inter // Errorf asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if a.Errorf(err, "error message %s", "formatted") { -// assert.Equal(t, expectedErrorf, err) -// } +// actualObj, err := SomeFunction() +// a.Errorf(err, "error message %s", "formatted") func (a *Assertions) Errorf(err error, msg string, args ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -868,7 +882,29 @@ func (a *Assertions) IsNonIncreasingf(object interface{}, msg string, args ...in return IsNonIncreasingf(a.t, object, msg, args...) } +// IsNotType asserts that the specified objects are not of the same type. +// +// a.IsNotType(&NotMyStruct{}, &MyStruct{}) +func (a *Assertions) IsNotType(theType interface{}, object interface{}, msgAndArgs ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return IsNotType(a.t, theType, object, msgAndArgs...) +} + +// IsNotTypef asserts that the specified objects are not of the same type. +// +// a.IsNotTypef(&NotMyStruct{}, &MyStruct{}, "error message %s", "formatted") +func (a *Assertions) IsNotTypef(theType interface{}, object interface{}, msg string, args ...interface{}) bool { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + return IsNotTypef(a.t, theType, object, msg, args...) +} + // IsType asserts that the specified objects are of the same type. +// +// a.IsType(&MyStruct{}, &MyStruct{}) func (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAndArgs ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -877,6 +913,8 @@ func (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAnd } // IsTypef asserts that the specified objects are of the same type. +// +// a.IsTypef(&MyStruct{}, &MyStruct{}, "error message %s", "formatted") func (a *Assertions) IsTypef(expectedType interface{}, object interface{}, msg string, args ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1162,8 +1200,7 @@ func (a *Assertions) NotElementsMatchf(listA interface{}, listB interface{}, msg return NotElementsMatchf(a.t, listA, listB, msg, args...) } -// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmpty asserts that the specified object is NOT [Empty]. // // if a.NotEmpty(obj) { // assert.Equal(t, "two", obj[1]) @@ -1175,8 +1212,7 @@ func (a *Assertions) NotEmpty(object interface{}, msgAndArgs ...interface{}) boo return NotEmpty(a.t, object, msgAndArgs...) } -// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmptyf asserts that the specified object is NOT [Empty]. // // if a.NotEmptyf(obj, "error message %s", "formatted") { // assert.Equal(t, "two", obj[1]) @@ -1378,12 +1414,15 @@ func (a *Assertions) NotSamef(expected interface{}, actual interface{}, msg stri return NotSamef(a.t, expected, actual, msg, args...) } -// NotSubset asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubset asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.NotSubset([1, 3, 4], [1, 2]) // a.NotSubset({"x": 1, "y": 2}, {"z": 3}) +// a.NotSubset([1, 3, 4], {1: "one", 2: "two"}) +// a.NotSubset({"x": 1, "y": 2}, ["z"]) func (a *Assertions) NotSubset(list interface{}, subset interface{}, msgAndArgs ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1391,12 +1430,15 @@ func (a *Assertions) NotSubset(list interface{}, subset interface{}, msgAndArgs return NotSubset(a.t, list, subset, msgAndArgs...) } -// NotSubsetf asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubsetf asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.NotSubsetf([1, 3, 4], [1, 2], "error message %s", "formatted") // a.NotSubsetf({"x": 1, "y": 2}, {"z": 3}, "error message %s", "formatted") +// a.NotSubsetf([1, 3, 4], {1: "one", 2: "two"}, "error message %s", "formatted") +// a.NotSubsetf({"x": 1, "y": 2}, ["z"], "error message %s", "formatted") func (a *Assertions) NotSubsetf(list interface{}, subset interface{}, msg string, args ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1556,11 +1598,15 @@ func (a *Assertions) Samef(expected interface{}, actual interface{}, msg string, return Samef(a.t, expected, actual, msg, args...) } -// Subset asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subset asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.Subset([1, 2, 3], [1, 2]) // a.Subset({"x": 1, "y": 2}, {"x": 1}) +// a.Subset([1, 2, 3], {1: "one", 2: "two"}) +// a.Subset({"x": 1, "y": 2}, ["x"]) func (a *Assertions) Subset(list interface{}, subset interface{}, msgAndArgs ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1568,11 +1614,15 @@ func (a *Assertions) Subset(list interface{}, subset interface{}, msgAndArgs ... return Subset(a.t, list, subset, msgAndArgs...) } -// Subsetf asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subsetf asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.Subsetf([1, 2, 3], [1, 2], "error message %s", "formatted") // a.Subsetf({"x": 1, "y": 2}, {"x": 1}, "error message %s", "formatted") +// a.Subsetf([1, 2, 3], {1: "one", 2: "two"}, "error message %s", "formatted") +// a.Subsetf({"x": 1, "y": 2}, ["x"], "error message %s", "formatted") func (a *Assertions) Subsetf(list interface{}, subset interface{}, msg string, args ...interface{}) bool { if h, ok := a.t.(tHelper); ok { h.Helper() diff --git a/vendor/github.com/stretchr/testify/assert/assertion_order.go b/vendor/github.com/stretchr/testify/assert/assertion_order.go index 1d2f71824a..2fdf80fdd3 100644 --- a/vendor/github.com/stretchr/testify/assert/assertion_order.go +++ b/vendor/github.com/stretchr/testify/assert/assertion_order.go @@ -33,7 +33,7 @@ func isOrdered(t TestingT, object interface{}, allowedComparesResults []compareR compareResult, isComparable := compare(prevValueInterface, valueInterface, firstValueKind) if !isComparable { - return Fail(t, fmt.Sprintf("Can not compare type \"%s\" and \"%s\"", reflect.TypeOf(value), reflect.TypeOf(prevValue)), msgAndArgs...) + return Fail(t, fmt.Sprintf(`Can not compare type "%T" and "%T"`, value, prevValue), msgAndArgs...) } if !containsValue(allowedComparesResults, compareResult) { diff --git a/vendor/github.com/stretchr/testify/assert/assertions.go b/vendor/github.com/stretchr/testify/assert/assertions.go index 4e91332bb5..de8de0cb6c 100644 --- a/vendor/github.com/stretchr/testify/assert/assertions.go +++ b/vendor/github.com/stretchr/testify/assert/assertions.go @@ -210,59 +210,77 @@ the problem actually occurred in calling code.*/ // of each stack frame leading from the current test to the assert call that // failed. func CallerInfo() []string { - var pc uintptr - var ok bool var file string var line int var name string + const stackFrameBufferSize = 10 + pcs := make([]uintptr, stackFrameBufferSize) + callers := []string{} - for i := 0; ; i++ { - pc, file, line, ok = runtime.Caller(i) - if !ok { - // The breaks below failed to terminate the loop, and we ran off the - // end of the call stack. - break - } + offset := 1 - // This is a huge edge case, but it will panic if this is the case, see #180 - if file == "" { - break - } + for { + n := runtime.Callers(offset, pcs) - f := runtime.FuncForPC(pc) - if f == nil { - break - } - name = f.Name() - - // testing.tRunner is the standard library function that calls - // tests. Subtests are called directly by tRunner, without going through - // the Test/Benchmark/Example function that contains the t.Run calls, so - // with subtests we should break when we hit tRunner, without adding it - // to the list of callers. - if name == "testing.tRunner" { + if n == 0 { break } - parts := strings.Split(file, "/") - if len(parts) > 1 { - filename := parts[len(parts)-1] - dir := parts[len(parts)-2] - if (dir != "assert" && dir != "mock" && dir != "require") || filename == "mock_test.go" { - callers = append(callers, fmt.Sprintf("%s:%d", file, line)) + frames := runtime.CallersFrames(pcs[:n]) + + for { + frame, more := frames.Next() + pc = frame.PC + file = frame.File + line = frame.Line + + // This is a huge edge case, but it will panic if this is the case, see #180 + if file == "" { + break } - } - // Drop the package - segments := strings.Split(name, ".") - name = segments[len(segments)-1] - if isTest(name, "Test") || - isTest(name, "Benchmark") || - isTest(name, "Example") { - break + f := runtime.FuncForPC(pc) + if f == nil { + break + } + name = f.Name() + + // testing.tRunner is the standard library function that calls + // tests. Subtests are called directly by tRunner, without going through + // the Test/Benchmark/Example function that contains the t.Run calls, so + // with subtests we should break when we hit tRunner, without adding it + // to the list of callers. + if name == "testing.tRunner" { + break + } + + parts := strings.Split(file, "/") + if len(parts) > 1 { + filename := parts[len(parts)-1] + dir := parts[len(parts)-2] + if (dir != "assert" && dir != "mock" && dir != "require") || filename == "mock_test.go" { + callers = append(callers, fmt.Sprintf("%s:%d", file, line)) + } + } + + // Drop the package + dotPos := strings.LastIndexByte(name, '.') + name = name[dotPos+1:] + if isTest(name, "Test") || + isTest(name, "Benchmark") || + isTest(name, "Example") { + break + } + + if !more { + break + } } + + // Next batch + offset += cap(pcs) } return callers @@ -437,17 +455,34 @@ func NotImplements(t TestingT, interfaceObject interface{}, object interface{}, return true } +func isType(expectedType, object interface{}) bool { + return ObjectsAreEqual(reflect.TypeOf(object), reflect.TypeOf(expectedType)) +} + // IsType asserts that the specified objects are of the same type. -func IsType(t TestingT, expectedType interface{}, object interface{}, msgAndArgs ...interface{}) bool { +// +// assert.IsType(t, &MyStruct{}, &MyStruct{}) +func IsType(t TestingT, expectedType, object interface{}, msgAndArgs ...interface{}) bool { + if isType(expectedType, object) { + return true + } if h, ok := t.(tHelper); ok { h.Helper() } + return Fail(t, fmt.Sprintf("Object expected to be of type %T, but was %T", expectedType, object), msgAndArgs...) +} - if !ObjectsAreEqual(reflect.TypeOf(object), reflect.TypeOf(expectedType)) { - return Fail(t, fmt.Sprintf("Object expected to be of type %v, but was %v", reflect.TypeOf(expectedType), reflect.TypeOf(object)), msgAndArgs...) +// IsNotType asserts that the specified objects are not of the same type. +// +// assert.IsNotType(t, &NotMyStruct{}, &MyStruct{}) +func IsNotType(t TestingT, theType, object interface{}, msgAndArgs ...interface{}) bool { + if !isType(theType, object) { + return true } - - return true + if h, ok := t.(tHelper); ok { + h.Helper() + } + return Fail(t, fmt.Sprintf("Object type expected to be different than %T", theType), msgAndArgs...) } // Equal asserts that two objects are equal. @@ -475,7 +510,6 @@ func Equal(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) } return true - } // validateEqualArgs checks whether provided arguments can be safely used in the @@ -510,8 +544,9 @@ func Same(t TestingT, expected, actual interface{}, msgAndArgs ...interface{}) b if !same { // both are pointers but not the same type & pointing to the same address return Fail(t, fmt.Sprintf("Not same: \n"+ - "expected: %p %#v\n"+ - "actual : %p %#v", expected, expected, actual, actual), msgAndArgs...) + "expected: %p %#[1]v\n"+ + "actual : %p %#[2]v", + expected, actual), msgAndArgs...) } return true @@ -530,14 +565,14 @@ func NotSame(t TestingT, expected, actual interface{}, msgAndArgs ...interface{} same, ok := samePointers(expected, actual) if !ok { - //fails when the arguments are not pointers + // fails when the arguments are not pointers return !(Fail(t, "Both arguments must be pointers", msgAndArgs...)) } if same { return Fail(t, fmt.Sprintf( - "Expected and actual point to the same object: %p %#v", - expected, expected), msgAndArgs...) + "Expected and actual point to the same object: %p %#[1]v", + expected), msgAndArgs...) } return true } @@ -549,7 +584,7 @@ func NotSame(t TestingT, expected, actual interface{}, msgAndArgs ...interface{} func samePointers(first, second interface{}) (same bool, ok bool) { firstPtr, secondPtr := reflect.ValueOf(first), reflect.ValueOf(second) if firstPtr.Kind() != reflect.Ptr || secondPtr.Kind() != reflect.Ptr { - return false, false //not both are pointers + return false, false // not both are pointers } firstType, secondType := reflect.TypeOf(first), reflect.TypeOf(second) @@ -610,7 +645,6 @@ func EqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...interfa } return true - } // EqualExportedValues asserts that the types of two objects are equal and their public @@ -665,7 +699,6 @@ func Exactly(t TestingT, expected, actual interface{}, msgAndArgs ...interface{} } return Equal(t, expected, actual, msgAndArgs...) - } // NotNil asserts that the specified object is not nil. @@ -715,37 +748,45 @@ func Nil(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { // isEmpty gets whether the specified object is considered empty or not. func isEmpty(object interface{}) bool { - // get nil case out of the way if object == nil { return true } - objValue := reflect.ValueOf(object) + return isEmptyValue(reflect.ValueOf(object)) +} +// isEmptyValue gets whether the specified reflect.Value is considered empty or not. +func isEmptyValue(objValue reflect.Value) bool { + if objValue.IsZero() { + return true + } + // Special cases of non-zero values that we consider empty switch objValue.Kind() { // collection types are empty when they have no element + // Note: array types are empty when they match their zero-initialized state. case reflect.Chan, reflect.Map, reflect.Slice: return objValue.Len() == 0 - // pointers are empty if nil or if the value they point to is empty + // non-nil pointers are empty if the value they point to is empty case reflect.Ptr: - if objValue.IsNil() { - return true - } - deref := objValue.Elem().Interface() - return isEmpty(deref) - // for all other types, compare against the zero value - // array types are empty when they match their zero-initialized state - default: - zero := reflect.Zero(objValue.Type()) - return reflect.DeepEqual(object, zero.Interface()) + return isEmptyValue(objValue.Elem()) } + return false } -// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Empty asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // assert.Empty(t, obj) +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { pass := isEmpty(object) if !pass { @@ -756,11 +797,9 @@ func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { } return pass - } -// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmpty asserts that the specified object is NOT [Empty]. // // if assert.NotEmpty(t, obj) { // assert.Equal(t, "two", obj[1]) @@ -775,7 +814,6 @@ func NotEmpty(t TestingT, object interface{}, msgAndArgs ...interface{}) bool { } return pass - } // getLen tries to get the length of an object. @@ -819,7 +857,6 @@ func True(t TestingT, value bool, msgAndArgs ...interface{}) bool { } return true - } // False asserts that the specified value is false. @@ -834,7 +871,6 @@ func False(t TestingT, value bool, msgAndArgs ...interface{}) bool { } return true - } // NotEqual asserts that the specified values are NOT equal. @@ -857,7 +893,6 @@ func NotEqual(t TestingT, expected, actual interface{}, msgAndArgs ...interface{ } return true - } // NotEqualValues asserts that two objects are not equal even when converted to the same type @@ -880,7 +915,6 @@ func NotEqualValues(t TestingT, expected, actual interface{}, msgAndArgs ...inte // return (true, false) if element was not found. // return (true, true) if element was found. func containsElement(list interface{}, element interface{}) (ok, found bool) { - listValue := reflect.ValueOf(list) listType := reflect.TypeOf(list) if listType == nil { @@ -915,7 +949,6 @@ func containsElement(list interface{}, element interface{}) (ok, found bool) { } } return true, false - } // Contains asserts that the specified string, list(array, slice...) or map contains the @@ -938,7 +971,6 @@ func Contains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) bo } return true - } // NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the @@ -961,14 +993,17 @@ func NotContains(t TestingT, s, contains interface{}, msgAndArgs ...interface{}) } return true - } -// Subset asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subset asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // assert.Subset(t, [1, 2, 3], [1, 2]) // assert.Subset(t, {"x": 1, "y": 2}, {"x": 1}) +// assert.Subset(t, [1, 2, 3], {1: "one", 2: "two"}) +// assert.Subset(t, {"x": 1, "y": 2}, ["x"]) func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok bool) { if h, ok := t.(tHelper); ok { h.Helper() @@ -983,7 +1018,7 @@ func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok } subsetKind := reflect.TypeOf(subset).Kind() - if subsetKind != reflect.Array && subsetKind != reflect.Slice && listKind != reflect.Map { + if subsetKind != reflect.Array && subsetKind != reflect.Slice && subsetKind != reflect.Map { return Fail(t, fmt.Sprintf("%q has an unsupported type %s", subset, subsetKind), msgAndArgs...) } @@ -1007,6 +1042,13 @@ func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok } subsetList := reflect.ValueOf(subset) + if subsetKind == reflect.Map { + keys := make([]interface{}, subsetList.Len()) + for idx, key := range subsetList.MapKeys() { + keys[idx] = key.Interface() + } + subsetList = reflect.ValueOf(keys) + } for i := 0; i < subsetList.Len(); i++ { element := subsetList.Index(i).Interface() ok, found := containsElement(list, element) @@ -1021,12 +1063,15 @@ func Subset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok return true } -// NotSubset asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubset asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // assert.NotSubset(t, [1, 3, 4], [1, 2]) // assert.NotSubset(t, {"x": 1, "y": 2}, {"z": 3}) +// assert.NotSubset(t, [1, 3, 4], {1: "one", 2: "two"}) +// assert.NotSubset(t, {"x": 1, "y": 2}, ["z"]) func NotSubset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) (ok bool) { if h, ok := t.(tHelper); ok { h.Helper() @@ -1041,7 +1086,7 @@ func NotSubset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) } subsetKind := reflect.TypeOf(subset).Kind() - if subsetKind != reflect.Array && subsetKind != reflect.Slice && listKind != reflect.Map { + if subsetKind != reflect.Array && subsetKind != reflect.Slice && subsetKind != reflect.Map { return Fail(t, fmt.Sprintf("%q has an unsupported type %s", subset, subsetKind), msgAndArgs...) } @@ -1065,11 +1110,18 @@ func NotSubset(t TestingT, list, subset interface{}, msgAndArgs ...interface{}) } subsetList := reflect.ValueOf(subset) + if subsetKind == reflect.Map { + keys := make([]interface{}, subsetList.Len()) + for idx, key := range subsetList.MapKeys() { + keys[idx] = key.Interface() + } + subsetList = reflect.ValueOf(keys) + } for i := 0; i < subsetList.Len(); i++ { element := subsetList.Index(i).Interface() ok, found := containsElement(list, element) if !ok { - return Fail(t, fmt.Sprintf("\"%s\" could not be applied builtin len()", list), msgAndArgs...) + return Fail(t, fmt.Sprintf("%q could not be applied builtin len()", list), msgAndArgs...) } if !found { return true @@ -1591,10 +1643,8 @@ func NoError(t TestingT, err error, msgAndArgs ...interface{}) bool { // Error asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if assert.Error(t, err) { -// assert.Equal(t, expectedError, err) -// } +// actualObj, err := SomeFunction() +// assert.Error(t, err) func Error(t TestingT, err error, msgAndArgs ...interface{}) bool { if err == nil { if h, ok := t.(tHelper); ok { @@ -1667,7 +1717,6 @@ func matchRegexp(rx interface{}, str interface{}) bool { default: return r.MatchString(fmt.Sprint(v)) } - } // Regexp asserts that a specified regexp matches a string. @@ -1703,7 +1752,6 @@ func NotRegexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interf } return !match - } // Zero asserts that i is the zero value for its type. @@ -1814,6 +1862,11 @@ func JSONEq(t TestingT, expected string, actual string, msgAndArgs ...interface{ return Fail(t, fmt.Sprintf("Expected value ('%s') is not valid json.\nJSON parsing error: '%s'", expected, err.Error()), msgAndArgs...) } + // Shortcut if same bytes + if actual == expected { + return true + } + if err := json.Unmarshal([]byte(actual), &actualJSONAsInterface); err != nil { return Fail(t, fmt.Sprintf("Input ('%s') needs to be valid json.\nJSON parsing error: '%s'", actual, err.Error()), msgAndArgs...) } @@ -1832,6 +1885,11 @@ func YAMLEq(t TestingT, expected string, actual string, msgAndArgs ...interface{ return Fail(t, fmt.Sprintf("Expected value ('%s') is not valid yaml.\nYAML parsing error: '%s'", expected, err.Error()), msgAndArgs...) } + // Shortcut if same bytes + if actual == expected { + return true + } + if err := yaml.Unmarshal([]byte(actual), &actualYAMLAsInterface); err != nil { return Fail(t, fmt.Sprintf("Input ('%s') needs to be valid yaml.\nYAML error: '%s'", actual, err.Error()), msgAndArgs...) } @@ -1933,6 +1991,7 @@ func Eventually(t TestingT, condition func() bool, waitFor time.Duration, tick t } ch := make(chan bool, 1) + checkCond := func() { ch <- condition() } timer := time.NewTimer(waitFor) defer timer.Stop() @@ -1940,18 +1999,23 @@ func Eventually(t TestingT, condition func() bool, waitFor time.Duration, tick t ticker := time.NewTicker(tick) defer ticker.Stop() - for tick := ticker.C; ; { + var tickC <-chan time.Time + + // Check the condition once first on the initial call. + go checkCond() + + for { select { case <-timer.C: return Fail(t, "Condition never satisfied", msgAndArgs...) - case <-tick: - tick = nil - go func() { ch <- condition() }() + case <-tickC: + tickC = nil + go checkCond() case v := <-ch: if v { return true } - tick = ticker.C + tickC = ticker.C } } } @@ -1964,6 +2028,9 @@ type CollectT struct { errors []error } +// Helper is like [testing.T.Helper] but does nothing. +func (CollectT) Helper() {} + // Errorf collects the error. func (c *CollectT) Errorf(format string, args ...interface{}) { c.errors = append(c.errors, fmt.Errorf(format, args...)) @@ -2021,35 +2088,42 @@ func EventuallyWithT(t TestingT, condition func(collect *CollectT), waitFor time var lastFinishedTickErrs []error ch := make(chan *CollectT, 1) + checkCond := func() { + collect := new(CollectT) + defer func() { + ch <- collect + }() + condition(collect) + } + timer := time.NewTimer(waitFor) defer timer.Stop() ticker := time.NewTicker(tick) defer ticker.Stop() - for tick := ticker.C; ; { + var tickC <-chan time.Time + + // Check the condition once first on the initial call. + go checkCond() + + for { select { case <-timer.C: for _, err := range lastFinishedTickErrs { t.Errorf("%v", err) } return Fail(t, "Condition never satisfied", msgAndArgs...) - case <-tick: - tick = nil - go func() { - collect := new(CollectT) - defer func() { - ch <- collect - }() - condition(collect) - }() + case <-tickC: + tickC = nil + go checkCond() case collect := <-ch: if !collect.failed() { return true } // Keep the errors from the last ended condition, so that they can be copied to t if timeout is reached. lastFinishedTickErrs = collect.errors - tick = ticker.C + tickC = ticker.C } } } @@ -2064,6 +2138,7 @@ func Never(t TestingT, condition func() bool, waitFor time.Duration, tick time.D } ch := make(chan bool, 1) + checkCond := func() { ch <- condition() } timer := time.NewTimer(waitFor) defer timer.Stop() @@ -2071,18 +2146,23 @@ func Never(t TestingT, condition func() bool, waitFor time.Duration, tick time.D ticker := time.NewTicker(tick) defer ticker.Stop() - for tick := ticker.C; ; { + var tickC <-chan time.Time + + // Check the condition once first on the initial call. + go checkCond() + + for { select { case <-timer.C: return true - case <-tick: - tick = nil - go func() { ch <- condition() }() + case <-tickC: + tickC = nil + go checkCond() case v := <-ch: if v { return Fail(t, "Condition satisfied", msgAndArgs...) } - tick = ticker.C + tickC = ticker.C } } } @@ -2100,9 +2180,12 @@ func ErrorIs(t TestingT, err, target error, msgAndArgs ...interface{}) bool { var expectedText string if target != nil { expectedText = target.Error() + if err == nil { + return Fail(t, fmt.Sprintf("Expected error with %q in chain but got nil.", expectedText), msgAndArgs...) + } } - chain := buildErrorChainString(err) + chain := buildErrorChainString(err, false) return Fail(t, fmt.Sprintf("Target error should be in err chain:\n"+ "expected: %q\n"+ @@ -2125,7 +2208,7 @@ func NotErrorIs(t TestingT, err, target error, msgAndArgs ...interface{}) bool { expectedText = target.Error() } - chain := buildErrorChainString(err) + chain := buildErrorChainString(err, false) return Fail(t, fmt.Sprintf("Target error should not be in err chain:\n"+ "found: %q\n"+ @@ -2143,11 +2226,17 @@ func ErrorAs(t TestingT, err error, target interface{}, msgAndArgs ...interface{ return true } - chain := buildErrorChainString(err) + expectedType := reflect.TypeOf(target).Elem().String() + if err == nil { + return Fail(t, fmt.Sprintf("An error is expected but got nil.\n"+ + "expected: %s", expectedType), msgAndArgs...) + } + + chain := buildErrorChainString(err, true) return Fail(t, fmt.Sprintf("Should be in error chain:\n"+ - "expected: %q\n"+ - "in chain: %s", target, chain, + "expected: %s\n"+ + "in chain: %s", expectedType, chain, ), msgAndArgs...) } @@ -2161,24 +2250,46 @@ func NotErrorAs(t TestingT, err error, target interface{}, msgAndArgs ...interfa return true } - chain := buildErrorChainString(err) + chain := buildErrorChainString(err, true) return Fail(t, fmt.Sprintf("Target error should not be in err chain:\n"+ - "found: %q\n"+ - "in chain: %s", target, chain, + "found: %s\n"+ + "in chain: %s", reflect.TypeOf(target).Elem().String(), chain, ), msgAndArgs...) } -func buildErrorChainString(err error) string { +func unwrapAll(err error) (errs []error) { + errs = append(errs, err) + switch x := err.(type) { + case interface{ Unwrap() error }: + err = x.Unwrap() + if err == nil { + return + } + errs = append(errs, unwrapAll(err)...) + case interface{ Unwrap() []error }: + for _, err := range x.Unwrap() { + errs = append(errs, unwrapAll(err)...) + } + } + return +} + +func buildErrorChainString(err error, withType bool) string { if err == nil { return "" } - e := errors.Unwrap(err) - chain := fmt.Sprintf("%q", err.Error()) - for e != nil { - chain += fmt.Sprintf("\n\t%q", e.Error()) - e = errors.Unwrap(e) + var chain string + errs := unwrapAll(err) + for i := range errs { + if i != 0 { + chain += "\n\t" + } + chain += fmt.Sprintf("%q", errs[i].Error()) + if withType { + chain += fmt.Sprintf(" (%T)", errs[i]) + } } return chain } diff --git a/vendor/github.com/stretchr/testify/assert/doc.go b/vendor/github.com/stretchr/testify/assert/doc.go index 4953981d38..a0b953aa5c 100644 --- a/vendor/github.com/stretchr/testify/assert/doc.go +++ b/vendor/github.com/stretchr/testify/assert/doc.go @@ -1,5 +1,9 @@ // Package assert provides a set of comprehensive testing tools for use with the normal Go testing system. // +// # Note +// +// All functions in this package return a bool value indicating whether the assertion has passed. +// // # Example Usage // // The following is a complete example using assert in a standard test function: diff --git a/vendor/github.com/stretchr/testify/assert/http_assertions.go b/vendor/github.com/stretchr/testify/assert/http_assertions.go index 861ed4b7ce..5a6bb75f2c 100644 --- a/vendor/github.com/stretchr/testify/assert/http_assertions.go +++ b/vendor/github.com/stretchr/testify/assert/http_assertions.go @@ -138,7 +138,7 @@ func HTTPBodyContains(t TestingT, handler http.HandlerFunc, method, url string, contains := strings.Contains(body, fmt.Sprint(str)) if !contains { - Fail(t, fmt.Sprintf("Expected response body for \"%s\" to contain \"%s\" but found \"%s\"", url+"?"+values.Encode(), str, body), msgAndArgs...) + Fail(t, fmt.Sprintf("Expected response body for %q to contain %q but found %q", url+"?"+values.Encode(), str, body), msgAndArgs...) } return contains @@ -158,7 +158,7 @@ func HTTPBodyNotContains(t TestingT, handler http.HandlerFunc, method, url strin contains := strings.Contains(body, fmt.Sprint(str)) if contains { - Fail(t, fmt.Sprintf("Expected response body for \"%s\" to NOT contain \"%s\" but found \"%s\"", url+"?"+values.Encode(), str, body), msgAndArgs...) + Fail(t, fmt.Sprintf("Expected response body for %q to NOT contain %q but found %q", url+"?"+values.Encode(), str, body), msgAndArgs...) } return !contains diff --git a/vendor/github.com/stretchr/testify/assert/yaml/yaml_custom.go b/vendor/github.com/stretchr/testify/assert/yaml/yaml_custom.go index baa0cc7d7f..5a74c4f4d5 100644 --- a/vendor/github.com/stretchr/testify/assert/yaml/yaml_custom.go +++ b/vendor/github.com/stretchr/testify/assert/yaml/yaml_custom.go @@ -1,5 +1,4 @@ //go:build testify_yaml_custom && !testify_yaml_fail && !testify_yaml_default -// +build testify_yaml_custom,!testify_yaml_fail,!testify_yaml_default // Package yaml is an implementation of YAML functions that calls a pluggable implementation. // diff --git a/vendor/github.com/stretchr/testify/assert/yaml/yaml_default.go b/vendor/github.com/stretchr/testify/assert/yaml/yaml_default.go index b83c6cf64c..0bae80e34a 100644 --- a/vendor/github.com/stretchr/testify/assert/yaml/yaml_default.go +++ b/vendor/github.com/stretchr/testify/assert/yaml/yaml_default.go @@ -1,5 +1,4 @@ //go:build !testify_yaml_fail && !testify_yaml_custom -// +build !testify_yaml_fail,!testify_yaml_custom // Package yaml is just an indirection to handle YAML deserialization. // diff --git a/vendor/github.com/stretchr/testify/assert/yaml/yaml_fail.go b/vendor/github.com/stretchr/testify/assert/yaml/yaml_fail.go index e78f7dfe69..8041803fd2 100644 --- a/vendor/github.com/stretchr/testify/assert/yaml/yaml_fail.go +++ b/vendor/github.com/stretchr/testify/assert/yaml/yaml_fail.go @@ -1,5 +1,4 @@ //go:build testify_yaml_fail && !testify_yaml_custom && !testify_yaml_default -// +build testify_yaml_fail,!testify_yaml_custom,!testify_yaml_default // Package yaml is an implementation of YAML functions that always fail. // diff --git a/vendor/github.com/stretchr/testify/require/doc.go b/vendor/github.com/stretchr/testify/require/doc.go index 9684347245..c8e3f94a80 100644 --- a/vendor/github.com/stretchr/testify/require/doc.go +++ b/vendor/github.com/stretchr/testify/require/doc.go @@ -23,6 +23,8 @@ // // The `require` package have same global functions as in the `assert` package, // but instead of returning a boolean result they call `t.FailNow()`. +// A consequence of this is that it must be called from the goroutine running +// the test function, not from other goroutines created during the test. // // Every assertion function also takes an optional string message as the final argument, // allowing custom error messages to be appended to the message the assertion method outputs. diff --git a/vendor/github.com/stretchr/testify/require/require.go b/vendor/github.com/stretchr/testify/require/require.go index d8921950d7..2d02f9bcef 100644 --- a/vendor/github.com/stretchr/testify/require/require.go +++ b/vendor/github.com/stretchr/testify/require/require.go @@ -117,10 +117,19 @@ func ElementsMatchf(t TestingT, listA interface{}, listB interface{}, msg string t.FailNow() } -// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Empty asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // require.Empty(t, obj) +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -131,10 +140,19 @@ func Empty(t TestingT, object interface{}, msgAndArgs ...interface{}) { t.FailNow() } -// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Emptyf asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // require.Emptyf(t, obj, "error message %s", "formatted") +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func Emptyf(t TestingT, object interface{}, msg string, args ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -279,10 +297,8 @@ func Equalf(t TestingT, expected interface{}, actual interface{}, msg string, ar // Error asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if require.Error(t, err) { -// require.Equal(t, expectedError, err) -// } +// actualObj, err := SomeFunction() +// require.Error(t, err) func Error(t TestingT, err error, msgAndArgs ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -373,10 +389,8 @@ func ErrorIsf(t TestingT, err error, target error, msg string, args ...interface // Errorf asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if require.Errorf(t, err, "error message %s", "formatted") { -// require.Equal(t, expectedErrorf, err) -// } +// actualObj, err := SomeFunction() +// require.Errorf(t, err, "error message %s", "formatted") func Errorf(t TestingT, err error, msg string, args ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -1097,7 +1111,35 @@ func IsNonIncreasingf(t TestingT, object interface{}, msg string, args ...interf t.FailNow() } +// IsNotType asserts that the specified objects are not of the same type. +// +// require.IsNotType(t, &NotMyStruct{}, &MyStruct{}) +func IsNotType(t TestingT, theType interface{}, object interface{}, msgAndArgs ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.IsNotType(t, theType, object, msgAndArgs...) { + return + } + t.FailNow() +} + +// IsNotTypef asserts that the specified objects are not of the same type. +// +// require.IsNotTypef(t, &NotMyStruct{}, &MyStruct{}, "error message %s", "formatted") +func IsNotTypef(t TestingT, theType interface{}, object interface{}, msg string, args ...interface{}) { + if h, ok := t.(tHelper); ok { + h.Helper() + } + if assert.IsNotTypef(t, theType, object, msg, args...) { + return + } + t.FailNow() +} + // IsType asserts that the specified objects are of the same type. +// +// require.IsType(t, &MyStruct{}, &MyStruct{}) func IsType(t TestingT, expectedType interface{}, object interface{}, msgAndArgs ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -1109,6 +1151,8 @@ func IsType(t TestingT, expectedType interface{}, object interface{}, msgAndArgs } // IsTypef asserts that the specified objects are of the same type. +// +// require.IsTypef(t, &MyStruct{}, &MyStruct{}, "error message %s", "formatted") func IsTypef(t TestingT, expectedType interface{}, object interface{}, msg string, args ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -1469,8 +1513,7 @@ func NotElementsMatchf(t TestingT, listA interface{}, listB interface{}, msg str t.FailNow() } -// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmpty asserts that the specified object is NOT [Empty]. // // if require.NotEmpty(t, obj) { // require.Equal(t, "two", obj[1]) @@ -1485,8 +1528,7 @@ func NotEmpty(t TestingT, object interface{}, msgAndArgs ...interface{}) { t.FailNow() } -// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmptyf asserts that the specified object is NOT [Empty]. // // if require.NotEmptyf(t, obj, "error message %s", "formatted") { // require.Equal(t, "two", obj[1]) @@ -1745,12 +1787,15 @@ func NotSamef(t TestingT, expected interface{}, actual interface{}, msg string, t.FailNow() } -// NotSubset asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubset asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // require.NotSubset(t, [1, 3, 4], [1, 2]) // require.NotSubset(t, {"x": 1, "y": 2}, {"z": 3}) +// require.NotSubset(t, [1, 3, 4], {1: "one", 2: "two"}) +// require.NotSubset(t, {"x": 1, "y": 2}, ["z"]) func NotSubset(t TestingT, list interface{}, subset interface{}, msgAndArgs ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -1761,12 +1806,15 @@ func NotSubset(t TestingT, list interface{}, subset interface{}, msgAndArgs ...i t.FailNow() } -// NotSubsetf asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubsetf asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // require.NotSubsetf(t, [1, 3, 4], [1, 2], "error message %s", "formatted") // require.NotSubsetf(t, {"x": 1, "y": 2}, {"z": 3}, "error message %s", "formatted") +// require.NotSubsetf(t, [1, 3, 4], {1: "one", 2: "two"}, "error message %s", "formatted") +// require.NotSubsetf(t, {"x": 1, "y": 2}, ["z"], "error message %s", "formatted") func NotSubsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -1971,11 +2019,15 @@ func Samef(t TestingT, expected interface{}, actual interface{}, msg string, arg t.FailNow() } -// Subset asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subset asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // require.Subset(t, [1, 2, 3], [1, 2]) // require.Subset(t, {"x": 1, "y": 2}, {"x": 1}) +// require.Subset(t, [1, 2, 3], {1: "one", 2: "two"}) +// require.Subset(t, {"x": 1, "y": 2}, ["x"]) func Subset(t TestingT, list interface{}, subset interface{}, msgAndArgs ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() @@ -1986,11 +2038,15 @@ func Subset(t TestingT, list interface{}, subset interface{}, msgAndArgs ...inte t.FailNow() } -// Subsetf asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subsetf asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // require.Subsetf(t, [1, 2, 3], [1, 2], "error message %s", "formatted") // require.Subsetf(t, {"x": 1, "y": 2}, {"x": 1}, "error message %s", "formatted") +// require.Subsetf(t, [1, 2, 3], {1: "one", 2: "two"}, "error message %s", "formatted") +// require.Subsetf(t, {"x": 1, "y": 2}, ["x"], "error message %s", "formatted") func Subsetf(t TestingT, list interface{}, subset interface{}, msg string, args ...interface{}) { if h, ok := t.(tHelper); ok { h.Helper() diff --git a/vendor/github.com/stretchr/testify/require/require_forward.go b/vendor/github.com/stretchr/testify/require/require_forward.go index 1bd87304f4..e6f7e94468 100644 --- a/vendor/github.com/stretchr/testify/require/require_forward.go +++ b/vendor/github.com/stretchr/testify/require/require_forward.go @@ -93,10 +93,19 @@ func (a *Assertions) ElementsMatchf(listA interface{}, listB interface{}, msg st ElementsMatchf(a.t, listA, listB, msg, args...) } -// Empty asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Empty asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // a.Empty(obj) +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -104,10 +113,19 @@ func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) { Empty(a.t, object, msgAndArgs...) } -// Emptyf asserts that the specified object is empty. I.e. nil, "", false, 0 or either -// a slice or a channel with len == 0. +// Emptyf asserts that the given value is "empty". +// +// [Zero values] are "empty". +// +// Arrays are "empty" if every element is the zero value of the type (stricter than "empty"). +// +// Slices, maps and channels with zero length are "empty". +// +// Pointer values are "empty" if the pointer is nil or if the pointed value is "empty". // // a.Emptyf(obj, "error message %s", "formatted") +// +// [Zero values]: https://go.dev/ref/spec#The_zero_value func (a *Assertions) Emptyf(object interface{}, msg string, args ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -225,10 +243,8 @@ func (a *Assertions) Equalf(expected interface{}, actual interface{}, msg string // Error asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if a.Error(err) { -// assert.Equal(t, expectedError, err) -// } +// actualObj, err := SomeFunction() +// a.Error(err) func (a *Assertions) Error(err error, msgAndArgs ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -298,10 +314,8 @@ func (a *Assertions) ErrorIsf(err error, target error, msg string, args ...inter // Errorf asserts that a function returned an error (i.e. not `nil`). // -// actualObj, err := SomeFunction() -// if a.Errorf(err, "error message %s", "formatted") { -// assert.Equal(t, expectedErrorf, err) -// } +// actualObj, err := SomeFunction() +// a.Errorf(err, "error message %s", "formatted") func (a *Assertions) Errorf(err error, msg string, args ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -869,7 +883,29 @@ func (a *Assertions) IsNonIncreasingf(object interface{}, msg string, args ...in IsNonIncreasingf(a.t, object, msg, args...) } +// IsNotType asserts that the specified objects are not of the same type. +// +// a.IsNotType(&NotMyStruct{}, &MyStruct{}) +func (a *Assertions) IsNotType(theType interface{}, object interface{}, msgAndArgs ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + IsNotType(a.t, theType, object, msgAndArgs...) +} + +// IsNotTypef asserts that the specified objects are not of the same type. +// +// a.IsNotTypef(&NotMyStruct{}, &MyStruct{}, "error message %s", "formatted") +func (a *Assertions) IsNotTypef(theType interface{}, object interface{}, msg string, args ...interface{}) { + if h, ok := a.t.(tHelper); ok { + h.Helper() + } + IsNotTypef(a.t, theType, object, msg, args...) +} + // IsType asserts that the specified objects are of the same type. +// +// a.IsType(&MyStruct{}, &MyStruct{}) func (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAndArgs ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -878,6 +914,8 @@ func (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAnd } // IsTypef asserts that the specified objects are of the same type. +// +// a.IsTypef(&MyStruct{}, &MyStruct{}, "error message %s", "formatted") func (a *Assertions) IsTypef(expectedType interface{}, object interface{}, msg string, args ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1163,8 +1201,7 @@ func (a *Assertions) NotElementsMatchf(listA interface{}, listB interface{}, msg NotElementsMatchf(a.t, listA, listB, msg, args...) } -// NotEmpty asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmpty asserts that the specified object is NOT [Empty]. // // if a.NotEmpty(obj) { // assert.Equal(t, "two", obj[1]) @@ -1176,8 +1213,7 @@ func (a *Assertions) NotEmpty(object interface{}, msgAndArgs ...interface{}) { NotEmpty(a.t, object, msgAndArgs...) } -// NotEmptyf asserts that the specified object is NOT empty. I.e. not nil, "", false, 0 or either -// a slice or a channel with len == 0. +// NotEmptyf asserts that the specified object is NOT [Empty]. // // if a.NotEmptyf(obj, "error message %s", "formatted") { // assert.Equal(t, "two", obj[1]) @@ -1379,12 +1415,15 @@ func (a *Assertions) NotSamef(expected interface{}, actual interface{}, msg stri NotSamef(a.t, expected, actual, msg, args...) } -// NotSubset asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubset asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.NotSubset([1, 3, 4], [1, 2]) // a.NotSubset({"x": 1, "y": 2}, {"z": 3}) +// a.NotSubset([1, 3, 4], {1: "one", 2: "two"}) +// a.NotSubset({"x": 1, "y": 2}, ["z"]) func (a *Assertions) NotSubset(list interface{}, subset interface{}, msgAndArgs ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1392,12 +1431,15 @@ func (a *Assertions) NotSubset(list interface{}, subset interface{}, msgAndArgs NotSubset(a.t, list, subset, msgAndArgs...) } -// NotSubsetf asserts that the specified list(array, slice...) or map does NOT -// contain all elements given in the specified subset list(array, slice...) or -// map. +// NotSubsetf asserts that the list (array, slice, or map) does NOT contain all +// elements given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.NotSubsetf([1, 3, 4], [1, 2], "error message %s", "formatted") // a.NotSubsetf({"x": 1, "y": 2}, {"z": 3}, "error message %s", "formatted") +// a.NotSubsetf([1, 3, 4], {1: "one", 2: "two"}, "error message %s", "formatted") +// a.NotSubsetf({"x": 1, "y": 2}, ["z"], "error message %s", "formatted") func (a *Assertions) NotSubsetf(list interface{}, subset interface{}, msg string, args ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1557,11 +1599,15 @@ func (a *Assertions) Samef(expected interface{}, actual interface{}, msg string, Samef(a.t, expected, actual, msg, args...) } -// Subset asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subset asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.Subset([1, 2, 3], [1, 2]) // a.Subset({"x": 1, "y": 2}, {"x": 1}) +// a.Subset([1, 2, 3], {1: "one", 2: "two"}) +// a.Subset({"x": 1, "y": 2}, ["x"]) func (a *Assertions) Subset(list interface{}, subset interface{}, msgAndArgs ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() @@ -1569,11 +1615,15 @@ func (a *Assertions) Subset(list interface{}, subset interface{}, msgAndArgs ... Subset(a.t, list, subset, msgAndArgs...) } -// Subsetf asserts that the specified list(array, slice...) or map contains all -// elements given in the specified subset list(array, slice...) or map. +// Subsetf asserts that the list (array, slice, or map) contains all elements +// given in the subset (array, slice, or map). +// Map elements are key-value pairs unless compared with an array or slice where +// only the map key is evaluated. // // a.Subsetf([1, 2, 3], [1, 2], "error message %s", "formatted") // a.Subsetf({"x": 1, "y": 2}, {"x": 1}, "error message %s", "formatted") +// a.Subsetf([1, 2, 3], {1: "one", 2: "two"}, "error message %s", "formatted") +// a.Subsetf({"x": 1, "y": 2}, ["x"], "error message %s", "formatted") func (a *Assertions) Subsetf(list interface{}, subset interface{}, msg string, args ...interface{}) { if h, ok := a.t.(tHelper); ok { h.Helper() diff --git a/vendor/go.uber.org/zap/checklicense.sh b/vendor/go.uber.org/zap/checklicense.sh old mode 100755 new mode 100644 diff --git a/vendor/golang.org/x/sync/errgroup/errgroup.go b/vendor/golang.org/x/sync/errgroup/errgroup.go index b8322598ae..1d8cffae8c 100644 --- a/vendor/golang.org/x/sync/errgroup/errgroup.go +++ b/vendor/golang.org/x/sync/errgroup/errgroup.go @@ -18,7 +18,7 @@ import ( type token struct{} // A Group is a collection of goroutines working on subtasks that are part of -// the same overall task. +// the same overall task. A Group should not be reused for different tasks. // // A zero Group is valid, has no limit on the number of active goroutines, // and does not cancel on error. @@ -46,7 +46,7 @@ func (g *Group) done() { // returns a non-nil error or the first time Wait returns, whichever occurs // first. func WithContext(ctx context.Context) (*Group, context.Context) { - ctx, cancel := withCancelCause(ctx) + ctx, cancel := context.WithCancelCause(ctx) return &Group{cancel: cancel}, ctx } @@ -61,11 +61,14 @@ func (g *Group) Wait() error { } // Go calls the given function in a new goroutine. +// +// The first call to Go must happen before a Wait. // It blocks until the new goroutine can be added without the number of -// active goroutines in the group exceeding the configured limit. +// goroutines in the group exceeding the configured limit. // -// The first call to return a non-nil error cancels the group's context, if the -// group was created by calling WithContext. The error will be returned by Wait. +// The first goroutine in the group that returns a non-nil error will +// cancel the associated Context, if any. The error will be returned +// by Wait. func (g *Group) Go(f func() error) { if g.sem != nil { g.sem <- token{} @@ -75,6 +78,18 @@ func (g *Group) Go(f func() error) { go func() { defer g.done() + // It is tempting to propagate panics from f() + // up to the goroutine that calls Wait, but + // it creates more problems than it solves: + // - it delays panics arbitrarily, + // making bugs harder to detect; + // - it turns f's panic stack into a mere value, + // hiding it from crash-monitoring tools; + // - it risks deadlocks that hide the panic entirely, + // if f's panic leaves the program in a state + // that prevents the Wait call from being reached. + // See #53757, #74275, #74304, #74306. + if err := f(); err != nil { g.errOnce.Do(func() { g.err = err diff --git a/vendor/golang.org/x/sync/errgroup/go120.go b/vendor/golang.org/x/sync/errgroup/go120.go deleted file mode 100644 index f93c740b63..0000000000 --- a/vendor/golang.org/x/sync/errgroup/go120.go +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2023 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build go1.20 - -package errgroup - -import "context" - -func withCancelCause(parent context.Context) (context.Context, func(error)) { - return context.WithCancelCause(parent) -} diff --git a/vendor/golang.org/x/sync/errgroup/pre_go120.go b/vendor/golang.org/x/sync/errgroup/pre_go120.go deleted file mode 100644 index 88ce33434e..0000000000 --- a/vendor/golang.org/x/sync/errgroup/pre_go120.go +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2023 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build !go1.20 - -package errgroup - -import "context" - -func withCancelCause(parent context.Context) (context.Context, func(error)) { - ctx, cancel := context.WithCancel(parent) - return ctx, func(error) { cancel() } -} diff --git a/vendor/golang.org/x/sys/plan9/mkall.sh b/vendor/golang.org/x/sys/plan9/mkall.sh old mode 100755 new mode 100644 diff --git a/vendor/golang.org/x/sys/plan9/mkerrors.sh b/vendor/golang.org/x/sys/plan9/mkerrors.sh old mode 100755 new mode 100644 diff --git a/vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh b/vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh old mode 100755 new mode 100644 diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh old mode 100755 new mode 100644 diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh old mode 100755 new mode 100644 diff --git a/vendor/golang.org/x/time/rate/rate.go b/vendor/golang.org/x/time/rate/rate.go index ec5f0cdd0c..794b2e32bf 100644 --- a/vendor/golang.org/x/time/rate/rate.go +++ b/vendor/golang.org/x/time/rate/rate.go @@ -85,7 +85,7 @@ func (lim *Limiter) Burst() int { // TokensAt returns the number of tokens available at time t. func (lim *Limiter) TokensAt(t time.Time) float64 { lim.mu.Lock() - _, tokens := lim.advance(t) // does not mutate lim + tokens := lim.advance(t) // does not mutate lim lim.mu.Unlock() return tokens } @@ -186,7 +186,7 @@ func (r *Reservation) CancelAt(t time.Time) { return } // advance time to now - t, tokens := r.lim.advance(t) + tokens := r.lim.advance(t) // calculate new number of tokens tokens += restoreTokens if burst := float64(r.lim.burst); tokens > burst { @@ -307,7 +307,7 @@ func (lim *Limiter) SetLimitAt(t time.Time, newLimit Limit) { lim.mu.Lock() defer lim.mu.Unlock() - t, tokens := lim.advance(t) + tokens := lim.advance(t) lim.last = t lim.tokens = tokens @@ -324,7 +324,7 @@ func (lim *Limiter) SetBurstAt(t time.Time, newBurst int) { lim.mu.Lock() defer lim.mu.Unlock() - t, tokens := lim.advance(t) + tokens := lim.advance(t) lim.last = t lim.tokens = tokens @@ -347,7 +347,7 @@ func (lim *Limiter) reserveN(t time.Time, n int, maxFutureReserve time.Duration) } } - t, tokens := lim.advance(t) + tokens := lim.advance(t) // Calculate the remaining number of tokens resulting from the request. tokens -= float64(n) @@ -380,10 +380,11 @@ func (lim *Limiter) reserveN(t time.Time, n int, maxFutureReserve time.Duration) return r } -// advance calculates and returns an updated state for lim resulting from the passage of time. +// advance calculates and returns an updated number of tokens for lim +// resulting from the passage of time. // lim is not changed. // advance requires that lim.mu is held. -func (lim *Limiter) advance(t time.Time) (newT time.Time, newTokens float64) { +func (lim *Limiter) advance(t time.Time) (newTokens float64) { last := lim.last if t.Before(last) { last = t @@ -396,7 +397,7 @@ func (lim *Limiter) advance(t time.Time) (newT time.Time, newTokens float64) { if burst := float64(lim.burst); tokens > burst { tokens = burst } - return t, tokens + return tokens } // durationFromTokens is a unit conversion function from the number of tokens to the duration diff --git a/vendor/golang.org/x/time/rate/sometimes.go b/vendor/golang.org/x/time/rate/sometimes.go index 6ba99ddb67..9b83932692 100644 --- a/vendor/golang.org/x/time/rate/sometimes.go +++ b/vendor/golang.org/x/time/rate/sometimes.go @@ -61,7 +61,9 @@ func (s *Sometimes) Do(f func()) { (s.Every > 0 && s.count%s.Every == 0) || (s.Interval > 0 && time.Since(s.last) >= s.Interval) { f() - s.last = time.Now() + if s.Interval > 0 { + s.last = time.Now() + } } s.count++ } diff --git a/vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS b/vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS new file mode 100644 index 0000000000..1a9f5e7706 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS @@ -0,0 +1,16 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: + - thockin + - smarterclayton + - wojtek-t + - deads2k + - derekwaynecarr + - caesarxuchao + - mikedanese + - liggitt + - saad-ali + - janetkuo + - tallclair + - dims + - cjcullen diff --git a/vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS b/vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS new file mode 100644 index 0000000000..1e1330fff2 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS @@ -0,0 +1,14 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: + - thockin + - smarterclayton + - wojtek-t + - deads2k + - derekwaynecarr + - caesarxuchao + - mikedanese + - liggitt + - janetkuo + - ncdc + - dims diff --git a/vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS b/vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS new file mode 100644 index 0000000000..063fd285da --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS @@ -0,0 +1,10 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: + - thockin + - smarterclayton + - wojtek-t + - derekwaynecarr + - mikedanese + - saad-ali + - janetkuo diff --git a/vendor/k8s.io/apimachinery/pkg/api/validation/OWNERS b/vendor/k8s.io/apimachinery/pkg/api/validation/OWNERS new file mode 100644 index 0000000000..4023732476 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/api/validation/OWNERS @@ -0,0 +1,11 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +# Disable inheritance as this is an api owners file +options: + no_parent_owners: true +approvers: + - api-approvers +reviewers: + - api-reviewers +labels: + - kind/api-change diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS new file mode 100644 index 0000000000..e7e5c152d0 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS @@ -0,0 +1,16 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: + - thockin + - smarterclayton + - wojtek-t + - deads2k + - caesarxuchao + - liggitt + - sttts + - luxas + - janetkuo + - justinsb + - ncdc + - soltysh + - dims diff --git a/vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS b/vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS new file mode 100644 index 0000000000..349bc69d65 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS @@ -0,0 +1,6 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: + - pwittrock +reviewers: + - apelisse diff --git a/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS b/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS new file mode 100644 index 0000000000..73244449f2 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS @@ -0,0 +1,9 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: + - apelisse + - pwittrock +reviewers: + - apelisse +emeritus_approvers: + - mengqiy diff --git a/vendor/k8s.io/apimachinery/pkg/util/validation/OWNERS b/vendor/k8s.io/apimachinery/pkg/util/validation/OWNERS new file mode 100644 index 0000000000..4023732476 --- /dev/null +++ b/vendor/k8s.io/apimachinery/pkg/util/validation/OWNERS @@ -0,0 +1,11 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +# Disable inheritance as this is an api owners file +options: + no_parent_owners: true +approvers: + - api-approvers +reviewers: + - api-reviewers +labels: + - kind/api-change diff --git a/vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS b/vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS new file mode 100644 index 0000000000..349bc69d65 --- /dev/null +++ b/vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS @@ -0,0 +1,6 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: + - pwittrock +reviewers: + - apelisse diff --git a/vendor/k8s.io/client-go/applyconfigurations/OWNERS b/vendor/k8s.io/client-go/applyconfigurations/OWNERS new file mode 100644 index 0000000000..ea0928429d --- /dev/null +++ b/vendor/k8s.io/client-go/applyconfigurations/OWNERS @@ -0,0 +1,5 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: + - apelisse + - jpbetz diff --git a/vendor/k8s.io/client-go/openapi/OWNERS b/vendor/k8s.io/client-go/openapi/OWNERS new file mode 100644 index 0000000000..e610094242 --- /dev/null +++ b/vendor/k8s.io/client-go/openapi/OWNERS @@ -0,0 +1,4 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: + - apelisse diff --git a/vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS b/vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS new file mode 100644 index 0000000000..4dfbb98aec --- /dev/null +++ b/vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS @@ -0,0 +1,8 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +# approval on api packages bubbles to api-approvers +reviewers: + - sig-auth-authenticators-approvers + - sig-auth-authenticators-reviewers +labels: + - sig/auth diff --git a/vendor/k8s.io/client-go/rest/OWNERS b/vendor/k8s.io/client-go/rest/OWNERS new file mode 100644 index 0000000000..7b23294c45 --- /dev/null +++ b/vendor/k8s.io/client-go/rest/OWNERS @@ -0,0 +1,14 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: + - thockin + - smarterclayton + - caesarxuchao + - wojtek-t + - deads2k + - liggitt + - sttts + - luxas + - dims + - cjcullen + - lojies diff --git a/vendor/k8s.io/client-go/tools/auth/OWNERS b/vendor/k8s.io/client-go/tools/auth/OWNERS new file mode 100644 index 0000000000..c4ea6463df --- /dev/null +++ b/vendor/k8s.io/client-go/tools/auth/OWNERS @@ -0,0 +1,8 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: + - sig-auth-authenticators-approvers +reviewers: + - sig-auth-authenticators-reviewers +labels: + - sig/auth diff --git a/vendor/k8s.io/client-go/tools/cache/OWNERS b/vendor/k8s.io/client-go/tools/cache/OWNERS new file mode 100644 index 0000000000..921ac2fa02 --- /dev/null +++ b/vendor/k8s.io/client-go/tools/cache/OWNERS @@ -0,0 +1,28 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: + - thockin + - smarterclayton + - wojtek-t + - deads2k + - caesarxuchao + - liggitt + - ncdc +reviewers: + - thockin + - smarterclayton + - wojtek-t + - deads2k + - derekwaynecarr + - caesarxuchao + - mikedanese + - liggitt + - janetkuo + - justinsb + - soltysh + - jsafrane + - dims + - ingvagabund + - ncdc +emeritus_approvers: + - lavalamp diff --git a/vendor/k8s.io/client-go/tools/leaderelection/OWNERS b/vendor/k8s.io/client-go/tools/leaderelection/OWNERS new file mode 100644 index 0000000000..908bdacdfe --- /dev/null +++ b/vendor/k8s.io/client-go/tools/leaderelection/OWNERS @@ -0,0 +1,11 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: + - mikedanese +reviewers: + - wojtek-t + - deads2k + - mikedanese + - ingvagabund +emeritus_approvers: + - timothysc diff --git a/vendor/k8s.io/client-go/tools/metrics/OWNERS b/vendor/k8s.io/client-go/tools/metrics/OWNERS new file mode 100644 index 0000000000..2c9488a5fb --- /dev/null +++ b/vendor/k8s.io/client-go/tools/metrics/OWNERS @@ -0,0 +1,5 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: + - wojtek-t + - jayunit100 diff --git a/vendor/k8s.io/client-go/tools/record/OWNERS b/vendor/k8s.io/client-go/tools/record/OWNERS new file mode 100644 index 0000000000..8105c4fe08 --- /dev/null +++ b/vendor/k8s.io/client-go/tools/record/OWNERS @@ -0,0 +1,6 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: + - sig-instrumentation-reviewers +approvers: + - sig-instrumentation-approvers diff --git a/vendor/k8s.io/client-go/transport/OWNERS b/vendor/k8s.io/client-go/transport/OWNERS new file mode 100644 index 0000000000..34adee5ec5 --- /dev/null +++ b/vendor/k8s.io/client-go/transport/OWNERS @@ -0,0 +1,8 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: + - smarterclayton + - wojtek-t + - deads2k + - liggitt + - caesarxuchao diff --git a/vendor/k8s.io/client-go/util/cert/OWNERS b/vendor/k8s.io/client-go/util/cert/OWNERS new file mode 100644 index 0000000000..3c3b94c58c --- /dev/null +++ b/vendor/k8s.io/client-go/util/cert/OWNERS @@ -0,0 +1,8 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: + - sig-auth-certificates-approvers +reviewers: + - sig-auth-certificates-reviewers +labels: + - sig/auth diff --git a/vendor/k8s.io/client-go/util/keyutil/OWNERS b/vendor/k8s.io/client-go/util/keyutil/OWNERS new file mode 100644 index 0000000000..e6d229d5db --- /dev/null +++ b/vendor/k8s.io/client-go/util/keyutil/OWNERS @@ -0,0 +1,6 @@ +approvers: + - sig-auth-certificates-approvers +reviewers: + - sig-auth-certificates-reviewers +labels: + - sig/auth diff --git a/vendor/k8s.io/client-go/util/retry/OWNERS b/vendor/k8s.io/client-go/util/retry/OWNERS new file mode 100644 index 0000000000..75736b5aac --- /dev/null +++ b/vendor/k8s.io/client-go/util/retry/OWNERS @@ -0,0 +1,4 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +reviewers: + - caesarxuchao diff --git a/vendor/k8s.io/code-generator/OWNERS b/vendor/k8s.io/code-generator/OWNERS new file mode 100644 index 0000000000..d16e47e85d --- /dev/null +++ b/vendor/k8s.io/code-generator/OWNERS @@ -0,0 +1,16 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: + - deads2k + - jpbetz + - wojtek-t + - sttts +reviewers: + - deads2k + - wojtek-t + - sttts +labels: + - sig/api-machinery + - area/code-generation +emeritus_approvers: + - lavalamp diff --git a/vendor/k8s.io/code-generator/cmd/client-gen/OWNERS b/vendor/k8s.io/code-generator/cmd/client-gen/OWNERS new file mode 100644 index 0000000000..967eb2a7bb --- /dev/null +++ b/vendor/k8s.io/code-generator/cmd/client-gen/OWNERS @@ -0,0 +1,11 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: + - wojtek-t + - caesarxuchao +reviewers: + - wojtek-t + - caesarxuchao + - jpbetz +emeritus_approvers: + - lavalamp diff --git a/vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS b/vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS new file mode 100644 index 0000000000..af7e2ec4c7 --- /dev/null +++ b/vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS @@ -0,0 +1,6 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: + - smarterclayton +reviewers: + - smarterclayton diff --git a/vendor/k8s.io/code-generator/generate-groups.sh b/vendor/k8s.io/code-generator/generate-groups.sh old mode 100755 new mode 100644 diff --git a/vendor/k8s.io/code-generator/generate-internal-groups.sh b/vendor/k8s.io/code-generator/generate-internal-groups.sh old mode 100755 new mode 100644 diff --git a/vendor/k8s.io/code-generator/kube_codegen.sh b/vendor/k8s.io/code-generator/kube_codegen.sh old mode 100755 new mode 100644 diff --git a/vendor/k8s.io/klog/v2/OWNERS b/vendor/k8s.io/klog/v2/OWNERS new file mode 100644 index 0000000000..7500475a64 --- /dev/null +++ b/vendor/k8s.io/klog/v2/OWNERS @@ -0,0 +1,16 @@ +# See the OWNERS docs at https://go.k8s.io/owners +reviewers: + - harshanarayana + - mengjiao-liu + - pohly +approvers: + - dims + - pohly + - thockin +emeritus_approvers: + - brancz + - justinsb + - lavalamp + - piosz + - serathius + - tallclair diff --git a/vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS b/vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS new file mode 100644 index 0000000000..235bc545b8 --- /dev/null +++ b/vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS @@ -0,0 +1,4 @@ +reviewers: +- roycaihw +approvers: +- roycaihw diff --git a/vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS b/vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS new file mode 100644 index 0000000000..9621a6a3a4 --- /dev/null +++ b/vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS @@ -0,0 +1,2 @@ +approvers: +- apelisse diff --git a/vendor/k8s.io/utils/pointer/OWNERS b/vendor/k8s.io/utils/pointer/OWNERS new file mode 100644 index 0000000000..0d6392752a --- /dev/null +++ b/vendor/k8s.io/utils/pointer/OWNERS @@ -0,0 +1,10 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- apelisse +- stewart-yu +- thockin +reviewers: +- apelisse +- stewart-yu +- thockin diff --git a/vendor/k8s.io/utils/ptr/OWNERS b/vendor/k8s.io/utils/ptr/OWNERS new file mode 100644 index 0000000000..0d6392752a --- /dev/null +++ b/vendor/k8s.io/utils/ptr/OWNERS @@ -0,0 +1,10 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- apelisse +- stewart-yu +- thockin +reviewers: +- apelisse +- stewart-yu +- thockin diff --git a/vendor/knative.dev/eventing/test/OWNERS b/vendor/knative.dev/eventing/test/OWNERS new file mode 100644 index 0000000000..65aa9e7b11 --- /dev/null +++ b/vendor/knative.dev/eventing/test/OWNERS @@ -0,0 +1,10 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- productivity-writers + +reviewers: +- productivity-reviewers + +labels: +- area/test-and-release diff --git a/vendor/knative.dev/eventing/test/e2e-common.sh b/vendor/knative.dev/eventing/test/e2e-common.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/eventing/test/e2e-conformance-tests.sh b/vendor/knative.dev/eventing/test/e2e-conformance-tests.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/eventing/test/e2e-rekt-tests.sh b/vendor/knative.dev/eventing/test/e2e-rekt-tests.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/eventing/test/e2e-tests.sh b/vendor/knative.dev/eventing/test/e2e-tests.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/eventing/test/e2e-upgrade-tests.sh b/vendor/knative.dev/eventing/test/e2e-upgrade-tests.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/eventing/test/lib/recordevents/resources.go b/vendor/knative.dev/eventing/test/lib/recordevents/resources.go index c10915dfdf..c02661fd78 100644 --- a/vendor/knative.dev/eventing/test/lib/recordevents/resources.go +++ b/vendor/knative.dev/eventing/test/lib/recordevents/resources.go @@ -86,10 +86,6 @@ func recordEventsPod(imageName string, name string, serviceAccountName string, r ObjectMeta: metav1.ObjectMeta{ Name: name, Labels: map[string]string{"e2etest": string(uuid.NewUUID())}, - Annotations: map[string]string{ - "sidecar.istio.io/inject": "true", - "sidecar.istio.io/rewriteAppHTTPProbers": "true", - }, }, Spec: corev1.PodSpec{ Containers: []corev1.Container{{ diff --git a/vendor/knative.dev/eventing/test/microbenchmarks-compare.sh b/vendor/knative.dev/eventing/test/microbenchmarks-compare.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/eventing/test/microbenchmarks-run.sh b/vendor/knative.dev/eventing/test/microbenchmarks-run.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/eventing/test/presubmit-tests.sh b/vendor/knative.dev/eventing/test/presubmit-tests.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/eventing/test/upload-test-images.sh b/vendor/knative.dev/eventing/test/upload-test-images.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/hack/OWNERS b/vendor/knative.dev/hack/OWNERS new file mode 100644 index 0000000000..4d20bf8cff --- /dev/null +++ b/vendor/knative.dev/hack/OWNERS @@ -0,0 +1,8 @@ +approvers: + - technical-oversight-committee + - productivity-writers + - knative-release-leads + +reviewers: + - productivity-writers + - productivity-reviewers diff --git a/vendor/knative.dev/hack/OWNERS_ALIASES b/vendor/knative.dev/hack/OWNERS_ALIASES new file mode 100644 index 0000000000..0f0e6e7671 --- /dev/null +++ b/vendor/knative.dev/hack/OWNERS_ALIASES @@ -0,0 +1,144 @@ +# This file is auto-generated from peribolos. +# Do not modify this file, instead modify peribolos/knative.yaml + +aliases: + client-reviewers: + - itsmurugappan + client-wg-leads: + - dsimansk + - rhuss + client-writers: + - dsimansk + - rhuss + - vyasgun + docs-reviewers: + - nainaz + - skonto + docs-writers: + - csantanapr + - skonto + eventing-reviewers: + - Leo6Leo + - aslom + - cali0707 + - creydr + eventing-wg-leads: + - pierDipi + eventing-writers: + - Leo6Leo + - aliok + - cali0707 + - creydr + - lionelvillard + - matzew + - pierDipi + func-reviewers: + - jrangelramos + - nainaz + func-writers: + - gauron99 + - jrangelramos + - lance + - lkingland + - matejvasek + - matzew + - salaboy + functions-wg-leads: + - lkingland + - salaboy + knative-admin: + - aliok + - cardil + - davidhadas + - dprotaso + - dsimansk + - evankanderson + - knative-automation + - knative-prow-releaser-robot + - knative-prow-robot + - knative-prow-updater-robot + - knative-test-reporter-robot + - nainaz + - psschwei + - salaboy + - skonto + - upodroid + knative-release-leads: + - dprotaso + - dsimansk + - skonto + knative-robots: + - knative-automation + - knative-prow-releaser-robot + - knative-prow-robot + - knative-prow-updater-robot + - knative-test-reporter-robot + operations-reviewers: + - aliok + - houshengbo + - matzew + operations-wg-leads: + - houshengbo + operations-writers: + - aliok + - houshengbo + - matzew + productivity-leads: + - cardil + - upodroid + productivity-reviewers: + - evankanderson + - mgencur + productivity-wg-leads: + - cardil + - upodroid + productivity-writers: + - cardil + - upodroid + security-wg-leads: + - davidhadas + - evankanderson + security-writers: + - davidhadas + - evankanderson + serving-approvers: + - skonto + serving-reviewers: + - izabelacg + - skonto + serving-triage: + - izabelacg + - skonto + serving-wg-leads: + - dprotaso + serving-writers: + - dprotaso + - skonto + steering-committee: + - aliok + - davidhadas + - dprotaso + - dsimansk + - evankanderson + - nainaz + - psschwei + - salaboy + technical-oversight-committee: + - aliok + - davidhadas + - dprotaso + - dsimansk + - evankanderson + - nainaz + - psschwei + - salaboy + ux-wg-leads: + - cali0707 + - leo6leo + - mmejia02 + - zainabhusain227 + ux-writers: + - cali0707 + - leo6leo + - mmejia02 + - zainabhusain227 diff --git a/vendor/knative.dev/hack/codegen-library.sh b/vendor/knative.dev/hack/codegen-library.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/hack/e2e-tests.sh b/vendor/knative.dev/hack/e2e-tests.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/hack/infra-library.sh b/vendor/knative.dev/hack/infra-library.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/hack/library.sh b/vendor/knative.dev/hack/library.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/hack/microbenchmarks.sh b/vendor/knative.dev/hack/microbenchmarks.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/hack/performance-tests.sh b/vendor/knative.dev/hack/performance-tests.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/hack/presubmit-tests.sh b/vendor/knative.dev/hack/presubmit-tests.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/hack/release.sh b/vendor/knative.dev/hack/release.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/hack/shellcheck-presubmit.sh b/vendor/knative.dev/hack/shellcheck-presubmit.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeeventing_lifecycle.go b/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeeventing_lifecycle.go index 0dc8acd171..daac20f306 100644 --- a/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeeventing_lifecycle.go +++ b/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeeventing_lifecycle.go @@ -17,7 +17,6 @@ limitations under the License. package v1beta1 import ( - "os" "strings" "k8s.io/apimachinery/pkg/runtime/schema" @@ -133,7 +132,7 @@ func (es *KnativeEventingStatus) GetVersion() string { // SetVersion sets the currently installed version of the component. func (es *KnativeEventingStatus) SetVersion(version string) { - es.Version = os.Getenv("KNATIVE_EVENTING_VERSION") + es.Version = version } // GetManifests gets the url links of the manifests. diff --git a/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeserving_lifecycle.go b/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeserving_lifecycle.go index eb064a50e9..e59ab4c8dc 100644 --- a/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeserving_lifecycle.go +++ b/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeserving_lifecycle.go @@ -17,7 +17,6 @@ limitations under the License. package v1beta1 import ( - "os" "strings" "knative.dev/operator/pkg/apis/operator" @@ -133,7 +132,7 @@ func (is *KnativeServingStatus) GetVersion() string { // SetVersion sets the currently installed version of the component. func (is *KnativeServingStatus) SetVersion(version string) { - is.Version = os.Getenv("KNATIVE_SERVING_VERSION") + is.Version = version } // GetManifests gets the url links of the manifests. diff --git a/vendor/knative.dev/operator/pkg/client/clientset/versioned/typed/operator/v1beta1/operator_client.go b/vendor/knative.dev/operator/pkg/client/clientset/versioned/typed/operator/v1beta1/operator_client.go index 539c58c643..276a288068 100644 --- a/vendor/knative.dev/operator/pkg/client/clientset/versioned/typed/operator/v1beta1/operator_client.go +++ b/vendor/knative.dev/operator/pkg/client/clientset/versioned/typed/operator/v1beta1/operator_client.go @@ -93,7 +93,7 @@ func setConfigDefaults(config *rest.Config) error { gv := operatorv1beta1.SchemeGroupVersion config.GroupVersion = &gv config.APIPath = "/apis" - config.NegotiatedSerializer = scheme.Codecs.WithoutConversion() + config.NegotiatedSerializer = rest.CodecFactoryForGeneratedClient(scheme.Scheme, scheme.Codecs).WithoutConversion() if config.UserAgent == "" { config.UserAgent = rest.DefaultKubernetesUserAgent() diff --git a/vendor/knative.dev/operator/pkg/reconciler/common/job.go b/vendor/knative.dev/operator/pkg/reconciler/common/job.go index 7542e92c34..240d33f866 100644 --- a/vendor/knative.dev/operator/pkg/reconciler/common/job.go +++ b/vendor/knative.dev/operator/pkg/reconciler/common/job.go @@ -40,7 +40,7 @@ func JobTransform(obj base.KComponent) mf.Transformer { component := "serving" if _, ok := obj.(*v1beta1.KnativeEventing); ok { - component = "" + component = "eventing" } if job.GetName() == "" { job.SetName(fmt.Sprintf("%s%s-%s", job.GetGenerateName(), component, TargetVersion(obj))) diff --git a/vendor/knative.dev/operator/pkg/reconciler/common/releases.go b/vendor/knative.dev/operator/pkg/reconciler/common/releases.go index ab42cb4535..2e190d2886 100644 --- a/vendor/knative.dev/operator/pkg/reconciler/common/releases.go +++ b/vendor/knative.dev/operator/pkg/reconciler/common/releases.go @@ -195,20 +195,18 @@ func getManifestWithVersionValidation(manifestsPath string, instance base.KCompo return manifests, nil } - // We support only one version, there is no need to check manifest consistency and it is actually a pain to experiment - // with future releases. - // - //targetVersion := SanitizeSemver(version) - //key := getVersionKey(instance) - //for _, u := range manifests.Resources() { - // // Check the labels of the resources one by one to see if the version matches the target version in terms of - // // major.minor. - // manifestVersion := u.GetLabels()[key] - // if manifestVersion != "" && semver.MajorMinor(targetVersion) != semver.MajorMinor(manifestVersion) { - // return mf.Manifest{}, fmt.Errorf("the version of the manifests %s of the component %s does not match the target "+ - // "version of the operator CR %s", manifestVersion, u.GetName(), targetVersion) - // } - //} + targetVersion := SanitizeSemver(version) + key := "app.kubernetes.io/version" + for _, u := range manifests.Resources() { + // Check the labels of the resources one by one to see if the version matches the target version in terms of + // major.minor. + manifestVersion := u.GetLabels()[key] + manifestVersionSan := SanitizeSemver(u.GetLabels()[key]) + if manifestVersion != "" && semver.MajorMinor(targetVersion) != semver.MajorMinor(manifestVersionSan) { + return mf.Manifest{}, fmt.Errorf("the version of the manifests %s of the component %s does not match the target "+ + "version of the operator CR %s", manifestVersionSan, u.GetName(), targetVersion) + } + } return manifests, nil } diff --git a/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/controller.go b/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/controller.go index 24227dd988..bc1340ebff 100644 --- a/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/controller.go +++ b/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/controller.go @@ -22,9 +22,6 @@ import ( "go.uber.org/zap" "k8s.io/client-go/tools/cache" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - namespaceinformer "knative.dev/pkg/client/injection/kube/informers/core/v1/namespace" - "knative.dev/operator/pkg/apis/operator/v1beta1" operatorclient "knative.dev/operator/pkg/client/injection/client" knativeEventinginformer "knative.dev/operator/pkg/client/injection/informers/operator/v1beta1/knativeeventing" @@ -82,23 +79,6 @@ func NewExtendedController(generator common.ExtensionGenerator) injection.Contro knativeEventingInformer.Informer().AddEventHandler(controller.HandleAll(impl.Enqueue)) - namespaceinformer.Get(ctx).Informer().AddEventHandler(cache.FilteringResourceEventHandler{ - FilterFunc: func(obj interface{}) bool { - ns, ok := obj.(metav1.Object) - if !ok { - return false - } - v, ok := ns.GetLabels()["kubernetes.io/metadata.name"] - if !ok { - return false - } - return v == "knative-eventing" - }, - Handler: controller.HandleAll(func(i interface{}) { - impl.GlobalResync(knativeEventingInformer.Informer()) - }), - }) - deploymentInformer.Informer().AddEventHandler(cache.FilteringResourceEventHandler{ FilterFunc: controller.FilterControllerGVK(v1beta1.SchemeGroupVersion.WithKind("KnativeEventing")), Handler: controller.HandleAll(impl.EnqueueControllerOf), diff --git a/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/eventing_backstage_plugin.go b/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/eventing_backstage_plugin.go deleted file mode 100644 index e23d375d67..0000000000 --- a/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/eventing_backstage_plugin.go +++ /dev/null @@ -1,79 +0,0 @@ -/* -Copyright 2023 The Knative Authors - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package knativeeventing - -import ( - "context" - "fmt" - - mf "github.com/manifestival/manifestival" - corev1 "k8s.io/api/core/v1" - "k8s.io/apimachinery/pkg/api/meta" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "knative.dev/eventing/pkg/apis/feature" - - "knative.dev/operator/pkg/apis/operator/base" - "knative.dev/operator/pkg/apis/operator/v1beta1" -) - -var ( - backstageResourcesPred = byLabel("app.kubernetes.io/component", "eventmesh-backend") -) - -const ( - backstageBackendFeatureFlag = "backstage-backend" -) - -func (r *Reconciler) handleBackstageResources(ctx context.Context, manifests *mf.Manifest, comp base.KComponent) error { - instance := comp.(*v1beta1.KnativeEventing) - - if isBackstageEnabled(instance) { - return nil - } - - // Delete Backstage resources (if present) - toBeDeleted := manifests.Filter(backstageResourcesPred) - if err := toBeDeleted.Delete(mf.IgnoreNotFound(true)); err != nil && !meta.IsNoMatchError(err) { - return fmt.Errorf("failed to delete backstage resources: %v", err) - } - - // Filter out Backstage resources from the final list of manifests - *manifests = manifests.Filter(mf.Not(backstageResourcesPred)) - - return nil -} - -func byLabel(key, value string) mf.Predicate { - return func(u *unstructured.Unstructured) bool { - v, ok := u.GetLabels()[key] - return ok && v == value - } -} - -func isBackstageEnabled(instance *v1beta1.KnativeEventing) bool { - cmData, ok := getFeaturesConfig(instance) - if !ok { - return false - } - - f, err := feature.NewFlagsConfigFromConfigMap(&corev1.ConfigMap{Data: cmData}) - if err != nil { - return false - } - - return f.IsEnabled(backstageBackendFeatureFlag) -} diff --git a/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/knativeeventing.go b/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/knativeeventing.go index 59bd74dd12..cdecea40a7 100644 --- a/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/knativeeventing.go +++ b/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/knativeeventing.go @@ -124,6 +124,10 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, ke *v1beta1.KnativeEvent logger.Infow("Reconciling KnativeEventing", "status", ke.Status) + if err := common.IsVersionValidMigrationEligible(ke); err != nil { + ke.Status.MarkVersionMigrationNotEligible(err.Error()) + return nil + } ke.Status.MarkVersionMigrationEligible() if err := r.extension.Reconcile(ctx, ke); err != nil { @@ -134,13 +138,8 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, ke *v1beta1.KnativeEvent source.AppendTargetSources, common.AppendAdditionalManifests, r.appendExtensionManifests, - func(ctx context.Context, manifest *mf.Manifest, component base.KComponent) error { - *manifest = manifest.Filter(mf.Not(mf.All(mf.ByKind("Namespace"), mf.ByName("knative-eventing")))) - return nil - }, r.transform, r.handleTLSResources, - r.handleBackstageResources, manifests.Install, common.CheckDeployments, common.InstallWebhookConfigs, diff --git a/vendor/knative.dev/operator/pkg/reconciler/knativeserving/knativeserving.go b/vendor/knative.dev/operator/pkg/reconciler/knativeserving/knativeserving.go index d760dfb678..6810585b52 100644 --- a/vendor/knative.dev/operator/pkg/reconciler/knativeserving/knativeserving.go +++ b/vendor/knative.dev/operator/pkg/reconciler/knativeserving/knativeserving.go @@ -19,15 +19,14 @@ package knativeserving import ( "context" "fmt" - "os" + mf "github.com/manifestival/manifestival" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "knative.dev/pkg/logging" pkgreconciler "knative.dev/pkg/reconciler" - mf "github.com/manifestival/manifestival" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "knative.dev/operator/pkg/apis/operator/base" "knative.dev/operator/pkg/apis/operator/v1beta1" clientset "knative.dev/operator/pkg/client/clientset/versioned" @@ -91,12 +90,6 @@ func (r *Reconciler) FinalizeKind(ctx context.Context, original *v1beta1.Knative if manifest == nil { return nil } - // we need this to apply the correct namespace to the resources otherwise it defaults to knative-serving - *manifest, err = manifest.Transform(overrideKourierNamespace(original)) - if err != nil { - logger.Error("Unable to apply kourier namespace transform", err) - return nil - } if err := common.Uninstall(manifest); err != nil { logger.Error("Failed to finalize platform resources", err) @@ -104,20 +97,6 @@ func (r *Reconciler) FinalizeKind(ctx context.Context, original *v1beta1.Knative return nil } -func overrideKourierNamespace(ks base.KComponent) mf.Transformer { - if ns, required := os.LookupEnv("REQUIRED_SERVING_INGRESS_NAMESPACE"); required { - nsInjector := mf.InjectNamespace(ns) - return func(u *unstructured.Unstructured) error { - provider := u.GetLabels()["networking.knative.dev/ingress-provider"] - if provider != "kourier" { - return nil - } - return nsInjector(u) - } - } - return nil -} - // ReconcileKind compares the actual state with the desired, and attempts to // converge the two. func (r *Reconciler) ReconcileKind(ctx context.Context, ks *v1beta1.KnativeServing) pkgreconciler.Event { @@ -127,6 +106,10 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, ks *v1beta1.KnativeServi logger.Infow("Reconciling KnativeServing", "status", ks.Status) + if err := common.IsVersionValidMigrationEligible(ks); err != nil { + ks.Status.MarkVersionMigrationNotEligible(err.Error()) + return nil + } ks.Status.MarkVersionMigrationEligible() if err := r.extension.Reconcile(ctx, ks); err != nil { @@ -138,10 +121,6 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, ks *v1beta1.KnativeServi security.AppendTargetSecurity, common.AppendAdditionalManifests, r.appendExtensionManifests, - func(ctx context.Context, manifest *mf.Manifest, component base.KComponent) error { - *manifest = manifest.Filter(mf.Not(mf.All(mf.ByKind("Namespace"), mf.ByName("kourier-system")))) - return nil - }, r.transform, manifests.Install, common.CheckDeployments, diff --git a/vendor/knative.dev/pkg/apis/OWNERS b/vendor/knative.dev/pkg/apis/OWNERS new file mode 100644 index 0000000000..13014203fc --- /dev/null +++ b/vendor/knative.dev/pkg/apis/OWNERS @@ -0,0 +1,15 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- technical-oversight-committee +- serving-wg-leads +- eventing-wg-leads + +reviewers: +- serving-writers +- eventing-writers +- eventing-reviewers +- serving-reviewers + +options: + no_parent_owners: true diff --git a/vendor/knative.dev/pkg/apis/duck/OWNERS b/vendor/knative.dev/pkg/apis/duck/OWNERS new file mode 100644 index 0000000000..af1eb05dac --- /dev/null +++ b/vendor/knative.dev/pkg/apis/duck/OWNERS @@ -0,0 +1,8 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- eventing-wg-leads + +reviewers: +- eventing-reviewers +- eventing-writers diff --git a/vendor/knative.dev/pkg/controller/OWNERS b/vendor/knative.dev/pkg/controller/OWNERS new file mode 100644 index 0000000000..64660c9e35 --- /dev/null +++ b/vendor/knative.dev/pkg/controller/OWNERS @@ -0,0 +1,7 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- serving-writers + +reviewers: +- serving-reviewers diff --git a/vendor/knative.dev/pkg/environment/client_config.go b/vendor/knative.dev/pkg/environment/client_config.go index b4c52ceb85..9f1883d236 100644 --- a/vendor/knative.dev/pkg/environment/client_config.go +++ b/vendor/knative.dev/pkg/environment/client_config.go @@ -44,10 +44,8 @@ func (c *ClientConfig) InitFlags(fs *flag.FlagSet) { fs.StringVar(&c.ServerURL, "server", "", "The address of the Kubernetes API server. Overrides any value in kubeconfig. Only required if out-of-cluster.") - if fs.Lookup("kubeconfig") == nil { - fs.StringVar(&c.Kubeconfig, "kubeconfig", os.Getenv("KUBECONFIG"), - "Path to a kubeconfig. Only required if out-of-cluster.") - } + fs.StringVar(&c.Kubeconfig, "kubeconfig", os.Getenv("KUBECONFIG"), + "Path to a kubeconfig. Only required if out-of-cluster.") fs.IntVar(&c.Burst, "kube-api-burst", int(envVarOrDefault("KUBE_API_BURST", 0)), "Maximum burst for throttle.") diff --git a/vendor/knative.dev/pkg/hack/format-code.sh b/vendor/knative.dev/pkg/hack/format-code.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/pkg/hack/generate-knative.sh b/vendor/knative.dev/pkg/hack/generate-knative.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/pkg/hack/update-codegen.sh b/vendor/knative.dev/pkg/hack/update-codegen.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/pkg/hack/update-deps.sh b/vendor/knative.dev/pkg/hack/update-deps.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/pkg/hack/verify-codegen.sh b/vendor/knative.dev/pkg/hack/verify-codegen.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/pkg/reconciler/OWNERS b/vendor/knative.dev/pkg/reconciler/OWNERS new file mode 100644 index 0000000000..136197a303 --- /dev/null +++ b/vendor/knative.dev/pkg/reconciler/OWNERS @@ -0,0 +1,7 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- serving-writers + +reviewers: +- serving-writers diff --git a/vendor/knative.dev/pkg/resolver/OWNERS b/vendor/knative.dev/pkg/resolver/OWNERS new file mode 100644 index 0000000000..b5e9581f4e --- /dev/null +++ b/vendor/knative.dev/pkg/resolver/OWNERS @@ -0,0 +1,8 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- eventing-writers + +reviewers: +- eventing-reviewers + diff --git a/vendor/knative.dev/pkg/test/OWNERS b/vendor/knative.dev/pkg/test/OWNERS new file mode 100644 index 0000000000..65aa9e7b11 --- /dev/null +++ b/vendor/knative.dev/pkg/test/OWNERS @@ -0,0 +1,10 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- productivity-writers + +reviewers: +- productivity-reviewers + +labels: +- area/test-and-release diff --git a/vendor/knative.dev/pkg/test/helpers/name.go b/vendor/knative.dev/pkg/test/helpers/name.go index 8af880d311..18a93f2518 100644 --- a/vendor/knative.dev/pkg/test/helpers/name.go +++ b/vendor/knative.dev/pkg/test/helpers/name.go @@ -27,7 +27,7 @@ import ( const ( letterBytes = "abcdefghijklmnopqrstuvwxyz" randSuffixLen = 8 - nameLengthLimit = 40 + nameLengthLimit = 50 sep = '-' sepS = "-" testNamePrefix = "Test" diff --git a/vendor/knative.dev/pkg/test/presubmit-tests.sh b/vendor/knative.dev/pkg/test/presubmit-tests.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/pkg/test/spoof/openshift_checks.go b/vendor/knative.dev/pkg/test/spoof/openshift_checks.go deleted file mode 100644 index f7ba08f828..0000000000 --- a/vendor/knative.dev/pkg/test/spoof/openshift_checks.go +++ /dev/null @@ -1,22 +0,0 @@ -package spoof - -import ( - "fmt" - "net/http" - "strings" -) - -// isUnknownAuthority checks if the error contains "certificate signed by unknown authority". -// This error happens when OpenShift Route starts/changes to use passthrough mode. It takes a little bit time to be synced. -func isUnknownAuthority(err error) bool { - return err != nil && strings.Contains(err.Error(), "certificate signed by unknown authority") -} - -// RetryingRouteInconsistency retries common requests seen when creating a new route -// - 503 to account for Openshift route inconsistency (https://jira.coreos.com/browse/SRVKS-157) -func RouteInconsistencyRetryChecker(resp *Response) (bool, error) { - if resp.StatusCode == http.StatusServiceUnavailable { - return true, fmt.Errorf("retrying route inconsistency request: %s", resp) - } - return false, nil -} diff --git a/vendor/knative.dev/pkg/test/spoof/spoof.go b/vendor/knative.dev/pkg/test/spoof/spoof.go index 2c7c5a8a68..ac1c23e7dc 100644 --- a/vendor/knative.dev/pkg/test/spoof/spoof.go +++ b/vendor/knative.dev/pkg/test/spoof/spoof.go @@ -164,7 +164,7 @@ func (sc *SpoofingClient) Do(req *http.Request, errorRetryCheckers ...interface{ // If no retry checkers are specified `DefaultErrorRetryChecker` will be used. func (sc *SpoofingClient) Poll(req *http.Request, inState ResponseChecker, checkers ...interface{}) (*Response, error) { if len(checkers) == 0 { - checkers = []interface{}{ErrorRetryChecker(DefaultErrorRetryChecker), ResponseRetryChecker(DefaultResponseRetryChecker), ResponseRetryChecker(RouteInconsistencyRetryChecker)} + checkers = []interface{}{ErrorRetryChecker(DefaultErrorRetryChecker), ResponseRetryChecker(DefaultResponseRetryChecker)} } var resp *Response @@ -252,9 +252,6 @@ func DefaultErrorRetryChecker(err error) (bool, error) { if isNoRouteToHostError(err) { return true, fmt.Errorf("retrying for 'no route to host' error: %w", err) } - if isUnknownAuthority(err) { - return true, fmt.Errorf("retrying for certificate signed by unknown authority: %w", err) - } return false, err } diff --git a/vendor/knative.dev/pkg/test/test-reconciler-codegen.sh b/vendor/knative.dev/pkg/test/test-reconciler-codegen.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/pkg/test/upgrade/shell/fail-example.sh b/vendor/knative.dev/pkg/test/upgrade/shell/fail-example.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/pkg/webhook/OWNERS b/vendor/knative.dev/pkg/webhook/OWNERS new file mode 100644 index 0000000000..64660c9e35 --- /dev/null +++ b/vendor/knative.dev/pkg/webhook/OWNERS @@ -0,0 +1,7 @@ +# The OWNERS file is used by prow to automatically merge approved PRs. + +approvers: +- serving-writers + +reviewers: +- serving-reviewers diff --git a/vendor/knative.dev/pkg/webhook/resourcesemantics/conversion/reconciler.go b/vendor/knative.dev/pkg/webhook/resourcesemantics/conversion/reconciler.go index 49568b28a7..f23b055872 100644 --- a/vendor/knative.dev/pkg/webhook/resourcesemantics/conversion/reconciler.go +++ b/vendor/knative.dev/pkg/webhook/resourcesemantics/conversion/reconciler.go @@ -19,7 +19,6 @@ package conversion import ( "context" "fmt" - "os" "go.uber.org/zap" apixv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" @@ -78,9 +77,6 @@ func (r *reconciler) Reconcile(ctx context.Context, key string) error { return err } - if os.Getenv("USE_OLM_TLS") != "" { // olm will do the crd update - return nil - } cacert, ok := secret.Data[certresources.CACert] if !ok { return fmt.Errorf("secret %q is missing %q key", r.secretName, certresources.CACert) diff --git a/vendor/knative.dev/reconciler-test/pkg/feature/feature.go b/vendor/knative.dev/reconciler-test/pkg/feature/feature.go index d59ae5e761..7a7d410423 100644 --- a/vendor/knative.dev/reconciler-test/pkg/feature/feature.go +++ b/vendor/knative.dev/reconciler-test/pkg/feature/feature.go @@ -252,15 +252,6 @@ func DeleteResources(ctx context.Context, t T, refs []corev1.ObjectReference) er return false, fmt.Errorf("failed to get resource %+v %s/%s: %w", resource, ref.Namespace, ref.Name, err) } - // Repeat deleting service accounts. - // Workaround for https://issues.redhat.com/browse/OCPBUGS-35731 - if resource.Resource == "serviceaccounts" { - err = dc.Resource(resource).Namespace(ref.Namespace).Delete(ctx, ref.Name, metav1.DeleteOptions{}) - if err != nil && !apierrors.IsNotFound(err) { - t.Logf("Warning, failed to delete %s/%s of GVR: %+v: %v", ref.Namespace, ref.Name, resource, err) - } - } - lastResource = ref t.Logf("Resource %+v %s/%s still present", resource, ref.Namespace, ref.Name) return false, nil diff --git a/vendor/knative.dev/serving/test/e2e-common.sh b/vendor/knative.dev/serving/test/e2e-common.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/serving/test/e2e-external-domain-tls-tests.sh b/vendor/knative.dev/serving/test/e2e-external-domain-tls-tests.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/serving/test/e2e-networking-library.sh b/vendor/knative.dev/serving/test/e2e-networking-library.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/serving/test/e2e-tests.sh b/vendor/knative.dev/serving/test/e2e-tests.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/serving/test/e2e-upgrade-tests.sh b/vendor/knative.dev/serving/test/e2e-upgrade-tests.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/serving/test/presubmit-tests.sh b/vendor/knative.dev/serving/test/presubmit-tests.sh old mode 100755 new mode 100644 diff --git a/vendor/knative.dev/serving/test/upload-test-images.sh b/vendor/knative.dev/serving/test/upload-test-images.sh old mode 100755 new mode 100644 diff --git a/vendor/modules.txt b/vendor/modules.txt index 557205dda2..a2895d00a0 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -53,8 +53,8 @@ github.com/cloudevents/sdk-go/sql/v2/gen github.com/cloudevents/sdk-go/sql/v2/parser github.com/cloudevents/sdk-go/sql/v2/runtime github.com/cloudevents/sdk-go/sql/v2/utils -# github.com/cloudevents/sdk-go/v2 v2.15.2 -## explicit; go 1.18 +# github.com/cloudevents/sdk-go/v2 v2.16.2 +## explicit; go 1.23.0 github.com/cloudevents/sdk-go/v2 github.com/cloudevents/sdk-go/v2/binding github.com/cloudevents/sdk-go/v2/binding/buffering @@ -489,7 +489,7 @@ github.com/sirupsen/logrus # github.com/spf13/pflag v1.0.6 ## explicit; go 1.12 github.com/spf13/pflag -# github.com/stretchr/testify v1.10.0 +# github.com/stretchr/testify v1.11.0 ## explicit; go 1.17 github.com/stretchr/testify/assert github.com/stretchr/testify/assert/yaml @@ -598,8 +598,8 @@ golang.org/x/net/trace ## explicit; go 1.18 golang.org/x/oauth2 golang.org/x/oauth2/internal -# golang.org/x/sync v0.11.0 -## explicit; go 1.18 +# golang.org/x/sync v0.16.0 +## explicit; go 1.23.0 golang.org/x/sync/errgroup golang.org/x/sync/semaphore golang.org/x/sync/singleflight @@ -623,8 +623,8 @@ golang.org/x/text/secure/bidirule golang.org/x/text/transform golang.org/x/text/unicode/bidi golang.org/x/text/unicode/norm -# golang.org/x/time v0.10.0 -## explicit; go 1.18 +# golang.org/x/time v0.12.0 +## explicit; go 1.23.0 golang.org/x/time/rate # golang.org/x/tools v0.30.0 ## explicit; go 1.22.0 diff --git a/vendor/sigs.k8s.io/json/OWNERS b/vendor/sigs.k8s.io/json/OWNERS new file mode 100644 index 0000000000..a08a434e61 --- /dev/null +++ b/vendor/sigs.k8s.io/json/OWNERS @@ -0,0 +1,6 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: + - deads2k + - jpbetz + - liggitt diff --git a/vendor/sigs.k8s.io/yaml/OWNERS b/vendor/sigs.k8s.io/yaml/OWNERS new file mode 100644 index 0000000000..003a149e15 --- /dev/null +++ b/vendor/sigs.k8s.io/yaml/OWNERS @@ -0,0 +1,23 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- dims +- jpbetz +- smarterclayton +- deads2k +- sttts +- liggitt +reviewers: +- dims +- thockin +- jpbetz +- smarterclayton +- wojtek-t +- deads2k +- derekwaynecarr +- mikedanese +- liggitt +- sttts +- tallclair +labels: +- sig/api-machinery diff --git a/vendor/sigs.k8s.io/yaml/goyaml.v2/OWNERS b/vendor/sigs.k8s.io/yaml/goyaml.v2/OWNERS new file mode 100644 index 0000000000..73be0a3a9b --- /dev/null +++ b/vendor/sigs.k8s.io/yaml/goyaml.v2/OWNERS @@ -0,0 +1,24 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +approvers: +- dims +- jpbetz +- smarterclayton +- deads2k +- sttts +- liggitt +- natasha41575 +- knverey +reviewers: +- dims +- thockin +- jpbetz +- smarterclayton +- deads2k +- derekwaynecarr +- mikedanese +- liggitt +- sttts +- tallclair +labels: +- sig/api-machinery From e0ebed4cd0951ac0ba3e991c573e98cfd2178851 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 30 Sep 2025 00:43:27 +0000 Subject: [PATCH 2/2] Run make generated-files --- .../serverless-operator-index/Dockerfile | 2 +- ...erless-operator.clusterserviceversion.yaml | 252 +++++++++--------- test/images-rekt.yaml | 4 +- vendor/github.com/IBM/sarama/entrypoint.sh | 0 .../github.com/cespare/xxhash/v2/testall.sh | 0 .../emicklei/go-restful/v3/bench_test.sh | 0 .../emicklei/go-restful/v3/coverage.sh | 0 .../v2/internal/httprule/BUILD.bazel | 35 --- .../grpc-gateway/v2/runtime/BUILD.bazel | 97 ------- .../grpc-gateway/v2/utilities/BUILD.bazel | 31 --- vendor/github.com/json-iterator/go/build.sh | 0 vendor/github.com/json-iterator/go/test.sh | 0 vendor/github.com/klauspost/compress/gen.sh | 0 .../manifestival/manifestival/manifestival.go | 10 +- .../github.com/modern-go/concurrent/test.sh | 0 .../api/route/v1/test-route-validation.sh | 0 vendor/github.com/pelletier/go-toml/v2/ci.sh | 0 .../rcrowley/go-metrics/validate.sh | 0 .../github.com/rickb777/plural/build+test.sh | 0 vendor/go.uber.org/zap/checklicense.sh | 0 vendor/golang.org/x/sys/plan9/mkall.sh | 0 vendor/golang.org/x/sys/plan9/mkerrors.sh | 0 .../golang.org/x/sys/plan9/mksysnum_plan9.sh | 0 vendor/golang.org/x/sys/unix/mkall.sh | 0 vendor/golang.org/x/sys/unix/mkerrors.sh | 0 .../k8s.io/apimachinery/pkg/api/errors/OWNERS | 16 -- .../k8s.io/apimachinery/pkg/api/meta/OWNERS | 14 - .../apimachinery/pkg/api/resource/OWNERS | 10 - .../apimachinery/pkg/api/validation/OWNERS | 11 - .../apimachinery/pkg/apis/meta/v1/OWNERS | 16 -- .../apimachinery/pkg/util/mergepatch/OWNERS | 6 - .../pkg/util/strategicpatch/OWNERS | 9 - .../apimachinery/pkg/util/validation/OWNERS | 11 - .../third_party/forked/golang/json/OWNERS | 6 - .../client-go/applyconfigurations/OWNERS | 5 - vendor/k8s.io/client-go/openapi/OWNERS | 4 - .../pkg/apis/clientauthentication/OWNERS | 8 - vendor/k8s.io/client-go/rest/OWNERS | 14 - vendor/k8s.io/client-go/tools/auth/OWNERS | 8 - vendor/k8s.io/client-go/tools/cache/OWNERS | 28 -- .../client-go/tools/leaderelection/OWNERS | 11 - vendor/k8s.io/client-go/tools/metrics/OWNERS | 5 - vendor/k8s.io/client-go/tools/record/OWNERS | 6 - vendor/k8s.io/client-go/transport/OWNERS | 8 - vendor/k8s.io/client-go/util/cert/OWNERS | 8 - vendor/k8s.io/client-go/util/keyutil/OWNERS | 6 - vendor/k8s.io/client-go/util/retry/OWNERS | 4 - vendor/k8s.io/code-generator/OWNERS | 16 -- .../code-generator/cmd/client-gen/OWNERS | 11 - .../code-generator/cmd/go-to-protobuf/OWNERS | 6 - .../k8s.io/code-generator/generate-groups.sh | 0 .../generate-internal-groups.sh | 0 vendor/k8s.io/code-generator/kube_codegen.sh | 0 vendor/k8s.io/klog/v2/OWNERS | 16 -- .../kube-openapi/pkg/generators/rules/OWNERS | 4 - .../k8s.io/kube-openapi/pkg/util/proto/OWNERS | 2 - vendor/k8s.io/utils/pointer/OWNERS | 10 - vendor/k8s.io/utils/ptr/OWNERS | 10 - vendor/knative.dev/eventing/test/OWNERS | 10 - .../knative.dev/eventing/test/e2e-common.sh | 0 .../eventing/test/e2e-conformance-tests.sh | 0 .../eventing/test/e2e-rekt-tests.sh | 0 vendor/knative.dev/eventing/test/e2e-tests.sh | 0 .../eventing/test/e2e-upgrade-tests.sh | 0 .../test/lib/recordevents/resources.go | 4 + .../eventing/test/microbenchmarks-compare.sh | 0 .../eventing/test/microbenchmarks-run.sh | 0 .../eventing/test/presubmit-tests.sh | 0 .../eventing/test/upload-test-images.sh | 0 vendor/knative.dev/hack/OWNERS | 8 - vendor/knative.dev/hack/OWNERS_ALIASES | 144 ---------- vendor/knative.dev/hack/codegen-library.sh | 0 vendor/knative.dev/hack/e2e-tests.sh | 0 vendor/knative.dev/hack/infra-library.sh | 0 vendor/knative.dev/hack/library.sh | 0 vendor/knative.dev/hack/microbenchmarks.sh | 0 vendor/knative.dev/hack/performance-tests.sh | 0 vendor/knative.dev/hack/presubmit-tests.sh | 0 vendor/knative.dev/hack/release.sh | 0 .../knative.dev/hack/shellcheck-presubmit.sh | 0 .../v1beta1/knativeeventing_lifecycle.go | 3 +- .../v1beta1/knativeserving_lifecycle.go | 3 +- .../typed/operator/v1beta1/operator_client.go | 2 +- .../operator/pkg/reconciler/common/job.go | 2 +- .../pkg/reconciler/common/releases.go | 26 +- .../reconciler/knativeeventing/controller.go | 20 ++ .../eventing_backstage_plugin.go | 79 ++++++ .../knativeeventing/knativeeventing.go | 9 +- .../knativeserving/knativeserving.go | 33 ++- vendor/knative.dev/pkg/apis/OWNERS | 15 -- vendor/knative.dev/pkg/apis/duck/OWNERS | 8 - vendor/knative.dev/pkg/controller/OWNERS | 7 - .../pkg/environment/client_config.go | 6 +- vendor/knative.dev/pkg/hack/format-code.sh | 0 .../knative.dev/pkg/hack/generate-knative.sh | 0 vendor/knative.dev/pkg/hack/update-codegen.sh | 0 vendor/knative.dev/pkg/hack/update-deps.sh | 0 vendor/knative.dev/pkg/hack/verify-codegen.sh | 0 vendor/knative.dev/pkg/reconciler/OWNERS | 7 - vendor/knative.dev/pkg/resolver/OWNERS | 8 - vendor/knative.dev/pkg/test/OWNERS | 10 - vendor/knative.dev/pkg/test/helpers/name.go | 2 +- .../knative.dev/pkg/test/presubmit-tests.sh | 0 .../pkg/test/spoof/openshift_checks.go | 22 ++ vendor/knative.dev/pkg/test/spoof/spoof.go | 5 +- .../pkg/test/test-reconciler-codegen.sh | 0 .../pkg/test/upgrade/shell/fail-example.sh | 0 vendor/knative.dev/pkg/webhook/OWNERS | 7 - .../conversion/reconciler.go | 4 + .../reconciler-test/pkg/feature/feature.go | 9 + vendor/knative.dev/serving/test/e2e-common.sh | 0 .../test/e2e-external-domain-tls-tests.sh | 0 .../serving/test/e2e-networking-library.sh | 0 vendor/knative.dev/serving/test/e2e-tests.sh | 0 .../serving/test/e2e-upgrade-tests.sh | 0 .../serving/test/presubmit-tests.sh | 0 .../serving/test/upload-test-images.sh | 0 vendor/sigs.k8s.io/json/OWNERS | 6 - vendor/sigs.k8s.io/yaml/OWNERS | 23 -- vendor/sigs.k8s.io/yaml/goyaml.v2/OWNERS | 24 -- 120 files changed, 337 insertions(+), 889 deletions(-) mode change 100644 => 100755 vendor/github.com/IBM/sarama/entrypoint.sh mode change 100644 => 100755 vendor/github.com/cespare/xxhash/v2/testall.sh mode change 100644 => 100755 vendor/github.com/emicklei/go-restful/v3/bench_test.sh mode change 100644 => 100755 vendor/github.com/emicklei/go-restful/v3/coverage.sh delete mode 100644 vendor/github.com/grpc-ecosystem/grpc-gateway/v2/internal/httprule/BUILD.bazel delete mode 100644 vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/BUILD.bazel delete mode 100644 vendor/github.com/grpc-ecosystem/grpc-gateway/v2/utilities/BUILD.bazel mode change 100644 => 100755 vendor/github.com/json-iterator/go/build.sh mode change 100644 => 100755 vendor/github.com/json-iterator/go/test.sh mode change 100644 => 100755 vendor/github.com/klauspost/compress/gen.sh mode change 100644 => 100755 vendor/github.com/modern-go/concurrent/test.sh mode change 100644 => 100755 vendor/github.com/openshift/api/route/v1/test-route-validation.sh mode change 100644 => 100755 vendor/github.com/pelletier/go-toml/v2/ci.sh mode change 100644 => 100755 vendor/github.com/rcrowley/go-metrics/validate.sh mode change 100644 => 100755 vendor/github.com/rickb777/plural/build+test.sh mode change 100644 => 100755 vendor/go.uber.org/zap/checklicense.sh mode change 100644 => 100755 vendor/golang.org/x/sys/plan9/mkall.sh mode change 100644 => 100755 vendor/golang.org/x/sys/plan9/mkerrors.sh mode change 100644 => 100755 vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh mode change 100644 => 100755 vendor/golang.org/x/sys/unix/mkall.sh mode change 100644 => 100755 vendor/golang.org/x/sys/unix/mkerrors.sh delete mode 100644 vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS delete mode 100644 vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS delete mode 100644 vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS delete mode 100644 vendor/k8s.io/apimachinery/pkg/api/validation/OWNERS delete mode 100644 vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS delete mode 100644 vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS delete mode 100644 vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS delete mode 100644 vendor/k8s.io/apimachinery/pkg/util/validation/OWNERS delete mode 100644 vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS delete mode 100644 vendor/k8s.io/client-go/applyconfigurations/OWNERS delete mode 100644 vendor/k8s.io/client-go/openapi/OWNERS delete mode 100644 vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS delete mode 100644 vendor/k8s.io/client-go/rest/OWNERS delete mode 100644 vendor/k8s.io/client-go/tools/auth/OWNERS delete mode 100644 vendor/k8s.io/client-go/tools/cache/OWNERS delete mode 100644 vendor/k8s.io/client-go/tools/leaderelection/OWNERS delete mode 100644 vendor/k8s.io/client-go/tools/metrics/OWNERS delete mode 100644 vendor/k8s.io/client-go/tools/record/OWNERS delete mode 100644 vendor/k8s.io/client-go/transport/OWNERS delete mode 100644 vendor/k8s.io/client-go/util/cert/OWNERS delete mode 100644 vendor/k8s.io/client-go/util/keyutil/OWNERS delete mode 100644 vendor/k8s.io/client-go/util/retry/OWNERS delete mode 100644 vendor/k8s.io/code-generator/OWNERS delete mode 100644 vendor/k8s.io/code-generator/cmd/client-gen/OWNERS delete mode 100644 vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS mode change 100644 => 100755 vendor/k8s.io/code-generator/generate-groups.sh mode change 100644 => 100755 vendor/k8s.io/code-generator/generate-internal-groups.sh mode change 100644 => 100755 vendor/k8s.io/code-generator/kube_codegen.sh delete mode 100644 vendor/k8s.io/klog/v2/OWNERS delete mode 100644 vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS delete mode 100644 vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS delete mode 100644 vendor/k8s.io/utils/pointer/OWNERS delete mode 100644 vendor/k8s.io/utils/ptr/OWNERS delete mode 100644 vendor/knative.dev/eventing/test/OWNERS mode change 100644 => 100755 vendor/knative.dev/eventing/test/e2e-common.sh mode change 100644 => 100755 vendor/knative.dev/eventing/test/e2e-conformance-tests.sh mode change 100644 => 100755 vendor/knative.dev/eventing/test/e2e-rekt-tests.sh mode change 100644 => 100755 vendor/knative.dev/eventing/test/e2e-tests.sh mode change 100644 => 100755 vendor/knative.dev/eventing/test/e2e-upgrade-tests.sh mode change 100644 => 100755 vendor/knative.dev/eventing/test/microbenchmarks-compare.sh mode change 100644 => 100755 vendor/knative.dev/eventing/test/microbenchmarks-run.sh mode change 100644 => 100755 vendor/knative.dev/eventing/test/presubmit-tests.sh mode change 100644 => 100755 vendor/knative.dev/eventing/test/upload-test-images.sh delete mode 100644 vendor/knative.dev/hack/OWNERS delete mode 100644 vendor/knative.dev/hack/OWNERS_ALIASES mode change 100644 => 100755 vendor/knative.dev/hack/codegen-library.sh mode change 100644 => 100755 vendor/knative.dev/hack/e2e-tests.sh mode change 100644 => 100755 vendor/knative.dev/hack/infra-library.sh mode change 100644 => 100755 vendor/knative.dev/hack/library.sh mode change 100644 => 100755 vendor/knative.dev/hack/microbenchmarks.sh mode change 100644 => 100755 vendor/knative.dev/hack/performance-tests.sh mode change 100644 => 100755 vendor/knative.dev/hack/presubmit-tests.sh mode change 100644 => 100755 vendor/knative.dev/hack/release.sh mode change 100644 => 100755 vendor/knative.dev/hack/shellcheck-presubmit.sh create mode 100644 vendor/knative.dev/operator/pkg/reconciler/knativeeventing/eventing_backstage_plugin.go delete mode 100644 vendor/knative.dev/pkg/apis/OWNERS delete mode 100644 vendor/knative.dev/pkg/apis/duck/OWNERS delete mode 100644 vendor/knative.dev/pkg/controller/OWNERS mode change 100644 => 100755 vendor/knative.dev/pkg/hack/format-code.sh mode change 100644 => 100755 vendor/knative.dev/pkg/hack/generate-knative.sh mode change 100644 => 100755 vendor/knative.dev/pkg/hack/update-codegen.sh mode change 100644 => 100755 vendor/knative.dev/pkg/hack/update-deps.sh mode change 100644 => 100755 vendor/knative.dev/pkg/hack/verify-codegen.sh delete mode 100644 vendor/knative.dev/pkg/reconciler/OWNERS delete mode 100644 vendor/knative.dev/pkg/resolver/OWNERS delete mode 100644 vendor/knative.dev/pkg/test/OWNERS mode change 100644 => 100755 vendor/knative.dev/pkg/test/presubmit-tests.sh create mode 100644 vendor/knative.dev/pkg/test/spoof/openshift_checks.go mode change 100644 => 100755 vendor/knative.dev/pkg/test/test-reconciler-codegen.sh mode change 100644 => 100755 vendor/knative.dev/pkg/test/upgrade/shell/fail-example.sh delete mode 100644 vendor/knative.dev/pkg/webhook/OWNERS mode change 100644 => 100755 vendor/knative.dev/serving/test/e2e-common.sh mode change 100644 => 100755 vendor/knative.dev/serving/test/e2e-external-domain-tls-tests.sh mode change 100644 => 100755 vendor/knative.dev/serving/test/e2e-networking-library.sh mode change 100644 => 100755 vendor/knative.dev/serving/test/e2e-tests.sh mode change 100644 => 100755 vendor/knative.dev/serving/test/e2e-upgrade-tests.sh mode change 100644 => 100755 vendor/knative.dev/serving/test/presubmit-tests.sh mode change 100644 => 100755 vendor/knative.dev/serving/test/upload-test-images.sh delete mode 100644 vendor/sigs.k8s.io/json/OWNERS delete mode 100644 vendor/sigs.k8s.io/yaml/OWNERS delete mode 100644 vendor/sigs.k8s.io/yaml/goyaml.v2/OWNERS diff --git a/olm-catalog/serverless-operator-index/Dockerfile b/olm-catalog/serverless-operator-index/Dockerfile index 02a4f72bfe..58b982020d 100644 --- a/olm-catalog/serverless-operator-index/Dockerfile +++ b/olm-catalog/serverless-operator-index/Dockerfile @@ -16,7 +16,7 @@ COPY olm-catalog/serverless-operator-index/index-bundles.yaml /index-bundles.yam RUN /bin/opm init serverless-operator --default-channel=stable --output yaml >> /configs/index.yaml RUN cat /index-bundles.yaml >> /configs/index.yaml RUN /bin/opm render --skip-tls-verify -o yaml \ - quay.io/redhat-user-workloads/ocp-serverless-tenant/serverless-operator-137/serverless-bundle@sha256:9d6b6510a8ab953c497948af9977e8b3bf45aa3436767853af2e46af11ed7c68 >> /configs/index.yaml + quay.io/redhat-user-workloads/ocp-serverless-tenant/serverless-operator-137/serverless-bundle@sha256:79d7bc0eb137093b2dd473fb318fcbef056cc2f709840c74a520966a33e375e9 >> /configs/index.yaml # The base image is expected to contain # /bin/opm (with a serve subcommand) and /bin/grpc_health_probe diff --git a/olm-catalog/serverless-operator/manifests/serverless-operator.clusterserviceversion.yaml b/olm-catalog/serverless-operator/manifests/serverless-operator.clusterserviceversion.yaml index 08c71daf1a..7e48df7ddd 100644 --- a/olm-catalog/serverless-operator/manifests/serverless-operator.clusterserviceversion.yaml +++ b/olm-catalog/serverless-operator/manifests/serverless-operator.clusterserviceversion.yaml @@ -78,7 +78,7 @@ metadata: repository: https://github.com/openshift-knative/serverless-operator support: Red Hat olm.skipRange: '>=1.36.0 <1.37.0' - operators.openshift.io/must-gather-image: registry.redhat.io/openshift-serverless-1/serverless-must-gather-rhel8@sha256:5d950be6a17ac307b37e0e2699abc6f2d1af6e0814bad7e09086d8b8a0e2d0a9 + operators.openshift.io/must-gather-image: registry.redhat.io/openshift-serverless-1/serverless-must-gather-rhel8@sha256:89f8d6964d57209f9c31ab28ae3238a64d5dcf71dc3cf274607a72043fd40f9a labels: operatorframework.io/arch.amd64: supported operatorframework.io/arch.ppc64le: supported @@ -836,7 +836,7 @@ spec: serviceAccountName: knative-operator containers: - name: knative-operator - image: registry.redhat.io/openshift-serverless-1/serverless-openshift-kn-rhel8-operator@sha256:5784632c1eee6229df241fde4a9ac04d914a5889a26b5228f57b43f3fd2b9a04 + image: registry.redhat.io/openshift-serverless-1/serverless-openshift-kn-rhel8-operator@sha256:2843e1faa288dbf629d4e3050744591b631da5534fc19e59c65d091c79ecb535 readinessProbe: periodSeconds: 1 httpGet: @@ -889,79 +889,79 @@ spec: - name: KUBERNETES_MIN_VERSION value: "v1.0.0" - name: "IMAGE_queue-proxy" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-queue-rhel8@sha256:7fd4f3d24063dd4f0b3342a5d1f97f44ed7bbbda521d2b9f7a425cda5ede9142" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-queue-rhel8@sha256:33213a2312c3feacea48f5db0aa433d28019bebb71238817e5447657108f3e9e" - name: "IMAGE_activator" value: "registry.redhat.io/openshift-serverless-1/kn-serving-activator-rhel8@sha256:8d3af24fc5f604c99e15a09032fa3fcad2701c974d32449e59fbb6928b733661" - name: "IMAGE_autoscaler" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-rhel8@sha256:dab7794cf8f691292e86d16088b317320a5b2eb5d275ec0f225022e16b9c4f65" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-rhel8@sha256:d57143c2de771f8ebf38122bf78c3601aa61f28ab379fca317ddc7de2faed2cb" - name: "IMAGE_autoscaler-hpa" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-hpa-rhel8@sha256:5298eb1a0d3cb488a0b2df658858688bcdde6d22e1c015f57f73a5962c35a0eb" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-hpa-rhel8@sha256:6af3ead245b2030a2e08900d7125a48ce9a8b31dc487ed70c825bc558a85aace" - name: "IMAGE_controller__controller" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-controller-rhel8@sha256:890bb4ee1e633507c01639a7b56c2615c278f7516bdc124ad3c2166e798aa44d" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-controller-rhel8@sha256:229a3bd8acf24393380a847fe3a2e0ef6cd63279db8ec2d04ab385c3b514692e" - name: "IMAGE_webhook__webhook" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-webhook-rhel8@sha256:c25851ccd1c449db8bf5544ba80c8e710aca881953bb5491623836311f3dcf92" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-webhook-rhel8@sha256:13eabb2634278a4d9ebc97a06dff5e300c2778af9ec3584b860ba3e2a47b5f8f" - name: "IMAGE_storage-version-migration-serving-__migrate" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-storage-version-migration-rhel8@sha256:7539b86b1d8318821616965ff7c044bbb54b2ddd6cb5c4a90f6cf0e9785339f4" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-storage-version-migration-rhel8@sha256:059d25ec0f1beedd8d1b788cce2fab94565de5aac1dc7011760c6188a921fbef" - name: "IMAGE_kourier-gateway" value: "registry.redhat.io/openshift-service-mesh/proxyv2-rhel8@sha256:1c19cf86fd05940ef3d0d6e79e6f371db993153f70baedb9107bbe73f236dc24" - name: "IMAGE_net-kourier-controller__controller" value: "registry.redhat.io/openshift-serverless-1/net-kourier-kourier-rhel8@sha256:daec76096c59acdffb2391c4d5c706c833197c43f0c76b8759198fbae8d3c7eb" - name: "IMAGE_net-istio-controller__controller" - value: "registry.redhat.io/openshift-serverless-1/net-istio-controller-rhel8@sha256:fab0e5c8ac116b7fa857ae24657b1983de3ede4f21a26608b9512a4a3a0c9a4d" + value: "registry.redhat.io/openshift-serverless-1/net-istio-controller-rhel8@sha256:e40c912031277f8fb910df058050567f427397b1790cdf655521fbf5a991e096" - name: "IMAGE_net-istio-webhook__webhook" - value: "registry.redhat.io/openshift-serverless-1/net-istio-webhook-rhel8@sha256:670ed3f68b3be824c8b8a74f024591ee20898e83cd974536b8cea59513e2bb88" + value: "registry.redhat.io/openshift-serverless-1/net-istio-webhook-rhel8@sha256:f9bb9bc8db0876379cb51db1e74522f5795e41edba18ee7fdedc2e9fa2b9adda" - name: "IMAGE_eventing-controller__eventing-controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-controller-rhel8@sha256:cd1870f04b9fcc70a7b5f8af6f1e204923158d95b6bbbaa40c75f4bf38d1b2f8" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-controller-rhel8@sha256:841eaf25d520fce67b4c4ad73342fd394324910eedbef868c8698c5297584f78" - name: "IMAGE_eventing-istio-controller__eventing-istio-controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-istio-controller-rhel8@sha256:4fdb2768514b69c39e703c630088454b79bf0502fcf9db84e351891f1ade3a3f" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-istio-controller-rhel8@sha256:44f8f2b1c1aafe0518a54f2efb2e06c31ce128fec5b8fd2ae7cd6c5f56ec91ed" - name: "IMAGE_eventing-webhook__eventing-webhook" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-webhook-rhel8@sha256:6b18a49c54143246e6fb8e79adf2303b54ba52bffb5dae13601df69f33c3f2b0" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-webhook-rhel8@sha256:86f0d85a774e36c3a07e0b336db581d2e75c5fad4378b9adc1b3b1ecc98b2e8b" - name: "IMAGE_storage-version-migration-eventing-__migrate" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:d8ad42aa5c662e0d4b6e94a636493e110875d756b1f3e9f08bb877c6bbe5098e" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:b54b7ef3c46d04e63de68d881452baf15f20afd66544ef4652c30027b28284e4" - name: "IMAGE_mt-broker-controller__mt-broker-controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtchannel-broker-rhel8@sha256:065ee8dc1e5566aac4b0bc7b3b63613db7a8626bc8cdf8bed81c059fb22c9558" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtchannel-broker-rhel8@sha256:7038e3d61308bf3d252ceb809bc69dd1fae2bd1fd9992ab53fc70a459d807a77" - name: "IMAGE_mt-broker-filter__filter" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-filter-rhel8@sha256:04c3c9c07833e12975bededd9f9a44f0cbd39525f487a87be2eba36f3dbf72ea" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-filter-rhel8@sha256:406664cd7698179dedb947b3ce03075914b68e56977a3a51d382938ec290e295" - name: "IMAGE_mt-broker-ingress__ingress" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-ingress-rhel8@sha256:848b4855a75f2e9e5ddfbde5fe5695a320c527758c2f57ebe48584f4c0d02780" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-ingress-rhel8@sha256:6092c68f02f0cb0fae0f8f6800048d279c89528dc9c9a85b3e0910e461133d7d" - name: "IMAGE_imc-controller__controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-controller-rhel8@sha256:b519a88e7505b7cd5e0b87abb870a721101b92089a90f8720085e3fda2b0ff70" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-controller-rhel8@sha256:52244782e992be48bcce811e87271b22b9c70a222115018f717b3bf0a4f6bc34" - name: "IMAGE_imc-dispatcher__dispatcher" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:ce21d160603172ff37829c399028da622f9a8f525817bc58edcc06bc4c6cb2ce" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:3b774b1bf094a267c20133326015eaaa305a5fd78632a0964084b2e9da9d0f3f" - name: "IMAGE_pingsource-mt-adapter__dispatcher" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtping-rhel8@sha256:b275c025b6113a3a803b39bf8465729ca8a025168dfed6cfa31791712ed5047b" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtping-rhel8@sha256:78d56f9ef684c17e475a3559585d88c376a32045bb11129f92746d3d4854a117" - name: "IMAGE_job-sink__job-sink" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-jobsink-rhel8@sha256:3fe3e2dcfc5fc2b60a9e1cd17576e5805e4604054a48237dd9c311d9da983c53" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-jobsink-rhel8@sha256:750688ac07d15be2b43d66eb3e30ba417bf427b78790c8b59605a93bcce5673a" - name: "IMAGE_APISERVER_RA_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-apiserver-receive-adapter-rhel8@sha256:841574c937506069631266e6ad9423fdb7853f33b70c02d19b0d821862b2fa6a" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-apiserver-receive-adapter-rhel8@sha256:8a6940ada4e989310f164dae6112528016217fa92ac97233ed56397b8c06f1da" - name: "IMAGE_DISPATCHER_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:ce21d160603172ff37829c399028da622f9a8f525817bc58edcc06bc4c6cb2ce" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:3b774b1bf094a267c20133326015eaaa305a5fd78632a0964084b2e9da9d0f3f" - name: "IMAGE_EVENT_TRANSFORM_JSONATA_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-transform-jsonata-rhel8@sha256:b75ed48f0130203eae50b934410178844af86fbe953825cc3114764db11a216f" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-transform-jsonata-rhel8@sha256:d5c6983ce7e56bff380e4a80b930680a9f50ff1fe4b6f8143bda058a8b221ff6" - name: "IMAGE_INTEGRATION_SOURCE_TIMER_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-timer-source-rhel8@sha256:4c82613b53e280a85c05f0b27449c804a2e380ba881046bf364cdf88e73405b5" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-timer-source-rhel8@sha256:0aa4e712c454dd0615a191d509d6b54731bb990cea8f3d70d14889929456574a" - name: "IMAGE_INTEGRATION_SOURCE_AWS_S3_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-s3-source-rhel8@sha256:c03700e21670fb7bae5feb434f981db30afbe366da20f004cd0faf91538fe96b" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-s3-source-rhel8@sha256:eab8141b7ca0e84823ea197a78b6e258691153bf85bc74a7f7a761998d15c194" - name: "IMAGE_INTEGRATION_SOURCE_AWS_SQS_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sqs-source-rhel8@sha256:5ef87186e7b38d727b162c6027f20da49695094618380e3686e3c61dd51fd31d" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sqs-source-rhel8@sha256:a440d67cdb3c96865bddc9a80612a8b1e02f355e3bb6377666fb005b15999aef" - name: "IMAGE_INTEGRATION_SOURCE_AWS_DDB_STREAMS_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-ddb-streams-source-rhel8@sha256:5a2eef78620450c91e6951d808275774144f54bdfefc7d0e7fa393aba0e86345" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-ddb-streams-source-rhel8@sha256:20a1ade9e8ab7d1663de3075996e36695170d30219e2561e6ff2ed24f66c2ac2" - name: "IMAGE_INTEGRATION_SINK_LOG_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-log-sink-rhel8@sha256:f1b9d6b31dbd0e8957e24be849bef1cede9ed255bcfb1a9d5ec627a45b02b9b2" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-log-sink-rhel8@sha256:688507afe68fbac06150cc750e25b1a925bceac17ee9bef3ef4f968e65d5ed4c" - name: "IMAGE_INTEGRATION_SINK_AWS_S3_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-s3-sink-rhel8@sha256:b4220e7c8324a97d4f173bd214ee56fcaf70121cdb011b4cd8782e5a30456871" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-s3-sink-rhel8@sha256:d4042cfad92836c213be577d99599188d2332b55e6ea805257cfce05b07983b3" - name: "IMAGE_INTEGRATION_SINK_AWS_SQS_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sqs-sink-rhel8@sha256:06e24a773dd110de200985d9693b075d27497d23915492755d5ac86b55322ccb" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sqs-sink-rhel8@sha256:2526c000ea374336c303c6c449a85272977b89e227fc0f0e0de5523d9edcc794" - name: "IMAGE_INTEGRATION_SINK_AWS_SNS_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sns-sink-rhel8@sha256:893ed28260201ad5303d37b2fa4890a02053f5e66ed4570b65d9b7bbd4a5c968" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sns-sink-rhel8@sha256:2fd5c5d6a6e48b53d4b5a11a8257eb31ebc3568c5601faf39512b53ddefd3d49" - name: "IMAGE_eventmesh-backend__controller" - value: "registry.redhat.io/openshift-serverless-1/kn-backstage-plugins-eventmesh-rhel8@sha256:3a1e40530d8022c86bde6ef6803bb9db545d95985ea2698dbc175d3111010751" + value: "registry.redhat.io/openshift-serverless-1/kn-backstage-plugins-eventmesh-rhel8@sha256:5c6b9236ba9001cba22a23906b70849ebc1eb1e561c0166b9aadb4843607b730" - name: "IMAGE_KUBE_RBAC_PROXY" value: "registry.redhat.io/openshift4/ose-kube-rbac-proxy-rhel9@sha256:67651adfd8e6c8d12d2b9585c723d5fbdb664818f803312bfe3522e04a81e9b0" - name: "IMAGE_KN_PLUGIN_EVENT_SENDER" value: "registry.redhat.io/openshift-serverless-1/kn-plugin-event-sender-rhel8@sha256:3f6b47431a38ca5c518c0105ad2f79b92f3067f5c7e56c5e46bd13eb1e9982de" - name: "IMAGE_KN_CLIENT" - value: "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:930bfee931adc3bcaa53eec2d4b7cae67ac8edd2af18840ca9506b62db9c261e" + value: "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:5d550dae56a112c77748de341ba08bd1a712bd804cf7219196cf7d7019c7db8a" - name: "IMAGE_KN_PLUGIN_FUNC_UTIL" value: "registry.redhat.io/openshift-serverless-1/kn-plugin-func-func-util-rhel8@sha256:d5f49cc564427e52c796d1ed64b00d2f62ce6c47b1624a2e06e658b87c3ac3dd" - name: "IMAGE_KN_PLUGIN_FUNC_TEKTON_BUILDAH" @@ -1003,7 +1003,7 @@ spec: serviceAccountName: knative-openshift initContainers: - name: cli-artifacts - image: registry.redhat.io/openshift-serverless-1/kn-client-cli-artifacts-rhel8@sha256:3cb5ceffab278d5f8b667bbbb770eaf5967d2864479b1b287367486740cbb2e0 + image: registry.redhat.io/openshift-serverless-1/kn-client-cli-artifacts-rhel8@sha256:02230ae9100f2e551f79988b810dea1594cc567d3252b8ad8e9a6392fd34a9e7 imagePullPolicy: Always command: ["sh", "-c", "rm -rf /cli-artifacts/* && cp /usr/share/kn/**/* /cli-artifacts && chmod 444 /cli-artifacts/*"] volumeMounts: @@ -1017,7 +1017,7 @@ spec: - ALL containers: - name: knative-openshift - image: registry.redhat.io/openshift-serverless-1/serverless-kn-operator-rhel8@sha256:d642f113936d30cb057c862b617fbd0f8cd1aae49d990c73b7166db749bc44ad + image: registry.redhat.io/openshift-serverless-1/serverless-kn-operator-rhel8@sha256:201cae8239b6c77fe744f2d67180092aee957120df4c2daf0bbdc6039326ad05 imagePullPolicy: Always readinessProbe: httpGet: @@ -1079,79 +1079,79 @@ spec: - name: KUBERNETES_MIN_VERSION value: "v1.0.0" - name: "IMAGE_queue-proxy" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-queue-rhel8@sha256:7fd4f3d24063dd4f0b3342a5d1f97f44ed7bbbda521d2b9f7a425cda5ede9142" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-queue-rhel8@sha256:33213a2312c3feacea48f5db0aa433d28019bebb71238817e5447657108f3e9e" - name: "IMAGE_activator" value: "registry.redhat.io/openshift-serverless-1/kn-serving-activator-rhel8@sha256:8d3af24fc5f604c99e15a09032fa3fcad2701c974d32449e59fbb6928b733661" - name: "IMAGE_autoscaler" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-rhel8@sha256:dab7794cf8f691292e86d16088b317320a5b2eb5d275ec0f225022e16b9c4f65" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-rhel8@sha256:d57143c2de771f8ebf38122bf78c3601aa61f28ab379fca317ddc7de2faed2cb" - name: "IMAGE_autoscaler-hpa" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-hpa-rhel8@sha256:5298eb1a0d3cb488a0b2df658858688bcdde6d22e1c015f57f73a5962c35a0eb" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-hpa-rhel8@sha256:6af3ead245b2030a2e08900d7125a48ce9a8b31dc487ed70c825bc558a85aace" - name: "IMAGE_controller__controller" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-controller-rhel8@sha256:890bb4ee1e633507c01639a7b56c2615c278f7516bdc124ad3c2166e798aa44d" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-controller-rhel8@sha256:229a3bd8acf24393380a847fe3a2e0ef6cd63279db8ec2d04ab385c3b514692e" - name: "IMAGE_webhook__webhook" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-webhook-rhel8@sha256:c25851ccd1c449db8bf5544ba80c8e710aca881953bb5491623836311f3dcf92" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-webhook-rhel8@sha256:13eabb2634278a4d9ebc97a06dff5e300c2778af9ec3584b860ba3e2a47b5f8f" - name: "IMAGE_storage-version-migration-serving-__migrate" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-storage-version-migration-rhel8@sha256:7539b86b1d8318821616965ff7c044bbb54b2ddd6cb5c4a90f6cf0e9785339f4" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-storage-version-migration-rhel8@sha256:059d25ec0f1beedd8d1b788cce2fab94565de5aac1dc7011760c6188a921fbef" - name: "IMAGE_kourier-gateway" value: "registry.redhat.io/openshift-service-mesh/proxyv2-rhel8@sha256:1c19cf86fd05940ef3d0d6e79e6f371db993153f70baedb9107bbe73f236dc24" - name: "IMAGE_net-kourier-controller__controller" value: "registry.redhat.io/openshift-serverless-1/net-kourier-kourier-rhel8@sha256:daec76096c59acdffb2391c4d5c706c833197c43f0c76b8759198fbae8d3c7eb" - name: "IMAGE_net-istio-controller__controller" - value: "registry.redhat.io/openshift-serverless-1/net-istio-controller-rhel8@sha256:fab0e5c8ac116b7fa857ae24657b1983de3ede4f21a26608b9512a4a3a0c9a4d" + value: "registry.redhat.io/openshift-serverless-1/net-istio-controller-rhel8@sha256:e40c912031277f8fb910df058050567f427397b1790cdf655521fbf5a991e096" - name: "IMAGE_net-istio-webhook__webhook" - value: "registry.redhat.io/openshift-serverless-1/net-istio-webhook-rhel8@sha256:670ed3f68b3be824c8b8a74f024591ee20898e83cd974536b8cea59513e2bb88" + value: "registry.redhat.io/openshift-serverless-1/net-istio-webhook-rhel8@sha256:f9bb9bc8db0876379cb51db1e74522f5795e41edba18ee7fdedc2e9fa2b9adda" - name: "IMAGE_eventing-controller__eventing-controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-controller-rhel8@sha256:cd1870f04b9fcc70a7b5f8af6f1e204923158d95b6bbbaa40c75f4bf38d1b2f8" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-controller-rhel8@sha256:841eaf25d520fce67b4c4ad73342fd394324910eedbef868c8698c5297584f78" - name: "IMAGE_eventing-istio-controller__eventing-istio-controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-istio-controller-rhel8@sha256:4fdb2768514b69c39e703c630088454b79bf0502fcf9db84e351891f1ade3a3f" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-istio-controller-rhel8@sha256:44f8f2b1c1aafe0518a54f2efb2e06c31ce128fec5b8fd2ae7cd6c5f56ec91ed" - name: "IMAGE_eventing-webhook__eventing-webhook" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-webhook-rhel8@sha256:6b18a49c54143246e6fb8e79adf2303b54ba52bffb5dae13601df69f33c3f2b0" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-webhook-rhel8@sha256:86f0d85a774e36c3a07e0b336db581d2e75c5fad4378b9adc1b3b1ecc98b2e8b" - name: "IMAGE_storage-version-migration-eventing-__migrate" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:d8ad42aa5c662e0d4b6e94a636493e110875d756b1f3e9f08bb877c6bbe5098e" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:b54b7ef3c46d04e63de68d881452baf15f20afd66544ef4652c30027b28284e4" - name: "IMAGE_mt-broker-controller__mt-broker-controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtchannel-broker-rhel8@sha256:065ee8dc1e5566aac4b0bc7b3b63613db7a8626bc8cdf8bed81c059fb22c9558" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtchannel-broker-rhel8@sha256:7038e3d61308bf3d252ceb809bc69dd1fae2bd1fd9992ab53fc70a459d807a77" - name: "IMAGE_mt-broker-filter__filter" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-filter-rhel8@sha256:04c3c9c07833e12975bededd9f9a44f0cbd39525f487a87be2eba36f3dbf72ea" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-filter-rhel8@sha256:406664cd7698179dedb947b3ce03075914b68e56977a3a51d382938ec290e295" - name: "IMAGE_mt-broker-ingress__ingress" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-ingress-rhel8@sha256:848b4855a75f2e9e5ddfbde5fe5695a320c527758c2f57ebe48584f4c0d02780" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-ingress-rhel8@sha256:6092c68f02f0cb0fae0f8f6800048d279c89528dc9c9a85b3e0910e461133d7d" - name: "IMAGE_imc-controller__controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-controller-rhel8@sha256:b519a88e7505b7cd5e0b87abb870a721101b92089a90f8720085e3fda2b0ff70" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-controller-rhel8@sha256:52244782e992be48bcce811e87271b22b9c70a222115018f717b3bf0a4f6bc34" - name: "IMAGE_imc-dispatcher__dispatcher" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:ce21d160603172ff37829c399028da622f9a8f525817bc58edcc06bc4c6cb2ce" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:3b774b1bf094a267c20133326015eaaa305a5fd78632a0964084b2e9da9d0f3f" - name: "IMAGE_pingsource-mt-adapter__dispatcher" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtping-rhel8@sha256:b275c025b6113a3a803b39bf8465729ca8a025168dfed6cfa31791712ed5047b" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtping-rhel8@sha256:78d56f9ef684c17e475a3559585d88c376a32045bb11129f92746d3d4854a117" - name: "IMAGE_job-sink__job-sink" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-jobsink-rhel8@sha256:3fe3e2dcfc5fc2b60a9e1cd17576e5805e4604054a48237dd9c311d9da983c53" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-jobsink-rhel8@sha256:750688ac07d15be2b43d66eb3e30ba417bf427b78790c8b59605a93bcce5673a" - name: "IMAGE_APISERVER_RA_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-apiserver-receive-adapter-rhel8@sha256:841574c937506069631266e6ad9423fdb7853f33b70c02d19b0d821862b2fa6a" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-apiserver-receive-adapter-rhel8@sha256:8a6940ada4e989310f164dae6112528016217fa92ac97233ed56397b8c06f1da" - name: "IMAGE_DISPATCHER_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:ce21d160603172ff37829c399028da622f9a8f525817bc58edcc06bc4c6cb2ce" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:3b774b1bf094a267c20133326015eaaa305a5fd78632a0964084b2e9da9d0f3f" - name: "IMAGE_EVENT_TRANSFORM_JSONATA_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-transform-jsonata-rhel8@sha256:b75ed48f0130203eae50b934410178844af86fbe953825cc3114764db11a216f" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-transform-jsonata-rhel8@sha256:d5c6983ce7e56bff380e4a80b930680a9f50ff1fe4b6f8143bda058a8b221ff6" - name: "IMAGE_INTEGRATION_SOURCE_TIMER_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-timer-source-rhel8@sha256:4c82613b53e280a85c05f0b27449c804a2e380ba881046bf364cdf88e73405b5" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-timer-source-rhel8@sha256:0aa4e712c454dd0615a191d509d6b54731bb990cea8f3d70d14889929456574a" - name: "IMAGE_INTEGRATION_SOURCE_AWS_S3_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-s3-source-rhel8@sha256:c03700e21670fb7bae5feb434f981db30afbe366da20f004cd0faf91538fe96b" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-s3-source-rhel8@sha256:eab8141b7ca0e84823ea197a78b6e258691153bf85bc74a7f7a761998d15c194" - name: "IMAGE_INTEGRATION_SOURCE_AWS_SQS_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sqs-source-rhel8@sha256:5ef87186e7b38d727b162c6027f20da49695094618380e3686e3c61dd51fd31d" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sqs-source-rhel8@sha256:a440d67cdb3c96865bddc9a80612a8b1e02f355e3bb6377666fb005b15999aef" - name: "IMAGE_INTEGRATION_SOURCE_AWS_DDB_STREAMS_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-ddb-streams-source-rhel8@sha256:5a2eef78620450c91e6951d808275774144f54bdfefc7d0e7fa393aba0e86345" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-ddb-streams-source-rhel8@sha256:20a1ade9e8ab7d1663de3075996e36695170d30219e2561e6ff2ed24f66c2ac2" - name: "IMAGE_INTEGRATION_SINK_LOG_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-log-sink-rhel8@sha256:f1b9d6b31dbd0e8957e24be849bef1cede9ed255bcfb1a9d5ec627a45b02b9b2" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-log-sink-rhel8@sha256:688507afe68fbac06150cc750e25b1a925bceac17ee9bef3ef4f968e65d5ed4c" - name: "IMAGE_INTEGRATION_SINK_AWS_S3_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-s3-sink-rhel8@sha256:b4220e7c8324a97d4f173bd214ee56fcaf70121cdb011b4cd8782e5a30456871" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-s3-sink-rhel8@sha256:d4042cfad92836c213be577d99599188d2332b55e6ea805257cfce05b07983b3" - name: "IMAGE_INTEGRATION_SINK_AWS_SQS_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sqs-sink-rhel8@sha256:06e24a773dd110de200985d9693b075d27497d23915492755d5ac86b55322ccb" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sqs-sink-rhel8@sha256:2526c000ea374336c303c6c449a85272977b89e227fc0f0e0de5523d9edcc794" - name: "IMAGE_INTEGRATION_SINK_AWS_SNS_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sns-sink-rhel8@sha256:893ed28260201ad5303d37b2fa4890a02053f5e66ed4570b65d9b7bbd4a5c968" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sns-sink-rhel8@sha256:2fd5c5d6a6e48b53d4b5a11a8257eb31ebc3568c5601faf39512b53ddefd3d49" - name: "IMAGE_eventmesh-backend__controller" - value: "registry.redhat.io/openshift-serverless-1/kn-backstage-plugins-eventmesh-rhel8@sha256:3a1e40530d8022c86bde6ef6803bb9db545d95985ea2698dbc175d3111010751" + value: "registry.redhat.io/openshift-serverless-1/kn-backstage-plugins-eventmesh-rhel8@sha256:5c6b9236ba9001cba22a23906b70849ebc1eb1e561c0166b9aadb4843607b730" - name: "IMAGE_KUBE_RBAC_PROXY" value: "registry.redhat.io/openshift4/ose-kube-rbac-proxy-rhel9@sha256:67651adfd8e6c8d12d2b9585c723d5fbdb664818f803312bfe3522e04a81e9b0" - name: "IMAGE_KN_PLUGIN_EVENT_SENDER" value: "registry.redhat.io/openshift-serverless-1/kn-plugin-event-sender-rhel8@sha256:3f6b47431a38ca5c518c0105ad2f79b92f3067f5c7e56c5e46bd13eb1e9982de" - name: "IMAGE_KN_CLIENT" - value: "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:930bfee931adc3bcaa53eec2d4b7cae67ac8edd2af18840ca9506b62db9c261e" + value: "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:5d550dae56a112c77748de341ba08bd1a712bd804cf7219196cf7d7019c7db8a" - name: "IMAGE_KN_PLUGIN_FUNC_UTIL" value: "registry.redhat.io/openshift-serverless-1/kn-plugin-func-func-util-rhel8@sha256:d5f49cc564427e52c796d1ed64b00d2f62ce6c47b1624a2e06e658b87c3ac3dd" - name: "IMAGE_KN_PLUGIN_FUNC_TEKTON_BUILDAH" @@ -1163,25 +1163,25 @@ spec: - name: "IMAGE_KN_PLUGIN_FUNC_PYTHON_39" value: "registry.access.redhat.com/ubi8/python-39@sha256:27e795fd6b1b77de70d1dc73a65e4c790650748a9cfda138fdbd194b3d6eea3d" - name: "KAFKA_IMAGE_kafka-broker-receiver__kafka-broker-receiver" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:22dd0d9615515d67b09fadb9e4c5034723b298e89b9604a60015b270a5cb8b5e" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:3ddd02fc4a8d782748d874e573f4bcdb0568f23bd9cfed29b2327ba17f12d15f" - name: "KAFKA_IMAGE_kafka-broker-dispatcher__kafka-broker-dispatcher" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:e84042cddfa58e3e5879432dbfd60c33845207869a5191807877ff309a758c26" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:5f51705a11616406d12ae99619127b136b5402811bd81a5b4022be4cdd7aa63a" - name: "KAFKA_IMAGE_kafka-channel-receiver__kafka-channel-receiver" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:22dd0d9615515d67b09fadb9e4c5034723b298e89b9604a60015b270a5cb8b5e" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:3ddd02fc4a8d782748d874e573f4bcdb0568f23bd9cfed29b2327ba17f12d15f" - name: "KAFKA_IMAGE_kafka-channel-dispatcher__kafka-channel-dispatcher" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:e84042cddfa58e3e5879432dbfd60c33845207869a5191807877ff309a758c26" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:5f51705a11616406d12ae99619127b136b5402811bd81a5b4022be4cdd7aa63a" - name: "KAFKA_IMAGE_kafka-controller__controller" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-kafka-controller-rhel8@sha256:7b37c9022971dde1be3e06353263db12d4c43281bb3de9176aa736477efdffbc" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-kafka-controller-rhel8@sha256:72461fc53e86213004b436e2e2d420362186b7bc3f614f3a1d5c5fd6464da3c9" - name: "KAFKA_IMAGE_kafka-sink-receiver__kafka-sink-receiver" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:22dd0d9615515d67b09fadb9e4c5034723b298e89b9604a60015b270a5cb8b5e" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:3ddd02fc4a8d782748d874e573f4bcdb0568f23bd9cfed29b2327ba17f12d15f" - name: "KAFKA_IMAGE_kafka-source-dispatcher__kafka-source-dispatcher" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:e84042cddfa58e3e5879432dbfd60c33845207869a5191807877ff309a758c26" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:5f51705a11616406d12ae99619127b136b5402811bd81a5b4022be4cdd7aa63a" - name: "KAFKA_IMAGE_kafka-webhook-eventing__kafka-webhook-eventing" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-webhook-kafka-rhel8@sha256:2e3d8333f5bcc8605fd20de2698413b59433bf2a6bacc63c1327401449ae89c0" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-webhook-kafka-rhel8@sha256:ca7aa47dbaeb243c068a850d4ebe6f904bdd78daaac4140e674555d981ae23f6" - name: "KAFKA_IMAGE_kafka-controller-post-install__post-install" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-post-install-rhel8@sha256:f3828ffa6628f0b70c4e8b95b9bde90289639b186a22047037da515f3b8193b0" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-post-install-rhel8@sha256:f173e35d967a67cbfd77c7f931afbad13cb21f542a1f4795d449cd61c55d4ed8" - name: "KAFKA_IMAGE_knative-kafka-storage-version-migrator__migrate" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:d8ad42aa5c662e0d4b6e94a636493e110875d756b1f3e9f08bb877c6bbe5098e" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:b54b7ef3c46d04e63de68d881452baf15f20afd66544ef4652c30027b28284e4" - name: "CURRENT_VERSION" value: "1.37.0" - name: "KNATIVE_SERVING_VERSION" @@ -1215,7 +1215,7 @@ spec: serviceAccountName: knative-openshift-ingress containers: - name: knative-openshift-ingress - image: registry.redhat.io/openshift-serverless-1/serverless-ingress-rhel8@sha256:a7b1fc154f395a908a02a2d81ae2f806ae110fc6f4d033234a440e285c6a1b3f + image: registry.redhat.io/openshift-serverless-1/serverless-ingress-rhel8@sha256:73dbedc7de2172fcfaecfe0f0e5f1911ce5e533cdb636f335aa0a11e76ae6e7d imagePullPolicy: Always ports: - containerPort: 9090 @@ -1366,85 +1366,85 @@ spec: - knativeeventings.operator.knative.dev relatedImages: - name: "knative-operator" - image: "registry.redhat.io/openshift-serverless-1/serverless-openshift-kn-rhel8-operator@sha256:5784632c1eee6229df241fde4a9ac04d914a5889a26b5228f57b43f3fd2b9a04" + image: "registry.redhat.io/openshift-serverless-1/serverless-openshift-kn-rhel8-operator@sha256:2843e1faa288dbf629d4e3050744591b631da5534fc19e59c65d091c79ecb535" - name: "knative-openshift" - image: "registry.redhat.io/openshift-serverless-1/serverless-kn-operator-rhel8@sha256:d642f113936d30cb057c862b617fbd0f8cd1aae49d990c73b7166db749bc44ad" + image: "registry.redhat.io/openshift-serverless-1/serverless-kn-operator-rhel8@sha256:201cae8239b6c77fe744f2d67180092aee957120df4c2daf0bbdc6039326ad05" - name: "knative-openshift-ingress" - image: "registry.redhat.io/openshift-serverless-1/serverless-ingress-rhel8@sha256:a7b1fc154f395a908a02a2d81ae2f806ae110fc6f4d033234a440e285c6a1b3f" + image: "registry.redhat.io/openshift-serverless-1/serverless-ingress-rhel8@sha256:73dbedc7de2172fcfaecfe0f0e5f1911ce5e533cdb636f335aa0a11e76ae6e7d" - name: "IMAGE_queue-proxy" - image: "registry.redhat.io/openshift-serverless-1/kn-serving-queue-rhel8@sha256:7fd4f3d24063dd4f0b3342a5d1f97f44ed7bbbda521d2b9f7a425cda5ede9142" + image: "registry.redhat.io/openshift-serverless-1/kn-serving-queue-rhel8@sha256:33213a2312c3feacea48f5db0aa433d28019bebb71238817e5447657108f3e9e" - name: "IMAGE_activator" image: "registry.redhat.io/openshift-serverless-1/kn-serving-activator-rhel8@sha256:8d3af24fc5f604c99e15a09032fa3fcad2701c974d32449e59fbb6928b733661" - name: "IMAGE_autoscaler" - image: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-rhel8@sha256:dab7794cf8f691292e86d16088b317320a5b2eb5d275ec0f225022e16b9c4f65" + image: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-rhel8@sha256:d57143c2de771f8ebf38122bf78c3601aa61f28ab379fca317ddc7de2faed2cb" - name: "IMAGE_autoscaler-hpa" - image: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-hpa-rhel8@sha256:5298eb1a0d3cb488a0b2df658858688bcdde6d22e1c015f57f73a5962c35a0eb" + image: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-hpa-rhel8@sha256:6af3ead245b2030a2e08900d7125a48ce9a8b31dc487ed70c825bc558a85aace" - name: "IMAGE_controller__controller" - image: "registry.redhat.io/openshift-serverless-1/kn-serving-controller-rhel8@sha256:890bb4ee1e633507c01639a7b56c2615c278f7516bdc124ad3c2166e798aa44d" + image: "registry.redhat.io/openshift-serverless-1/kn-serving-controller-rhel8@sha256:229a3bd8acf24393380a847fe3a2e0ef6cd63279db8ec2d04ab385c3b514692e" - name: "IMAGE_webhook__webhook" - image: "registry.redhat.io/openshift-serverless-1/kn-serving-webhook-rhel8@sha256:c25851ccd1c449db8bf5544ba80c8e710aca881953bb5491623836311f3dcf92" + image: "registry.redhat.io/openshift-serverless-1/kn-serving-webhook-rhel8@sha256:13eabb2634278a4d9ebc97a06dff5e300c2778af9ec3584b860ba3e2a47b5f8f" - name: "IMAGE_storage-version-migration-serving-__migrate" - image: "registry.redhat.io/openshift-serverless-1/kn-serving-storage-version-migration-rhel8@sha256:7539b86b1d8318821616965ff7c044bbb54b2ddd6cb5c4a90f6cf0e9785339f4" + image: "registry.redhat.io/openshift-serverless-1/kn-serving-storage-version-migration-rhel8@sha256:059d25ec0f1beedd8d1b788cce2fab94565de5aac1dc7011760c6188a921fbef" - name: "IMAGE_kourier-gateway" image: "registry.redhat.io/openshift-service-mesh/proxyv2-rhel8@sha256:1c19cf86fd05940ef3d0d6e79e6f371db993153f70baedb9107bbe73f236dc24" - name: "IMAGE_net-kourier-controller__controller" image: "registry.redhat.io/openshift-serverless-1/net-kourier-kourier-rhel8@sha256:daec76096c59acdffb2391c4d5c706c833197c43f0c76b8759198fbae8d3c7eb" - name: "IMAGE_net-istio-controller__controller" - image: "registry.redhat.io/openshift-serverless-1/net-istio-controller-rhel8@sha256:fab0e5c8ac116b7fa857ae24657b1983de3ede4f21a26608b9512a4a3a0c9a4d" + image: "registry.redhat.io/openshift-serverless-1/net-istio-controller-rhel8@sha256:e40c912031277f8fb910df058050567f427397b1790cdf655521fbf5a991e096" - name: "IMAGE_net-istio-webhook__webhook" - image: "registry.redhat.io/openshift-serverless-1/net-istio-webhook-rhel8@sha256:670ed3f68b3be824c8b8a74f024591ee20898e83cd974536b8cea59513e2bb88" + image: "registry.redhat.io/openshift-serverless-1/net-istio-webhook-rhel8@sha256:f9bb9bc8db0876379cb51db1e74522f5795e41edba18ee7fdedc2e9fa2b9adda" - name: "IMAGE_eventing-controller__eventing-controller" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-controller-rhel8@sha256:cd1870f04b9fcc70a7b5f8af6f1e204923158d95b6bbbaa40c75f4bf38d1b2f8" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-controller-rhel8@sha256:841eaf25d520fce67b4c4ad73342fd394324910eedbef868c8698c5297584f78" - name: "IMAGE_eventing-istio-controller__eventing-istio-controller" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-istio-controller-rhel8@sha256:4fdb2768514b69c39e703c630088454b79bf0502fcf9db84e351891f1ade3a3f" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-istio-controller-rhel8@sha256:44f8f2b1c1aafe0518a54f2efb2e06c31ce128fec5b8fd2ae7cd6c5f56ec91ed" - name: "IMAGE_eventing-webhook__eventing-webhook" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-webhook-rhel8@sha256:6b18a49c54143246e6fb8e79adf2303b54ba52bffb5dae13601df69f33c3f2b0" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-webhook-rhel8@sha256:86f0d85a774e36c3a07e0b336db581d2e75c5fad4378b9adc1b3b1ecc98b2e8b" - name: "IMAGE_storage-version-migration-eventing-__migrate" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:d8ad42aa5c662e0d4b6e94a636493e110875d756b1f3e9f08bb877c6bbe5098e" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:b54b7ef3c46d04e63de68d881452baf15f20afd66544ef4652c30027b28284e4" - name: "IMAGE_mt-broker-controller__mt-broker-controller" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtchannel-broker-rhel8@sha256:065ee8dc1e5566aac4b0bc7b3b63613db7a8626bc8cdf8bed81c059fb22c9558" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtchannel-broker-rhel8@sha256:7038e3d61308bf3d252ceb809bc69dd1fae2bd1fd9992ab53fc70a459d807a77" - name: "IMAGE_mt-broker-filter__filter" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-filter-rhel8@sha256:04c3c9c07833e12975bededd9f9a44f0cbd39525f487a87be2eba36f3dbf72ea" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-filter-rhel8@sha256:406664cd7698179dedb947b3ce03075914b68e56977a3a51d382938ec290e295" - name: "IMAGE_mt-broker-ingress__ingress" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-ingress-rhel8@sha256:848b4855a75f2e9e5ddfbde5fe5695a320c527758c2f57ebe48584f4c0d02780" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-ingress-rhel8@sha256:6092c68f02f0cb0fae0f8f6800048d279c89528dc9c9a85b3e0910e461133d7d" - name: "IMAGE_imc-controller__controller" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-controller-rhel8@sha256:b519a88e7505b7cd5e0b87abb870a721101b92089a90f8720085e3fda2b0ff70" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-controller-rhel8@sha256:52244782e992be48bcce811e87271b22b9c70a222115018f717b3bf0a4f6bc34" - name: "IMAGE_imc-dispatcher__dispatcher" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:ce21d160603172ff37829c399028da622f9a8f525817bc58edcc06bc4c6cb2ce" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:3b774b1bf094a267c20133326015eaaa305a5fd78632a0964084b2e9da9d0f3f" - name: "IMAGE_pingsource-mt-adapter__dispatcher" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtping-rhel8@sha256:b275c025b6113a3a803b39bf8465729ca8a025168dfed6cfa31791712ed5047b" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtping-rhel8@sha256:78d56f9ef684c17e475a3559585d88c376a32045bb11129f92746d3d4854a117" - name: "IMAGE_job-sink__job-sink" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-jobsink-rhel8@sha256:3fe3e2dcfc5fc2b60a9e1cd17576e5805e4604054a48237dd9c311d9da983c53" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-jobsink-rhel8@sha256:750688ac07d15be2b43d66eb3e30ba417bf427b78790c8b59605a93bcce5673a" - name: "IMAGE_APISERVER_RA_IMAGE" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-apiserver-receive-adapter-rhel8@sha256:841574c937506069631266e6ad9423fdb7853f33b70c02d19b0d821862b2fa6a" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-apiserver-receive-adapter-rhel8@sha256:8a6940ada4e989310f164dae6112528016217fa92ac97233ed56397b8c06f1da" - name: "IMAGE_DISPATCHER_IMAGE" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:ce21d160603172ff37829c399028da622f9a8f525817bc58edcc06bc4c6cb2ce" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:3b774b1bf094a267c20133326015eaaa305a5fd78632a0964084b2e9da9d0f3f" - name: "IMAGE_EVENT_TRANSFORM_JSONATA_IMAGE" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-transform-jsonata-rhel8@sha256:b75ed48f0130203eae50b934410178844af86fbe953825cc3114764db11a216f" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-transform-jsonata-rhel8@sha256:d5c6983ce7e56bff380e4a80b930680a9f50ff1fe4b6f8143bda058a8b221ff6" - name: "IMAGE_INTEGRATION_SOURCE_TIMER_IMAGE" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-timer-source-rhel8@sha256:4c82613b53e280a85c05f0b27449c804a2e380ba881046bf364cdf88e73405b5" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-timer-source-rhel8@sha256:0aa4e712c454dd0615a191d509d6b54731bb990cea8f3d70d14889929456574a" - name: "IMAGE_INTEGRATION_SOURCE_AWS_S3_IMAGE" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-s3-source-rhel8@sha256:c03700e21670fb7bae5feb434f981db30afbe366da20f004cd0faf91538fe96b" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-s3-source-rhel8@sha256:eab8141b7ca0e84823ea197a78b6e258691153bf85bc74a7f7a761998d15c194" - name: "IMAGE_INTEGRATION_SOURCE_AWS_SQS_IMAGE" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sqs-source-rhel8@sha256:5ef87186e7b38d727b162c6027f20da49695094618380e3686e3c61dd51fd31d" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sqs-source-rhel8@sha256:a440d67cdb3c96865bddc9a80612a8b1e02f355e3bb6377666fb005b15999aef" - name: "IMAGE_INTEGRATION_SOURCE_AWS_DDB_STREAMS_IMAGE" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-ddb-streams-source-rhel8@sha256:5a2eef78620450c91e6951d808275774144f54bdfefc7d0e7fa393aba0e86345" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-ddb-streams-source-rhel8@sha256:20a1ade9e8ab7d1663de3075996e36695170d30219e2561e6ff2ed24f66c2ac2" - name: "IMAGE_INTEGRATION_SINK_LOG_IMAGE" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-log-sink-rhel8@sha256:f1b9d6b31dbd0e8957e24be849bef1cede9ed255bcfb1a9d5ec627a45b02b9b2" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-log-sink-rhel8@sha256:688507afe68fbac06150cc750e25b1a925bceac17ee9bef3ef4f968e65d5ed4c" - name: "IMAGE_INTEGRATION_SINK_AWS_S3_IMAGE" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-s3-sink-rhel8@sha256:b4220e7c8324a97d4f173bd214ee56fcaf70121cdb011b4cd8782e5a30456871" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-s3-sink-rhel8@sha256:d4042cfad92836c213be577d99599188d2332b55e6ea805257cfce05b07983b3" - name: "IMAGE_INTEGRATION_SINK_AWS_SQS_IMAGE" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sqs-sink-rhel8@sha256:06e24a773dd110de200985d9693b075d27497d23915492755d5ac86b55322ccb" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sqs-sink-rhel8@sha256:2526c000ea374336c303c6c449a85272977b89e227fc0f0e0de5523d9edcc794" - name: "IMAGE_INTEGRATION_SINK_AWS_SNS_IMAGE" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sns-sink-rhel8@sha256:893ed28260201ad5303d37b2fa4890a02053f5e66ed4570b65d9b7bbd4a5c968" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-integrations-aws-sns-sink-rhel8@sha256:2fd5c5d6a6e48b53d4b5a11a8257eb31ebc3568c5601faf39512b53ddefd3d49" - name: "IMAGE_eventmesh-backend__controller" - image: "registry.redhat.io/openshift-serverless-1/kn-backstage-plugins-eventmesh-rhel8@sha256:3a1e40530d8022c86bde6ef6803bb9db545d95985ea2698dbc175d3111010751" + image: "registry.redhat.io/openshift-serverless-1/kn-backstage-plugins-eventmesh-rhel8@sha256:5c6b9236ba9001cba22a23906b70849ebc1eb1e561c0166b9aadb4843607b730" - name: "IMAGE_KUBE_RBAC_PROXY" image: "registry.redhat.io/openshift4/ose-kube-rbac-proxy-rhel9@sha256:67651adfd8e6c8d12d2b9585c723d5fbdb664818f803312bfe3522e04a81e9b0" - name: "IMAGE_KN_PLUGIN_EVENT_SENDER" image: "registry.redhat.io/openshift-serverless-1/kn-plugin-event-sender-rhel8@sha256:3f6b47431a38ca5c518c0105ad2f79b92f3067f5c7e56c5e46bd13eb1e9982de" - name: "IMAGE_KN_CLIENT" - image: "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:930bfee931adc3bcaa53eec2d4b7cae67ac8edd2af18840ca9506b62db9c261e" + image: "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:5d550dae56a112c77748de341ba08bd1a712bd804cf7219196cf7d7019c7db8a" - name: "IMAGE_KN_PLUGIN_FUNC_UTIL" image: "registry.redhat.io/openshift-serverless-1/kn-plugin-func-func-util-rhel8@sha256:d5f49cc564427e52c796d1ed64b00d2f62ce6c47b1624a2e06e658b87c3ac3dd" - name: "IMAGE_KN_PLUGIN_FUNC_TEKTON_BUILDAH" @@ -1456,28 +1456,28 @@ spec: - name: "IMAGE_KN_PLUGIN_FUNC_PYTHON_39" image: "registry.access.redhat.com/ubi8/python-39@sha256:27e795fd6b1b77de70d1dc73a65e4c790650748a9cfda138fdbd194b3d6eea3d" - name: "KAFKA_IMAGE_kafka-broker-receiver__kafka-broker-receiver" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:22dd0d9615515d67b09fadb9e4c5034723b298e89b9604a60015b270a5cb8b5e" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:3ddd02fc4a8d782748d874e573f4bcdb0568f23bd9cfed29b2327ba17f12d15f" - name: "KAFKA_IMAGE_kafka-broker-dispatcher__kafka-broker-dispatcher" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:e84042cddfa58e3e5879432dbfd60c33845207869a5191807877ff309a758c26" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:5f51705a11616406d12ae99619127b136b5402811bd81a5b4022be4cdd7aa63a" - name: "KAFKA_IMAGE_kafka-channel-receiver__kafka-channel-receiver" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:22dd0d9615515d67b09fadb9e4c5034723b298e89b9604a60015b270a5cb8b5e" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:3ddd02fc4a8d782748d874e573f4bcdb0568f23bd9cfed29b2327ba17f12d15f" - name: "KAFKA_IMAGE_kafka-channel-dispatcher__kafka-channel-dispatcher" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:e84042cddfa58e3e5879432dbfd60c33845207869a5191807877ff309a758c26" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:5f51705a11616406d12ae99619127b136b5402811bd81a5b4022be4cdd7aa63a" - name: "KAFKA_IMAGE_kafka-controller__controller" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-kafka-controller-rhel8@sha256:7b37c9022971dde1be3e06353263db12d4c43281bb3de9176aa736477efdffbc" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-kafka-controller-rhel8@sha256:72461fc53e86213004b436e2e2d420362186b7bc3f614f3a1d5c5fd6464da3c9" - name: "KAFKA_IMAGE_kafka-sink-receiver__kafka-sink-receiver" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:22dd0d9615515d67b09fadb9e4c5034723b298e89b9604a60015b270a5cb8b5e" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:3ddd02fc4a8d782748d874e573f4bcdb0568f23bd9cfed29b2327ba17f12d15f" - name: "KAFKA_IMAGE_kafka-source-dispatcher__kafka-source-dispatcher" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:e84042cddfa58e3e5879432dbfd60c33845207869a5191807877ff309a758c26" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:5f51705a11616406d12ae99619127b136b5402811bd81a5b4022be4cdd7aa63a" - name: "KAFKA_IMAGE_kafka-webhook-eventing__kafka-webhook-eventing" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-webhook-kafka-rhel8@sha256:2e3d8333f5bcc8605fd20de2698413b59433bf2a6bacc63c1327401449ae89c0" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-webhook-kafka-rhel8@sha256:ca7aa47dbaeb243c068a850d4ebe6f904bdd78daaac4140e674555d981ae23f6" - name: "KAFKA_IMAGE_kafka-controller-post-install__post-install" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-post-install-rhel8@sha256:f3828ffa6628f0b70c4e8b95b9bde90289639b186a22047037da515f3b8193b0" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-post-install-rhel8@sha256:f173e35d967a67cbfd77c7f931afbad13cb21f542a1f4795d449cd61c55d4ed8" - name: "KAFKA_IMAGE_knative-kafka-storage-version-migrator__migrate" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:d8ad42aa5c662e0d4b6e94a636493e110875d756b1f3e9f08bb877c6bbe5098e" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:b54b7ef3c46d04e63de68d881452baf15f20afd66544ef4652c30027b28284e4" - name: "IMAGE_MUST_GATHER" - image: "registry.redhat.io/openshift-serverless-1/serverless-must-gather-rhel8@sha256:5d950be6a17ac307b37e0e2699abc6f2d1af6e0814bad7e09086d8b8a0e2d0a9" + image: "registry.redhat.io/openshift-serverless-1/serverless-must-gather-rhel8@sha256:89f8d6964d57209f9c31ab28ae3238a64d5dcf71dc3cf274607a72043fd40f9a" - name: "IMAGE_KN_CLIENT_CLI_ARTIFACTS" - image: "registry.redhat.io/openshift-serverless-1/kn-client-cli-artifacts-rhel8@sha256:3cb5ceffab278d5f8b667bbbb770eaf5967d2864479b1b287367486740cbb2e0" + image: "registry.redhat.io/openshift-serverless-1/kn-client-cli-artifacts-rhel8@sha256:02230ae9100f2e551f79988b810dea1594cc567d3252b8ad8e9a6392fd34a9e7" replaces: serverless-operator.v1.36.0 version: 1.37.0 diff --git a/test/images-rekt.yaml b/test/images-rekt.yaml index 00d7e5cfec..b5827a3874 100644 --- a/test/images-rekt.yaml +++ b/test/images-rekt.yaml @@ -1,2 +1,2 @@ -knative.dev/reconciler-test/cmd/eventshub: quay.io/redhat-user-workloads/ocp-serverless-tenant/serverless-operator-137/kn-eventing-test-eventshub@sha256:c9f8e14a5bd6c142b939dabe327779350aa1bcacb9a2c0fd003ef14db718e4b7 -knative.dev/eventing/cmd/heartbeats: quay.io/redhat-user-workloads/ocp-serverless-tenant/serverless-operator-137/kn-eventing-heartbeats@sha256:108151427150d0dda57bb3a0e65d938feca3122dad315dcbe35ed0e96bd38ef8 +knative.dev/reconciler-test/cmd/eventshub: quay.io/redhat-user-workloads/ocp-serverless-tenant/serverless-operator-137/kn-eventing-test-eventshub@sha256:3c11c7d1d46a13f1d3aca9882305e5d224d9ef846e7492b35b029b5346d75ad6 +knative.dev/eventing/cmd/heartbeats: quay.io/redhat-user-workloads/ocp-serverless-tenant/serverless-operator-137/kn-eventing-heartbeats@sha256:ee57e4d453510fe578eff335f1bebdd18ea889d343a0104d16d1b467d2336b40 diff --git a/vendor/github.com/IBM/sarama/entrypoint.sh b/vendor/github.com/IBM/sarama/entrypoint.sh old mode 100644 new mode 100755 diff --git a/vendor/github.com/cespare/xxhash/v2/testall.sh b/vendor/github.com/cespare/xxhash/v2/testall.sh old mode 100644 new mode 100755 diff --git a/vendor/github.com/emicklei/go-restful/v3/bench_test.sh b/vendor/github.com/emicklei/go-restful/v3/bench_test.sh old mode 100644 new mode 100755 diff --git a/vendor/github.com/emicklei/go-restful/v3/coverage.sh b/vendor/github.com/emicklei/go-restful/v3/coverage.sh old mode 100644 new mode 100755 diff --git a/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/internal/httprule/BUILD.bazel b/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/internal/httprule/BUILD.bazel deleted file mode 100644 index b8fbb2b77c..0000000000 --- a/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/internal/httprule/BUILD.bazel +++ /dev/null @@ -1,35 +0,0 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") - -package(default_visibility = ["//visibility:public"]) - -go_library( - name = "httprule", - srcs = [ - "compile.go", - "parse.go", - "types.go", - ], - importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/internal/httprule", - deps = ["//utilities"], -) - -go_test( - name = "httprule_test", - size = "small", - srcs = [ - "compile_test.go", - "parse_test.go", - "types_test.go", - ], - embed = [":httprule"], - deps = [ - "//utilities", - "@org_golang_google_grpc//grpclog", - ], -) - -alias( - name = "go_default_library", - actual = ":httprule", - visibility = ["//:__subpackages__"], -) diff --git a/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/BUILD.bazel b/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/BUILD.bazel deleted file mode 100644 index a65d88eb86..0000000000 --- a/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/runtime/BUILD.bazel +++ /dev/null @@ -1,97 +0,0 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") - -package(default_visibility = ["//visibility:public"]) - -go_library( - name = "runtime", - srcs = [ - "context.go", - "convert.go", - "doc.go", - "errors.go", - "fieldmask.go", - "handler.go", - "marshal_httpbodyproto.go", - "marshal_json.go", - "marshal_jsonpb.go", - "marshal_proto.go", - "marshaler.go", - "marshaler_registry.go", - "mux.go", - "pattern.go", - "proto2_convert.go", - "query.go", - ], - importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/runtime", - deps = [ - "//internal/httprule", - "//utilities", - "@org_golang_google_genproto_googleapis_api//httpbody", - "@org_golang_google_grpc//codes", - "@org_golang_google_grpc//grpclog", - "@org_golang_google_grpc//health/grpc_health_v1", - "@org_golang_google_grpc//metadata", - "@org_golang_google_grpc//status", - "@org_golang_google_protobuf//encoding/protojson", - "@org_golang_google_protobuf//proto", - "@org_golang_google_protobuf//reflect/protoreflect", - "@org_golang_google_protobuf//reflect/protoregistry", - "@org_golang_google_protobuf//types/known/durationpb", - "@org_golang_google_protobuf//types/known/fieldmaskpb", - "@org_golang_google_protobuf//types/known/structpb", - "@org_golang_google_protobuf//types/known/timestamppb", - "@org_golang_google_protobuf//types/known/wrapperspb", - ], -) - -go_test( - name = "runtime_test", - size = "small", - srcs = [ - "context_test.go", - "convert_test.go", - "errors_test.go", - "fieldmask_test.go", - "handler_test.go", - "marshal_httpbodyproto_test.go", - "marshal_json_test.go", - "marshal_jsonpb_test.go", - "marshal_proto_test.go", - "marshaler_registry_test.go", - "mux_internal_test.go", - "mux_test.go", - "pattern_test.go", - "query_fuzz_test.go", - "query_test.go", - ], - embed = [":runtime"], - deps = [ - "//runtime/internal/examplepb", - "//utilities", - "@com_github_google_go_cmp//cmp", - "@com_github_google_go_cmp//cmp/cmpopts", - "@org_golang_google_genproto_googleapis_api//httpbody", - "@org_golang_google_genproto_googleapis_rpc//errdetails", - "@org_golang_google_genproto_googleapis_rpc//status", - "@org_golang_google_grpc//:grpc", - "@org_golang_google_grpc//codes", - "@org_golang_google_grpc//health/grpc_health_v1", - "@org_golang_google_grpc//metadata", - "@org_golang_google_grpc//status", - "@org_golang_google_protobuf//encoding/protojson", - "@org_golang_google_protobuf//proto", - "@org_golang_google_protobuf//testing/protocmp", - "@org_golang_google_protobuf//types/known/durationpb", - "@org_golang_google_protobuf//types/known/emptypb", - "@org_golang_google_protobuf//types/known/fieldmaskpb", - "@org_golang_google_protobuf//types/known/structpb", - "@org_golang_google_protobuf//types/known/timestamppb", - "@org_golang_google_protobuf//types/known/wrapperspb", - ], -) - -alias( - name = "go_default_library", - actual = ":runtime", - visibility = ["//visibility:public"], -) diff --git a/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/utilities/BUILD.bazel b/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/utilities/BUILD.bazel deleted file mode 100644 index b894094657..0000000000 --- a/vendor/github.com/grpc-ecosystem/grpc-gateway/v2/utilities/BUILD.bazel +++ /dev/null @@ -1,31 +0,0 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") - -package(default_visibility = ["//visibility:public"]) - -go_library( - name = "utilities", - srcs = [ - "doc.go", - "pattern.go", - "readerfactory.go", - "string_array_flag.go", - "trie.go", - ], - importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/utilities", -) - -go_test( - name = "utilities_test", - size = "small", - srcs = [ - "string_array_flag_test.go", - "trie_test.go", - ], - deps = [":utilities"], -) - -alias( - name = "go_default_library", - actual = ":utilities", - visibility = ["//visibility:public"], -) diff --git a/vendor/github.com/json-iterator/go/build.sh b/vendor/github.com/json-iterator/go/build.sh old mode 100644 new mode 100755 diff --git a/vendor/github.com/json-iterator/go/test.sh b/vendor/github.com/json-iterator/go/test.sh old mode 100644 new mode 100755 diff --git a/vendor/github.com/klauspost/compress/gen.sh b/vendor/github.com/klauspost/compress/gen.sh old mode 100644 new mode 100755 diff --git a/vendor/github.com/manifestival/manifestival/manifestival.go b/vendor/github.com/manifestival/manifestival/manifestival.go index b8d07b8bc2..892433fb61 100644 --- a/vendor/github.com/manifestival/manifestival/manifestival.go +++ b/vendor/github.com/manifestival/manifestival/manifestival.go @@ -133,7 +133,7 @@ func (m Manifest) apply(spec *unstructured.Unstructured, opts ...ApplyOption) er annotate(current, v1.LastAppliedConfigAnnotation, lastApplied(current)) return m.Client.Create(current, opts...) } else { - diff, err := patch.New(current, spec) + diff, err := patch.New(unsetStatus(current), unsetStatus(spec)) if err != nil { return err } @@ -156,6 +156,14 @@ func (m Manifest) apply(spec *unstructured.Unstructured, opts ...ApplyOption) er } } +func unsetStatus(spec *unstructured.Unstructured) *unstructured.Unstructured { + spec = spec.DeepCopy() + if _, ok := spec.Object["status"]; ok { + spec.Object["status"] = nil + } + return spec +} + // update a single resource func (m Manifest) update(live, spec *unstructured.Unstructured, opts ...ApplyOption) error { m.logResource("Updating", live) diff --git a/vendor/github.com/modern-go/concurrent/test.sh b/vendor/github.com/modern-go/concurrent/test.sh old mode 100644 new mode 100755 diff --git a/vendor/github.com/openshift/api/route/v1/test-route-validation.sh b/vendor/github.com/openshift/api/route/v1/test-route-validation.sh old mode 100644 new mode 100755 diff --git a/vendor/github.com/pelletier/go-toml/v2/ci.sh b/vendor/github.com/pelletier/go-toml/v2/ci.sh old mode 100644 new mode 100755 diff --git a/vendor/github.com/rcrowley/go-metrics/validate.sh b/vendor/github.com/rcrowley/go-metrics/validate.sh old mode 100644 new mode 100755 diff --git a/vendor/github.com/rickb777/plural/build+test.sh b/vendor/github.com/rickb777/plural/build+test.sh old mode 100644 new mode 100755 diff --git a/vendor/go.uber.org/zap/checklicense.sh b/vendor/go.uber.org/zap/checklicense.sh old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/plan9/mkall.sh b/vendor/golang.org/x/sys/plan9/mkall.sh old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/plan9/mkerrors.sh b/vendor/golang.org/x/sys/plan9/mkerrors.sh old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh b/vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh old mode 100644 new mode 100755 diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh old mode 100644 new mode 100755 diff --git a/vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS b/vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS deleted file mode 100644 index 1a9f5e7706..0000000000 --- a/vendor/k8s.io/apimachinery/pkg/api/errors/OWNERS +++ /dev/null @@ -1,16 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: - - thockin - - smarterclayton - - wojtek-t - - deads2k - - derekwaynecarr - - caesarxuchao - - mikedanese - - liggitt - - saad-ali - - janetkuo - - tallclair - - dims - - cjcullen diff --git a/vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS b/vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS deleted file mode 100644 index 1e1330fff2..0000000000 --- a/vendor/k8s.io/apimachinery/pkg/api/meta/OWNERS +++ /dev/null @@ -1,14 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: - - thockin - - smarterclayton - - wojtek-t - - deads2k - - derekwaynecarr - - caesarxuchao - - mikedanese - - liggitt - - janetkuo - - ncdc - - dims diff --git a/vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS b/vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS deleted file mode 100644 index 063fd285da..0000000000 --- a/vendor/k8s.io/apimachinery/pkg/api/resource/OWNERS +++ /dev/null @@ -1,10 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: - - thockin - - smarterclayton - - wojtek-t - - derekwaynecarr - - mikedanese - - saad-ali - - janetkuo diff --git a/vendor/k8s.io/apimachinery/pkg/api/validation/OWNERS b/vendor/k8s.io/apimachinery/pkg/api/validation/OWNERS deleted file mode 100644 index 4023732476..0000000000 --- a/vendor/k8s.io/apimachinery/pkg/api/validation/OWNERS +++ /dev/null @@ -1,11 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -# Disable inheritance as this is an api owners file -options: - no_parent_owners: true -approvers: - - api-approvers -reviewers: - - api-reviewers -labels: - - kind/api-change diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS deleted file mode 100644 index e7e5c152d0..0000000000 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/OWNERS +++ /dev/null @@ -1,16 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: - - thockin - - smarterclayton - - wojtek-t - - deads2k - - caesarxuchao - - liggitt - - sttts - - luxas - - janetkuo - - justinsb - - ncdc - - soltysh - - dims diff --git a/vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS b/vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS deleted file mode 100644 index 349bc69d65..0000000000 --- a/vendor/k8s.io/apimachinery/pkg/util/mergepatch/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: - - pwittrock -reviewers: - - apelisse diff --git a/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS b/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS deleted file mode 100644 index 73244449f2..0000000000 --- a/vendor/k8s.io/apimachinery/pkg/util/strategicpatch/OWNERS +++ /dev/null @@ -1,9 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: - - apelisse - - pwittrock -reviewers: - - apelisse -emeritus_approvers: - - mengqiy diff --git a/vendor/k8s.io/apimachinery/pkg/util/validation/OWNERS b/vendor/k8s.io/apimachinery/pkg/util/validation/OWNERS deleted file mode 100644 index 4023732476..0000000000 --- a/vendor/k8s.io/apimachinery/pkg/util/validation/OWNERS +++ /dev/null @@ -1,11 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -# Disable inheritance as this is an api owners file -options: - no_parent_owners: true -approvers: - - api-approvers -reviewers: - - api-reviewers -labels: - - kind/api-change diff --git a/vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS b/vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS deleted file mode 100644 index 349bc69d65..0000000000 --- a/vendor/k8s.io/apimachinery/third_party/forked/golang/json/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: - - pwittrock -reviewers: - - apelisse diff --git a/vendor/k8s.io/client-go/applyconfigurations/OWNERS b/vendor/k8s.io/client-go/applyconfigurations/OWNERS deleted file mode 100644 index ea0928429d..0000000000 --- a/vendor/k8s.io/client-go/applyconfigurations/OWNERS +++ /dev/null @@ -1,5 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: - - apelisse - - jpbetz diff --git a/vendor/k8s.io/client-go/openapi/OWNERS b/vendor/k8s.io/client-go/openapi/OWNERS deleted file mode 100644 index e610094242..0000000000 --- a/vendor/k8s.io/client-go/openapi/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: - - apelisse diff --git a/vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS b/vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS deleted file mode 100644 index 4dfbb98aec..0000000000 --- a/vendor/k8s.io/client-go/pkg/apis/clientauthentication/OWNERS +++ /dev/null @@ -1,8 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -# approval on api packages bubbles to api-approvers -reviewers: - - sig-auth-authenticators-approvers - - sig-auth-authenticators-reviewers -labels: - - sig/auth diff --git a/vendor/k8s.io/client-go/rest/OWNERS b/vendor/k8s.io/client-go/rest/OWNERS deleted file mode 100644 index 7b23294c45..0000000000 --- a/vendor/k8s.io/client-go/rest/OWNERS +++ /dev/null @@ -1,14 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: - - thockin - - smarterclayton - - caesarxuchao - - wojtek-t - - deads2k - - liggitt - - sttts - - luxas - - dims - - cjcullen - - lojies diff --git a/vendor/k8s.io/client-go/tools/auth/OWNERS b/vendor/k8s.io/client-go/tools/auth/OWNERS deleted file mode 100644 index c4ea6463df..0000000000 --- a/vendor/k8s.io/client-go/tools/auth/OWNERS +++ /dev/null @@ -1,8 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: - - sig-auth-authenticators-approvers -reviewers: - - sig-auth-authenticators-reviewers -labels: - - sig/auth diff --git a/vendor/k8s.io/client-go/tools/cache/OWNERS b/vendor/k8s.io/client-go/tools/cache/OWNERS deleted file mode 100644 index 921ac2fa02..0000000000 --- a/vendor/k8s.io/client-go/tools/cache/OWNERS +++ /dev/null @@ -1,28 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: - - thockin - - smarterclayton - - wojtek-t - - deads2k - - caesarxuchao - - liggitt - - ncdc -reviewers: - - thockin - - smarterclayton - - wojtek-t - - deads2k - - derekwaynecarr - - caesarxuchao - - mikedanese - - liggitt - - janetkuo - - justinsb - - soltysh - - jsafrane - - dims - - ingvagabund - - ncdc -emeritus_approvers: - - lavalamp diff --git a/vendor/k8s.io/client-go/tools/leaderelection/OWNERS b/vendor/k8s.io/client-go/tools/leaderelection/OWNERS deleted file mode 100644 index 908bdacdfe..0000000000 --- a/vendor/k8s.io/client-go/tools/leaderelection/OWNERS +++ /dev/null @@ -1,11 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: - - mikedanese -reviewers: - - wojtek-t - - deads2k - - mikedanese - - ingvagabund -emeritus_approvers: - - timothysc diff --git a/vendor/k8s.io/client-go/tools/metrics/OWNERS b/vendor/k8s.io/client-go/tools/metrics/OWNERS deleted file mode 100644 index 2c9488a5fb..0000000000 --- a/vendor/k8s.io/client-go/tools/metrics/OWNERS +++ /dev/null @@ -1,5 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: - - wojtek-t - - jayunit100 diff --git a/vendor/k8s.io/client-go/tools/record/OWNERS b/vendor/k8s.io/client-go/tools/record/OWNERS deleted file mode 100644 index 8105c4fe08..0000000000 --- a/vendor/k8s.io/client-go/tools/record/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: - - sig-instrumentation-reviewers -approvers: - - sig-instrumentation-approvers diff --git a/vendor/k8s.io/client-go/transport/OWNERS b/vendor/k8s.io/client-go/transport/OWNERS deleted file mode 100644 index 34adee5ec5..0000000000 --- a/vendor/k8s.io/client-go/transport/OWNERS +++ /dev/null @@ -1,8 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: - - smarterclayton - - wojtek-t - - deads2k - - liggitt - - caesarxuchao diff --git a/vendor/k8s.io/client-go/util/cert/OWNERS b/vendor/k8s.io/client-go/util/cert/OWNERS deleted file mode 100644 index 3c3b94c58c..0000000000 --- a/vendor/k8s.io/client-go/util/cert/OWNERS +++ /dev/null @@ -1,8 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: - - sig-auth-certificates-approvers -reviewers: - - sig-auth-certificates-reviewers -labels: - - sig/auth diff --git a/vendor/k8s.io/client-go/util/keyutil/OWNERS b/vendor/k8s.io/client-go/util/keyutil/OWNERS deleted file mode 100644 index e6d229d5db..0000000000 --- a/vendor/k8s.io/client-go/util/keyutil/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -approvers: - - sig-auth-certificates-approvers -reviewers: - - sig-auth-certificates-reviewers -labels: - - sig/auth diff --git a/vendor/k8s.io/client-go/util/retry/OWNERS b/vendor/k8s.io/client-go/util/retry/OWNERS deleted file mode 100644 index 75736b5aac..0000000000 --- a/vendor/k8s.io/client-go/util/retry/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -reviewers: - - caesarxuchao diff --git a/vendor/k8s.io/code-generator/OWNERS b/vendor/k8s.io/code-generator/OWNERS deleted file mode 100644 index d16e47e85d..0000000000 --- a/vendor/k8s.io/code-generator/OWNERS +++ /dev/null @@ -1,16 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: - - deads2k - - jpbetz - - wojtek-t - - sttts -reviewers: - - deads2k - - wojtek-t - - sttts -labels: - - sig/api-machinery - - area/code-generation -emeritus_approvers: - - lavalamp diff --git a/vendor/k8s.io/code-generator/cmd/client-gen/OWNERS b/vendor/k8s.io/code-generator/cmd/client-gen/OWNERS deleted file mode 100644 index 967eb2a7bb..0000000000 --- a/vendor/k8s.io/code-generator/cmd/client-gen/OWNERS +++ /dev/null @@ -1,11 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: - - wojtek-t - - caesarxuchao -reviewers: - - wojtek-t - - caesarxuchao - - jpbetz -emeritus_approvers: - - lavalamp diff --git a/vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS b/vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS deleted file mode 100644 index af7e2ec4c7..0000000000 --- a/vendor/k8s.io/code-generator/cmd/go-to-protobuf/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: - - smarterclayton -reviewers: - - smarterclayton diff --git a/vendor/k8s.io/code-generator/generate-groups.sh b/vendor/k8s.io/code-generator/generate-groups.sh old mode 100644 new mode 100755 diff --git a/vendor/k8s.io/code-generator/generate-internal-groups.sh b/vendor/k8s.io/code-generator/generate-internal-groups.sh old mode 100644 new mode 100755 diff --git a/vendor/k8s.io/code-generator/kube_codegen.sh b/vendor/k8s.io/code-generator/kube_codegen.sh old mode 100644 new mode 100755 diff --git a/vendor/k8s.io/klog/v2/OWNERS b/vendor/k8s.io/klog/v2/OWNERS deleted file mode 100644 index 7500475a64..0000000000 --- a/vendor/k8s.io/klog/v2/OWNERS +++ /dev/null @@ -1,16 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners -reviewers: - - harshanarayana - - mengjiao-liu - - pohly -approvers: - - dims - - pohly - - thockin -emeritus_approvers: - - brancz - - justinsb - - lavalamp - - piosz - - serathius - - tallclair diff --git a/vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS b/vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS deleted file mode 100644 index 235bc545b8..0000000000 --- a/vendor/k8s.io/kube-openapi/pkg/generators/rules/OWNERS +++ /dev/null @@ -1,4 +0,0 @@ -reviewers: -- roycaihw -approvers: -- roycaihw diff --git a/vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS b/vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS deleted file mode 100644 index 9621a6a3a4..0000000000 --- a/vendor/k8s.io/kube-openapi/pkg/util/proto/OWNERS +++ /dev/null @@ -1,2 +0,0 @@ -approvers: -- apelisse diff --git a/vendor/k8s.io/utils/pointer/OWNERS b/vendor/k8s.io/utils/pointer/OWNERS deleted file mode 100644 index 0d6392752a..0000000000 --- a/vendor/k8s.io/utils/pointer/OWNERS +++ /dev/null @@ -1,10 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- apelisse -- stewart-yu -- thockin -reviewers: -- apelisse -- stewart-yu -- thockin diff --git a/vendor/k8s.io/utils/ptr/OWNERS b/vendor/k8s.io/utils/ptr/OWNERS deleted file mode 100644 index 0d6392752a..0000000000 --- a/vendor/k8s.io/utils/ptr/OWNERS +++ /dev/null @@ -1,10 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- apelisse -- stewart-yu -- thockin -reviewers: -- apelisse -- stewart-yu -- thockin diff --git a/vendor/knative.dev/eventing/test/OWNERS b/vendor/knative.dev/eventing/test/OWNERS deleted file mode 100644 index 65aa9e7b11..0000000000 --- a/vendor/knative.dev/eventing/test/OWNERS +++ /dev/null @@ -1,10 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- productivity-writers - -reviewers: -- productivity-reviewers - -labels: -- area/test-and-release diff --git a/vendor/knative.dev/eventing/test/e2e-common.sh b/vendor/knative.dev/eventing/test/e2e-common.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/eventing/test/e2e-conformance-tests.sh b/vendor/knative.dev/eventing/test/e2e-conformance-tests.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/eventing/test/e2e-rekt-tests.sh b/vendor/knative.dev/eventing/test/e2e-rekt-tests.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/eventing/test/e2e-tests.sh b/vendor/knative.dev/eventing/test/e2e-tests.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/eventing/test/e2e-upgrade-tests.sh b/vendor/knative.dev/eventing/test/e2e-upgrade-tests.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/eventing/test/lib/recordevents/resources.go b/vendor/knative.dev/eventing/test/lib/recordevents/resources.go index c02661fd78..c10915dfdf 100644 --- a/vendor/knative.dev/eventing/test/lib/recordevents/resources.go +++ b/vendor/knative.dev/eventing/test/lib/recordevents/resources.go @@ -86,6 +86,10 @@ func recordEventsPod(imageName string, name string, serviceAccountName string, r ObjectMeta: metav1.ObjectMeta{ Name: name, Labels: map[string]string{"e2etest": string(uuid.NewUUID())}, + Annotations: map[string]string{ + "sidecar.istio.io/inject": "true", + "sidecar.istio.io/rewriteAppHTTPProbers": "true", + }, }, Spec: corev1.PodSpec{ Containers: []corev1.Container{{ diff --git a/vendor/knative.dev/eventing/test/microbenchmarks-compare.sh b/vendor/knative.dev/eventing/test/microbenchmarks-compare.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/eventing/test/microbenchmarks-run.sh b/vendor/knative.dev/eventing/test/microbenchmarks-run.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/eventing/test/presubmit-tests.sh b/vendor/knative.dev/eventing/test/presubmit-tests.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/eventing/test/upload-test-images.sh b/vendor/knative.dev/eventing/test/upload-test-images.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/hack/OWNERS b/vendor/knative.dev/hack/OWNERS deleted file mode 100644 index 4d20bf8cff..0000000000 --- a/vendor/knative.dev/hack/OWNERS +++ /dev/null @@ -1,8 +0,0 @@ -approvers: - - technical-oversight-committee - - productivity-writers - - knative-release-leads - -reviewers: - - productivity-writers - - productivity-reviewers diff --git a/vendor/knative.dev/hack/OWNERS_ALIASES b/vendor/knative.dev/hack/OWNERS_ALIASES deleted file mode 100644 index 0f0e6e7671..0000000000 --- a/vendor/knative.dev/hack/OWNERS_ALIASES +++ /dev/null @@ -1,144 +0,0 @@ -# This file is auto-generated from peribolos. -# Do not modify this file, instead modify peribolos/knative.yaml - -aliases: - client-reviewers: - - itsmurugappan - client-wg-leads: - - dsimansk - - rhuss - client-writers: - - dsimansk - - rhuss - - vyasgun - docs-reviewers: - - nainaz - - skonto - docs-writers: - - csantanapr - - skonto - eventing-reviewers: - - Leo6Leo - - aslom - - cali0707 - - creydr - eventing-wg-leads: - - pierDipi - eventing-writers: - - Leo6Leo - - aliok - - cali0707 - - creydr - - lionelvillard - - matzew - - pierDipi - func-reviewers: - - jrangelramos - - nainaz - func-writers: - - gauron99 - - jrangelramos - - lance - - lkingland - - matejvasek - - matzew - - salaboy - functions-wg-leads: - - lkingland - - salaboy - knative-admin: - - aliok - - cardil - - davidhadas - - dprotaso - - dsimansk - - evankanderson - - knative-automation - - knative-prow-releaser-robot - - knative-prow-robot - - knative-prow-updater-robot - - knative-test-reporter-robot - - nainaz - - psschwei - - salaboy - - skonto - - upodroid - knative-release-leads: - - dprotaso - - dsimansk - - skonto - knative-robots: - - knative-automation - - knative-prow-releaser-robot - - knative-prow-robot - - knative-prow-updater-robot - - knative-test-reporter-robot - operations-reviewers: - - aliok - - houshengbo - - matzew - operations-wg-leads: - - houshengbo - operations-writers: - - aliok - - houshengbo - - matzew - productivity-leads: - - cardil - - upodroid - productivity-reviewers: - - evankanderson - - mgencur - productivity-wg-leads: - - cardil - - upodroid - productivity-writers: - - cardil - - upodroid - security-wg-leads: - - davidhadas - - evankanderson - security-writers: - - davidhadas - - evankanderson - serving-approvers: - - skonto - serving-reviewers: - - izabelacg - - skonto - serving-triage: - - izabelacg - - skonto - serving-wg-leads: - - dprotaso - serving-writers: - - dprotaso - - skonto - steering-committee: - - aliok - - davidhadas - - dprotaso - - dsimansk - - evankanderson - - nainaz - - psschwei - - salaboy - technical-oversight-committee: - - aliok - - davidhadas - - dprotaso - - dsimansk - - evankanderson - - nainaz - - psschwei - - salaboy - ux-wg-leads: - - cali0707 - - leo6leo - - mmejia02 - - zainabhusain227 - ux-writers: - - cali0707 - - leo6leo - - mmejia02 - - zainabhusain227 diff --git a/vendor/knative.dev/hack/codegen-library.sh b/vendor/knative.dev/hack/codegen-library.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/hack/e2e-tests.sh b/vendor/knative.dev/hack/e2e-tests.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/hack/infra-library.sh b/vendor/knative.dev/hack/infra-library.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/hack/library.sh b/vendor/knative.dev/hack/library.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/hack/microbenchmarks.sh b/vendor/knative.dev/hack/microbenchmarks.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/hack/performance-tests.sh b/vendor/knative.dev/hack/performance-tests.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/hack/presubmit-tests.sh b/vendor/knative.dev/hack/presubmit-tests.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/hack/release.sh b/vendor/knative.dev/hack/release.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/hack/shellcheck-presubmit.sh b/vendor/knative.dev/hack/shellcheck-presubmit.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeeventing_lifecycle.go b/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeeventing_lifecycle.go index daac20f306..0dc8acd171 100644 --- a/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeeventing_lifecycle.go +++ b/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeeventing_lifecycle.go @@ -17,6 +17,7 @@ limitations under the License. package v1beta1 import ( + "os" "strings" "k8s.io/apimachinery/pkg/runtime/schema" @@ -132,7 +133,7 @@ func (es *KnativeEventingStatus) GetVersion() string { // SetVersion sets the currently installed version of the component. func (es *KnativeEventingStatus) SetVersion(version string) { - es.Version = version + es.Version = os.Getenv("KNATIVE_EVENTING_VERSION") } // GetManifests gets the url links of the manifests. diff --git a/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeserving_lifecycle.go b/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeserving_lifecycle.go index e59ab4c8dc..eb064a50e9 100644 --- a/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeserving_lifecycle.go +++ b/vendor/knative.dev/operator/pkg/apis/operator/v1beta1/knativeserving_lifecycle.go @@ -17,6 +17,7 @@ limitations under the License. package v1beta1 import ( + "os" "strings" "knative.dev/operator/pkg/apis/operator" @@ -132,7 +133,7 @@ func (is *KnativeServingStatus) GetVersion() string { // SetVersion sets the currently installed version of the component. func (is *KnativeServingStatus) SetVersion(version string) { - is.Version = version + is.Version = os.Getenv("KNATIVE_SERVING_VERSION") } // GetManifests gets the url links of the manifests. diff --git a/vendor/knative.dev/operator/pkg/client/clientset/versioned/typed/operator/v1beta1/operator_client.go b/vendor/knative.dev/operator/pkg/client/clientset/versioned/typed/operator/v1beta1/operator_client.go index 276a288068..539c58c643 100644 --- a/vendor/knative.dev/operator/pkg/client/clientset/versioned/typed/operator/v1beta1/operator_client.go +++ b/vendor/knative.dev/operator/pkg/client/clientset/versioned/typed/operator/v1beta1/operator_client.go @@ -93,7 +93,7 @@ func setConfigDefaults(config *rest.Config) error { gv := operatorv1beta1.SchemeGroupVersion config.GroupVersion = &gv config.APIPath = "/apis" - config.NegotiatedSerializer = rest.CodecFactoryForGeneratedClient(scheme.Scheme, scheme.Codecs).WithoutConversion() + config.NegotiatedSerializer = scheme.Codecs.WithoutConversion() if config.UserAgent == "" { config.UserAgent = rest.DefaultKubernetesUserAgent() diff --git a/vendor/knative.dev/operator/pkg/reconciler/common/job.go b/vendor/knative.dev/operator/pkg/reconciler/common/job.go index 240d33f866..7542e92c34 100644 --- a/vendor/knative.dev/operator/pkg/reconciler/common/job.go +++ b/vendor/knative.dev/operator/pkg/reconciler/common/job.go @@ -40,7 +40,7 @@ func JobTransform(obj base.KComponent) mf.Transformer { component := "serving" if _, ok := obj.(*v1beta1.KnativeEventing); ok { - component = "eventing" + component = "" } if job.GetName() == "" { job.SetName(fmt.Sprintf("%s%s-%s", job.GetGenerateName(), component, TargetVersion(obj))) diff --git a/vendor/knative.dev/operator/pkg/reconciler/common/releases.go b/vendor/knative.dev/operator/pkg/reconciler/common/releases.go index 2e190d2886..ab42cb4535 100644 --- a/vendor/knative.dev/operator/pkg/reconciler/common/releases.go +++ b/vendor/knative.dev/operator/pkg/reconciler/common/releases.go @@ -195,18 +195,20 @@ func getManifestWithVersionValidation(manifestsPath string, instance base.KCompo return manifests, nil } - targetVersion := SanitizeSemver(version) - key := "app.kubernetes.io/version" - for _, u := range manifests.Resources() { - // Check the labels of the resources one by one to see if the version matches the target version in terms of - // major.minor. - manifestVersion := u.GetLabels()[key] - manifestVersionSan := SanitizeSemver(u.GetLabels()[key]) - if manifestVersion != "" && semver.MajorMinor(targetVersion) != semver.MajorMinor(manifestVersionSan) { - return mf.Manifest{}, fmt.Errorf("the version of the manifests %s of the component %s does not match the target "+ - "version of the operator CR %s", manifestVersionSan, u.GetName(), targetVersion) - } - } + // We support only one version, there is no need to check manifest consistency and it is actually a pain to experiment + // with future releases. + // + //targetVersion := SanitizeSemver(version) + //key := getVersionKey(instance) + //for _, u := range manifests.Resources() { + // // Check the labels of the resources one by one to see if the version matches the target version in terms of + // // major.minor. + // manifestVersion := u.GetLabels()[key] + // if manifestVersion != "" && semver.MajorMinor(targetVersion) != semver.MajorMinor(manifestVersion) { + // return mf.Manifest{}, fmt.Errorf("the version of the manifests %s of the component %s does not match the target "+ + // "version of the operator CR %s", manifestVersion, u.GetName(), targetVersion) + // } + //} return manifests, nil } diff --git a/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/controller.go b/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/controller.go index bc1340ebff..24227dd988 100644 --- a/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/controller.go +++ b/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/controller.go @@ -22,6 +22,9 @@ import ( "go.uber.org/zap" "k8s.io/client-go/tools/cache" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + namespaceinformer "knative.dev/pkg/client/injection/kube/informers/core/v1/namespace" + "knative.dev/operator/pkg/apis/operator/v1beta1" operatorclient "knative.dev/operator/pkg/client/injection/client" knativeEventinginformer "knative.dev/operator/pkg/client/injection/informers/operator/v1beta1/knativeeventing" @@ -79,6 +82,23 @@ func NewExtendedController(generator common.ExtensionGenerator) injection.Contro knativeEventingInformer.Informer().AddEventHandler(controller.HandleAll(impl.Enqueue)) + namespaceinformer.Get(ctx).Informer().AddEventHandler(cache.FilteringResourceEventHandler{ + FilterFunc: func(obj interface{}) bool { + ns, ok := obj.(metav1.Object) + if !ok { + return false + } + v, ok := ns.GetLabels()["kubernetes.io/metadata.name"] + if !ok { + return false + } + return v == "knative-eventing" + }, + Handler: controller.HandleAll(func(i interface{}) { + impl.GlobalResync(knativeEventingInformer.Informer()) + }), + }) + deploymentInformer.Informer().AddEventHandler(cache.FilteringResourceEventHandler{ FilterFunc: controller.FilterControllerGVK(v1beta1.SchemeGroupVersion.WithKind("KnativeEventing")), Handler: controller.HandleAll(impl.EnqueueControllerOf), diff --git a/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/eventing_backstage_plugin.go b/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/eventing_backstage_plugin.go new file mode 100644 index 0000000000..e23d375d67 --- /dev/null +++ b/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/eventing_backstage_plugin.go @@ -0,0 +1,79 @@ +/* +Copyright 2023 The Knative Authors + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package knativeeventing + +import ( + "context" + "fmt" + + mf "github.com/manifestival/manifestival" + corev1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "knative.dev/eventing/pkg/apis/feature" + + "knative.dev/operator/pkg/apis/operator/base" + "knative.dev/operator/pkg/apis/operator/v1beta1" +) + +var ( + backstageResourcesPred = byLabel("app.kubernetes.io/component", "eventmesh-backend") +) + +const ( + backstageBackendFeatureFlag = "backstage-backend" +) + +func (r *Reconciler) handleBackstageResources(ctx context.Context, manifests *mf.Manifest, comp base.KComponent) error { + instance := comp.(*v1beta1.KnativeEventing) + + if isBackstageEnabled(instance) { + return nil + } + + // Delete Backstage resources (if present) + toBeDeleted := manifests.Filter(backstageResourcesPred) + if err := toBeDeleted.Delete(mf.IgnoreNotFound(true)); err != nil && !meta.IsNoMatchError(err) { + return fmt.Errorf("failed to delete backstage resources: %v", err) + } + + // Filter out Backstage resources from the final list of manifests + *manifests = manifests.Filter(mf.Not(backstageResourcesPred)) + + return nil +} + +func byLabel(key, value string) mf.Predicate { + return func(u *unstructured.Unstructured) bool { + v, ok := u.GetLabels()[key] + return ok && v == value + } +} + +func isBackstageEnabled(instance *v1beta1.KnativeEventing) bool { + cmData, ok := getFeaturesConfig(instance) + if !ok { + return false + } + + f, err := feature.NewFlagsConfigFromConfigMap(&corev1.ConfigMap{Data: cmData}) + if err != nil { + return false + } + + return f.IsEnabled(backstageBackendFeatureFlag) +} diff --git a/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/knativeeventing.go b/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/knativeeventing.go index cdecea40a7..59bd74dd12 100644 --- a/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/knativeeventing.go +++ b/vendor/knative.dev/operator/pkg/reconciler/knativeeventing/knativeeventing.go @@ -124,10 +124,6 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, ke *v1beta1.KnativeEvent logger.Infow("Reconciling KnativeEventing", "status", ke.Status) - if err := common.IsVersionValidMigrationEligible(ke); err != nil { - ke.Status.MarkVersionMigrationNotEligible(err.Error()) - return nil - } ke.Status.MarkVersionMigrationEligible() if err := r.extension.Reconcile(ctx, ke); err != nil { @@ -138,8 +134,13 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, ke *v1beta1.KnativeEvent source.AppendTargetSources, common.AppendAdditionalManifests, r.appendExtensionManifests, + func(ctx context.Context, manifest *mf.Manifest, component base.KComponent) error { + *manifest = manifest.Filter(mf.Not(mf.All(mf.ByKind("Namespace"), mf.ByName("knative-eventing")))) + return nil + }, r.transform, r.handleTLSResources, + r.handleBackstageResources, manifests.Install, common.CheckDeployments, common.InstallWebhookConfigs, diff --git a/vendor/knative.dev/operator/pkg/reconciler/knativeserving/knativeserving.go b/vendor/knative.dev/operator/pkg/reconciler/knativeserving/knativeserving.go index 6810585b52..d760dfb678 100644 --- a/vendor/knative.dev/operator/pkg/reconciler/knativeserving/knativeserving.go +++ b/vendor/knative.dev/operator/pkg/reconciler/knativeserving/knativeserving.go @@ -19,14 +19,15 @@ package knativeserving import ( "context" "fmt" + "os" - mf "github.com/manifestival/manifestival" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "knative.dev/pkg/logging" pkgreconciler "knative.dev/pkg/reconciler" - + mf "github.com/manifestival/manifestival" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "knative.dev/operator/pkg/apis/operator/base" "knative.dev/operator/pkg/apis/operator/v1beta1" clientset "knative.dev/operator/pkg/client/clientset/versioned" @@ -90,6 +91,12 @@ func (r *Reconciler) FinalizeKind(ctx context.Context, original *v1beta1.Knative if manifest == nil { return nil } + // we need this to apply the correct namespace to the resources otherwise it defaults to knative-serving + *manifest, err = manifest.Transform(overrideKourierNamespace(original)) + if err != nil { + logger.Error("Unable to apply kourier namespace transform", err) + return nil + } if err := common.Uninstall(manifest); err != nil { logger.Error("Failed to finalize platform resources", err) @@ -97,6 +104,20 @@ func (r *Reconciler) FinalizeKind(ctx context.Context, original *v1beta1.Knative return nil } +func overrideKourierNamespace(ks base.KComponent) mf.Transformer { + if ns, required := os.LookupEnv("REQUIRED_SERVING_INGRESS_NAMESPACE"); required { + nsInjector := mf.InjectNamespace(ns) + return func(u *unstructured.Unstructured) error { + provider := u.GetLabels()["networking.knative.dev/ingress-provider"] + if provider != "kourier" { + return nil + } + return nsInjector(u) + } + } + return nil +} + // ReconcileKind compares the actual state with the desired, and attempts to // converge the two. func (r *Reconciler) ReconcileKind(ctx context.Context, ks *v1beta1.KnativeServing) pkgreconciler.Event { @@ -106,10 +127,6 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, ks *v1beta1.KnativeServi logger.Infow("Reconciling KnativeServing", "status", ks.Status) - if err := common.IsVersionValidMigrationEligible(ks); err != nil { - ks.Status.MarkVersionMigrationNotEligible(err.Error()) - return nil - } ks.Status.MarkVersionMigrationEligible() if err := r.extension.Reconcile(ctx, ks); err != nil { @@ -121,6 +138,10 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, ks *v1beta1.KnativeServi security.AppendTargetSecurity, common.AppendAdditionalManifests, r.appendExtensionManifests, + func(ctx context.Context, manifest *mf.Manifest, component base.KComponent) error { + *manifest = manifest.Filter(mf.Not(mf.All(mf.ByKind("Namespace"), mf.ByName("kourier-system")))) + return nil + }, r.transform, manifests.Install, common.CheckDeployments, diff --git a/vendor/knative.dev/pkg/apis/OWNERS b/vendor/knative.dev/pkg/apis/OWNERS deleted file mode 100644 index 13014203fc..0000000000 --- a/vendor/knative.dev/pkg/apis/OWNERS +++ /dev/null @@ -1,15 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- technical-oversight-committee -- serving-wg-leads -- eventing-wg-leads - -reviewers: -- serving-writers -- eventing-writers -- eventing-reviewers -- serving-reviewers - -options: - no_parent_owners: true diff --git a/vendor/knative.dev/pkg/apis/duck/OWNERS b/vendor/knative.dev/pkg/apis/duck/OWNERS deleted file mode 100644 index af1eb05dac..0000000000 --- a/vendor/knative.dev/pkg/apis/duck/OWNERS +++ /dev/null @@ -1,8 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- eventing-wg-leads - -reviewers: -- eventing-reviewers -- eventing-writers diff --git a/vendor/knative.dev/pkg/controller/OWNERS b/vendor/knative.dev/pkg/controller/OWNERS deleted file mode 100644 index 64660c9e35..0000000000 --- a/vendor/knative.dev/pkg/controller/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- serving-writers - -reviewers: -- serving-reviewers diff --git a/vendor/knative.dev/pkg/environment/client_config.go b/vendor/knative.dev/pkg/environment/client_config.go index 9f1883d236..b4c52ceb85 100644 --- a/vendor/knative.dev/pkg/environment/client_config.go +++ b/vendor/knative.dev/pkg/environment/client_config.go @@ -44,8 +44,10 @@ func (c *ClientConfig) InitFlags(fs *flag.FlagSet) { fs.StringVar(&c.ServerURL, "server", "", "The address of the Kubernetes API server. Overrides any value in kubeconfig. Only required if out-of-cluster.") - fs.StringVar(&c.Kubeconfig, "kubeconfig", os.Getenv("KUBECONFIG"), - "Path to a kubeconfig. Only required if out-of-cluster.") + if fs.Lookup("kubeconfig") == nil { + fs.StringVar(&c.Kubeconfig, "kubeconfig", os.Getenv("KUBECONFIG"), + "Path to a kubeconfig. Only required if out-of-cluster.") + } fs.IntVar(&c.Burst, "kube-api-burst", int(envVarOrDefault("KUBE_API_BURST", 0)), "Maximum burst for throttle.") diff --git a/vendor/knative.dev/pkg/hack/format-code.sh b/vendor/knative.dev/pkg/hack/format-code.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/pkg/hack/generate-knative.sh b/vendor/knative.dev/pkg/hack/generate-knative.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/pkg/hack/update-codegen.sh b/vendor/knative.dev/pkg/hack/update-codegen.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/pkg/hack/update-deps.sh b/vendor/knative.dev/pkg/hack/update-deps.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/pkg/hack/verify-codegen.sh b/vendor/knative.dev/pkg/hack/verify-codegen.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/pkg/reconciler/OWNERS b/vendor/knative.dev/pkg/reconciler/OWNERS deleted file mode 100644 index 136197a303..0000000000 --- a/vendor/knative.dev/pkg/reconciler/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- serving-writers - -reviewers: -- serving-writers diff --git a/vendor/knative.dev/pkg/resolver/OWNERS b/vendor/knative.dev/pkg/resolver/OWNERS deleted file mode 100644 index b5e9581f4e..0000000000 --- a/vendor/knative.dev/pkg/resolver/OWNERS +++ /dev/null @@ -1,8 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- eventing-writers - -reviewers: -- eventing-reviewers - diff --git a/vendor/knative.dev/pkg/test/OWNERS b/vendor/knative.dev/pkg/test/OWNERS deleted file mode 100644 index 65aa9e7b11..0000000000 --- a/vendor/knative.dev/pkg/test/OWNERS +++ /dev/null @@ -1,10 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- productivity-writers - -reviewers: -- productivity-reviewers - -labels: -- area/test-and-release diff --git a/vendor/knative.dev/pkg/test/helpers/name.go b/vendor/knative.dev/pkg/test/helpers/name.go index 18a93f2518..8af880d311 100644 --- a/vendor/knative.dev/pkg/test/helpers/name.go +++ b/vendor/knative.dev/pkg/test/helpers/name.go @@ -27,7 +27,7 @@ import ( const ( letterBytes = "abcdefghijklmnopqrstuvwxyz" randSuffixLen = 8 - nameLengthLimit = 50 + nameLengthLimit = 40 sep = '-' sepS = "-" testNamePrefix = "Test" diff --git a/vendor/knative.dev/pkg/test/presubmit-tests.sh b/vendor/knative.dev/pkg/test/presubmit-tests.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/pkg/test/spoof/openshift_checks.go b/vendor/knative.dev/pkg/test/spoof/openshift_checks.go new file mode 100644 index 0000000000..f7ba08f828 --- /dev/null +++ b/vendor/knative.dev/pkg/test/spoof/openshift_checks.go @@ -0,0 +1,22 @@ +package spoof + +import ( + "fmt" + "net/http" + "strings" +) + +// isUnknownAuthority checks if the error contains "certificate signed by unknown authority". +// This error happens when OpenShift Route starts/changes to use passthrough mode. It takes a little bit time to be synced. +func isUnknownAuthority(err error) bool { + return err != nil && strings.Contains(err.Error(), "certificate signed by unknown authority") +} + +// RetryingRouteInconsistency retries common requests seen when creating a new route +// - 503 to account for Openshift route inconsistency (https://jira.coreos.com/browse/SRVKS-157) +func RouteInconsistencyRetryChecker(resp *Response) (bool, error) { + if resp.StatusCode == http.StatusServiceUnavailable { + return true, fmt.Errorf("retrying route inconsistency request: %s", resp) + } + return false, nil +} diff --git a/vendor/knative.dev/pkg/test/spoof/spoof.go b/vendor/knative.dev/pkg/test/spoof/spoof.go index ac1c23e7dc..2c7c5a8a68 100644 --- a/vendor/knative.dev/pkg/test/spoof/spoof.go +++ b/vendor/knative.dev/pkg/test/spoof/spoof.go @@ -164,7 +164,7 @@ func (sc *SpoofingClient) Do(req *http.Request, errorRetryCheckers ...interface{ // If no retry checkers are specified `DefaultErrorRetryChecker` will be used. func (sc *SpoofingClient) Poll(req *http.Request, inState ResponseChecker, checkers ...interface{}) (*Response, error) { if len(checkers) == 0 { - checkers = []interface{}{ErrorRetryChecker(DefaultErrorRetryChecker), ResponseRetryChecker(DefaultResponseRetryChecker)} + checkers = []interface{}{ErrorRetryChecker(DefaultErrorRetryChecker), ResponseRetryChecker(DefaultResponseRetryChecker), ResponseRetryChecker(RouteInconsistencyRetryChecker)} } var resp *Response @@ -252,6 +252,9 @@ func DefaultErrorRetryChecker(err error) (bool, error) { if isNoRouteToHostError(err) { return true, fmt.Errorf("retrying for 'no route to host' error: %w", err) } + if isUnknownAuthority(err) { + return true, fmt.Errorf("retrying for certificate signed by unknown authority: %w", err) + } return false, err } diff --git a/vendor/knative.dev/pkg/test/test-reconciler-codegen.sh b/vendor/knative.dev/pkg/test/test-reconciler-codegen.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/pkg/test/upgrade/shell/fail-example.sh b/vendor/knative.dev/pkg/test/upgrade/shell/fail-example.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/pkg/webhook/OWNERS b/vendor/knative.dev/pkg/webhook/OWNERS deleted file mode 100644 index 64660c9e35..0000000000 --- a/vendor/knative.dev/pkg/webhook/OWNERS +++ /dev/null @@ -1,7 +0,0 @@ -# The OWNERS file is used by prow to automatically merge approved PRs. - -approvers: -- serving-writers - -reviewers: -- serving-reviewers diff --git a/vendor/knative.dev/pkg/webhook/resourcesemantics/conversion/reconciler.go b/vendor/knative.dev/pkg/webhook/resourcesemantics/conversion/reconciler.go index f23b055872..49568b28a7 100644 --- a/vendor/knative.dev/pkg/webhook/resourcesemantics/conversion/reconciler.go +++ b/vendor/knative.dev/pkg/webhook/resourcesemantics/conversion/reconciler.go @@ -19,6 +19,7 @@ package conversion import ( "context" "fmt" + "os" "go.uber.org/zap" apixv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" @@ -77,6 +78,9 @@ func (r *reconciler) Reconcile(ctx context.Context, key string) error { return err } + if os.Getenv("USE_OLM_TLS") != "" { // olm will do the crd update + return nil + } cacert, ok := secret.Data[certresources.CACert] if !ok { return fmt.Errorf("secret %q is missing %q key", r.secretName, certresources.CACert) diff --git a/vendor/knative.dev/reconciler-test/pkg/feature/feature.go b/vendor/knative.dev/reconciler-test/pkg/feature/feature.go index 7a7d410423..d59ae5e761 100644 --- a/vendor/knative.dev/reconciler-test/pkg/feature/feature.go +++ b/vendor/knative.dev/reconciler-test/pkg/feature/feature.go @@ -252,6 +252,15 @@ func DeleteResources(ctx context.Context, t T, refs []corev1.ObjectReference) er return false, fmt.Errorf("failed to get resource %+v %s/%s: %w", resource, ref.Namespace, ref.Name, err) } + // Repeat deleting service accounts. + // Workaround for https://issues.redhat.com/browse/OCPBUGS-35731 + if resource.Resource == "serviceaccounts" { + err = dc.Resource(resource).Namespace(ref.Namespace).Delete(ctx, ref.Name, metav1.DeleteOptions{}) + if err != nil && !apierrors.IsNotFound(err) { + t.Logf("Warning, failed to delete %s/%s of GVR: %+v: %v", ref.Namespace, ref.Name, resource, err) + } + } + lastResource = ref t.Logf("Resource %+v %s/%s still present", resource, ref.Namespace, ref.Name) return false, nil diff --git a/vendor/knative.dev/serving/test/e2e-common.sh b/vendor/knative.dev/serving/test/e2e-common.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/serving/test/e2e-external-domain-tls-tests.sh b/vendor/knative.dev/serving/test/e2e-external-domain-tls-tests.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/serving/test/e2e-networking-library.sh b/vendor/knative.dev/serving/test/e2e-networking-library.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/serving/test/e2e-tests.sh b/vendor/knative.dev/serving/test/e2e-tests.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/serving/test/e2e-upgrade-tests.sh b/vendor/knative.dev/serving/test/e2e-upgrade-tests.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/serving/test/presubmit-tests.sh b/vendor/knative.dev/serving/test/presubmit-tests.sh old mode 100644 new mode 100755 diff --git a/vendor/knative.dev/serving/test/upload-test-images.sh b/vendor/knative.dev/serving/test/upload-test-images.sh old mode 100644 new mode 100755 diff --git a/vendor/sigs.k8s.io/json/OWNERS b/vendor/sigs.k8s.io/json/OWNERS deleted file mode 100644 index a08a434e61..0000000000 --- a/vendor/sigs.k8s.io/json/OWNERS +++ /dev/null @@ -1,6 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: - - deads2k - - jpbetz - - liggitt diff --git a/vendor/sigs.k8s.io/yaml/OWNERS b/vendor/sigs.k8s.io/yaml/OWNERS deleted file mode 100644 index 003a149e15..0000000000 --- a/vendor/sigs.k8s.io/yaml/OWNERS +++ /dev/null @@ -1,23 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- dims -- jpbetz -- smarterclayton -- deads2k -- sttts -- liggitt -reviewers: -- dims -- thockin -- jpbetz -- smarterclayton -- wojtek-t -- deads2k -- derekwaynecarr -- mikedanese -- liggitt -- sttts -- tallclair -labels: -- sig/api-machinery diff --git a/vendor/sigs.k8s.io/yaml/goyaml.v2/OWNERS b/vendor/sigs.k8s.io/yaml/goyaml.v2/OWNERS deleted file mode 100644 index 73be0a3a9b..0000000000 --- a/vendor/sigs.k8s.io/yaml/goyaml.v2/OWNERS +++ /dev/null @@ -1,24 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -approvers: -- dims -- jpbetz -- smarterclayton -- deads2k -- sttts -- liggitt -- natasha41575 -- knverey -reviewers: -- dims -- thockin -- jpbetz -- smarterclayton -- deads2k -- derekwaynecarr -- mikedanese -- liggitt -- sttts -- tallclair -labels: -- sig/api-machinery