diff --git a/go.mod b/go.mod index d6cfc7a22c..cb9795da10 100644 --- a/go.mod +++ b/go.mod @@ -19,9 +19,9 @@ require ( github.com/prometheus-operator/prometheus-operator/pkg/client v0.76.2 github.com/prometheus/client_golang v1.20.5 github.com/prometheus/common v0.60.0 - github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace + github.com/spf13/pflag v1.0.10 github.com/stretchr/testify v1.9.0 - go.uber.org/zap v1.27.0 + go.uber.org/zap v1.27.1 golang.org/x/sync v0.10.0 google.golang.org/grpc v1.67.1 k8s.io/api v0.31.0 @@ -167,7 +167,7 @@ require ( ) require ( - github.com/go-logr/logr v1.4.2 + github.com/go-logr/logr v1.4.3 go.uber.org/atomic v1.11.0 // indirect k8s.io/apiextensions-apiserver v0.31.0 knative.dev/reconciler-test v0.0.0-20240927070509-8fa68bab4e6e diff --git a/go.sum b/go.sum index 0d88e2bba6..e1b739cee6 100644 --- a/go.sum +++ b/go.sum @@ -969,8 +969,8 @@ github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbV github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-logr/zapr v1.2.3/go.mod h1:eIauM6P8qSvTw5o2ez6UEAfGjQKrxQTl5EoK+Qa2oG4= github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= @@ -1538,8 +1538,8 @@ github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRM github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace h1:9PNP1jnUjRhfmGMlkXHjYPishpcw4jpSt/V/xYY3FMA= -github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= @@ -1665,8 +1665,8 @@ go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= -go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= -go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= +go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc= +go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= diff --git a/knative-operator/Dockerfile b/knative-operator/Dockerfile index 04f077dbd7..7dbe3d2740 100755 --- a/knative-operator/Dockerfile +++ b/knative-operator/Dockerfile @@ -1,6 +1,6 @@ # DO NOT EDIT! Generated Dockerfile for knative-operator/cmd/knative-operator. ARG GO_BUILDER=registry.ci.openshift.org/openshift/release:rhel-8-release-golang-1.22-openshift-4.17 -ARG GO_RUNTIME=registry.access.redhat.com/ubi8/ubi-minimal +ARG GO_RUNTIME=registry.access.redhat.com/ubi9/ubi-minimal FROM $GO_BUILDER as builder @@ -24,14 +24,17 @@ COPY knative-operator/deploy /deploy USER 65532 LABEL \ - com.redhat.component="openshift-serverless-1-knative-operator-rhel8-container" \ - name="openshift-serverless-1/knative-operator-rhel8" \ + com.redhat.component="openshift-serverless-1-serverless-kn-operator-rhel9-container" \ + name="openshift-serverless-1/serverless-kn-operator-rhel9" \ version=$VERSION \ summary="Red Hat OpenShift Serverless 1 Knative Operator" \ maintainer="serverless-support@redhat.com" \ description="Red Hat OpenShift Serverless 1 Knative Operator" \ io.k8s.display-name="Red Hat OpenShift Serverless 1 Knative Operator" \ io.k8s.description="Red Hat OpenShift Serverless Knative Operator" \ - io.openshift.tags="knative-operator" + io.openshift.tags="knative-operator" \ + vendor="Red Hat, Inc." \ + release=$VERSION \ + cpe="cpe:/a:redhat:openshift_serverless:1.37::el9" ENTRYPOINT ["/usr/bin/knative-operator"] diff --git a/must-gather/Dockerfile b/must-gather/Dockerfile index 0605cbdfb7..3584edf6ca 100755 --- a/must-gather/Dockerfile +++ b/must-gather/Dockerfile @@ -22,14 +22,17 @@ RUN mkdir -p $LOGS_DIR && \ USER 65532 LABEL \ - com.redhat.component="openshift-serverless-1-must-gather-rhel8-container" \ - name="openshift-serverless-1/svls-must-gather-rhel8" \ + com.redhat.component="openshift-serverless-1-serverless-must-gather-rhel8-container" \ + name="openshift-serverless-1/serverless-must-gather-rhel8" \ version=1.35.2 \ summary="Red Hat OpenShift Serverless 1 Must Gather" \ maintainer="serverless-support@redhat.com" \ description="Red Hat OpenShift Serverless 1 Must Gather" \ io.k8s.display-name="Red Hat OpenShift Serverless 1 Must Gather" \ io.k8s.description="Red Hat OpenShift Serverless Must Gather" \ - io.openshift.tags="must-gather" + io.openshift.tags="must-gather" \ + vendor="Red Hat, Inc." \ + release=$VERSION \ + cpe="cpe:/a:redhat:openshift_serverless:1.35::el8" ENTRYPOINT /usr/bin/gather diff --git a/olm-catalog/serverless-operator-index/Dockerfile b/olm-catalog/serverless-operator-index/Dockerfile index 7c018d0106..5c0760886b 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-1.35 --output yaml >> /configs/index.yaml RUN cat /index-bundles.yaml >> /configs/index.yaml RUN /bin/opm render --skip-tls-verify -o yaml \ - registry.ci.openshift.org/knative/serverless-bundle@sha256:794a8a52da82f11da7a1a7727a283241fe2a2e4a2ef73f6fde55839ea737136b >> /configs/index.yaml + quay.io/redhat-user-workloads/ocp-serverless-tenant/serverless-operator-135/serverless-bundle@sha256:4d05e70a408016f112eeae8ffa22ef6c1fca7b43d58d52e2b9ba32e4bd9f1894 >> /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 e3d2e7fc14..e393a652d6 100644 --- a/olm-catalog/serverless-operator/manifests/serverless-operator.clusterserviceversion.yaml +++ b/olm-catalog/serverless-operator/manifests/serverless-operator.clusterserviceversion.yaml @@ -72,7 +72,7 @@ metadata: repository: https://github.com/openshift-knative/serverless-operator support: Red Hat olm.skipRange: '>=1.35.0 <1.35.2' - operators.openshift.io/must-gather-image: registry.redhat.io/openshift-serverless-1/serverless-must-gather-rhel8@sha256:aff26a35b501534d396711f463f6b3b974b52ca52af948d7345b97671d40f776 + operators.openshift.io/must-gather-image: registry.redhat.io/openshift-serverless-1/serverless-must-gather-rhel8@sha256:d6706632d65df711ac928a0a37a5e3b823dd8c0d4bc98a5e67bd3647d30c03b5 labels: operatorframework.io/arch.amd64: supported operatorframework.io/arch.ppc64le: supported @@ -830,7 +830,7 @@ spec: serviceAccountName: knative-operator containers: - name: knative-operator - image: registry.redhat.io/openshift-serverless-1/serverless-openshift-kn-rhel8-operator@sha256:35d1ebdaed9e6bc91fb8b2f2aa9b34e70bdf88895112e6ffd06343067e0d56a8 + image: registry.redhat.io/openshift-serverless-1/serverless-openshift-kn-rhel8-operator@sha256:6f1b6247849ad0467275ceec6ceafc989e75713c7fbf9664d325099e2221d072 readinessProbe: periodSeconds: 1 httpGet: @@ -883,63 +883,63 @@ 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:4e0dc76ce12083a2ddf4b4a7a568b083a6e579787198e74c399e1d4e23e1004a" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-queue-rhel8@sha256:65353f6c8b829735b61bc16233c40a40f4cf87b3c35516b2bee9462a388e35a0" - name: "IMAGE_activator" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-activator-rhel8@sha256:0f90c7810be22ebcd02f785a830800e74ecb290c7206431eb4b0c766c78d576d" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-activator-rhel8@sha256:c894278abc3138bea7d7c1847e8c846d96ca809fa1a8f79e47101b02b4147eb0" - name: "IMAGE_autoscaler" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-rhel8@sha256:e48fc59a5abd5dd4ecc4c8d97c9af2752a4128bc03c6c22589c3f487070b8b2c" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-rhel8@sha256:9a96032e0211eaa3fffdb144312164ee77d483933cb36bbb0be5ebf8722ad2d1" - name: "IMAGE_autoscaler-hpa" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-hpa-rhel8@sha256:30023059131ed236cc72bf528e9ae705b7a9890b952043d7f21b87534198774e" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-hpa-rhel8@sha256:f63aceb332ca64609cca1a858464e06f70d0f6196ddf841af8d1664996324fe2" - name: "IMAGE_controller__controller" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-controller-rhel8@sha256:7efd04b678e0e6b2e209fee665934151d4e7877f68d3817452e5697b24f1a669" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-controller-rhel8@sha256:86c527668a005e21ef159f4fba50685af94075060d9d664376feadc1322a3307" - name: "IMAGE_webhook__webhook" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-webhook-rhel8@sha256:c4335ba2ce15d5994f075e6855b2512ec0daf456e792dcb41caed8dead2a32ad" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-webhook-rhel8@sha256:693bebab78e70fcf55035d0790ead09f95e745a30392de52c6e2f651b794534d" - name: "IMAGE_storage-version-migration-serving-__migrate" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-storage-version-migration-rhel8@sha256:1adb5c1f4c43d7089dea4d06cbcfeea4af8464abe4f5cef864362524afddacff" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-storage-version-migration-rhel8@sha256:7e3e3f501b7e2afaa14883c44ce6944a1031ac0e4209bca92b31ae860f945415" - name: "IMAGE_kourier-gateway" value: "registry.redhat.io/openshift-service-mesh/proxyv2-rhel8@sha256:b9aca441a381227afe58c4b731275996164405b07150db3c9051a82904f31c0b" - name: "IMAGE_net-kourier-controller__controller" - value: "registry.redhat.io/openshift-serverless-1/net-kourier-kourier-rhel8@sha256:f74f72a112284ce67bf7a1f2e12a45195a07633e304c7fb35d2e9589682e7cf4" + value: "registry.redhat.io/openshift-serverless-1/net-kourier-kourier-rhel8@sha256:f7d7827769e06aa4a26fa9c8bbd213e4d8b1488177b16b0e748e215dc26742db" - name: "IMAGE_net-istio-controller__controller" - value: "registry.redhat.io/openshift-serverless-1/net-istio-controller-rhel8@sha256:96d13f787d40f4f966ea6345388ec66964cba87a999d88247d6232f4a7991f01" + value: "registry.redhat.io/openshift-serverless-1/net-istio-controller-rhel8@sha256:24fa1024b038cd884be289ffc583a2522106fe5b7c5c23d00971886b9ccf4758" - name: "IMAGE_net-istio-webhook__webhook" - value: "registry.redhat.io/openshift-serverless-1/net-istio-webhook-rhel8@sha256:8ee8334e041259789ac2f6377dcd10569763e8b2a546a6d3b253dc2fc3026a4c" + value: "registry.redhat.io/openshift-serverless-1/net-istio-webhook-rhel8@sha256:7e1a92efe766f057492cf480c807729dea0c6b1ec4844078b5a89276691f9f4d" - name: "IMAGE_eventing-controller__eventing-controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-controller-rhel8@sha256:2ea8705026b7b2f38746305ae1744ebc0893244d6acb7c1e1d1a43aedeca95c4" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-controller-rhel8@sha256:78fc660434481d8b111ff2af01edd493d0877a7b9a3de2d18f50ed2ce594c33f" - name: "IMAGE_eventing-istio-controller__eventing-istio-controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-istio-controller-rhel8@sha256:0d81c7bbe2df5f8998e15179f11bd8ec349419bcafffd084a5e0158b950f01a9" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-istio-controller-rhel8@sha256:cc73ab9a8866fe4224f29fbed0fb71bb017eccf6fa4e3575976256cb4af34469" - name: "IMAGE_eventing-webhook__eventing-webhook" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-webhook-rhel8@sha256:5bda86d9d108ed65fc3340a6b76967c8ed9ccaf3dc2477f0fef97aafe9a0a2d5" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-webhook-rhel8@sha256:0d3d0552898a06e04e86c72593138529885f074dd00f095a94f2bb097e462215" - name: "IMAGE_storage-version-migration-eventing-__migrate" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:66bf0565fbe2aeb9d131f8f4d314d53b026bb81b5f5124c9221c94c05489ddc1" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:5804f49720ce6ea37475e08c76cfb267b31b9a0d2258b714d8efa9e8874b4d45" - name: "IMAGE_mt-broker-controller__mt-broker-controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtchannel-broker-rhel8@sha256:42b6cee4e6e06a74df4c0b1c1deee46260789e72695340d6d090648ff1565387" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtchannel-broker-rhel8@sha256:b00812884993d69359fc726953d961f8302e9741a93e39c5fec64f822ac4764c" - name: "IMAGE_mt-broker-filter__filter" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-filter-rhel8@sha256:79fb2a167623795d20fe775460d5d3029ba8cb1af74a4e5cec8904a870380506" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-filter-rhel8@sha256:97de1e9477f2ddcf0c735909ba08588014ae195be5e3d8d4bf4040d245d64eaa" - name: "IMAGE_mt-broker-ingress__ingress" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-ingress-rhel8@sha256:77965c8962e538fc7ace540280a08aaf25df307f1dc8cb4abe90aaf5bc1e2dfc" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-ingress-rhel8@sha256:fa608b6c99071d644aa47165f19e12b2f9fa3bfeb19d38858de3579798e41adf" - name: "IMAGE_imc-controller__controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-controller-rhel8@sha256:8ad9054117d5d9602184870a02da40146055cb348266aebd47cb4fbeaf6c7611" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-controller-rhel8@sha256:25b008353cec521f4de8ace56b27f8a7ffe80c0a9bedc82f1d55b9faaa5b9404" - name: "IMAGE_imc-dispatcher__dispatcher" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:025095398dd208e0c68b919248c1e66ab381a95567174d479c18b54c279111f4" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:df752a1448c4aac58beb36d742ee3853beb2304ea6c320783fb3373edb5bda66" - name: "IMAGE_pingsource-mt-adapter__dispatcher" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtping-rhel8@sha256:14dd539d30c2f95f5848f7496f7133757342dafe32c0a34e5e189cec27ce587e" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtping-rhel8@sha256:a6de54d8efecf318cf8f5a0becbbd703591c0496c3aca9d463f00410ac4d6731" - name: "IMAGE_APISERVER_RA_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-apiserver-receive-adapter-rhel8@sha256:50c97b978e4d8ca42bfae90d3197a0feebe92839bc23d149b33e538eed212a91" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-apiserver-receive-adapter-rhel8@sha256:289237bcf0a89c6798f41cd4144b8e0166563dbf2a35eba6ba81dd6eae1b7dd4" - name: "IMAGE_DISPATCHER_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:025095398dd208e0c68b919248c1e66ab381a95567174d479c18b54c279111f4" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:df752a1448c4aac58beb36d742ee3853beb2304ea6c320783fb3373edb5bda66" - name: "IMAGE_job-sink__job-sink" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-jobsink-rhel8@sha256:f2492d64ecc32b2d3083ccc15bd8f5a2a2187c908d169212912d50c45f5859a0" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-jobsink-rhel8@sha256:bb7c3a4fa72d57c16be6190bf374f870c98a2d8058112e622084b15dcf659dcd" - name: "IMAGE_eventmesh-backend__controller" - value: "registry.redhat.io/openshift-serverless-1/kn-backstage-plugins-eventmesh-rhel8@sha256:65a0ecb1a4fc23eda9008612401b9b7748c251c1a8954d7346ab990ea0030324" + value: "registry.redhat.io/openshift-serverless-1/kn-backstage-plugins-eventmesh-rhel8@sha256:3a5d837d29f115ad6d690f2531242b55995ffe16ce53fdb937ff3ad56b49fff0" - 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:018459cbba2e3169bc4be6564cf3747c9cd0677445912abf237f8fe6d58e46ac" - name: "IMAGE_KN_CLIENT" - value: "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:3e7fe20978059eeb136738923b9b6ce508d8c61d060d7ff8f92643b1c51a6f94" + value: "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:2e6838975b3b72a7806aff00fdfb47f07363c04b26cab9577c576c10b6cb82a6" - name: "IMAGE_KN_PLUGIN_FUNC_UTIL" - value: "registry.redhat.io/openshift-serverless-1/kn-plugin-func-func-util-rhel8@sha256:1bdcc2393a002e6e0511adbf27772e9be319c63190d11431c8fdc0096ed12b00" + value: "registry.redhat.io/openshift-serverless-1/kn-plugin-func-func-util-rhel8@sha256:ac7420af6dc5d374aa2bd6971dafce48723c34b0ad2cb060b3194cb23c18a496" - name: "IMAGE_KN_PLUGIN_FUNC_TEKTON_BUILDAH" value: "registry.redhat.io/rhel8/buildah@sha256:3d505d9c0f5d4cd5a4ec03b8d038656c6cdbdf5191e00ce6388f7e0e4d2f1b74" - name: "IMAGE_KN_PLUGIN_FUNC_NODEJS_20_MINIMAL" @@ -979,7 +979,7 @@ spec: serviceAccountName: knative-openshift initContainers: - name: cli-artifacts - image: registry.redhat.io/openshift-serverless-1/kn-client-cli-artifacts-rhel8@sha256:fd931d69bb79cd0a66700647ac9ee56335e8cc2407c6f39108453900cc6b60ec + image: registry.redhat.io/openshift-serverless-1/kn-client-cli-artifacts-rhel8@sha256:3428086aef412e7521b6afd4d3d0b01e69d9bbb29063b920725129a6edaa3758 imagePullPolicy: Always command: ["sh", "-c", "rm -rf /cli-artifacts/* && cp /usr/share/kn/**/* /cli-artifacts && chmod 444 /cli-artifacts/*"] volumeMounts: @@ -993,7 +993,7 @@ spec: - ALL containers: - name: knative-openshift - image: registry.redhat.io/openshift-serverless-1/serverless-kn-operator-rhel8@sha256:b2c2d2378dd7a8a2bafdd3b4f9555b6fb3065622b8de3730eee0ed531d1ea34c + image: registry.redhat.io/openshift-serverless-1/serverless-kn-operator-rhel8@sha256:8b07a258aa3a7890aaafcff21de177a1aef2851765161f0301fe2e02c71aef67 imagePullPolicy: Always readinessProbe: httpGet: @@ -1055,63 +1055,63 @@ 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:4e0dc76ce12083a2ddf4b4a7a568b083a6e579787198e74c399e1d4e23e1004a" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-queue-rhel8@sha256:65353f6c8b829735b61bc16233c40a40f4cf87b3c35516b2bee9462a388e35a0" - name: "IMAGE_activator" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-activator-rhel8@sha256:0f90c7810be22ebcd02f785a830800e74ecb290c7206431eb4b0c766c78d576d" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-activator-rhel8@sha256:c894278abc3138bea7d7c1847e8c846d96ca809fa1a8f79e47101b02b4147eb0" - name: "IMAGE_autoscaler" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-rhel8@sha256:e48fc59a5abd5dd4ecc4c8d97c9af2752a4128bc03c6c22589c3f487070b8b2c" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-rhel8@sha256:9a96032e0211eaa3fffdb144312164ee77d483933cb36bbb0be5ebf8722ad2d1" - name: "IMAGE_autoscaler-hpa" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-hpa-rhel8@sha256:30023059131ed236cc72bf528e9ae705b7a9890b952043d7f21b87534198774e" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-hpa-rhel8@sha256:f63aceb332ca64609cca1a858464e06f70d0f6196ddf841af8d1664996324fe2" - name: "IMAGE_controller__controller" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-controller-rhel8@sha256:7efd04b678e0e6b2e209fee665934151d4e7877f68d3817452e5697b24f1a669" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-controller-rhel8@sha256:86c527668a005e21ef159f4fba50685af94075060d9d664376feadc1322a3307" - name: "IMAGE_webhook__webhook" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-webhook-rhel8@sha256:c4335ba2ce15d5994f075e6855b2512ec0daf456e792dcb41caed8dead2a32ad" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-webhook-rhel8@sha256:693bebab78e70fcf55035d0790ead09f95e745a30392de52c6e2f651b794534d" - name: "IMAGE_storage-version-migration-serving-__migrate" - value: "registry.redhat.io/openshift-serverless-1/kn-serving-storage-version-migration-rhel8@sha256:1adb5c1f4c43d7089dea4d06cbcfeea4af8464abe4f5cef864362524afddacff" + value: "registry.redhat.io/openshift-serverless-1/kn-serving-storage-version-migration-rhel8@sha256:7e3e3f501b7e2afaa14883c44ce6944a1031ac0e4209bca92b31ae860f945415" - name: "IMAGE_kourier-gateway" value: "registry.redhat.io/openshift-service-mesh/proxyv2-rhel8@sha256:b9aca441a381227afe58c4b731275996164405b07150db3c9051a82904f31c0b" - name: "IMAGE_net-kourier-controller__controller" - value: "registry.redhat.io/openshift-serverless-1/net-kourier-kourier-rhel8@sha256:f74f72a112284ce67bf7a1f2e12a45195a07633e304c7fb35d2e9589682e7cf4" + value: "registry.redhat.io/openshift-serverless-1/net-kourier-kourier-rhel8@sha256:f7d7827769e06aa4a26fa9c8bbd213e4d8b1488177b16b0e748e215dc26742db" - name: "IMAGE_net-istio-controller__controller" - value: "registry.redhat.io/openshift-serverless-1/net-istio-controller-rhel8@sha256:96d13f787d40f4f966ea6345388ec66964cba87a999d88247d6232f4a7991f01" + value: "registry.redhat.io/openshift-serverless-1/net-istio-controller-rhel8@sha256:24fa1024b038cd884be289ffc583a2522106fe5b7c5c23d00971886b9ccf4758" - name: "IMAGE_net-istio-webhook__webhook" - value: "registry.redhat.io/openshift-serverless-1/net-istio-webhook-rhel8@sha256:8ee8334e041259789ac2f6377dcd10569763e8b2a546a6d3b253dc2fc3026a4c" + value: "registry.redhat.io/openshift-serverless-1/net-istio-webhook-rhel8@sha256:7e1a92efe766f057492cf480c807729dea0c6b1ec4844078b5a89276691f9f4d" - name: "IMAGE_eventing-controller__eventing-controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-controller-rhel8@sha256:2ea8705026b7b2f38746305ae1744ebc0893244d6acb7c1e1d1a43aedeca95c4" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-controller-rhel8@sha256:78fc660434481d8b111ff2af01edd493d0877a7b9a3de2d18f50ed2ce594c33f" - name: "IMAGE_eventing-istio-controller__eventing-istio-controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-istio-controller-rhel8@sha256:0d81c7bbe2df5f8998e15179f11bd8ec349419bcafffd084a5e0158b950f01a9" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-istio-controller-rhel8@sha256:cc73ab9a8866fe4224f29fbed0fb71bb017eccf6fa4e3575976256cb4af34469" - name: "IMAGE_eventing-webhook__eventing-webhook" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-webhook-rhel8@sha256:5bda86d9d108ed65fc3340a6b76967c8ed9ccaf3dc2477f0fef97aafe9a0a2d5" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-webhook-rhel8@sha256:0d3d0552898a06e04e86c72593138529885f074dd00f095a94f2bb097e462215" - name: "IMAGE_storage-version-migration-eventing-__migrate" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:66bf0565fbe2aeb9d131f8f4d314d53b026bb81b5f5124c9221c94c05489ddc1" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:5804f49720ce6ea37475e08c76cfb267b31b9a0d2258b714d8efa9e8874b4d45" - name: "IMAGE_mt-broker-controller__mt-broker-controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtchannel-broker-rhel8@sha256:42b6cee4e6e06a74df4c0b1c1deee46260789e72695340d6d090648ff1565387" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtchannel-broker-rhel8@sha256:b00812884993d69359fc726953d961f8302e9741a93e39c5fec64f822ac4764c" - name: "IMAGE_mt-broker-filter__filter" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-filter-rhel8@sha256:79fb2a167623795d20fe775460d5d3029ba8cb1af74a4e5cec8904a870380506" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-filter-rhel8@sha256:97de1e9477f2ddcf0c735909ba08588014ae195be5e3d8d4bf4040d245d64eaa" - name: "IMAGE_mt-broker-ingress__ingress" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-ingress-rhel8@sha256:77965c8962e538fc7ace540280a08aaf25df307f1dc8cb4abe90aaf5bc1e2dfc" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-ingress-rhel8@sha256:fa608b6c99071d644aa47165f19e12b2f9fa3bfeb19d38858de3579798e41adf" - name: "IMAGE_imc-controller__controller" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-controller-rhel8@sha256:8ad9054117d5d9602184870a02da40146055cb348266aebd47cb4fbeaf6c7611" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-controller-rhel8@sha256:25b008353cec521f4de8ace56b27f8a7ffe80c0a9bedc82f1d55b9faaa5b9404" - name: "IMAGE_imc-dispatcher__dispatcher" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:025095398dd208e0c68b919248c1e66ab381a95567174d479c18b54c279111f4" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:df752a1448c4aac58beb36d742ee3853beb2304ea6c320783fb3373edb5bda66" - name: "IMAGE_pingsource-mt-adapter__dispatcher" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtping-rhel8@sha256:14dd539d30c2f95f5848f7496f7133757342dafe32c0a34e5e189cec27ce587e" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtping-rhel8@sha256:a6de54d8efecf318cf8f5a0becbbd703591c0496c3aca9d463f00410ac4d6731" - name: "IMAGE_APISERVER_RA_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-apiserver-receive-adapter-rhel8@sha256:50c97b978e4d8ca42bfae90d3197a0feebe92839bc23d149b33e538eed212a91" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-apiserver-receive-adapter-rhel8@sha256:289237bcf0a89c6798f41cd4144b8e0166563dbf2a35eba6ba81dd6eae1b7dd4" - name: "IMAGE_DISPATCHER_IMAGE" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:025095398dd208e0c68b919248c1e66ab381a95567174d479c18b54c279111f4" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:df752a1448c4aac58beb36d742ee3853beb2304ea6c320783fb3373edb5bda66" - name: "IMAGE_job-sink__job-sink" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-jobsink-rhel8@sha256:f2492d64ecc32b2d3083ccc15bd8f5a2a2187c908d169212912d50c45f5859a0" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-jobsink-rhel8@sha256:bb7c3a4fa72d57c16be6190bf374f870c98a2d8058112e622084b15dcf659dcd" - name: "IMAGE_eventmesh-backend__controller" - value: "registry.redhat.io/openshift-serverless-1/kn-backstage-plugins-eventmesh-rhel8@sha256:65a0ecb1a4fc23eda9008612401b9b7748c251c1a8954d7346ab990ea0030324" + value: "registry.redhat.io/openshift-serverless-1/kn-backstage-plugins-eventmesh-rhel8@sha256:3a5d837d29f115ad6d690f2531242b55995ffe16ce53fdb937ff3ad56b49fff0" - 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:018459cbba2e3169bc4be6564cf3747c9cd0677445912abf237f8fe6d58e46ac" - name: "IMAGE_KN_CLIENT" - value: "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:3e7fe20978059eeb136738923b9b6ce508d8c61d060d7ff8f92643b1c51a6f94" + value: "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:2e6838975b3b72a7806aff00fdfb47f07363c04b26cab9577c576c10b6cb82a6" - name: "IMAGE_KN_PLUGIN_FUNC_UTIL" - value: "registry.redhat.io/openshift-serverless-1/kn-plugin-func-func-util-rhel8@sha256:1bdcc2393a002e6e0511adbf27772e9be319c63190d11431c8fdc0096ed12b00" + value: "registry.redhat.io/openshift-serverless-1/kn-plugin-func-func-util-rhel8@sha256:ac7420af6dc5d374aa2bd6971dafce48723c34b0ad2cb060b3194cb23c18a496" - name: "IMAGE_KN_PLUGIN_FUNC_TEKTON_BUILDAH" value: "registry.redhat.io/rhel8/buildah@sha256:3d505d9c0f5d4cd5a4ec03b8d038656c6cdbdf5191e00ce6388f7e0e4d2f1b74" - name: "IMAGE_KN_PLUGIN_FUNC_NODEJS_20_MINIMAL" @@ -1121,25 +1121,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:135090ceb8cd537dd04fd7ef26152ef55710b30578f6792780cda0cf37a8a5a5" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:be431970e5180eb9e97b326cb3db7ce3b69919733886682ac7ef229579dfb7c4" - name: "KAFKA_IMAGE_kafka-broker-dispatcher__kafka-broker-dispatcher" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:e7befad5d1a30843afd79d84c405fa4ae3bb8bf49abd68f7e478f6c6571f3631" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:2d169cf4fbce1bc6d551145e785bb0e5f1b4a3e9b42f2ea79418cbd303f4c42b" - name: "KAFKA_IMAGE_kafka-channel-receiver__kafka-channel-receiver" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:135090ceb8cd537dd04fd7ef26152ef55710b30578f6792780cda0cf37a8a5a5" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:be431970e5180eb9e97b326cb3db7ce3b69919733886682ac7ef229579dfb7c4" - name: "KAFKA_IMAGE_kafka-channel-dispatcher__kafka-channel-dispatcher" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:e7befad5d1a30843afd79d84c405fa4ae3bb8bf49abd68f7e478f6c6571f3631" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:2d169cf4fbce1bc6d551145e785bb0e5f1b4a3e9b42f2ea79418cbd303f4c42b" - name: "KAFKA_IMAGE_kafka-controller__controller" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-kafka-controller-rhel8@sha256:cfc7b254d9013caa3ec362dd0b75fa41e561d517f1e288fa9d1539eebfe5b717" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-kafka-controller-rhel8@sha256:f815e6d1b24b764bb216f3c8ee073bccd690603627a1508f999db38014b1fd05" - name: "KAFKA_IMAGE_kafka-sink-receiver__kafka-sink-receiver" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:135090ceb8cd537dd04fd7ef26152ef55710b30578f6792780cda0cf37a8a5a5" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:be431970e5180eb9e97b326cb3db7ce3b69919733886682ac7ef229579dfb7c4" - name: "KAFKA_IMAGE_kafka-source-dispatcher__kafka-source-dispatcher" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:e7befad5d1a30843afd79d84c405fa4ae3bb8bf49abd68f7e478f6c6571f3631" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:2d169cf4fbce1bc6d551145e785bb0e5f1b4a3e9b42f2ea79418cbd303f4c42b" - name: "KAFKA_IMAGE_kafka-webhook-eventing__kafka-webhook-eventing" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-webhook-kafka-rhel8@sha256:e61f8b2c34ff0f39b0e189f5c4b122de42418ee93d10950412d333505c0c2996" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-webhook-kafka-rhel8@sha256:1a603d4cc11f23f146d69361ec41505c88347b8a1fffda0841415c4d505188a4" - name: "KAFKA_IMAGE_kafka-controller-post-install__post-install" - value: "registry.redhat.io/openshift-serverless-1/kn-ekb-post-install-rhel8@sha256:425d7ff957d90c11215c8182795a67217d22552559eec73023a1245d270803f9" + value: "registry.redhat.io/openshift-serverless-1/kn-ekb-post-install-rhel8@sha256:7e646f1803639f436422203cf68a641968493431cc78211b45d203af850be2b9" - name: "KAFKA_IMAGE_knative-kafka-storage-version-migrator__migrate" - value: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:66bf0565fbe2aeb9d131f8f4d314d53b026bb81b5f5124c9221c94c05489ddc1" + value: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:5804f49720ce6ea37475e08c76cfb267b31b9a0d2258b714d8efa9e8874b4d45" - name: "CURRENT_VERSION" value: "1.35.2" - name: "KNATIVE_SERVING_VERSION" @@ -1173,7 +1173,7 @@ spec: serviceAccountName: knative-openshift-ingress containers: - name: knative-openshift-ingress - image: registry.redhat.io/openshift-serverless-1/serverless-ingress-rhel8@sha256:5587d74af2720acf22bec3a2890c66a8e494917db23e3569a620f671f3608e33 + image: registry.redhat.io/openshift-serverless-1/serverless-ingress-rhel8@sha256:054f5c88edb47cf086f720f9ca00b1c2b7a70312e0d33f4da5bf2e21680e6e53 imagePullPolicy: Always ports: - containerPort: 9090 @@ -1324,69 +1324,69 @@ spec: - knativeeventings.operator.knative.dev relatedImages: - name: "knative-operator" - image: "registry.redhat.io/openshift-serverless-1/serverless-openshift-kn-rhel8-operator@sha256:35d1ebdaed9e6bc91fb8b2f2aa9b34e70bdf88895112e6ffd06343067e0d56a8" + image: "registry.redhat.io/openshift-serverless-1/serverless-openshift-kn-rhel8-operator@sha256:6f1b6247849ad0467275ceec6ceafc989e75713c7fbf9664d325099e2221d072" - name: "knative-openshift" - image: "registry.redhat.io/openshift-serverless-1/serverless-kn-operator-rhel8@sha256:b2c2d2378dd7a8a2bafdd3b4f9555b6fb3065622b8de3730eee0ed531d1ea34c" + image: "registry.redhat.io/openshift-serverless-1/serverless-kn-operator-rhel8@sha256:8b07a258aa3a7890aaafcff21de177a1aef2851765161f0301fe2e02c71aef67" - name: "knative-openshift-ingress" - image: "registry.redhat.io/openshift-serverless-1/serverless-ingress-rhel8@sha256:5587d74af2720acf22bec3a2890c66a8e494917db23e3569a620f671f3608e33" + image: "registry.redhat.io/openshift-serverless-1/serverless-ingress-rhel8@sha256:054f5c88edb47cf086f720f9ca00b1c2b7a70312e0d33f4da5bf2e21680e6e53" - name: "IMAGE_queue-proxy" - image: "registry.redhat.io/openshift-serverless-1/kn-serving-queue-rhel8@sha256:4e0dc76ce12083a2ddf4b4a7a568b083a6e579787198e74c399e1d4e23e1004a" + image: "registry.redhat.io/openshift-serverless-1/kn-serving-queue-rhel8@sha256:65353f6c8b829735b61bc16233c40a40f4cf87b3c35516b2bee9462a388e35a0" - name: "IMAGE_activator" - image: "registry.redhat.io/openshift-serverless-1/kn-serving-activator-rhel8@sha256:0f90c7810be22ebcd02f785a830800e74ecb290c7206431eb4b0c766c78d576d" + image: "registry.redhat.io/openshift-serverless-1/kn-serving-activator-rhel8@sha256:c894278abc3138bea7d7c1847e8c846d96ca809fa1a8f79e47101b02b4147eb0" - name: "IMAGE_autoscaler" - image: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-rhel8@sha256:e48fc59a5abd5dd4ecc4c8d97c9af2752a4128bc03c6c22589c3f487070b8b2c" + image: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-rhel8@sha256:9a96032e0211eaa3fffdb144312164ee77d483933cb36bbb0be5ebf8722ad2d1" - name: "IMAGE_autoscaler-hpa" - image: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-hpa-rhel8@sha256:30023059131ed236cc72bf528e9ae705b7a9890b952043d7f21b87534198774e" + image: "registry.redhat.io/openshift-serverless-1/kn-serving-autoscaler-hpa-rhel8@sha256:f63aceb332ca64609cca1a858464e06f70d0f6196ddf841af8d1664996324fe2" - name: "IMAGE_controller__controller" - image: "registry.redhat.io/openshift-serverless-1/kn-serving-controller-rhel8@sha256:7efd04b678e0e6b2e209fee665934151d4e7877f68d3817452e5697b24f1a669" + image: "registry.redhat.io/openshift-serverless-1/kn-serving-controller-rhel8@sha256:86c527668a005e21ef159f4fba50685af94075060d9d664376feadc1322a3307" - name: "IMAGE_webhook__webhook" - image: "registry.redhat.io/openshift-serverless-1/kn-serving-webhook-rhel8@sha256:c4335ba2ce15d5994f075e6855b2512ec0daf456e792dcb41caed8dead2a32ad" + image: "registry.redhat.io/openshift-serverless-1/kn-serving-webhook-rhel8@sha256:693bebab78e70fcf55035d0790ead09f95e745a30392de52c6e2f651b794534d" - name: "IMAGE_storage-version-migration-serving-__migrate" - image: "registry.redhat.io/openshift-serverless-1/kn-serving-storage-version-migration-rhel8@sha256:1adb5c1f4c43d7089dea4d06cbcfeea4af8464abe4f5cef864362524afddacff" + image: "registry.redhat.io/openshift-serverless-1/kn-serving-storage-version-migration-rhel8@sha256:7e3e3f501b7e2afaa14883c44ce6944a1031ac0e4209bca92b31ae860f945415" - name: "IMAGE_kourier-gateway" image: "registry.redhat.io/openshift-service-mesh/proxyv2-rhel8@sha256:b9aca441a381227afe58c4b731275996164405b07150db3c9051a82904f31c0b" - name: "IMAGE_net-kourier-controller__controller" - image: "registry.redhat.io/openshift-serverless-1/net-kourier-kourier-rhel8@sha256:f74f72a112284ce67bf7a1f2e12a45195a07633e304c7fb35d2e9589682e7cf4" + image: "registry.redhat.io/openshift-serverless-1/net-kourier-kourier-rhel8@sha256:f7d7827769e06aa4a26fa9c8bbd213e4d8b1488177b16b0e748e215dc26742db" - name: "IMAGE_net-istio-controller__controller" - image: "registry.redhat.io/openshift-serverless-1/net-istio-controller-rhel8@sha256:96d13f787d40f4f966ea6345388ec66964cba87a999d88247d6232f4a7991f01" + image: "registry.redhat.io/openshift-serverless-1/net-istio-controller-rhel8@sha256:24fa1024b038cd884be289ffc583a2522106fe5b7c5c23d00971886b9ccf4758" - name: "IMAGE_net-istio-webhook__webhook" - image: "registry.redhat.io/openshift-serverless-1/net-istio-webhook-rhel8@sha256:8ee8334e041259789ac2f6377dcd10569763e8b2a546a6d3b253dc2fc3026a4c" + image: "registry.redhat.io/openshift-serverless-1/net-istio-webhook-rhel8@sha256:7e1a92efe766f057492cf480c807729dea0c6b1ec4844078b5a89276691f9f4d" - name: "IMAGE_eventing-controller__eventing-controller" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-controller-rhel8@sha256:2ea8705026b7b2f38746305ae1744ebc0893244d6acb7c1e1d1a43aedeca95c4" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-controller-rhel8@sha256:78fc660434481d8b111ff2af01edd493d0877a7b9a3de2d18f50ed2ce594c33f" - name: "IMAGE_eventing-istio-controller__eventing-istio-controller" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-istio-controller-rhel8@sha256:0d81c7bbe2df5f8998e15179f11bd8ec349419bcafffd084a5e0158b950f01a9" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-istio-controller-rhel8@sha256:cc73ab9a8866fe4224f29fbed0fb71bb017eccf6fa4e3575976256cb4af34469" - name: "IMAGE_eventing-webhook__eventing-webhook" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-webhook-rhel8@sha256:5bda86d9d108ed65fc3340a6b76967c8ed9ccaf3dc2477f0fef97aafe9a0a2d5" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-webhook-rhel8@sha256:0d3d0552898a06e04e86c72593138529885f074dd00f095a94f2bb097e462215" - name: "IMAGE_storage-version-migration-eventing-__migrate" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:66bf0565fbe2aeb9d131f8f4d314d53b026bb81b5f5124c9221c94c05489ddc1" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:5804f49720ce6ea37475e08c76cfb267b31b9a0d2258b714d8efa9e8874b4d45" - name: "IMAGE_mt-broker-controller__mt-broker-controller" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtchannel-broker-rhel8@sha256:42b6cee4e6e06a74df4c0b1c1deee46260789e72695340d6d090648ff1565387" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtchannel-broker-rhel8@sha256:b00812884993d69359fc726953d961f8302e9741a93e39c5fec64f822ac4764c" - name: "IMAGE_mt-broker-filter__filter" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-filter-rhel8@sha256:79fb2a167623795d20fe775460d5d3029ba8cb1af74a4e5cec8904a870380506" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-filter-rhel8@sha256:97de1e9477f2ddcf0c735909ba08588014ae195be5e3d8d4bf4040d245d64eaa" - name: "IMAGE_mt-broker-ingress__ingress" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-ingress-rhel8@sha256:77965c8962e538fc7ace540280a08aaf25df307f1dc8cb4abe90aaf5bc1e2dfc" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-ingress-rhel8@sha256:fa608b6c99071d644aa47165f19e12b2f9fa3bfeb19d38858de3579798e41adf" - name: "IMAGE_imc-controller__controller" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-controller-rhel8@sha256:8ad9054117d5d9602184870a02da40146055cb348266aebd47cb4fbeaf6c7611" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-controller-rhel8@sha256:25b008353cec521f4de8ace56b27f8a7ffe80c0a9bedc82f1d55b9faaa5b9404" - name: "IMAGE_imc-dispatcher__dispatcher" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:025095398dd208e0c68b919248c1e66ab381a95567174d479c18b54c279111f4" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:df752a1448c4aac58beb36d742ee3853beb2304ea6c320783fb3373edb5bda66" - name: "IMAGE_pingsource-mt-adapter__dispatcher" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtping-rhel8@sha256:14dd539d30c2f95f5848f7496f7133757342dafe32c0a34e5e189cec27ce587e" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-mtping-rhel8@sha256:a6de54d8efecf318cf8f5a0becbbd703591c0496c3aca9d463f00410ac4d6731" - name: "IMAGE_APISERVER_RA_IMAGE" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-apiserver-receive-adapter-rhel8@sha256:50c97b978e4d8ca42bfae90d3197a0feebe92839bc23d149b33e538eed212a91" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-apiserver-receive-adapter-rhel8@sha256:289237bcf0a89c6798f41cd4144b8e0166563dbf2a35eba6ba81dd6eae1b7dd4" - name: "IMAGE_DISPATCHER_IMAGE" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:025095398dd208e0c68b919248c1e66ab381a95567174d479c18b54c279111f4" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-channel-dispatcher-rhel8@sha256:df752a1448c4aac58beb36d742ee3853beb2304ea6c320783fb3373edb5bda66" - name: "IMAGE_job-sink__job-sink" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-jobsink-rhel8@sha256:f2492d64ecc32b2d3083ccc15bd8f5a2a2187c908d169212912d50c45f5859a0" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-jobsink-rhel8@sha256:bb7c3a4fa72d57c16be6190bf374f870c98a2d8058112e622084b15dcf659dcd" - name: "IMAGE_eventmesh-backend__controller" - image: "registry.redhat.io/openshift-serverless-1/kn-backstage-plugins-eventmesh-rhel8@sha256:65a0ecb1a4fc23eda9008612401b9b7748c251c1a8954d7346ab990ea0030324" + image: "registry.redhat.io/openshift-serverless-1/kn-backstage-plugins-eventmesh-rhel8@sha256:3a5d837d29f115ad6d690f2531242b55995ffe16ce53fdb937ff3ad56b49fff0" - 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:018459cbba2e3169bc4be6564cf3747c9cd0677445912abf237f8fe6d58e46ac" - name: "IMAGE_KN_CLIENT" - image: "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:3e7fe20978059eeb136738923b9b6ce508d8c61d060d7ff8f92643b1c51a6f94" + image: "registry.redhat.io/openshift-serverless-1/kn-client-kn-rhel8@sha256:2e6838975b3b72a7806aff00fdfb47f07363c04b26cab9577c576c10b6cb82a6" - name: "IMAGE_KN_PLUGIN_FUNC_UTIL" - image: "registry.redhat.io/openshift-serverless-1/kn-plugin-func-func-util-rhel8@sha256:1bdcc2393a002e6e0511adbf27772e9be319c63190d11431c8fdc0096ed12b00" + image: "registry.redhat.io/openshift-serverless-1/kn-plugin-func-func-util-rhel8@sha256:ac7420af6dc5d374aa2bd6971dafce48723c34b0ad2cb060b3194cb23c18a496" - name: "IMAGE_KN_PLUGIN_FUNC_TEKTON_BUILDAH" image: "registry.redhat.io/rhel8/buildah@sha256:3d505d9c0f5d4cd5a4ec03b8d038656c6cdbdf5191e00ce6388f7e0e4d2f1b74" - name: "IMAGE_KN_PLUGIN_FUNC_NODEJS_20_MINIMAL" @@ -1396,28 +1396,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:135090ceb8cd537dd04fd7ef26152ef55710b30578f6792780cda0cf37a8a5a5" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:be431970e5180eb9e97b326cb3db7ce3b69919733886682ac7ef229579dfb7c4" - name: "KAFKA_IMAGE_kafka-broker-dispatcher__kafka-broker-dispatcher" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:e7befad5d1a30843afd79d84c405fa4ae3bb8bf49abd68f7e478f6c6571f3631" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:2d169cf4fbce1bc6d551145e785bb0e5f1b4a3e9b42f2ea79418cbd303f4c42b" - name: "KAFKA_IMAGE_kafka-channel-receiver__kafka-channel-receiver" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:135090ceb8cd537dd04fd7ef26152ef55710b30578f6792780cda0cf37a8a5a5" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:be431970e5180eb9e97b326cb3db7ce3b69919733886682ac7ef229579dfb7c4" - name: "KAFKA_IMAGE_kafka-channel-dispatcher__kafka-channel-dispatcher" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:e7befad5d1a30843afd79d84c405fa4ae3bb8bf49abd68f7e478f6c6571f3631" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:2d169cf4fbce1bc6d551145e785bb0e5f1b4a3e9b42f2ea79418cbd303f4c42b" - name: "KAFKA_IMAGE_kafka-controller__controller" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-kafka-controller-rhel8@sha256:cfc7b254d9013caa3ec362dd0b75fa41e561d517f1e288fa9d1539eebfe5b717" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-kafka-controller-rhel8@sha256:f815e6d1b24b764bb216f3c8ee073bccd690603627a1508f999db38014b1fd05" - name: "KAFKA_IMAGE_kafka-sink-receiver__kafka-sink-receiver" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:135090ceb8cd537dd04fd7ef26152ef55710b30578f6792780cda0cf37a8a5a5" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-receiver-rhel8@sha256:be431970e5180eb9e97b326cb3db7ce3b69919733886682ac7ef229579dfb7c4" - name: "KAFKA_IMAGE_kafka-source-dispatcher__kafka-source-dispatcher" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:e7befad5d1a30843afd79d84c405fa4ae3bb8bf49abd68f7e478f6c6571f3631" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-dispatcher-rhel8@sha256:2d169cf4fbce1bc6d551145e785bb0e5f1b4a3e9b42f2ea79418cbd303f4c42b" - name: "KAFKA_IMAGE_kafka-webhook-eventing__kafka-webhook-eventing" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-webhook-kafka-rhel8@sha256:e61f8b2c34ff0f39b0e189f5c4b122de42418ee93d10950412d333505c0c2996" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-webhook-kafka-rhel8@sha256:1a603d4cc11f23f146d69361ec41505c88347b8a1fffda0841415c4d505188a4" - name: "KAFKA_IMAGE_kafka-controller-post-install__post-install" - image: "registry.redhat.io/openshift-serverless-1/kn-ekb-post-install-rhel8@sha256:425d7ff957d90c11215c8182795a67217d22552559eec73023a1245d270803f9" + image: "registry.redhat.io/openshift-serverless-1/kn-ekb-post-install-rhel8@sha256:7e646f1803639f436422203cf68a641968493431cc78211b45d203af850be2b9" - name: "KAFKA_IMAGE_knative-kafka-storage-version-migrator__migrate" - image: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:66bf0565fbe2aeb9d131f8f4d314d53b026bb81b5f5124c9221c94c05489ddc1" + image: "registry.redhat.io/openshift-serverless-1/kn-eventing-migrate-rhel8@sha256:5804f49720ce6ea37475e08c76cfb267b31b9a0d2258b714d8efa9e8874b4d45" - name: "IMAGE_MUST_GATHER" - image: "registry.redhat.io/openshift-serverless-1/serverless-must-gather-rhel8@sha256:aff26a35b501534d396711f463f6b3b974b52ca52af948d7345b97671d40f776" + image: "registry.redhat.io/openshift-serverless-1/serverless-must-gather-rhel8@sha256:d6706632d65df711ac928a0a37a5e3b823dd8c0d4bc98a5e67bd3647d30c03b5" - name: "IMAGE_KN_CLIENT_CLI_ARTIFACTS" - image: "registry.redhat.io/openshift-serverless-1/kn-client-cli-artifacts-rhel8@sha256:fd931d69bb79cd0a66700647ac9ee56335e8cc2407c6f39108453900cc6b60ec" + image: "registry.redhat.io/openshift-serverless-1/kn-client-cli-artifacts-rhel8@sha256:3428086aef412e7521b6afd4d3d0b01e69d9bbb29063b920725129a6edaa3758" replaces: serverless-operator.v1.35.1 version: 1.35.2 diff --git a/openshift-knative-operator/Dockerfile b/openshift-knative-operator/Dockerfile index 09210c8b70..a80a8b7e47 100755 --- a/openshift-knative-operator/Dockerfile +++ b/openshift-knative-operator/Dockerfile @@ -1,6 +1,6 @@ # DO NOT EDIT! Generated Dockerfile for openshift-knative-operator/cmd/openshift-knative-operator. ARG GO_BUILDER=registry.ci.openshift.org/openshift/release:rhel-8-release-golang-1.22-openshift-4.17 -ARG GO_RUNTIME=registry.access.redhat.com/ubi8/ubi-minimal +ARG GO_RUNTIME=registry.access.redhat.com/ubi9/ubi-minimal FROM $GO_BUILDER as builder @@ -25,14 +25,17 @@ COPY openshift-knative-operator/cmd/openshift-knative-operator/kodata $KO_DATA_P USER 65532 LABEL \ - com.redhat.component="openshift-serverless-1-openshift-knative-operator-rhel8-container" \ - name="openshift-serverless-1/openshift-knative-operator-rhel8" \ + com.redhat.component="openshift-serverless-1-serverless-openshift-kn-rhel9-operator-container" \ + name="openshift-serverless-1/serverless-openshift-kn-rhel9-operator" \ version=$VERSION \ summary="Red Hat OpenShift Serverless 1 Openshift Knative Operator" \ maintainer="serverless-support@redhat.com" \ description="Red Hat OpenShift Serverless 1 Openshift Knative Operator" \ io.k8s.display-name="Red Hat OpenShift Serverless 1 Openshift Knative Operator" \ io.k8s.description="Red Hat OpenShift Serverless Openshift Knative Operator" \ - io.openshift.tags="openshift-knative-operator" + io.openshift.tags="openshift-knative-operator" \ + vendor="Red Hat, Inc." \ + release=$VERSION \ + cpe="cpe:/a:redhat:openshift_serverless:1.37::el9" ENTRYPOINT ["/usr/bin/openshift-knative-operator"] diff --git a/rpms.lock.yaml b/rpms.lock.yaml index 0fbc0ec333..b8b3785b1c 100644 --- a/rpms.lock.yaml +++ b/rpms.lock.yaml @@ -18,20 +18,20 @@ arches: name: rsync evr: 3.1.3-23.el8_10 sourcerpm: rsync-3.1.3-23.el8_10.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/aarch64/baseos/os/Packages/t/tar-1.30-10.el8_10.aarch64.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/aarch64/baseos/os/Packages/t/tar-1.30-11.el8_10.aarch64.rpm repoid: ubi-8-for-aarch64-baseos-rpms - size: 850208 - checksum: sha256:faa096f95002ea8d8b07b7456fc7bc6cb096d998b5cc5930a01534dc15e02abb + size: 849436 + checksum: sha256:d144cdff236b71afbe4ce9a02919b9723b333c1588c887da781c1a74af56ad29 name: tar - evr: 2:1.30-10.el8_10 - sourcerpm: tar-1.30-10.el8_10.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/aarch64/baseos/os/Packages/t/tzdata-2025b-1.el8.noarch.rpm + evr: 2:1.30-11.el8_10 + sourcerpm: tar-1.30-11.el8_10.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/aarch64/baseos/os/Packages/t/tzdata-2025c-1.el8.noarch.rpm repoid: ubi-8-for-aarch64-baseos-rpms - size: 488428 - checksum: sha256:338539f7f0cd2770694153af81e2e65121b050a1bb555ad66a6fb6f562732602 + size: 560812 + checksum: sha256:e4b6cf905fb2111d9a45c3b6b95f6e0c5199bf9b3d576f2a06b4dcb49a63d55e name: tzdata - evr: 2025b-1.el8 - sourcerpm: tzdata-2025b-1.el8.src.rpm + evr: 2025c-1.el8 + sourcerpm: tzdata-2025c-1.el8.src.rpm source: - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/aarch64/appstream/source/SRPMS/Packages/s/socat-1.7.4.1-2.el8_10.src.rpm repoid: ubi-8-for-aarch64-appstream-source-rpms @@ -45,18 +45,18 @@ arches: checksum: sha256:f21aa8abbea6df3016d82d6db3e8b9abce2a068de40373d5ad6fa0926f0ca24a name: rsync evr: 3.1.3-23.el8_10 - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/aarch64/baseos/source/SRPMS/Packages/t/tar-1.30-10.el8_10.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/aarch64/baseos/source/SRPMS/Packages/t/tar-1.30-11.el8_10.src.rpm repoid: ubi-8-for-aarch64-baseos-source-rpms - size: 2172709 - checksum: sha256:bf8f8a0c5c47b1a35b732c9e2b9afbd45171a70355f0b93526deb654ed55b566 + size: 2173356 + checksum: sha256:eda17923b1ada7f9d5f8a4501929a61e393b66cb0a6ade6ab13d85817d29f779 name: tar - evr: 2:1.30-10.el8_10 - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/aarch64/baseos/source/SRPMS/Packages/t/tzdata-2025b-1.el8.src.rpm + evr: 2:1.30-11.el8_10 + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/aarch64/baseos/source/SRPMS/Packages/t/tzdata-2025c-1.el8.src.rpm repoid: ubi-8-for-aarch64-baseos-source-rpms - size: 946701 - checksum: sha256:2f0ba51d371713287a690d9d1635b534113258aa2571862603d52870c1c8b60d + size: 960798 + checksum: sha256:c9798a08b98344921713d3183bda98727df494d83f96924604b6b755ddc30f61 name: tzdata - evr: 2025b-1.el8 + evr: 2025c-1.el8 module_metadata: [] - arch: ppc64le packages: @@ -74,20 +74,20 @@ arches: name: rsync evr: 3.1.3-23.el8_10 sourcerpm: rsync-3.1.3-23.el8_10.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/ppc64le/baseos/os/Packages/t/tar-1.30-10.el8_10.ppc64le.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/ppc64le/baseos/os/Packages/t/tar-1.30-11.el8_10.ppc64le.rpm repoid: ubi-8-for-ppc64le-baseos-rpms - size: 879004 - checksum: sha256:759b26009945a72d4d5813efcaf17d9ff2494f1031bcd57220acff067a33853e + size: 877676 + checksum: sha256:8f7ab471dc80a164806bae0dab7c4a631383f8fb0c89ab34ac578dd2900ce979 name: tar - evr: 2:1.30-10.el8_10 - sourcerpm: tar-1.30-10.el8_10.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/ppc64le/baseos/os/Packages/t/tzdata-2025b-1.el8.noarch.rpm + evr: 2:1.30-11.el8_10 + sourcerpm: tar-1.30-11.el8_10.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/ppc64le/baseos/os/Packages/t/tzdata-2025c-1.el8.noarch.rpm repoid: ubi-8-for-ppc64le-baseos-rpms - size: 488428 - checksum: sha256:338539f7f0cd2770694153af81e2e65121b050a1bb555ad66a6fb6f562732602 + size: 560812 + checksum: sha256:e4b6cf905fb2111d9a45c3b6b95f6e0c5199bf9b3d576f2a06b4dcb49a63d55e name: tzdata - evr: 2025b-1.el8 - sourcerpm: tzdata-2025b-1.el8.src.rpm + evr: 2025c-1.el8 + sourcerpm: tzdata-2025c-1.el8.src.rpm source: - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/ppc64le/appstream/source/SRPMS/Packages/s/socat-1.7.4.1-2.el8_10.src.rpm repoid: ubi-8-for-ppc64le-appstream-source-rpms @@ -101,18 +101,18 @@ arches: checksum: sha256:f21aa8abbea6df3016d82d6db3e8b9abce2a068de40373d5ad6fa0926f0ca24a name: rsync evr: 3.1.3-23.el8_10 - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/ppc64le/baseos/source/SRPMS/Packages/t/tar-1.30-10.el8_10.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/ppc64le/baseos/source/SRPMS/Packages/t/tar-1.30-11.el8_10.src.rpm repoid: ubi-8-for-ppc64le-baseos-source-rpms - size: 2172709 - checksum: sha256:bf8f8a0c5c47b1a35b732c9e2b9afbd45171a70355f0b93526deb654ed55b566 + size: 2173356 + checksum: sha256:eda17923b1ada7f9d5f8a4501929a61e393b66cb0a6ade6ab13d85817d29f779 name: tar - evr: 2:1.30-10.el8_10 - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/ppc64le/baseos/source/SRPMS/Packages/t/tzdata-2025b-1.el8.src.rpm + evr: 2:1.30-11.el8_10 + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/ppc64le/baseos/source/SRPMS/Packages/t/tzdata-2025c-1.el8.src.rpm repoid: ubi-8-for-ppc64le-baseos-source-rpms - size: 946701 - checksum: sha256:2f0ba51d371713287a690d9d1635b534113258aa2571862603d52870c1c8b60d + size: 960798 + checksum: sha256:c9798a08b98344921713d3183bda98727df494d83f96924604b6b755ddc30f61 name: tzdata - evr: 2025b-1.el8 + evr: 2025c-1.el8 module_metadata: [] - arch: s390x packages: @@ -130,20 +130,20 @@ arches: name: rsync evr: 3.1.3-23.el8_10 sourcerpm: rsync-3.1.3-23.el8_10.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/s390x/baseos/os/Packages/t/tar-1.30-10.el8_10.s390x.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/s390x/baseos/os/Packages/t/tar-1.30-11.el8_10.s390x.rpm repoid: ubi-8-for-s390x-baseos-rpms - size: 853692 - checksum: sha256:783728be13c9e911d2d899b49b8b9be51723359078e8593c7475aeb506b350af + size: 852716 + checksum: sha256:19658f59ed89e790423c0639d1bd39158e7fb20d86aef49765e81878708053ad name: tar - evr: 2:1.30-10.el8_10 - sourcerpm: tar-1.30-10.el8_10.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/s390x/baseos/os/Packages/t/tzdata-2025b-1.el8.noarch.rpm + evr: 2:1.30-11.el8_10 + sourcerpm: tar-1.30-11.el8_10.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/s390x/baseos/os/Packages/t/tzdata-2025c-1.el8.noarch.rpm repoid: ubi-8-for-s390x-baseos-rpms - size: 488428 - checksum: sha256:338539f7f0cd2770694153af81e2e65121b050a1bb555ad66a6fb6f562732602 + size: 560812 + checksum: sha256:e4b6cf905fb2111d9a45c3b6b95f6e0c5199bf9b3d576f2a06b4dcb49a63d55e name: tzdata - evr: 2025b-1.el8 - sourcerpm: tzdata-2025b-1.el8.src.rpm + evr: 2025c-1.el8 + sourcerpm: tzdata-2025c-1.el8.src.rpm source: - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/s390x/appstream/source/SRPMS/Packages/s/socat-1.7.4.1-2.el8_10.src.rpm repoid: ubi-8-for-s390x-appstream-source-rpms @@ -157,18 +157,18 @@ arches: checksum: sha256:f21aa8abbea6df3016d82d6db3e8b9abce2a068de40373d5ad6fa0926f0ca24a name: rsync evr: 3.1.3-23.el8_10 - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/s390x/baseos/source/SRPMS/Packages/t/tar-1.30-10.el8_10.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/s390x/baseos/source/SRPMS/Packages/t/tar-1.30-11.el8_10.src.rpm repoid: ubi-8-for-s390x-baseos-source-rpms - size: 2172709 - checksum: sha256:bf8f8a0c5c47b1a35b732c9e2b9afbd45171a70355f0b93526deb654ed55b566 + size: 2173356 + checksum: sha256:eda17923b1ada7f9d5f8a4501929a61e393b66cb0a6ade6ab13d85817d29f779 name: tar - evr: 2:1.30-10.el8_10 - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/s390x/baseos/source/SRPMS/Packages/t/tzdata-2025b-1.el8.src.rpm + evr: 2:1.30-11.el8_10 + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/s390x/baseos/source/SRPMS/Packages/t/tzdata-2025c-1.el8.src.rpm repoid: ubi-8-for-s390x-baseos-source-rpms - size: 946701 - checksum: sha256:2f0ba51d371713287a690d9d1635b534113258aa2571862603d52870c1c8b60d + size: 960798 + checksum: sha256:c9798a08b98344921713d3183bda98727df494d83f96924604b6b755ddc30f61 name: tzdata - evr: 2025b-1.el8 + evr: 2025c-1.el8 module_metadata: [] - arch: x86_64 packages: @@ -186,20 +186,20 @@ arches: name: rsync evr: 3.1.3-23.el8_10 sourcerpm: rsync-3.1.3-23.el8_10.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/x86_64/baseos/os/Packages/t/tar-1.30-10.el8_10.x86_64.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/x86_64/baseos/os/Packages/t/tar-1.30-11.el8_10.x86_64.rpm repoid: ubi-8-for-x86_64-baseos-rpms - size: 859244 - checksum: sha256:471485af8599f7176f357867dc952e587cffb223dec3455f97d8e40a854515ac + size: 858044 + checksum: sha256:165490e87bdfb8c9647aeb58c72c1676c695218a8f87170753a9f49daabb774c name: tar - evr: 2:1.30-10.el8_10 - sourcerpm: tar-1.30-10.el8_10.src.rpm - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/x86_64/baseos/os/Packages/t/tzdata-2025b-1.el8.noarch.rpm + evr: 2:1.30-11.el8_10 + sourcerpm: tar-1.30-11.el8_10.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/x86_64/baseos/os/Packages/t/tzdata-2025c-1.el8.noarch.rpm repoid: ubi-8-for-x86_64-baseos-rpms - size: 488428 - checksum: sha256:338539f7f0cd2770694153af81e2e65121b050a1bb555ad66a6fb6f562732602 + size: 560812 + checksum: sha256:e4b6cf905fb2111d9a45c3b6b95f6e0c5199bf9b3d576f2a06b4dcb49a63d55e name: tzdata - evr: 2025b-1.el8 - sourcerpm: tzdata-2025b-1.el8.src.rpm + evr: 2025c-1.el8 + sourcerpm: tzdata-2025c-1.el8.src.rpm source: - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/x86_64/appstream/source/SRPMS/Packages/s/socat-1.7.4.1-2.el8_10.src.rpm repoid: ubi-8-for-x86_64-appstream-source-rpms @@ -213,16 +213,16 @@ arches: checksum: sha256:f21aa8abbea6df3016d82d6db3e8b9abce2a068de40373d5ad6fa0926f0ca24a name: rsync evr: 3.1.3-23.el8_10 - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/x86_64/baseos/source/SRPMS/Packages/t/tar-1.30-10.el8_10.src.rpm + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/x86_64/baseos/source/SRPMS/Packages/t/tar-1.30-11.el8_10.src.rpm repoid: ubi-8-for-x86_64-baseos-source-rpms - size: 2172709 - checksum: sha256:bf8f8a0c5c47b1a35b732c9e2b9afbd45171a70355f0b93526deb654ed55b566 + size: 2173356 + checksum: sha256:eda17923b1ada7f9d5f8a4501929a61e393b66cb0a6ade6ab13d85817d29f779 name: tar - evr: 2:1.30-10.el8_10 - - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/x86_64/baseos/source/SRPMS/Packages/t/tzdata-2025b-1.el8.src.rpm + evr: 2:1.30-11.el8_10 + - url: https://cdn-ubi.redhat.com/content/public/ubi/dist/ubi8/8/x86_64/baseos/source/SRPMS/Packages/t/tzdata-2025c-1.el8.src.rpm repoid: ubi-8-for-x86_64-baseos-source-rpms - size: 946701 - checksum: sha256:2f0ba51d371713287a690d9d1635b534113258aa2571862603d52870c1c8b60d + size: 960798 + checksum: sha256:c9798a08b98344921713d3183bda98727df494d83f96924604b6b755ddc30f61 name: tzdata - evr: 2025b-1.el8 + evr: 2025c-1.el8 module_metadata: [] diff --git a/serving/ingress/Dockerfile b/serving/ingress/Dockerfile index 87bbc1975f..c952c576cc 100755 --- a/serving/ingress/Dockerfile +++ b/serving/ingress/Dockerfile @@ -1,6 +1,6 @@ # DO NOT EDIT! Generated Dockerfile for serving/ingress/cmd/ingress. ARG GO_BUILDER=registry.ci.openshift.org/openshift/release:rhel-8-release-golang-1.22-openshift-4.17 -ARG GO_RUNTIME=registry.access.redhat.com/ubi8/ubi-minimal +ARG GO_RUNTIME=registry.access.redhat.com/ubi9/ubi-minimal FROM $GO_BUILDER as builder @@ -22,14 +22,17 @@ COPY LICENSE /licenses/ USER 65532 LABEL \ - com.redhat.component="openshift-serverless-1-ingress-rhel8-container" \ - name="openshift-serverless-1/ingress-rhel8" \ + com.redhat.component="openshift-serverless-1-serverless-ingress-rhel9-container" \ + name="openshift-serverless-1/serverless-ingress-rhel9" \ version=$VERSION \ summary="Red Hat OpenShift Serverless 1 Ingress" \ maintainer="serverless-support@redhat.com" \ description="Red Hat OpenShift Serverless 1 Ingress" \ io.k8s.display-name="Red Hat OpenShift Serverless 1 Ingress" \ io.k8s.description="Red Hat OpenShift Serverless Ingress" \ - io.openshift.tags="ingress" + io.openshift.tags="ingress" \ + vendor="Red Hat, Inc." \ + release=$VERSION \ + cpe="cpe:/a:redhat:openshift_serverless:1.37::el9" ENTRYPOINT ["/usr/bin/ingress"] diff --git a/serving/metadata-webhook/Dockerfile b/serving/metadata-webhook/Dockerfile index dc33c2704b..c39e6aeaf4 100644 --- a/serving/metadata-webhook/Dockerfile +++ b/serving/metadata-webhook/Dockerfile @@ -1,6 +1,6 @@ # DO NOT EDIT! Generated Dockerfile for serving/metadata-webhook/cmd/webhook. ARG GO_BUILDER=registry.ci.openshift.org/openshift/release:rhel-8-release-golang-1.22-openshift-4.17 -ARG GO_RUNTIME=registry.access.redhat.com/ubi8/ubi-minimal +ARG GO_RUNTIME=registry.access.redhat.com/ubi9/ubi-minimal FROM $GO_BUILDER as builder @@ -22,14 +22,17 @@ COPY LICENSE /licenses/ USER 65532 LABEL \ - com.redhat.component="openshift-serverless-1-webhook-rhel8-container" \ - name="openshift-serverless-1/webhook-rhel8" \ + com.redhat.component="openshift-serverless-1-webhook-rhel9-container" \ + name="openshift-serverless-1/webhook-rhel9" \ version=$VERSION \ summary="Red Hat OpenShift Serverless 1 Webhook" \ maintainer="serverless-support@redhat.com" \ description="Red Hat OpenShift Serverless 1 Webhook" \ io.k8s.display-name="Red Hat OpenShift Serverless 1 Webhook" \ io.k8s.description="Red Hat OpenShift Serverless Webhook" \ - io.openshift.tags="webhook" + io.openshift.tags="webhook" \ + vendor="Red Hat, Inc." \ + release=$VERSION \ + cpe="cpe:/a:redhat:openshift_serverless:1.37::el9" ENTRYPOINT ["/usr/bin/webhook"] diff --git a/test/images-rekt.yaml b/test/images-rekt.yaml index f1ff228734..9bf0cbe301 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-135/kn-eventing-test-eventshub@sha256:f2b83bc665c58e69a23416dc07e3c580b30e7415431e50cad7c0e443582e0288 -knative.dev/eventing/cmd/heartbeats: quay.io/redhat-user-workloads/ocp-serverless-tenant/serverless-operator-135/kn-eventing-heartbeats@sha256:6b0794b7d2691055819384d6d114df6d92993ac6d137f4e491eb4fcb39a11260 +knative.dev/reconciler-test/cmd/eventshub: quay.io/redhat-user-workloads/ocp-serverless-tenant/serverless-operator-135/kn-eventing-test-eventshub@sha256:fba3b020dc4c4e747c53e398cf757a4b308df96e118924960a1e65963e6ca73c +knative.dev/eventing/cmd/heartbeats: quay.io/redhat-user-workloads/ocp-serverless-tenant/serverless-operator-135/kn-eventing-heartbeats@sha256:ba1e2bcb5d6d4110afef672e5c731d9b7e4f3b455a554f87350b3d9fe142289f diff --git a/vendor/github.com/go-logr/logr/.golangci.yaml b/vendor/github.com/go-logr/logr/.golangci.yaml index 0cffafa7bf..0ed62c1a18 100644 --- a/vendor/github.com/go-logr/logr/.golangci.yaml +++ b/vendor/github.com/go-logr/logr/.golangci.yaml @@ -1,26 +1,28 @@ +version: "2" + run: timeout: 1m tests: true linters: - disable-all: true - enable: + default: none + enable: # please keep this alphabetized + - asasalint - asciicheck + - copyloopvar + - dupl - errcheck - forcetypeassert + - goconst - gocritic - - gofmt - - goimports - - gosimple - govet - ineffassign - misspell + - musttag - revive - staticcheck - - typecheck - unused issues: - exclude-use-default: false max-issues-per-linter: 0 max-same-issues: 10 diff --git a/vendor/github.com/spf13/pflag/.editorconfig b/vendor/github.com/spf13/pflag/.editorconfig new file mode 100644 index 0000000000..4492e9f9fe --- /dev/null +++ b/vendor/github.com/spf13/pflag/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.go] +indent_style = tab diff --git a/vendor/github.com/spf13/pflag/.golangci.yaml b/vendor/github.com/spf13/pflag/.golangci.yaml new file mode 100644 index 0000000000..b274f24845 --- /dev/null +++ b/vendor/github.com/spf13/pflag/.golangci.yaml @@ -0,0 +1,4 @@ +linters: + disable-all: true + enable: + - nolintlint diff --git a/vendor/github.com/spf13/pflag/README.md b/vendor/github.com/spf13/pflag/README.md index 7eacc5bdbe..388c4e5ead 100644 --- a/vendor/github.com/spf13/pflag/README.md +++ b/vendor/github.com/spf13/pflag/README.md @@ -284,6 +284,33 @@ func main() { } ``` +### Using pflag with go test +`pflag` does not parse the shorthand versions of go test's built-in flags (i.e., those starting with `-test.`). +For more context, see issues [#63](https://github.com/spf13/pflag/issues/63) and [#238](https://github.com/spf13/pflag/issues/238) for more details. + +For example, if you use pflag in your `TestMain` function and call `pflag.Parse()` after defining your custom flags, running a test like this: +```bash +go test /your/tests -run ^YourTest -v --your-test-pflags +``` +will result in the `-v` flag being ignored. This happens because of the way pflag handles flag parsing, skipping over go test's built-in shorthand flags. +To work around this, you can use the `ParseSkippedFlags` function, which ensures that go test's flags are parsed separately using the standard flag package. + +**Example**: You want to parse go test flags that are otherwise ignore by `pflag.Parse()` +```go +import ( + goflag "flag" + flag "github.com/spf13/pflag" +) + +var ip *int = flag.Int("flagname", 1234, "help message for flagname") + +func main() { + flag.CommandLine.AddGoFlagSet(goflag.CommandLine) + flag.ParseSkippedFlags(os.Args[1:], goflag.CommandLine) + flag.Parse() +} +``` + ## More info You can see the full reference documentation of the pflag package diff --git a/vendor/github.com/spf13/pflag/bool_func.go b/vendor/github.com/spf13/pflag/bool_func.go new file mode 100644 index 0000000000..83d77afa89 --- /dev/null +++ b/vendor/github.com/spf13/pflag/bool_func.go @@ -0,0 +1,40 @@ +package pflag + +// -- func Value +type boolfuncValue func(string) error + +func (f boolfuncValue) Set(s string) error { return f(s) } + +func (f boolfuncValue) Type() string { return "boolfunc" } + +func (f boolfuncValue) String() string { return "" } // same behavior as stdlib 'flag' package + +func (f boolfuncValue) IsBoolFlag() bool { return true } + +// BoolFunc defines a func flag with specified name, callback function and usage string. +// +// The callback function will be called every time "--{name}" (or any form that matches the flag) is parsed +// on the command line. +func (f *FlagSet) BoolFunc(name string, usage string, fn func(string) error) { + f.BoolFuncP(name, "", usage, fn) +} + +// BoolFuncP is like BoolFunc, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) BoolFuncP(name, shorthand string, usage string, fn func(string) error) { + var val Value = boolfuncValue(fn) + flag := f.VarPF(val, name, shorthand, usage) + flag.NoOptDefVal = "true" +} + +// BoolFunc defines a func flag with specified name, callback function and usage string. +// +// The callback function will be called every time "--{name}" (or any form that matches the flag) is parsed +// on the command line. +func BoolFunc(name string, usage string, fn func(string) error) { + CommandLine.BoolFuncP(name, "", usage, fn) +} + +// BoolFuncP is like BoolFunc, but accepts a shorthand letter that can be used after a single dash. +func BoolFuncP(name, shorthand string, usage string, fn func(string) error) { + CommandLine.BoolFuncP(name, shorthand, usage, fn) +} diff --git a/vendor/github.com/spf13/pflag/count.go b/vendor/github.com/spf13/pflag/count.go index a0b2679f71..d49c0143c1 100644 --- a/vendor/github.com/spf13/pflag/count.go +++ b/vendor/github.com/spf13/pflag/count.go @@ -85,7 +85,7 @@ func (f *FlagSet) CountP(name, shorthand string, usage string) *int { // Count defines a count flag with specified name, default value, and usage string. // The return value is the address of an int variable that stores the value of the flag. -// A count flag will add 1 to its value evey time it is found on the command line +// A count flag will add 1 to its value every time it is found on the command line func Count(name string, usage string) *int { return CommandLine.CountP(name, "", usage) } diff --git a/vendor/github.com/spf13/pflag/errors.go b/vendor/github.com/spf13/pflag/errors.go new file mode 100644 index 0000000000..ff11b66bef --- /dev/null +++ b/vendor/github.com/spf13/pflag/errors.go @@ -0,0 +1,149 @@ +package pflag + +import "fmt" + +// notExistErrorMessageType specifies which flavor of "flag does not exist" +// is printed by NotExistError. This allows the related errors to be grouped +// under a single NotExistError struct without making a breaking change to +// the error message text. +type notExistErrorMessageType int + +const ( + flagNotExistMessage notExistErrorMessageType = iota + flagNotDefinedMessage + flagNoSuchFlagMessage + flagUnknownFlagMessage + flagUnknownShorthandFlagMessage +) + +// NotExistError is the error returned when trying to access a flag that +// does not exist in the FlagSet. +type NotExistError struct { + name string + specifiedShorthands string + messageType notExistErrorMessageType +} + +// Error implements error. +func (e *NotExistError) Error() string { + switch e.messageType { + case flagNotExistMessage: + return fmt.Sprintf("flag %q does not exist", e.name) + + case flagNotDefinedMessage: + return fmt.Sprintf("flag accessed but not defined: %s", e.name) + + case flagNoSuchFlagMessage: + return fmt.Sprintf("no such flag -%v", e.name) + + case flagUnknownFlagMessage: + return fmt.Sprintf("unknown flag: --%s", e.name) + + case flagUnknownShorthandFlagMessage: + c := rune(e.name[0]) + return fmt.Sprintf("unknown shorthand flag: %q in -%s", c, e.specifiedShorthands) + } + + panic(fmt.Errorf("unknown flagNotExistErrorMessageType: %v", e.messageType)) +} + +// GetSpecifiedName returns the name of the flag (without dashes) as it +// appeared in the parsed arguments. +func (e *NotExistError) GetSpecifiedName() string { + return e.name +} + +// GetSpecifiedShortnames returns the group of shorthand arguments +// (without dashes) that the flag appeared within. If the flag was not in a +// shorthand group, this will return an empty string. +func (e *NotExistError) GetSpecifiedShortnames() string { + return e.specifiedShorthands +} + +// ValueRequiredError is the error returned when a flag needs an argument but +// no argument was provided. +type ValueRequiredError struct { + flag *Flag + specifiedName string + specifiedShorthands string +} + +// Error implements error. +func (e *ValueRequiredError) Error() string { + if len(e.specifiedShorthands) > 0 { + c := rune(e.specifiedName[0]) + return fmt.Sprintf("flag needs an argument: %q in -%s", c, e.specifiedShorthands) + } + + return fmt.Sprintf("flag needs an argument: --%s", e.specifiedName) +} + +// GetFlag returns the flag for which the error occurred. +func (e *ValueRequiredError) GetFlag() *Flag { + return e.flag +} + +// GetSpecifiedName returns the name of the flag (without dashes) as it +// appeared in the parsed arguments. +func (e *ValueRequiredError) GetSpecifiedName() string { + return e.specifiedName +} + +// GetSpecifiedShortnames returns the group of shorthand arguments +// (without dashes) that the flag appeared within. If the flag was not in a +// shorthand group, this will return an empty string. +func (e *ValueRequiredError) GetSpecifiedShortnames() string { + return e.specifiedShorthands +} + +// InvalidValueError is the error returned when an invalid value is used +// for a flag. +type InvalidValueError struct { + flag *Flag + value string + cause error +} + +// Error implements error. +func (e *InvalidValueError) Error() string { + flag := e.flag + var flagName string + if flag.Shorthand != "" && flag.ShorthandDeprecated == "" { + flagName = fmt.Sprintf("-%s, --%s", flag.Shorthand, flag.Name) + } else { + flagName = fmt.Sprintf("--%s", flag.Name) + } + return fmt.Sprintf("invalid argument %q for %q flag: %v", e.value, flagName, e.cause) +} + +// Unwrap implements errors.Unwrap. +func (e *InvalidValueError) Unwrap() error { + return e.cause +} + +// GetFlag returns the flag for which the error occurred. +func (e *InvalidValueError) GetFlag() *Flag { + return e.flag +} + +// GetValue returns the invalid value that was provided. +func (e *InvalidValueError) GetValue() string { + return e.value +} + +// InvalidSyntaxError is the error returned when a bad flag name is passed on +// the command line. +type InvalidSyntaxError struct { + specifiedFlag string +} + +// Error implements error. +func (e *InvalidSyntaxError) Error() string { + return fmt.Sprintf("bad flag syntax: %s", e.specifiedFlag) +} + +// GetSpecifiedName returns the exact flag (with dashes) as it +// appeared in the parsed arguments. +func (e *InvalidSyntaxError) GetSpecifiedFlag() string { + return e.specifiedFlag +} diff --git a/vendor/github.com/spf13/pflag/flag.go b/vendor/github.com/spf13/pflag/flag.go index 7c058de374..2fd3c57597 100644 --- a/vendor/github.com/spf13/pflag/flag.go +++ b/vendor/github.com/spf13/pflag/flag.go @@ -27,23 +27,32 @@ unaffected. Define flags using flag.String(), Bool(), Int(), etc. This declares an integer flag, -flagname, stored in the pointer ip, with type *int. + var ip = flag.Int("flagname", 1234, "help message for flagname") + If you like, you can bind the flag to a variable using the Var() functions. + var flagvar int func init() { flag.IntVar(&flagvar, "flagname", 1234, "help message for flagname") } + Or you can create custom flags that satisfy the Value interface (with pointer receivers) and couple them to flag parsing by + flag.Var(&flagVal, "name", "help message for flagname") + For such flags, the default value is just the initial value of the variable. After all flags are defined, call + flag.Parse() + to parse the command line into the defined flags. Flags may then be used directly. If you're using the flags themselves, they are all pointers; if you bind to variables, they're values. + fmt.Println("ip has value ", *ip) fmt.Println("flagvar has value ", flagvar) @@ -54,22 +63,26 @@ The arguments are indexed from 0 through flag.NArg()-1. The pflag package also defines some new functions that are not in flag, that give one-letter shorthands for flags. You can use these by appending 'P' to the name of any function that defines a flag. + var ip = flag.IntP("flagname", "f", 1234, "help message") var flagvar bool func init() { flag.BoolVarP(&flagvar, "boolname", "b", true, "help message") } flag.VarP(&flagval, "varname", "v", "help message") + Shorthand letters can be used with single dashes on the command line. Boolean shorthand flags can be combined with other shorthand flags. Command line flag syntax: + --flag // boolean flags only --flag=x Unlike the flag package, a single dash before an option means something different than a double dash. Single dashes signify a series of shorthand letters for flags. All but the last shorthand letter must be boolean flags. + // boolean flags -f -abc @@ -124,12 +137,17 @@ const ( PanicOnError ) -// ParseErrorsWhitelist defines the parsing errors that can be ignored -type ParseErrorsWhitelist struct { +// ParseErrorsAllowlist defines the parsing errors that can be ignored +type ParseErrorsAllowlist struct { // UnknownFlags will ignore unknown flags errors and continue parsing rest of the flags UnknownFlags bool } +// ParseErrorsWhitelist defines the parsing errors that can be ignored. +// +// Deprecated: use [ParseErrorsAllowlist] instead. This type will be removed in a future release. +type ParseErrorsWhitelist = ParseErrorsAllowlist + // NormalizedName is a flag name that has been normalized according to rules // for the FlagSet (e.g. making '-' and '_' equivalent). type NormalizedName string @@ -145,8 +163,13 @@ type FlagSet struct { // help/usage messages. SortFlags bool - // ParseErrorsWhitelist is used to configure a whitelist of errors - ParseErrorsWhitelist ParseErrorsWhitelist + // ParseErrorsAllowlist is used to configure an allowlist of errors + ParseErrorsAllowlist ParseErrorsAllowlist + + // ParseErrorsAllowlist is used to configure an allowlist of errors. + // + // Deprecated: use [FlagSet.ParseErrorsAllowlist] instead. This field will be removed in a future release. + ParseErrorsWhitelist ParseErrorsAllowlist name string parsed bool @@ -381,7 +404,7 @@ func (f *FlagSet) lookup(name NormalizedName) *Flag { func (f *FlagSet) getFlagType(name string, ftype string, convFunc func(sval string) (interface{}, error)) (interface{}, error) { flag := f.Lookup(name) if flag == nil { - err := fmt.Errorf("flag accessed but not defined: %s", name) + err := &NotExistError{name: name, messageType: flagNotDefinedMessage} return nil, err } @@ -411,7 +434,7 @@ func (f *FlagSet) ArgsLenAtDash() int { func (f *FlagSet) MarkDeprecated(name string, usageMessage string) error { flag := f.Lookup(name) if flag == nil { - return fmt.Errorf("flag %q does not exist", name) + return &NotExistError{name: name, messageType: flagNotExistMessage} } if usageMessage == "" { return fmt.Errorf("deprecated message for flag %q must be set", name) @@ -427,7 +450,7 @@ func (f *FlagSet) MarkDeprecated(name string, usageMessage string) error { func (f *FlagSet) MarkShorthandDeprecated(name string, usageMessage string) error { flag := f.Lookup(name) if flag == nil { - return fmt.Errorf("flag %q does not exist", name) + return &NotExistError{name: name, messageType: flagNotExistMessage} } if usageMessage == "" { return fmt.Errorf("deprecated message for flag %q must be set", name) @@ -441,7 +464,7 @@ func (f *FlagSet) MarkShorthandDeprecated(name string, usageMessage string) erro func (f *FlagSet) MarkHidden(name string) error { flag := f.Lookup(name) if flag == nil { - return fmt.Errorf("flag %q does not exist", name) + return &NotExistError{name: name, messageType: flagNotExistMessage} } flag.Hidden = true return nil @@ -464,18 +487,16 @@ func (f *FlagSet) Set(name, value string) error { normalName := f.normalizeFlagName(name) flag, ok := f.formal[normalName] if !ok { - return fmt.Errorf("no such flag -%v", name) + return &NotExistError{name: name, messageType: flagNoSuchFlagMessage} } err := flag.Value.Set(value) if err != nil { - var flagName string - if flag.Shorthand != "" && flag.ShorthandDeprecated == "" { - flagName = fmt.Sprintf("-%s, --%s", flag.Shorthand, flag.Name) - } else { - flagName = fmt.Sprintf("--%s", flag.Name) + return &InvalidValueError{ + flag: flag, + value: value, + cause: err, } - return fmt.Errorf("invalid argument %q for %q flag: %v", value, flagName, err) } if !flag.Changed { @@ -501,7 +522,7 @@ func (f *FlagSet) SetAnnotation(name, key string, values []string) error { normalName := f.normalizeFlagName(name) flag, ok := f.formal[normalName] if !ok { - return fmt.Errorf("no such flag -%v", name) + return &NotExistError{name: name, messageType: flagNoSuchFlagMessage} } if flag.Annotations == nil { flag.Annotations = map[string][]string{} @@ -538,7 +559,7 @@ func (f *FlagSet) PrintDefaults() { func (f *Flag) defaultIsZeroValue() bool { switch f.Value.(type) { case boolFlag: - return f.DefValue == "false" + return f.DefValue == "false" || f.DefValue == "" case *durationValue: // Beginning in Go 1.7, duration zero values are "0s" return f.DefValue == "0" || f.DefValue == "0s" @@ -551,7 +572,7 @@ func (f *Flag) defaultIsZeroValue() bool { case *intSliceValue, *stringSliceValue, *stringArrayValue: return f.DefValue == "[]" default: - switch f.Value.String() { + switch f.DefValue { case "false": return true case "": @@ -588,8 +609,10 @@ func UnquoteUsage(flag *Flag) (name string, usage string) { name = flag.Value.Type() switch name { - case "bool": + case "bool", "boolfunc": name = "" + case "func": + name = "value" case "float64": name = "float" case "int64": @@ -707,7 +730,7 @@ func (f *FlagSet) FlagUsagesWrapped(cols int) string { switch flag.Value.Type() { case "string": line += fmt.Sprintf("[=\"%s\"]", flag.NoOptDefVal) - case "bool": + case "bool", "boolfunc": if flag.NoOptDefVal != "true" { line += fmt.Sprintf("[=%s]", flag.NoOptDefVal) } @@ -911,12 +934,10 @@ func VarP(value Value, name, shorthand, usage string) { CommandLine.VarP(value, name, shorthand, usage) } -// failf prints to standard error a formatted error and usage message and +// fail prints an error message and usage message to standard error and // returns the error. -func (f *FlagSet) failf(format string, a ...interface{}) error { - err := fmt.Errorf(format, a...) +func (f *FlagSet) fail(err error) error { if f.errorHandling != ContinueOnError { - fmt.Fprintln(f.Output(), err) f.usage() } return err @@ -934,9 +955,9 @@ func (f *FlagSet) usage() { } } -//--unknown (args will be empty) -//--unknown --next-flag ... (args will be --next-flag ...) -//--unknown arg ... (args will be arg ...) +// --unknown (args will be empty) +// --unknown --next-flag ... (args will be --next-flag ...) +// --unknown arg ... (args will be arg ...) func stripUnknownFlagValue(args []string) []string { if len(args) == 0 { //--unknown @@ -960,7 +981,7 @@ func (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []strin a = args name := s[2:] if len(name) == 0 || name[0] == '-' || name[0] == '=' { - err = f.failf("bad flag syntax: %s", s) + err = f.fail(&InvalidSyntaxError{specifiedFlag: s}) return } @@ -974,6 +995,8 @@ func (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []strin f.usage() return a, ErrHelp case f.ParseErrorsWhitelist.UnknownFlags: + fallthrough + case f.ParseErrorsAllowlist.UnknownFlags: // --unknown=unknownval arg ... // we do not want to lose arg in this case if len(split) >= 2 { @@ -982,7 +1005,7 @@ func (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []strin return stripUnknownFlagValue(a), nil default: - err = f.failf("unknown flag: --%s", name) + err = f.fail(&NotExistError{name: name, messageType: flagUnknownFlagMessage}) return } } @@ -1000,13 +1023,16 @@ func (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []strin a = a[1:] } else { // '--flag' (arg was required) - err = f.failf("flag needs an argument: %s", s) + err = f.fail(&ValueRequiredError{ + flag: flag, + specifiedName: name, + }) return } err = fn(flag, value) if err != nil { - f.failf(err.Error()) + f.fail(err) } return } @@ -1014,7 +1040,7 @@ func (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []strin func (f *FlagSet) parseSingleShortArg(shorthands string, args []string, fn parseFunc) (outShorts string, outArgs []string, err error) { outArgs = args - if strings.HasPrefix(shorthands, "test.") { + if isGotestShorthandFlag(shorthands) { return } @@ -1029,6 +1055,8 @@ func (f *FlagSet) parseSingleShortArg(shorthands string, args []string, fn parse err = ErrHelp return case f.ParseErrorsWhitelist.UnknownFlags: + fallthrough + case f.ParseErrorsAllowlist.UnknownFlags: // '-f=arg arg ...' // we do not want to lose arg in this case if len(shorthands) > 2 && shorthands[1] == '=' { @@ -1039,7 +1067,11 @@ func (f *FlagSet) parseSingleShortArg(shorthands string, args []string, fn parse outArgs = stripUnknownFlagValue(outArgs) return default: - err = f.failf("unknown shorthand flag: %q in -%s", c, shorthands) + err = f.fail(&NotExistError{ + name: string(c), + specifiedShorthands: shorthands, + messageType: flagUnknownShorthandFlagMessage, + }) return } } @@ -1062,7 +1094,11 @@ func (f *FlagSet) parseSingleShortArg(shorthands string, args []string, fn parse outArgs = args[1:] } else { // '-f' (arg was required) - err = f.failf("flag needs an argument: %q in -%s", c, shorthands) + err = f.fail(&ValueRequiredError{ + flag: flag, + specifiedName: string(c), + specifiedShorthands: shorthands, + }) return } @@ -1072,7 +1108,7 @@ func (f *FlagSet) parseSingleShortArg(shorthands string, args []string, fn parse err = fn(flag, value) if err != nil { - f.failf(err.Error()) + f.fail(err) } return } @@ -1135,12 +1171,12 @@ func (f *FlagSet) Parse(arguments []string) error { } f.parsed = true - if len(arguments) < 0 { + f.args = make([]string, 0, len(arguments)) + + if len(arguments) == 0 { return nil } - f.args = make([]string, 0, len(arguments)) - set := func(flag *Flag, value string) error { return f.Set(flag.Name, value) } @@ -1151,7 +1187,10 @@ func (f *FlagSet) Parse(arguments []string) error { case ContinueOnError: return err case ExitOnError: - fmt.Println(err) + if err == ErrHelp { + os.Exit(0) + } + fmt.Fprintln(f.Output(), err) os.Exit(2) case PanicOnError: panic(err) @@ -1177,6 +1216,10 @@ func (f *FlagSet) ParseAll(arguments []string, fn func(flag *Flag, value string) case ContinueOnError: return err case ExitOnError: + if err == ErrHelp { + os.Exit(0) + } + fmt.Fprintln(f.Output(), err) os.Exit(2) case PanicOnError: panic(err) diff --git a/vendor/github.com/spf13/pflag/func.go b/vendor/github.com/spf13/pflag/func.go new file mode 100644 index 0000000000..9f4d88f271 --- /dev/null +++ b/vendor/github.com/spf13/pflag/func.go @@ -0,0 +1,37 @@ +package pflag + +// -- func Value +type funcValue func(string) error + +func (f funcValue) Set(s string) error { return f(s) } + +func (f funcValue) Type() string { return "func" } + +func (f funcValue) String() string { return "" } // same behavior as stdlib 'flag' package + +// Func defines a func flag with specified name, callback function and usage string. +// +// The callback function will be called every time "--{name}={value}" (or equivalent) is +// parsed on the command line, with "{value}" as an argument. +func (f *FlagSet) Func(name string, usage string, fn func(string) error) { + f.FuncP(name, "", usage, fn) +} + +// FuncP is like Func, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) FuncP(name string, shorthand string, usage string, fn func(string) error) { + var val Value = funcValue(fn) + f.VarP(val, name, shorthand, usage) +} + +// Func defines a func flag with specified name, callback function and usage string. +// +// The callback function will be called every time "--{name}={value}" (or equivalent) is +// parsed on the command line, with "{value}" as an argument. +func Func(name string, usage string, fn func(string) error) { + CommandLine.FuncP(name, "", usage, fn) +} + +// FuncP is like Func, but accepts a shorthand letter that can be used after a single dash. +func FuncP(name, shorthand string, usage string, fn func(string) error) { + CommandLine.FuncP(name, shorthand, usage, fn) +} diff --git a/vendor/github.com/spf13/pflag/golangflag.go b/vendor/github.com/spf13/pflag/golangflag.go index d3dd72b7fe..e62eab5381 100644 --- a/vendor/github.com/spf13/pflag/golangflag.go +++ b/vendor/github.com/spf13/pflag/golangflag.go @@ -8,8 +8,18 @@ import ( goflag "flag" "reflect" "strings" + "time" ) +// go test flags prefixes +func isGotestFlag(flag string) bool { + return strings.HasPrefix(flag, "-test.") +} + +func isGotestShorthandFlag(flag string) bool { + return strings.HasPrefix(flag, "test.") +} + // flagValueWrapper implements pflag.Value around a flag.Value. The main // difference here is the addition of the Type method that returns a string // name of the type. As this is generally unknown, we approximate that with @@ -103,3 +113,49 @@ func (f *FlagSet) AddGoFlagSet(newSet *goflag.FlagSet) { } f.addedGoFlagSets = append(f.addedGoFlagSets, newSet) } + +// CopyToGoFlagSet will add all current flags to the given Go flag set. +// Deprecation remarks get copied into the usage description. +// Whenever possible, a flag gets added for which Go flags shows +// a proper type in the help message. +func (f *FlagSet) CopyToGoFlagSet(newSet *goflag.FlagSet) { + f.VisitAll(func(flag *Flag) { + usage := flag.Usage + if flag.Deprecated != "" { + usage += " (DEPRECATED: " + flag.Deprecated + ")" + } + + switch value := flag.Value.(type) { + case *stringValue: + newSet.StringVar((*string)(value), flag.Name, flag.DefValue, usage) + case *intValue: + newSet.IntVar((*int)(value), flag.Name, *(*int)(value), usage) + case *int64Value: + newSet.Int64Var((*int64)(value), flag.Name, *(*int64)(value), usage) + case *uintValue: + newSet.UintVar((*uint)(value), flag.Name, *(*uint)(value), usage) + case *uint64Value: + newSet.Uint64Var((*uint64)(value), flag.Name, *(*uint64)(value), usage) + case *durationValue: + newSet.DurationVar((*time.Duration)(value), flag.Name, *(*time.Duration)(value), usage) + case *float64Value: + newSet.Float64Var((*float64)(value), flag.Name, *(*float64)(value), usage) + default: + newSet.Var(flag.Value, flag.Name, usage) + } + }) +} + +// ParseSkippedFlags explicitly Parses go test flags (i.e. the one starting with '-test.') with goflag.Parse(), +// since by default those are skipped by pflag.Parse(). +// Typical usage example: `ParseGoTestFlags(os.Args[1:], goflag.CommandLine)` +func ParseSkippedFlags(osArgs []string, goFlagSet *goflag.FlagSet) error { + var skippedFlags []string + for _, f := range osArgs { + if isGotestFlag(f) { + skippedFlags = append(skippedFlags, f) + } + } + return goFlagSet.Parse(skippedFlags) +} + diff --git a/vendor/github.com/spf13/pflag/ipnet_slice.go b/vendor/github.com/spf13/pflag/ipnet_slice.go index 6b541aa879..c6e89da18d 100644 --- a/vendor/github.com/spf13/pflag/ipnet_slice.go +++ b/vendor/github.com/spf13/pflag/ipnet_slice.go @@ -73,7 +73,7 @@ func (s *ipNetSliceValue) String() string { func ipNetSliceConv(val string) (interface{}, error) { val = strings.Trim(val, "[]") - // Emtpy string would cause a slice with one (empty) entry + // Empty string would cause a slice with one (empty) entry if len(val) == 0 { return []net.IPNet{}, nil } diff --git a/vendor/github.com/spf13/pflag/string_to_string.go b/vendor/github.com/spf13/pflag/string_to_string.go index 890a01afc0..1d1e3bf91a 100644 --- a/vendor/github.com/spf13/pflag/string_to_string.go +++ b/vendor/github.com/spf13/pflag/string_to_string.go @@ -4,6 +4,7 @@ import ( "bytes" "encoding/csv" "fmt" + "sort" "strings" ) @@ -62,8 +63,15 @@ func (s *stringToStringValue) Type() string { } func (s *stringToStringValue) String() string { + keys := make([]string, 0, len(*s.value)) + for k := range *s.value { + keys = append(keys, k) + } + sort.Strings(keys) + records := make([]string, 0, len(*s.value)>>1) - for k, v := range *s.value { + for _, k := range keys { + v := (*s.value)[k] records = append(records, k+"="+v) } diff --git a/vendor/github.com/spf13/pflag/text.go b/vendor/github.com/spf13/pflag/text.go new file mode 100644 index 0000000000..886d5a3d80 --- /dev/null +++ b/vendor/github.com/spf13/pflag/text.go @@ -0,0 +1,81 @@ +package pflag + +import ( + "encoding" + "fmt" + "reflect" +) + +// following is copied from go 1.23.4 flag.go +type textValue struct{ p encoding.TextUnmarshaler } + +func newTextValue(val encoding.TextMarshaler, p encoding.TextUnmarshaler) textValue { + ptrVal := reflect.ValueOf(p) + if ptrVal.Kind() != reflect.Ptr { + panic("variable value type must be a pointer") + } + defVal := reflect.ValueOf(val) + if defVal.Kind() == reflect.Ptr { + defVal = defVal.Elem() + } + if defVal.Type() != ptrVal.Type().Elem() { + panic(fmt.Sprintf("default type does not match variable type: %v != %v", defVal.Type(), ptrVal.Type().Elem())) + } + ptrVal.Elem().Set(defVal) + return textValue{p} +} + +func (v textValue) Set(s string) error { + return v.p.UnmarshalText([]byte(s)) +} + +func (v textValue) Get() interface{} { + return v.p +} + +func (v textValue) String() string { + if m, ok := v.p.(encoding.TextMarshaler); ok { + if b, err := m.MarshalText(); err == nil { + return string(b) + } + } + return "" +} + +//end of copy + +func (v textValue) Type() string { + return reflect.ValueOf(v.p).Type().Name() +} + +// GetText set out, which implements encoding.UnmarshalText, to the value of a flag with given name +func (f *FlagSet) GetText(name string, out encoding.TextUnmarshaler) error { + flag := f.Lookup(name) + if flag == nil { + return fmt.Errorf("flag accessed but not defined: %s", name) + } + if flag.Value.Type() != reflect.TypeOf(out).Name() { + return fmt.Errorf("trying to get %s value of flag of type %s", reflect.TypeOf(out).Name(), flag.Value.Type()) + } + return out.UnmarshalText([]byte(flag.Value.String())) +} + +// TextVar defines a flag with a specified name, default value, and usage string. The argument p must be a pointer to a variable that will hold the value of the flag, and p must implement encoding.TextUnmarshaler. If the flag is used, the flag value will be passed to p's UnmarshalText method. The type of the default value must be the same as the type of p. +func (f *FlagSet) TextVar(p encoding.TextUnmarshaler, name string, value encoding.TextMarshaler, usage string) { + f.VarP(newTextValue(value, p), name, "", usage) +} + +// TextVarP is like TextVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) TextVarP(p encoding.TextUnmarshaler, name, shorthand string, value encoding.TextMarshaler, usage string) { + f.VarP(newTextValue(value, p), name, shorthand, usage) +} + +// TextVar defines a flag with a specified name, default value, and usage string. The argument p must be a pointer to a variable that will hold the value of the flag, and p must implement encoding.TextUnmarshaler. If the flag is used, the flag value will be passed to p's UnmarshalText method. The type of the default value must be the same as the type of p. +func TextVar(p encoding.TextUnmarshaler, name string, value encoding.TextMarshaler, usage string) { + CommandLine.VarP(newTextValue(value, p), name, "", usage) +} + +// TextVarP is like TextVar, but accepts a shorthand letter that can be used after a single dash. +func TextVarP(p encoding.TextUnmarshaler, name, shorthand string, value encoding.TextMarshaler, usage string) { + CommandLine.VarP(newTextValue(value, p), name, shorthand, usage) +} diff --git a/vendor/github.com/spf13/pflag/time.go b/vendor/github.com/spf13/pflag/time.go new file mode 100644 index 0000000000..3dee424791 --- /dev/null +++ b/vendor/github.com/spf13/pflag/time.go @@ -0,0 +1,124 @@ +package pflag + +import ( + "fmt" + "strings" + "time" +) + +// TimeValue adapts time.Time for use as a flag. +type timeValue struct { + *time.Time + formats []string +} + +func newTimeValue(val time.Time, p *time.Time, formats []string) *timeValue { + *p = val + return &timeValue{ + Time: p, + formats: formats, + } +} + +// Set time.Time value from string based on accepted formats. +func (d *timeValue) Set(s string) error { + s = strings.TrimSpace(s) + for _, f := range d.formats { + v, err := time.Parse(f, s) + if err != nil { + continue + } + *d.Time = v + return nil + } + + formatsString := "" + for i, f := range d.formats { + if i > 0 { + formatsString += ", " + } + formatsString += fmt.Sprintf("`%s`", f) + } + + return fmt.Errorf("invalid time format `%s` must be one of: %s", s, formatsString) +} + +// Type name for time.Time flags. +func (d *timeValue) Type() string { + return "time" +} + +func (d *timeValue) String() string { + if d.Time.IsZero() { + return "" + } else { + return d.Time.Format(time.RFC3339Nano) + } +} + +// GetTime return the time value of a flag with the given name +func (f *FlagSet) GetTime(name string) (time.Time, error) { + flag := f.Lookup(name) + if flag == nil { + err := fmt.Errorf("flag accessed but not defined: %s", name) + return time.Time{}, err + } + + if flag.Value.Type() != "time" { + err := fmt.Errorf("trying to get %s value of flag of type %s", "time", flag.Value.Type()) + return time.Time{}, err + } + + val, ok := flag.Value.(*timeValue) + if !ok { + return time.Time{}, fmt.Errorf("value %s is not a time", flag.Value) + } + + return *val.Time, nil +} + +// TimeVar defines a time.Time flag with specified name, default value, and usage string. +// The argument p points to a time.Time variable in which to store the value of the flag. +func (f *FlagSet) TimeVar(p *time.Time, name string, value time.Time, formats []string, usage string) { + f.TimeVarP(p, name, "", value, formats, usage) +} + +// TimeVarP is like TimeVar, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) TimeVarP(p *time.Time, name, shorthand string, value time.Time, formats []string, usage string) { + f.VarP(newTimeValue(value, p, formats), name, shorthand, usage) +} + +// TimeVar defines a time.Time flag with specified name, default value, and usage string. +// The argument p points to a time.Time variable in which to store the value of the flag. +func TimeVar(p *time.Time, name string, value time.Time, formats []string, usage string) { + CommandLine.TimeVarP(p, name, "", value, formats, usage) +} + +// TimeVarP is like TimeVar, but accepts a shorthand letter that can be used after a single dash. +func TimeVarP(p *time.Time, name, shorthand string, value time.Time, formats []string, usage string) { + CommandLine.VarP(newTimeValue(value, p, formats), name, shorthand, usage) +} + +// Time defines a time.Time flag with specified name, default value, and usage string. +// The return value is the address of a time.Time variable that stores the value of the flag. +func (f *FlagSet) Time(name string, value time.Time, formats []string, usage string) *time.Time { + return f.TimeP(name, "", value, formats, usage) +} + +// TimeP is like Time, but accepts a shorthand letter that can be used after a single dash. +func (f *FlagSet) TimeP(name, shorthand string, value time.Time, formats []string, usage string) *time.Time { + p := new(time.Time) + f.TimeVarP(p, name, shorthand, value, formats, usage) + return p +} + +// Time defines a time.Time flag with specified name, default value, and usage string. +// The return value is the address of a time.Time variable that stores the value of the flag. +func Time(name string, value time.Time, formats []string, usage string) *time.Time { + return CommandLine.TimeP(name, "", value, formats, usage) +} + +// TimeP is like Time, but accepts a shorthand letter that can be used after a single dash. +func TimeP(name, shorthand string, value time.Time, formats []string, usage string) *time.Time { + return CommandLine.TimeP(name, shorthand, value, formats, usage) +} diff --git a/vendor/go.uber.org/zap/.golangci.yml b/vendor/go.uber.org/zap/.golangci.yml index 2346df1351..74faaa71d8 100644 --- a/vendor/go.uber.org/zap/.golangci.yml +++ b/vendor/go.uber.org/zap/.golangci.yml @@ -25,7 +25,7 @@ linters-settings: govet: # These govet checks are disabled by default, but they're useful. enable: - - niliness + - nilness - reflectvaluecompare - sortslice - unusedwrite diff --git a/vendor/go.uber.org/zap/CHANGELOG.md b/vendor/go.uber.org/zap/CHANGELOG.md index 6d6cd5f4d7..86e7e6f982 100644 --- a/vendor/go.uber.org/zap/CHANGELOG.md +++ b/vendor/go.uber.org/zap/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 1.27.1 (19 Nov 2025) +Enhancements: +* [#1501][]: prevent `Object` from panicking on nils +* [#1511][]: Fix a race condition in `WithLazy`. + +Thanks to @rabbbit, @alshopov, @jquirke, @arukiidou for their contributions to this release. + +[#1501]: https://github.com/uber-go/zap/pull/1501 +[#1511]: https://github.com/uber-go/zap/pull/1511 + ## 1.27.0 (20 Feb 2024) Enhancements: * [#1378][]: Add `WithLazy` method for `SugaredLogger`. diff --git a/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md b/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md index e327d9aa5c..bc988b72ed 100644 --- a/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md +++ b/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md @@ -71,5 +71,5 @@ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]. -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ +[homepage]: https://contributor-covenant.org +[version]: https://contributor-covenant.org/version/1/4/ diff --git a/vendor/go.uber.org/zap/LICENSE b/vendor/go.uber.org/zap/LICENSE index 6652bed45f..3883b9a7ea 100644 --- a/vendor/go.uber.org/zap/LICENSE +++ b/vendor/go.uber.org/zap/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2016-2017 Uber Technologies, Inc. +Copyright (c) 2016-2024 Uber Technologies, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/vendor/go.uber.org/zap/Makefile b/vendor/go.uber.org/zap/Makefile index eb1cee53bd..f9db385b34 100644 --- a/vendor/go.uber.org/zap/Makefile +++ b/vendor/go.uber.org/zap/Makefile @@ -24,7 +24,7 @@ golangci-lint: @$(foreach mod,$(MODULE_DIRS), \ (cd $(mod) && \ echo "[lint] golangci-lint: $(mod)" && \ - golangci-lint run --path-prefix $(mod)) &&) true + golangci-lint run --path-prefix $(mod) ./...) &&) true .PHONY: tidy tidy: diff --git a/vendor/go.uber.org/zap/field.go b/vendor/go.uber.org/zap/field.go index 6743930b82..1884afabcd 100644 --- a/vendor/go.uber.org/zap/field.go +++ b/vendor/go.uber.org/zap/field.go @@ -398,6 +398,9 @@ func Durationp(key string, val *time.Duration) Field { // struct-like user-defined types to the logging context. The struct's // MarshalLogObject method is called lazily. func Object(key string, val zapcore.ObjectMarshaler) Field { + if val == nil { + return nilField(key) + } return Field{Key: key, Type: zapcore.ObjectMarshalerType, Interface: val} } @@ -431,6 +434,13 @@ func (d dictObject) MarshalLogObject(enc zapcore.ObjectEncoder) error { return nil } +// DictObject constructs a [zapcore.ObjectMarshaler] with the given list of fields. +// The resulting object marshaler can be used as input to [Object], [Objects], or +// any other functions that expect an object marshaler. +func DictObject(val ...Field) zapcore.ObjectMarshaler { + return dictObject(val) +} + // We discovered an issue where zap.Any can cause a performance degradation // when used in new goroutines. // diff --git a/vendor/go.uber.org/zap/http_handler.go b/vendor/go.uber.org/zap/http_handler.go index 2be8f65150..1cae2c164b 100644 --- a/vendor/go.uber.org/zap/http_handler.go +++ b/vendor/go.uber.org/zap/http_handler.go @@ -71,7 +71,7 @@ import ( func (lvl AtomicLevel) ServeHTTP(w http.ResponseWriter, r *http.Request) { if err := lvl.serveHTTP(w, r); err != nil { w.WriteHeader(http.StatusInternalServerError) - fmt.Fprintf(w, "internal error: %v", err) + _, _ = fmt.Fprintf(w, "internal error: %v", err) } } diff --git a/vendor/go.uber.org/zap/logger.go b/vendor/go.uber.org/zap/logger.go index c4d3003239..2d0ef141bc 100644 --- a/vendor/go.uber.org/zap/logger.go +++ b/vendor/go.uber.org/zap/logger.go @@ -381,7 +381,11 @@ func (log *Logger) check(lvl zapcore.Level, msg string) *zapcore.CheckedEntry { if stack.Count() == 0 { if log.addCaller { - fmt.Fprintf(log.errorOutput, "%v Logger.check error: failed to get caller\n", ent.Time.UTC()) + _, _ = fmt.Fprintf( + log.errorOutput, + "%v Logger.check error: failed to get caller\n", + ent.Time.UTC(), + ) _ = log.errorOutput.Sync() } return ce diff --git a/vendor/go.uber.org/zap/options.go b/vendor/go.uber.org/zap/options.go index 43d357ac90..04a3c1e635 100644 --- a/vendor/go.uber.org/zap/options.go +++ b/vendor/go.uber.org/zap/options.go @@ -125,7 +125,11 @@ func IncreaseLevel(lvl zapcore.LevelEnabler) Option { return optionFunc(func(log *Logger) { core, err := zapcore.NewIncreaseLevelCore(log.core, lvl) if err != nil { - fmt.Fprintf(log.errorOutput, "failed to IncreaseLevel: %v\n", err) + _, _ = fmt.Fprintf( + log.errorOutput, + "failed to IncreaseLevel: %v\n", + err, + ) } else { log.core = core } diff --git a/vendor/go.uber.org/zap/sink.go b/vendor/go.uber.org/zap/sink.go index 499772a00d..92202280f1 100644 --- a/vendor/go.uber.org/zap/sink.go +++ b/vendor/go.uber.org/zap/sink.go @@ -71,7 +71,7 @@ func newSinkRegistry() *sinkRegistry { return sr } -// RegisterScheme registers the given factory for the specific scheme. +// RegisterSink registers the given factory for the specific scheme. func (sr *sinkRegistry) RegisterSink(scheme string, factory func(*url.URL) (Sink, error)) error { sr.mu.Lock() defer sr.mu.Unlock() diff --git a/vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go b/vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go index a40e93b3ec..4b426a5648 100644 --- a/vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go +++ b/vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go @@ -188,32 +188,33 @@ func (s *BufferedWriteSyncer) flushLoop() { // Stop closes the buffer, cleans up background goroutines, and flushes // remaining unwritten data. func (s *BufferedWriteSyncer) Stop() (err error) { - var stopped bool - // Critical section. - func() { + stopped := func() bool { s.mu.Lock() defer s.mu.Unlock() if !s.initialized { - return + return false } - stopped = s.stopped - if stopped { - return + if s.stopped { + return false } s.stopped = true s.ticker.Stop() close(s.stop) // tell flushLoop to stop - <-s.done // and wait until it has + return true }() - // Don't call Sync on consecutive Stops. + // Not initialized, or already stopped, no need for any cleanup. if !stopped { - err = s.Sync() + return } - return err + // Wait for flushLoop to end outside of the lock, as it may need the lock to complete. + // See https://github.com/uber-go/zap/issues/1428 for details. + <-s.done + + return s.Sync() } diff --git a/vendor/go.uber.org/zap/zapcore/console_encoder.go b/vendor/go.uber.org/zap/zapcore/console_encoder.go index cc2b4e07b9..98eea5154d 100644 --- a/vendor/go.uber.org/zap/zapcore/console_encoder.go +++ b/vendor/go.uber.org/zap/zapcore/console_encoder.go @@ -105,7 +105,7 @@ func (c consoleEncoder) EncodeEntry(ent Entry, fields []Field) (*buffer.Buffer, if i > 0 { line.AppendString(c.ConsoleSeparator) } - fmt.Fprint(line, arr.elems[i]) + _, _ = fmt.Fprint(line, arr.elems[i]) } putSliceEncoder(arr) diff --git a/vendor/go.uber.org/zap/zapcore/entry.go b/vendor/go.uber.org/zap/zapcore/entry.go index 459a5d7ce3..841752f2ed 100644 --- a/vendor/go.uber.org/zap/zapcore/entry.go +++ b/vendor/go.uber.org/zap/zapcore/entry.go @@ -241,7 +241,12 @@ func (ce *CheckedEntry) Write(fields ...Field) { // If the entry is dirty, log an internal error; because the // CheckedEntry is being used after it was returned to the pool, // the message may be an amalgamation from multiple call sites. - fmt.Fprintf(ce.ErrorOutput, "%v Unsafe CheckedEntry re-use near Entry %+v.\n", ce.Time, ce.Entry) + _, _ = fmt.Fprintf( + ce.ErrorOutput, + "%v Unsafe CheckedEntry re-use near Entry %+v.\n", + ce.Time, + ce.Entry, + ) _ = ce.ErrorOutput.Sync() // ignore error } return @@ -253,7 +258,12 @@ func (ce *CheckedEntry) Write(fields ...Field) { err = multierr.Append(err, ce.cores[i].Write(ce.Entry, fields)) } if err != nil && ce.ErrorOutput != nil { - fmt.Fprintf(ce.ErrorOutput, "%v write error: %v\n", ce.Time, err) + _, _ = fmt.Fprintf( + ce.ErrorOutput, + "%v write error: %v\n", + ce.Time, + err, + ) _ = ce.ErrorOutput.Sync() // ignore error } diff --git a/vendor/go.uber.org/zap/zapcore/lazy_with.go b/vendor/go.uber.org/zap/zapcore/lazy_with.go index 05288d6a88..500809de08 100644 --- a/vendor/go.uber.org/zap/zapcore/lazy_with.go +++ b/vendor/go.uber.org/zap/zapcore/lazy_with.go @@ -23,7 +23,8 @@ package zapcore import "sync" type lazyWithCore struct { - Core + core Core + originalCore Core sync.Once fields []Field } @@ -32,23 +33,45 @@ type lazyWithCore struct { // the logger is written to (or is further chained in a lon-lazy manner). func NewLazyWith(core Core, fields []Field) Core { return &lazyWithCore{ - Core: core, - fields: fields, + core: nil, // core is allocated once `initOnce` is called. + originalCore: core, + fields: fields, } } func (d *lazyWithCore) initOnce() { d.Once.Do(func() { - d.Core = d.Core.With(d.fields) + d.core = d.originalCore.With(d.fields) }) } func (d *lazyWithCore) With(fields []Field) Core { d.initOnce() - return d.Core.With(fields) + return d.core.With(fields) } func (d *lazyWithCore) Check(e Entry, ce *CheckedEntry) *CheckedEntry { + // This is safe because `lazyWithCore` doesn't change the level. + // So we can delagate the level check, any not `initOnce` + // just for the check. + if !d.originalCore.Enabled(e.Level) { + return ce + } + d.initOnce() + return d.core.Check(e, ce) +} + +func (d *lazyWithCore) Enabled(level Level) bool { + // Like above, this is safe because `lazyWithCore` doesn't change the level. + return d.originalCore.Enabled(level) +} + +func (d *lazyWithCore) Write(e Entry, fields []Field) error { + d.initOnce() + return d.core.Write(e, fields) +} + +func (d *lazyWithCore) Sync() error { d.initOnce() - return d.Core.Check(e, ce) + return d.core.Sync() } diff --git a/vendor/go.uber.org/zap/zapcore/level.go b/vendor/go.uber.org/zap/zapcore/level.go index e01a241316..f3e166d67b 100644 --- a/vendor/go.uber.org/zap/zapcore/level.go +++ b/vendor/go.uber.org/zap/zapcore/level.go @@ -179,19 +179,19 @@ func (l *Level) UnmarshalText(text []byte) error { func (l *Level) unmarshalText(text []byte) bool { switch string(text) { - case "debug", "DEBUG": + case "debug": *l = DebugLevel - case "info", "INFO", "": // make the zero value useful + case "info", "": // make the zero value useful *l = InfoLevel - case "warn", "WARN": + case "warn", "warning": *l = WarnLevel - case "error", "ERROR": + case "error": *l = ErrorLevel - case "dpanic", "DPANIC": + case "dpanic": *l = DPanicLevel - case "panic", "PANIC": + case "panic": *l = PanicLevel - case "fatal", "FATAL": + case "fatal": *l = FatalLevel default: return false diff --git a/vendor/modules.txt b/vendor/modules.txt index 77ba8602c5..60c2202cc7 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -109,7 +109,7 @@ github.com/go-kit/log/level # github.com/go-logfmt/logfmt v0.5.1 ## explicit; go 1.17 github.com/go-logfmt/logfmt -# github.com/go-logr/logr v1.4.2 +# github.com/go-logr/logr v1.4.3 ## explicit; go 1.18 github.com/go-logr/logr github.com/go-logr/logr/slogr @@ -458,7 +458,7 @@ github.com/rs/dnscache # github.com/sirupsen/logrus v1.9.3 ## explicit; go 1.13 github.com/sirupsen/logrus -# github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace +# github.com/spf13/pflag v1.0.10 ## explicit; go 1.12 github.com/spf13/pflag # github.com/stretchr/testify v1.9.0 @@ -525,7 +525,7 @@ go.uber.org/automaxprocs/maxprocs # go.uber.org/multierr v1.11.0 ## explicit; go 1.19 go.uber.org/multierr -# go.uber.org/zap v1.27.0 +# go.uber.org/zap v1.27.1 ## explicit; go 1.19 go.uber.org/zap go.uber.org/zap/buffer