From c52e8c38e6d6235bd8e6e961199a984275547d6f Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Tue, 10 Dec 2024 13:28:04 +0100 Subject: [PATCH] Prepare for v0.16.22 release Signed-off-by: Tobias Klauser --- README.md | 2 +- RELEASE.md | 2 +- go.mod | 36 +-- go.sum | 72 +++--- vendor/github.com/cilium/charts/README.md | 244 ++++++++++++++++++ .../cilium/charts/cilium-1.17.0-pre.3.tgz | Bin 0 -> 216335 bytes vendor/github.com/cilium/charts/index.yaml | 108 +++++++- .../cilium/cilium/api/v1/flow/flow.pb.go | 2 +- .../cilium/api/v1/observer/observer.pb.go | 2 +- .../api/v1/observer/observer_grpc.pb.go | 2 +- .../cilium/cilium/api/v1/relay/relay.pb.go | 2 +- .../cilium/cilium/cilium-cli/cli/install.go | 2 + .../connectivity/builder/client_egress_l7.go | 2 +- .../builder/client_egress_l7_method.go | 2 +- .../builder/client_egress_l7_set_header.go | 2 +- .../builder/client_egress_l7_tls_headers.go | 2 +- ...orth_south_loadbalancing_with_l7_policy.go | 2 +- .../cilium/cilium-cli/install/install.go | 4 + .../cilium/cilium-cli/install/upgrade.go | 17 +- .../cilium/cilium-cli/internal/helm/helm.go | 3 + .../cilium-cli/utils/features/features.go | 9 + .../cilium/pkg/datapath/tables/neighbor.go | 15 +- .../cilium/cilium/pkg/k8s/labels.go | 5 +- vendor/github.com/cilium/ebpf/btf/ext_info.go | 71 +++-- vendor/github.com/cilium/ebpf/elf_reader.go | 15 +- vendor/github.com/cilium/ebpf/info.go | 169 ++++++++++-- .../cilium/ebpf/internal/sys/types.go | 6 +- vendor/github.com/cilium/ebpf/variable.go | 4 +- vendor/github.com/cilium/hive/script/cmds.go | 25 +- .../github.com/cilium/hive/script/engine.go | 36 ++- .../prometheus/common/expfmt/encode.go | 4 +- .../prometheus/common/expfmt/expfmt.go | 4 +- .../common/expfmt/openmetrics_create.go | 4 +- .../prometheus/common/expfmt/text_parse.go | 2 +- .../prometheus/common/model/alert.go | 7 +- .../prometheus/common/model/metric.go | 31 +-- .../prometheus/common/model/silence.go | 17 +- .../prometheus/common/model/value_float.go | 3 +- .../common/model/value_histogram.go | 7 +- vendor/golang.org/x/net/http2/frame.go | 4 +- vendor/golang.org/x/net/http2/http2.go | 42 +-- vendor/golang.org/x/net/http2/server.go | 35 ++- vendor/golang.org/x/net/http2/transport.go | 137 +++++++--- vendor/golang.org/x/oauth2/README.md | 15 +- vendor/golang.org/x/sys/unix/zerrors_linux.go | 9 + .../x/sys/unix/zerrors_linux_386.go | 6 + .../x/sys/unix/zerrors_linux_amd64.go | 6 + .../x/sys/unix/zerrors_linux_arm.go | 6 + .../x/sys/unix/zerrors_linux_arm64.go | 7 + .../x/sys/unix/zerrors_linux_loong64.go | 6 + .../x/sys/unix/zerrors_linux_mips.go | 6 + .../x/sys/unix/zerrors_linux_mips64.go | 6 + .../x/sys/unix/zerrors_linux_mips64le.go | 6 + .../x/sys/unix/zerrors_linux_mipsle.go | 6 + .../x/sys/unix/zerrors_linux_ppc.go | 6 + .../x/sys/unix/zerrors_linux_ppc64.go | 6 + .../x/sys/unix/zerrors_linux_ppc64le.go | 6 + .../x/sys/unix/zerrors_linux_riscv64.go | 6 + .../x/sys/unix/zerrors_linux_s390x.go | 6 + .../x/sys/unix/zerrors_linux_sparc64.go | 6 + .../x/sys/unix/ztypes_darwin_amd64.go | 60 +++++ .../x/sys/unix/ztypes_darwin_arm64.go | 60 +++++ vendor/golang.org/x/sys/unix/ztypes_linux.go | 20 +- .../x/sys/windows/syscall_windows.go | 2 + .../golang.org/x/sys/windows/types_windows.go | 1 + .../x/sys/windows/zsyscall_windows.go | 28 +- .../internal/resolver/dns/dns_resolver.go | 4 +- vendor/google.golang.org/grpc/version.go | 2 +- vendor/modules.txt | 38 +-- 69 files changed, 1178 insertions(+), 312 deletions(-) create mode 100644 vendor/github.com/cilium/charts/cilium-1.17.0-pre.3.tgz diff --git a/README.md b/README.md index 46552057e0..0fa55f0dee 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ binary releases. | Release | Maintained | Compatible Cilium Versions | |------------------------------------------------------------------------|------------|----------------------------| -| [v0.16.21](https://github.com/cilium/cilium-cli/releases/tag/v0.16.21) | Yes | Cilium 1.15 and newer | +| [v0.16.22](https://github.com/cilium/cilium-cli/releases/tag/v0.16.22) | Yes | Cilium 1.15 and newer | | [v0.15.22](https://github.com/cilium/cilium-cli/releases/tag/v0.15.22) | Yes | Cilium 1.14 (*) | Note: diff --git a/RELEASE.md b/RELEASE.md index e0180f0e42..4dfb0158ab 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -19,7 +19,7 @@ table](https://github.com/cilium/cilium-cli#releases) for the most recent suppor Set `RELEASE` environment variable to the new version. This variable will be used in the commands throughout the documenat to allow copy-pasting. - export RELEASE=v0.16.22 + export RELEASE=v0.16.23 ## Update local checkout diff --git a/go.mod b/go.mod index 80a72f7644..c0fc9a68f1 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ replace ( sigs.k8s.io/controller-tools => github.com/cilium/controller-tools v0.8.0-2 ) -require github.com/cilium/cilium v1.17.0-pre.3.0.20241206234938-95ee091cd967 +require github.com/cilium/cilium v1.17.0-pre.3.0.20241210085346-6db21de11e49 require ( cel.dev/expr v0.18.0 // indirect @@ -31,9 +31,9 @@ require ( github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/chai2010/gettext-go v1.0.2 // indirect - github.com/cilium/charts v0.0.0-20241127112225-7cea2b4f120f // indirect - github.com/cilium/ebpf v0.16.1-0.20241119131019-e2607b570f29 // indirect - github.com/cilium/hive v0.0.0-20241129122706-af5052cfd6d4 // indirect + github.com/cilium/charts v0.0.0-20241202171727-5ceb3f5006f9 // indirect + github.com/cilium/ebpf v0.16.1-0.20241205185900-f0eec7efba9d // indirect + github.com/cilium/hive v0.0.0-20241205140635-d02f07f3d452 // indirect github.com/cilium/proxy v0.0.0-20241115112946-fb67566cbd95 // indirect github.com/cilium/statedb v0.3.4 // indirect github.com/cilium/stream v0.0.0-20241203114243-53c3e5d79744 // indirect @@ -130,7 +130,7 @@ require ( github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b // indirect - github.com/osrg/gobgp/v3 v3.31.0 // indirect + github.com/osrg/gobgp/v3 v3.32.0 // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.2.2 // indirect github.com/peterbourgon/diskv v2.0.1+incompatible // indirect @@ -139,7 +139,7 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.60.1 // indirect + github.com/prometheus/common v0.61.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rubenv/sql-migrate v1.7.0 // indirect @@ -179,19 +179,19 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect go4.org/netipx v0.0.0-20231129151722-fdeea329fbba // indirect - golang.org/x/crypto v0.29.0 // indirect + golang.org/x/crypto v0.30.0 // indirect golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa // indirect - golang.org/x/net v0.31.0 // indirect - golang.org/x/oauth2 v0.23.0 // indirect - golang.org/x/sync v0.9.0 // indirect - golang.org/x/sys v0.27.0 // indirect - golang.org/x/term v0.26.0 // indirect - golang.org/x/text v0.20.0 // indirect + golang.org/x/net v0.32.0 // indirect + golang.org/x/oauth2 v0.24.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.8.0 // indirect - golang.org/x/tools v0.27.0 // indirect + golang.org/x/tools v0.28.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 // indirect - google.golang.org/grpc v1.68.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241206012308-a4fef0638583 // indirect + google.golang.org/grpc v1.68.1 // indirect google.golang.org/protobuf v1.35.2 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect @@ -210,12 +210,12 @@ require ( k8s.io/kubectl v0.31.3 // indirect k8s.io/utils v0.0.0-20241104163129-6fe5fd82f078 // indirect oras.land/oras-go v1.2.5 // indirect - sigs.k8s.io/controller-runtime v0.19.2 // indirect + sigs.k8s.io/controller-runtime v0.19.3 // indirect sigs.k8s.io/gateway-api v1.2.0 // indirect sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect sigs.k8s.io/kustomize/api v0.18.0 // indirect sigs.k8s.io/kustomize/kyaml v0.18.1 // indirect - sigs.k8s.io/mcs-api v0.1.1-0.20241107131729-9615e3489a98 // indirect + sigs.k8s.io/mcs-api v0.1.1-0.20241206165000-e2cb6dc0c753 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect sigs.k8s.io/yaml v1.4.0 // indirect ) diff --git a/go.sum b/go.sum index 3a97ec1a11..9c1378e7dc 100644 --- a/go.sum +++ b/go.sum @@ -54,14 +54,14 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chai2010/gettext-go v1.0.2 h1:1Lwwip6Q2QGsAdl/ZKPCwTe9fe0CjlUbqj5bFNSjIRk= github.com/chai2010/gettext-go v1.0.2/go.mod h1:y+wnP2cHYaVj19NZhYKAwEMH2CI1gNHeQQ+5AjwawxA= -github.com/cilium/charts v0.0.0-20241127112225-7cea2b4f120f h1:SFlZUktu/L/03B3EuLy1uAgjtgfBOy2buQNL+ZMncxc= -github.com/cilium/charts v0.0.0-20241127112225-7cea2b4f120f/go.mod h1:M3C9VOlFvRzuV+a01t07Tw4uFLSfkCH3L542IWjf6BU= -github.com/cilium/cilium v1.17.0-pre.3.0.20241206234938-95ee091cd967 h1:NCPrnnX5HIaB/Kp001CzNLvhg7Ah/wnCVGvp8szw5uY= -github.com/cilium/cilium v1.17.0-pre.3.0.20241206234938-95ee091cd967/go.mod h1:BYWwvslb/PtvuzFMs4I9zLTzDMoq6ichXbcinZjWV+0= -github.com/cilium/ebpf v0.16.1-0.20241119131019-e2607b570f29 h1:T7oI6ImaDb8qPVUFTvhQPbp65nIwg9o90tYZKOU+lr0= -github.com/cilium/ebpf v0.16.1-0.20241119131019-e2607b570f29/go.mod h1:vay2FaYSmIlv3r8dNACd4mW/OCaZLJKJOo+IHBvCIO8= -github.com/cilium/hive v0.0.0-20241129122706-af5052cfd6d4 h1:JcT0Hl5hjbCn2xFPd3yEFDLvvbgUz1DU2IgHHArw7ac= -github.com/cilium/hive v0.0.0-20241129122706-af5052cfd6d4/go.mod h1:pI2GJ1n3SLKIQVFrKF7W6A6gb6BQkZ+3Hp4PAEo5SuI= +github.com/cilium/charts v0.0.0-20241202171727-5ceb3f5006f9 h1:Gq6hla62DhEh3lLlE7VlnRsWqdUTq951EQHbyQf62S8= +github.com/cilium/charts v0.0.0-20241202171727-5ceb3f5006f9/go.mod h1:M3C9VOlFvRzuV+a01t07Tw4uFLSfkCH3L542IWjf6BU= +github.com/cilium/cilium v1.17.0-pre.3.0.20241210085346-6db21de11e49 h1:j74JexxH/pMi3WCZAcyoXGMSXVR5/kTvlHCctpxMY3M= +github.com/cilium/cilium v1.17.0-pre.3.0.20241210085346-6db21de11e49/go.mod h1:zpct1FtpC+CVZ5/6XwXmqUtzosFrnVmfp3oe2n+CRX4= +github.com/cilium/ebpf v0.16.1-0.20241205185900-f0eec7efba9d h1:f1E6PeQ/j1Xd2ZNlffKOfscx+daNInIUAJObbiU+7aQ= +github.com/cilium/ebpf v0.16.1-0.20241205185900-f0eec7efba9d/go.mod h1:vay2FaYSmIlv3r8dNACd4mW/OCaZLJKJOo+IHBvCIO8= +github.com/cilium/hive v0.0.0-20241205140635-d02f07f3d452 h1:phyHNaED0wvK8Q5Mne8glGH6lWGx7jmyO/bsIzWHEtA= +github.com/cilium/hive v0.0.0-20241205140635-d02f07f3d452/go.mod h1:pI2GJ1n3SLKIQVFrKF7W6A6gb6BQkZ+3Hp4PAEo5SuI= github.com/cilium/proxy v0.0.0-20241115112946-fb67566cbd95 h1:iMn0++U3CDqoDINY5JLOhlPcjj3kW/xCmse+d+EZkOM= github.com/cilium/proxy v0.0.0-20241115112946-fb67566cbd95/go.mod h1:/UoCz3gByKwF5gCHFMUhwmIN5/Pgmb8LTIrfBlmjGCo= github.com/cilium/statedb v0.3.4 h1:nb5qNntmtaNljJD1r2s5zGOs62LP87AqLhFKIZH2rRE= @@ -364,8 +364,8 @@ github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQ github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b h1:FfH+VrHHk6Lxt9HdVS0PXzSXFyS2NbZKXv33FYPol0A= github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b/go.mod h1:AC62GU6hc0BrNm+9RK9VSiwa/EUe1bkIeFORAMcHvJU= -github.com/osrg/gobgp/v3 v3.31.0 h1:qDKokSsHUlvp03kHwOIwq0D1jPJruYRBpOHQsJYHdfc= -github.com/osrg/gobgp/v3 v3.31.0/go.mod h1:8m+kgkdaWrByxg5EWpNUO2r/mopodrNBOUBhMnW/yGQ= +github.com/osrg/gobgp/v3 v3.32.0 h1:B2krh/44etYQAuLq+iMkORxIvXj+cGIpuR6qDGNGagM= +github.com/osrg/gobgp/v3 v3.32.0/go.mod h1:8m+kgkdaWrByxg5EWpNUO2r/mopodrNBOUBhMnW/yGQ= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= @@ -397,8 +397,8 @@ github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= -github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc= -github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= +github.com/prometheus/common v0.61.0 h1:3gv/GThfX0cV2lpO7gkTUwZru38mxevy90Bj8YFSRQQ= +github.com/prometheus/common v0.61.0/go.mod h1:zr29OCN/2BsJRaFwG8QOBr41D6kkchKbpeNH7pAjb/s= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= @@ -542,8 +542,8 @@ golang.org/x/crypto v0.0.0-20201124201722-c8d3bf9c5392/go.mod h1:jdWPYTVW3xRLrWP golang.org/x/crypto v0.0.0-20201208171446-5f87f3452ae9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ= -golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= +golang.org/x/crypto v0.30.0 h1:RwoQn3GkWiMkzlX562cLB7OxWvjH1L8xutO2WoJcRoY= +golang.org/x/crypto v0.30.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa h1:ELnwvuAXPNtPk1TJRuGkI9fDTwym6AYBu0qzT8AcHdI= golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa/go.mod h1:akd2r19cwCdwSwWeIdzYQGa/EZZyqcOdwWiwj5L5eKQ= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -566,10 +566,10 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.31.0 h1:68CPQngjLL0r2AlUKiSxtQFKvzRVbnzLwMUn5SzcLHo= -golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM= -golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= -golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/net v0.32.0 h1:ZqPmj8Kzc+Y6e0+skZsuACbx+wzMgo5MQsJh9Qd6aYI= +golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs= +golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= +golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -577,8 +577,8 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= -golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -604,23 +604,23 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s= -golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU= -golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= -golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg= golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -629,18 +629,18 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.27.0 h1:qEKojBykQkQ4EynWy4S8Weg69NumxKdn40Fce3uc/8o= -golang.org/x/tools v0.27.0/go.mod h1:sUi0ZgbwW9ZPAq26Ekut+weQPR5eIM6GQLQ1Yjm1H0Q= +golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= +golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28 h1:M0KvPgPmDZHPlbRbaNU1APr28TvwvvdUPlSv7PUvy8g= google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:dguCy7UOdZhTvLzDyt15+rOrawrpM4q7DD9dQ1P11P4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 h1:LWZqQOEjDyONlF1H6afSWpAL/znlREo2tHfLoe+8LMA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= -google.golang.org/grpc v1.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0= -google.golang.org/grpc v1.68.0/go.mod h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241206012308-a4fef0638583 h1:IfdSdTcLFy4lqUQrQJLkLt1PB+AsqVz6lwkWPzWEz10= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241206012308-a4fef0638583/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/grpc v1.68.1 h1:oI5oTa11+ng8r8XMMN7jAOmWfPZWbYpCFaMUTACxkM0= +google.golang.org/grpc v1.68.1/go.mod h1:+q1XYFJjShcqn0QZHvCyeR4CXPA+llXIeUIfIe00waw= google.golang.org/protobuf v1.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io= google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= @@ -690,8 +690,8 @@ k8s.io/utils v0.0.0-20241104163129-6fe5fd82f078 h1:jGnCPejIetjiy2gqaJ5V0NLwTpF4w k8s.io/utils v0.0.0-20241104163129-6fe5fd82f078/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= oras.land/oras-go v1.2.5 h1:XpYuAwAb0DfQsunIyMfeET92emK8km3W4yEzZvUbsTo= oras.land/oras-go v1.2.5/go.mod h1:PuAwRShRZCsZb7g8Ar3jKKQR/2A/qN+pkYxIOd/FAoo= -sigs.k8s.io/controller-runtime v0.19.2 h1:3sPrF58XQEPzbE8T81TN6selQIMGbtYwuaJ6eDssDF8= -sigs.k8s.io/controller-runtime v0.19.2/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4= +sigs.k8s.io/controller-runtime v0.19.3 h1:XO2GvC9OPftRst6xWCpTgBZO04S2cbp0Qqkj8bX1sPw= +sigs.k8s.io/controller-runtime v0.19.3/go.mod h1:j4j87DqtsThvwTv5/Tc5NFRyyF/RF0ip4+62tbTSIUM= sigs.k8s.io/gateway-api v1.2.0 h1:LrToiFwtqKTKZcZtoQPTuo3FxhrrhTgzQG0Te+YGSo8= sigs.k8s.io/gateway-api v1.2.0/go.mod h1:EpNfEXNjiYfUJypf0eZ0P5iXA9ekSGWaS1WgPaM42X0= sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8= @@ -700,8 +700,8 @@ sigs.k8s.io/kustomize/api v0.18.0 h1:hTzp67k+3NEVInwz5BHyzc9rGxIauoXferXyjv5lWPo sigs.k8s.io/kustomize/api v0.18.0/go.mod h1:f8isXnX+8b+SGLHQ6yO4JG1rdkZlvhaCf/uZbLVMb0U= sigs.k8s.io/kustomize/kyaml v0.18.1 h1:WvBo56Wzw3fjS+7vBjN6TeivvpbW9GmRaWZ9CIVmt4E= sigs.k8s.io/kustomize/kyaml v0.18.1/go.mod h1:C3L2BFVU1jgcddNBE1TxuVLgS46TjObMwW5FT9FcjYo= -sigs.k8s.io/mcs-api v0.1.1-0.20241107131729-9615e3489a98 h1:EETGGPIh4ufL2eOsV7M69aVrSQQu9owPi7qrhFNlSmg= -sigs.k8s.io/mcs-api v0.1.1-0.20241107131729-9615e3489a98/go.mod h1:x0rgWQwGd3FJzrb94BNn3Nu7YxUwBWcgjVRbkrkVy2A= +sigs.k8s.io/mcs-api v0.1.1-0.20241206165000-e2cb6dc0c753 h1:1WWZgHP/n7hBbx3Sp6JKdPk0kJKExYxUjeSuzDtyEAA= +sigs.k8s.io/mcs-api v0.1.1-0.20241206165000-e2cb6dc0c753/go.mod h1:x0rgWQwGd3FJzrb94BNn3Nu7YxUwBWcgjVRbkrkVy2A= sigs.k8s.io/structured-merge-diff/v4 v4.4.2 h1:MdmvkGuXi/8io6ixD5wud3vOLwc1rj0aNqRlpuvjmwA= sigs.k8s.io/structured-merge-diff/v4 v4.4.2/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= diff --git a/vendor/github.com/cilium/charts/README.md b/vendor/github.com/cilium/charts/README.md index d8fc2fce51..203c242211 100644 --- a/vendor/github.com/cilium/charts/README.md +++ b/vendor/github.com/cilium/charts/README.md @@ -1,249 +1,493 @@ This repository holds helm templates for the following Cilium releases: +* [v1.17.0-pre.3](https://github.com/cilium/cilium/releases/tag/v1.17.0-pre.3) (_[source](https://github.com/cilium/cilium/tree/v1.17.0-pre.3/install/kubernetes/cilium)_) * [v1.17.0-pre.2](https://github.com/cilium/cilium/releases/tag/v1.17.0-pre.2) (_[source](https://github.com/cilium/cilium/tree/v1.17.0-pre.2/install/kubernetes/cilium)_) +* [v1.17.0-pre.2](https://github.com/cilium/cilium/releases/tag/v1.17.0-pre.2) (_[source](https://github.com/cilium/cilium/tree/v1.17.0-pre.2/install/kubernetes/cilium)_) +* [v1.17.0-pre.1](https://github.com/cilium/cilium/releases/tag/v1.17.0-pre.1) (_[source](https://github.com/cilium/cilium/tree/v1.17.0-pre.1/install/kubernetes/cilium)_) * [v1.17.0-pre.1](https://github.com/cilium/cilium/releases/tag/v1.17.0-pre.1) (_[source](https://github.com/cilium/cilium/tree/v1.17.0-pre.1/install/kubernetes/cilium)_) * [v1.17.0-pre.0](https://github.com/cilium/cilium/releases/tag/v1.17.0-pre.0) (_[source](https://github.com/cilium/cilium/tree/v1.17.0-pre.0/install/kubernetes/cilium)_) +* [v1.17.0-pre.0](https://github.com/cilium/cilium/releases/tag/v1.17.0-pre.0) (_[source](https://github.com/cilium/cilium/tree/v1.17.0-pre.0/install/kubernetes/cilium)_) +* [v1.16.4](https://github.com/cilium/cilium/releases/tag/v1.16.4) (_[source](https://github.com/cilium/cilium/tree/v1.16.4/install/kubernetes/cilium)_) * [v1.16.4](https://github.com/cilium/cilium/releases/tag/v1.16.4) (_[source](https://github.com/cilium/cilium/tree/v1.16.4/install/kubernetes/cilium)_) * [v1.16.3](https://github.com/cilium/cilium/releases/tag/v1.16.3) (_[source](https://github.com/cilium/cilium/tree/v1.16.3/install/kubernetes/cilium)_) +* [v1.16.3](https://github.com/cilium/cilium/releases/tag/v1.16.3) (_[source](https://github.com/cilium/cilium/tree/v1.16.3/install/kubernetes/cilium)_) +* [v1.16.2](https://github.com/cilium/cilium/releases/tag/v1.16.2) (_[source](https://github.com/cilium/cilium/tree/v1.16.2/install/kubernetes/cilium)_) * [v1.16.2](https://github.com/cilium/cilium/releases/tag/v1.16.2) (_[source](https://github.com/cilium/cilium/tree/v1.16.2/install/kubernetes/cilium)_) * [v1.16.1](https://github.com/cilium/cilium/releases/tag/v1.16.1) (_[source](https://github.com/cilium/cilium/tree/v1.16.1/install/kubernetes/cilium)_) +* [v1.16.1](https://github.com/cilium/cilium/releases/tag/v1.16.1) (_[source](https://github.com/cilium/cilium/tree/v1.16.1/install/kubernetes/cilium)_) +* [v1.16.0](https://github.com/cilium/cilium/releases/tag/v1.16.0) (_[source](https://github.com/cilium/cilium/tree/v1.16.0/install/kubernetes/cilium)_) * [v1.16.0](https://github.com/cilium/cilium/releases/tag/v1.16.0) (_[source](https://github.com/cilium/cilium/tree/v1.16.0/install/kubernetes/cilium)_) * [v1.16.0-rc.2](https://github.com/cilium/cilium/releases/tag/v1.16.0-rc.2) (_[source](https://github.com/cilium/cilium/tree/v1.16.0-rc.2/install/kubernetes/cilium)_) +* [v1.16.0-rc.2](https://github.com/cilium/cilium/releases/tag/v1.16.0-rc.2) (_[source](https://github.com/cilium/cilium/tree/v1.16.0-rc.2/install/kubernetes/cilium)_) +* [v1.16.0-rc.1](https://github.com/cilium/cilium/releases/tag/v1.16.0-rc.1) (_[source](https://github.com/cilium/cilium/tree/v1.16.0-rc.1/install/kubernetes/cilium)_) * [v1.16.0-rc.1](https://github.com/cilium/cilium/releases/tag/v1.16.0-rc.1) (_[source](https://github.com/cilium/cilium/tree/v1.16.0-rc.1/install/kubernetes/cilium)_) * [v1.16.0-rc.0](https://github.com/cilium/cilium/releases/tag/v1.16.0-rc.0) (_[source](https://github.com/cilium/cilium/tree/v1.16.0-rc.0/install/kubernetes/cilium)_) +* [v1.16.0-rc.0](https://github.com/cilium/cilium/releases/tag/v1.16.0-rc.0) (_[source](https://github.com/cilium/cilium/tree/v1.16.0-rc.0/install/kubernetes/cilium)_) +* [v1.16.0-pre.3](https://github.com/cilium/cilium/releases/tag/v1.16.0-pre.3) (_[source](https://github.com/cilium/cilium/tree/v1.16.0-pre.3/install/kubernetes/cilium)_) * [v1.16.0-pre.3](https://github.com/cilium/cilium/releases/tag/v1.16.0-pre.3) (_[source](https://github.com/cilium/cilium/tree/v1.16.0-pre.3/install/kubernetes/cilium)_) * [v1.16.0-pre.2](https://github.com/cilium/cilium/releases/tag/v1.16.0-pre.2) (_[source](https://github.com/cilium/cilium/tree/v1.16.0-pre.2/install/kubernetes/cilium)_) +* [v1.16.0-pre.2](https://github.com/cilium/cilium/releases/tag/v1.16.0-pre.2) (_[source](https://github.com/cilium/cilium/tree/v1.16.0-pre.2/install/kubernetes/cilium)_) +* [v1.16.0-pre.1](https://github.com/cilium/cilium/releases/tag/v1.16.0-pre.1) (_[source](https://github.com/cilium/cilium/tree/v1.16.0-pre.1/install/kubernetes/cilium)_) * [v1.16.0-pre.1](https://github.com/cilium/cilium/releases/tag/v1.16.0-pre.1) (_[source](https://github.com/cilium/cilium/tree/v1.16.0-pre.1/install/kubernetes/cilium)_) * [v1.16.0-pre.0](https://github.com/cilium/cilium/releases/tag/v1.16.0-pre.0) (_[source](https://github.com/cilium/cilium/tree/v1.16.0-pre.0/install/kubernetes/cilium)_) +* [v1.16.0-pre.0](https://github.com/cilium/cilium/releases/tag/v1.16.0-pre.0) (_[source](https://github.com/cilium/cilium/tree/v1.16.0-pre.0/install/kubernetes/cilium)_) +* [v1.15.11](https://github.com/cilium/cilium/releases/tag/v1.15.11) (_[source](https://github.com/cilium/cilium/tree/v1.15.11/install/kubernetes/cilium)_) * [v1.15.11](https://github.com/cilium/cilium/releases/tag/v1.15.11) (_[source](https://github.com/cilium/cilium/tree/v1.15.11/install/kubernetes/cilium)_) * [v1.15.10](https://github.com/cilium/cilium/releases/tag/v1.15.10) (_[source](https://github.com/cilium/cilium/tree/v1.15.10/install/kubernetes/cilium)_) +* [v1.15.10](https://github.com/cilium/cilium/releases/tag/v1.15.10) (_[source](https://github.com/cilium/cilium/tree/v1.15.10/install/kubernetes/cilium)_) +* [v1.15.9](https://github.com/cilium/cilium/releases/tag/v1.15.9) (_[source](https://github.com/cilium/cilium/tree/v1.15.9/install/kubernetes/cilium)_) * [v1.15.9](https://github.com/cilium/cilium/releases/tag/v1.15.9) (_[source](https://github.com/cilium/cilium/tree/v1.15.9/install/kubernetes/cilium)_) * [v1.15.8](https://github.com/cilium/cilium/releases/tag/v1.15.8) (_[source](https://github.com/cilium/cilium/tree/v1.15.8/install/kubernetes/cilium)_) +* [v1.15.8](https://github.com/cilium/cilium/releases/tag/v1.15.8) (_[source](https://github.com/cilium/cilium/tree/v1.15.8/install/kubernetes/cilium)_) +* [v1.15.7](https://github.com/cilium/cilium/releases/tag/v1.15.7) (_[source](https://github.com/cilium/cilium/tree/v1.15.7/install/kubernetes/cilium)_) * [v1.15.7](https://github.com/cilium/cilium/releases/tag/v1.15.7) (_[source](https://github.com/cilium/cilium/tree/v1.15.7/install/kubernetes/cilium)_) * [v1.15.6](https://github.com/cilium/cilium/releases/tag/v1.15.6) (_[source](https://github.com/cilium/cilium/tree/v1.15.6/install/kubernetes/cilium)_) +* [v1.15.6](https://github.com/cilium/cilium/releases/tag/v1.15.6) (_[source](https://github.com/cilium/cilium/tree/v1.15.6/install/kubernetes/cilium)_) +* [v1.15.5](https://github.com/cilium/cilium/releases/tag/v1.15.5) (_[source](https://github.com/cilium/cilium/tree/v1.15.5/install/kubernetes/cilium)_) * [v1.15.5](https://github.com/cilium/cilium/releases/tag/v1.15.5) (_[source](https://github.com/cilium/cilium/tree/v1.15.5/install/kubernetes/cilium)_) * [v1.15.4](https://github.com/cilium/cilium/releases/tag/v1.15.4) (_[source](https://github.com/cilium/cilium/tree/v1.15.4/install/kubernetes/cilium)_) +* [v1.15.4](https://github.com/cilium/cilium/releases/tag/v1.15.4) (_[source](https://github.com/cilium/cilium/tree/v1.15.4/install/kubernetes/cilium)_) +* [v1.15.3](https://github.com/cilium/cilium/releases/tag/v1.15.3) (_[source](https://github.com/cilium/cilium/tree/v1.15.3/install/kubernetes/cilium)_) * [v1.15.3](https://github.com/cilium/cilium/releases/tag/v1.15.3) (_[source](https://github.com/cilium/cilium/tree/v1.15.3/install/kubernetes/cilium)_) * [v1.15.2](https://github.com/cilium/cilium/releases/tag/v1.15.2) (_[source](https://github.com/cilium/cilium/tree/v1.15.2/install/kubernetes/cilium)_) +* [v1.15.2](https://github.com/cilium/cilium/releases/tag/v1.15.2) (_[source](https://github.com/cilium/cilium/tree/v1.15.2/install/kubernetes/cilium)_) +* [v1.15.1](https://github.com/cilium/cilium/releases/tag/v1.15.1) (_[source](https://github.com/cilium/cilium/tree/v1.15.1/install/kubernetes/cilium)_) * [v1.15.1](https://github.com/cilium/cilium/releases/tag/v1.15.1) (_[source](https://github.com/cilium/cilium/tree/v1.15.1/install/kubernetes/cilium)_) * [v1.15.0](https://github.com/cilium/cilium/releases/tag/v1.15.0) (_[source](https://github.com/cilium/cilium/tree/v1.15.0/install/kubernetes/cilium)_) +* [v1.15.0](https://github.com/cilium/cilium/releases/tag/v1.15.0) (_[source](https://github.com/cilium/cilium/tree/v1.15.0/install/kubernetes/cilium)_) +* [v1.15.0-rc.1](https://github.com/cilium/cilium/releases/tag/v1.15.0-rc.1) (_[source](https://github.com/cilium/cilium/tree/v1.15.0-rc.1/install/kubernetes/cilium)_) * [v1.15.0-rc.1](https://github.com/cilium/cilium/releases/tag/v1.15.0-rc.1) (_[source](https://github.com/cilium/cilium/tree/v1.15.0-rc.1/install/kubernetes/cilium)_) * [v1.15.0-rc.0](https://github.com/cilium/cilium/releases/tag/v1.15.0-rc.0) (_[source](https://github.com/cilium/cilium/tree/v1.15.0-rc.0/install/kubernetes/cilium)_) +* [v1.15.0-rc.0](https://github.com/cilium/cilium/releases/tag/v1.15.0-rc.0) (_[source](https://github.com/cilium/cilium/tree/v1.15.0-rc.0/install/kubernetes/cilium)_) +* [v1.15.0-pre.3](https://github.com/cilium/cilium/releases/tag/v1.15.0-pre.3) (_[source](https://github.com/cilium/cilium/tree/v1.15.0-pre.3/install/kubernetes/cilium)_) * [v1.15.0-pre.3](https://github.com/cilium/cilium/releases/tag/v1.15.0-pre.3) (_[source](https://github.com/cilium/cilium/tree/v1.15.0-pre.3/install/kubernetes/cilium)_) * [v1.15.0-pre.2](https://github.com/cilium/cilium/releases/tag/v1.15.0-pre.2) (_[source](https://github.com/cilium/cilium/tree/v1.15.0-pre.2/install/kubernetes/cilium)_) +* [v1.15.0-pre.2](https://github.com/cilium/cilium/releases/tag/v1.15.0-pre.2) (_[source](https://github.com/cilium/cilium/tree/v1.15.0-pre.2/install/kubernetes/cilium)_) * [v1.15.0-pre.1](https://github.com/cilium/cilium/releases/tag/v1.15.0-pre.1) (_[source](https://github.com/cilium/cilium/tree/v1.15.0-pre.1/install/kubernetes/cilium)_) +* [v1.15.0-pre.1](https://github.com/cilium/cilium/releases/tag/v1.15.0-pre.1) (_[source](https://github.com/cilium/cilium/tree/v1.15.0-pre.1/install/kubernetes/cilium)_) +* [v1.15.0-pre.0](https://github.com/cilium/cilium/releases/tag/v1.15.0-pre.0) (_[source](https://github.com/cilium/cilium/tree/v1.15.0-pre.0/install/kubernetes/cilium)_) * [v1.15.0-pre.0](https://github.com/cilium/cilium/releases/tag/v1.15.0-pre.0) (_[source](https://github.com/cilium/cilium/tree/v1.15.0-pre.0/install/kubernetes/cilium)_) * [v1.14.17](https://github.com/cilium/cilium/releases/tag/v1.14.17) (_[source](https://github.com/cilium/cilium/tree/v1.14.17/install/kubernetes/cilium)_) +* [v1.14.17](https://github.com/cilium/cilium/releases/tag/v1.14.17) (_[source](https://github.com/cilium/cilium/tree/v1.14.17/install/kubernetes/cilium)_) +* [v1.14.16](https://github.com/cilium/cilium/releases/tag/v1.14.16) (_[source](https://github.com/cilium/cilium/tree/v1.14.16/install/kubernetes/cilium)_) * [v1.14.16](https://github.com/cilium/cilium/releases/tag/v1.14.16) (_[source](https://github.com/cilium/cilium/tree/v1.14.16/install/kubernetes/cilium)_) * [v1.14.15](https://github.com/cilium/cilium/releases/tag/v1.14.15) (_[source](https://github.com/cilium/cilium/tree/v1.14.15/install/kubernetes/cilium)_) +* [v1.14.15](https://github.com/cilium/cilium/releases/tag/v1.14.15) (_[source](https://github.com/cilium/cilium/tree/v1.14.15/install/kubernetes/cilium)_) +* [v1.14.14](https://github.com/cilium/cilium/releases/tag/v1.14.14) (_[source](https://github.com/cilium/cilium/tree/v1.14.14/install/kubernetes/cilium)_) * [v1.14.14](https://github.com/cilium/cilium/releases/tag/v1.14.14) (_[source](https://github.com/cilium/cilium/tree/v1.14.14/install/kubernetes/cilium)_) * [v1.14.13](https://github.com/cilium/cilium/releases/tag/v1.14.13) (_[source](https://github.com/cilium/cilium/tree/v1.14.13/install/kubernetes/cilium)_) +* [v1.14.13](https://github.com/cilium/cilium/releases/tag/v1.14.13) (_[source](https://github.com/cilium/cilium/tree/v1.14.13/install/kubernetes/cilium)_) +* [v1.14.12](https://github.com/cilium/cilium/releases/tag/v1.14.12) (_[source](https://github.com/cilium/cilium/tree/v1.14.12/install/kubernetes/cilium)_) * [v1.14.12](https://github.com/cilium/cilium/releases/tag/v1.14.12) (_[source](https://github.com/cilium/cilium/tree/v1.14.12/install/kubernetes/cilium)_) * [v1.14.11](https://github.com/cilium/cilium/releases/tag/v1.14.11) (_[source](https://github.com/cilium/cilium/tree/v1.14.11/install/kubernetes/cilium)_) +* [v1.14.11](https://github.com/cilium/cilium/releases/tag/v1.14.11) (_[source](https://github.com/cilium/cilium/tree/v1.14.11/install/kubernetes/cilium)_) +* [v1.14.10](https://github.com/cilium/cilium/releases/tag/v1.14.10) (_[source](https://github.com/cilium/cilium/tree/v1.14.10/install/kubernetes/cilium)_) * [v1.14.10](https://github.com/cilium/cilium/releases/tag/v1.14.10) (_[source](https://github.com/cilium/cilium/tree/v1.14.10/install/kubernetes/cilium)_) * [v1.14.9](https://github.com/cilium/cilium/releases/tag/v1.14.9) (_[source](https://github.com/cilium/cilium/tree/v1.14.9/install/kubernetes/cilium)_) +* [v1.14.9](https://github.com/cilium/cilium/releases/tag/v1.14.9) (_[source](https://github.com/cilium/cilium/tree/v1.14.9/install/kubernetes/cilium)_) +* [v1.14.8](https://github.com/cilium/cilium/releases/tag/v1.14.8) (_[source](https://github.com/cilium/cilium/tree/v1.14.8/install/kubernetes/cilium)_) * [v1.14.8](https://github.com/cilium/cilium/releases/tag/v1.14.8) (_[source](https://github.com/cilium/cilium/tree/v1.14.8/install/kubernetes/cilium)_) * [v1.14.7](https://github.com/cilium/cilium/releases/tag/v1.14.7) (_[source](https://github.com/cilium/cilium/tree/v1.14.7/install/kubernetes/cilium)_) +* [v1.14.7](https://github.com/cilium/cilium/releases/tag/v1.14.7) (_[source](https://github.com/cilium/cilium/tree/v1.14.7/install/kubernetes/cilium)_) +* [v1.14.6](https://github.com/cilium/cilium/releases/tag/v1.14.6) (_[source](https://github.com/cilium/cilium/tree/v1.14.6/install/kubernetes/cilium)_) * [v1.14.6](https://github.com/cilium/cilium/releases/tag/v1.14.6) (_[source](https://github.com/cilium/cilium/tree/v1.14.6/install/kubernetes/cilium)_) * [v1.14.5](https://github.com/cilium/cilium/releases/tag/v1.14.5) (_[source](https://github.com/cilium/cilium/tree/v1.14.5/install/kubernetes/cilium)_) +* [v1.14.5](https://github.com/cilium/cilium/releases/tag/v1.14.5) (_[source](https://github.com/cilium/cilium/tree/v1.14.5/install/kubernetes/cilium)_) * [v1.14.4](https://github.com/cilium/cilium/releases/tag/v1.14.4) (_[source](https://github.com/cilium/cilium/tree/v1.14.4/install/kubernetes/cilium)_) +* [v1.14.4](https://github.com/cilium/cilium/releases/tag/v1.14.4) (_[source](https://github.com/cilium/cilium/tree/v1.14.4/install/kubernetes/cilium)_) +* [v1.14.3](https://github.com/cilium/cilium/releases/tag/v1.14.3) (_[source](https://github.com/cilium/cilium/tree/v1.14.3/install/kubernetes/cilium)_) * [v1.14.3](https://github.com/cilium/cilium/releases/tag/v1.14.3) (_[source](https://github.com/cilium/cilium/tree/v1.14.3/install/kubernetes/cilium)_) * [v1.14.2](https://github.com/cilium/cilium/releases/tag/v1.14.2) (_[source](https://github.com/cilium/cilium/tree/v1.14.2/install/kubernetes/cilium)_) +* [v1.14.2](https://github.com/cilium/cilium/releases/tag/v1.14.2) (_[source](https://github.com/cilium/cilium/tree/v1.14.2/install/kubernetes/cilium)_) +* [v1.14.1](https://github.com/cilium/cilium/releases/tag/v1.14.1) (_[source](https://github.com/cilium/cilium/tree/v1.14.1/install/kubernetes/cilium)_) * [v1.14.1](https://github.com/cilium/cilium/releases/tag/v1.14.1) (_[source](https://github.com/cilium/cilium/tree/v1.14.1/install/kubernetes/cilium)_) * [v1.14.0](https://github.com/cilium/cilium/releases/tag/v1.14.0) (_[source](https://github.com/cilium/cilium/tree/v1.14.0/install/kubernetes/cilium)_) +* [v1.14.0](https://github.com/cilium/cilium/releases/tag/v1.14.0) (_[source](https://github.com/cilium/cilium/tree/v1.14.0/install/kubernetes/cilium)_) +* [v1.14.0-snapshot.4](https://github.com/cilium/cilium/releases/tag/v1.14.0-snapshot.4) (_[source](https://github.com/cilium/cilium/tree/v1.14.0-snapshot.4/install/kubernetes/cilium)_) * [v1.14.0-snapshot.4](https://github.com/cilium/cilium/releases/tag/v1.14.0-snapshot.4) (_[source](https://github.com/cilium/cilium/tree/v1.14.0-snapshot.4/install/kubernetes/cilium)_) * [v1.14.0-snapshot.3](https://github.com/cilium/cilium/releases/tag/v1.14.0-snapshot.3) (_[source](https://github.com/cilium/cilium/tree/v1.14.0-snapshot.3/install/kubernetes/cilium)_) +* [v1.14.0-snapshot.3](https://github.com/cilium/cilium/releases/tag/v1.14.0-snapshot.3) (_[source](https://github.com/cilium/cilium/tree/v1.14.0-snapshot.3/install/kubernetes/cilium)_) +* [v1.14.0-snapshot.2](https://github.com/cilium/cilium/releases/tag/v1.14.0-snapshot.2) (_[source](https://github.com/cilium/cilium/tree/v1.14.0-snapshot.2/install/kubernetes/cilium)_) * [v1.14.0-snapshot.2](https://github.com/cilium/cilium/releases/tag/v1.14.0-snapshot.2) (_[source](https://github.com/cilium/cilium/tree/v1.14.0-snapshot.2/install/kubernetes/cilium)_) * [v1.14.0-snapshot.1](https://github.com/cilium/cilium/releases/tag/v1.14.0-snapshot.1) (_[source](https://github.com/cilium/cilium/tree/v1.14.0-snapshot.1/install/kubernetes/cilium)_) +* [v1.14.0-snapshot.1](https://github.com/cilium/cilium/releases/tag/v1.14.0-snapshot.1) (_[source](https://github.com/cilium/cilium/tree/v1.14.0-snapshot.1/install/kubernetes/cilium)_) +* [v1.14.0-snapshot.0](https://github.com/cilium/cilium/releases/tag/v1.14.0-snapshot.0) (_[source](https://github.com/cilium/cilium/tree/v1.14.0-snapshot.0/install/kubernetes/cilium)_) * [v1.14.0-snapshot.0](https://github.com/cilium/cilium/releases/tag/v1.14.0-snapshot.0) (_[source](https://github.com/cilium/cilium/tree/v1.14.0-snapshot.0/install/kubernetes/cilium)_) * [v1.14.0-rc.1](https://github.com/cilium/cilium/releases/tag/v1.14.0-rc.1) (_[source](https://github.com/cilium/cilium/tree/v1.14.0-rc.1/install/kubernetes/cilium)_) +* [v1.14.0-rc.1](https://github.com/cilium/cilium/releases/tag/v1.14.0-rc.1) (_[source](https://github.com/cilium/cilium/tree/v1.14.0-rc.1/install/kubernetes/cilium)_) +* [v1.14.0-rc.0](https://github.com/cilium/cilium/releases/tag/v1.14.0-rc.0) (_[source](https://github.com/cilium/cilium/tree/v1.14.0-rc.0/install/kubernetes/cilium)_) * [v1.14.0-rc.0](https://github.com/cilium/cilium/releases/tag/v1.14.0-rc.0) (_[source](https://github.com/cilium/cilium/tree/v1.14.0-rc.0/install/kubernetes/cilium)_) * [v1.13.18](https://github.com/cilium/cilium/releases/tag/v1.13.18) (_[source](https://github.com/cilium/cilium/tree/v1.13.18/install/kubernetes/cilium)_) +* [v1.13.18](https://github.com/cilium/cilium/releases/tag/v1.13.18) (_[source](https://github.com/cilium/cilium/tree/v1.13.18/install/kubernetes/cilium)_) +* [v1.13.17](https://github.com/cilium/cilium/releases/tag/v1.13.17) (_[source](https://github.com/cilium/cilium/tree/v1.13.17/install/kubernetes/cilium)_) * [v1.13.17](https://github.com/cilium/cilium/releases/tag/v1.13.17) (_[source](https://github.com/cilium/cilium/tree/v1.13.17/install/kubernetes/cilium)_) * [v1.13.16](https://github.com/cilium/cilium/releases/tag/v1.13.16) (_[source](https://github.com/cilium/cilium/tree/v1.13.16/install/kubernetes/cilium)_) +* [v1.13.16](https://github.com/cilium/cilium/releases/tag/v1.13.16) (_[source](https://github.com/cilium/cilium/tree/v1.13.16/install/kubernetes/cilium)_) * [v1.13.15](https://github.com/cilium/cilium/releases/tag/v1.13.15) (_[source](https://github.com/cilium/cilium/tree/v1.13.15/install/kubernetes/cilium)_) +* [v1.13.15](https://github.com/cilium/cilium/releases/tag/v1.13.15) (_[source](https://github.com/cilium/cilium/tree/v1.13.15/install/kubernetes/cilium)_) +* [v1.13.14](https://github.com/cilium/cilium/releases/tag/v1.13.14) (_[source](https://github.com/cilium/cilium/tree/v1.13.14/install/kubernetes/cilium)_) * [v1.13.14](https://github.com/cilium/cilium/releases/tag/v1.13.14) (_[source](https://github.com/cilium/cilium/tree/v1.13.14/install/kubernetes/cilium)_) * [v1.13.13](https://github.com/cilium/cilium/releases/tag/v1.13.13) (_[source](https://github.com/cilium/cilium/tree/v1.13.13/install/kubernetes/cilium)_) +* [v1.13.13](https://github.com/cilium/cilium/releases/tag/v1.13.13) (_[source](https://github.com/cilium/cilium/tree/v1.13.13/install/kubernetes/cilium)_) +* [v1.13.12](https://github.com/cilium/cilium/releases/tag/v1.13.12) (_[source](https://github.com/cilium/cilium/tree/v1.13.12/install/kubernetes/cilium)_) * [v1.13.12](https://github.com/cilium/cilium/releases/tag/v1.13.12) (_[source](https://github.com/cilium/cilium/tree/v1.13.12/install/kubernetes/cilium)_) * [v1.13.11](https://github.com/cilium/cilium/releases/tag/v1.13.11) (_[source](https://github.com/cilium/cilium/tree/v1.13.11/install/kubernetes/cilium)_) +* [v1.13.11](https://github.com/cilium/cilium/releases/tag/v1.13.11) (_[source](https://github.com/cilium/cilium/tree/v1.13.11/install/kubernetes/cilium)_) +* [v1.13.10](https://github.com/cilium/cilium/releases/tag/v1.13.10) (_[source](https://github.com/cilium/cilium/tree/v1.13.10/install/kubernetes/cilium)_) * [v1.13.10](https://github.com/cilium/cilium/releases/tag/v1.13.10) (_[source](https://github.com/cilium/cilium/tree/v1.13.10/install/kubernetes/cilium)_) * [v1.13.9](https://github.com/cilium/cilium/releases/tag/v1.13.9) (_[source](https://github.com/cilium/cilium/tree/v1.13.9/install/kubernetes/cilium)_) +* [v1.13.9](https://github.com/cilium/cilium/releases/tag/v1.13.9) (_[source](https://github.com/cilium/cilium/tree/v1.13.9/install/kubernetes/cilium)_) +* [v1.13.8](https://github.com/cilium/cilium/releases/tag/v1.13.8) (_[source](https://github.com/cilium/cilium/tree/v1.13.8/install/kubernetes/cilium)_) * [v1.13.8](https://github.com/cilium/cilium/releases/tag/v1.13.8) (_[source](https://github.com/cilium/cilium/tree/v1.13.8/install/kubernetes/cilium)_) * [v1.13.7](https://github.com/cilium/cilium/releases/tag/v1.13.7) (_[source](https://github.com/cilium/cilium/tree/v1.13.7/install/kubernetes/cilium)_) +* [v1.13.7](https://github.com/cilium/cilium/releases/tag/v1.13.7) (_[source](https://github.com/cilium/cilium/tree/v1.13.7/install/kubernetes/cilium)_) +* [v1.13.6](https://github.com/cilium/cilium/releases/tag/v1.13.6) (_[source](https://github.com/cilium/cilium/tree/v1.13.6/install/kubernetes/cilium)_) * [v1.13.6](https://github.com/cilium/cilium/releases/tag/v1.13.6) (_[source](https://github.com/cilium/cilium/tree/v1.13.6/install/kubernetes/cilium)_) * [v1.13.5](https://github.com/cilium/cilium/releases/tag/v1.13.5) (_[source](https://github.com/cilium/cilium/tree/v1.13.5/install/kubernetes/cilium)_) +* [v1.13.5](https://github.com/cilium/cilium/releases/tag/v1.13.5) (_[source](https://github.com/cilium/cilium/tree/v1.13.5/install/kubernetes/cilium)_) +* [v1.13.4](https://github.com/cilium/cilium/releases/tag/v1.13.4) (_[source](https://github.com/cilium/cilium/tree/v1.13.4/install/kubernetes/cilium)_) * [v1.13.4](https://github.com/cilium/cilium/releases/tag/v1.13.4) (_[source](https://github.com/cilium/cilium/tree/v1.13.4/install/kubernetes/cilium)_) * [v1.13.3](https://github.com/cilium/cilium/releases/tag/v1.13.3) (_[source](https://github.com/cilium/cilium/tree/v1.13.3/install/kubernetes/cilium)_) +* [v1.13.3](https://github.com/cilium/cilium/releases/tag/v1.13.3) (_[source](https://github.com/cilium/cilium/tree/v1.13.3/install/kubernetes/cilium)_) +* [v1.13.2](https://github.com/cilium/cilium/releases/tag/v1.13.2) (_[source](https://github.com/cilium/cilium/tree/v1.13.2/install/kubernetes/cilium)_) * [v1.13.2](https://github.com/cilium/cilium/releases/tag/v1.13.2) (_[source](https://github.com/cilium/cilium/tree/v1.13.2/install/kubernetes/cilium)_) * [v1.13.1](https://github.com/cilium/cilium/releases/tag/v1.13.1) (_[source](https://github.com/cilium/cilium/tree/v1.13.1/install/kubernetes/cilium)_) +* [v1.13.1](https://github.com/cilium/cilium/releases/tag/v1.13.1) (_[source](https://github.com/cilium/cilium/tree/v1.13.1/install/kubernetes/cilium)_) +* [v1.13.0](https://github.com/cilium/cilium/releases/tag/v1.13.0) (_[source](https://github.com/cilium/cilium/tree/v1.13.0/install/kubernetes/cilium)_) * [v1.13.0](https://github.com/cilium/cilium/releases/tag/v1.13.0) (_[source](https://github.com/cilium/cilium/tree/v1.13.0/install/kubernetes/cilium)_) * [v1.13.0-rc5](https://github.com/cilium/cilium/releases/tag/v1.13.0-rc5) (_[source](https://github.com/cilium/cilium/tree/v1.13.0-rc5/install/kubernetes/cilium)_) +* [v1.13.0-rc5](https://github.com/cilium/cilium/releases/tag/v1.13.0-rc5) (_[source](https://github.com/cilium/cilium/tree/v1.13.0-rc5/install/kubernetes/cilium)_) +* [v1.13.0-rc4](https://github.com/cilium/cilium/releases/tag/v1.13.0-rc4) (_[source](https://github.com/cilium/cilium/tree/v1.13.0-rc4/install/kubernetes/cilium)_) * [v1.13.0-rc4](https://github.com/cilium/cilium/releases/tag/v1.13.0-rc4) (_[source](https://github.com/cilium/cilium/tree/v1.13.0-rc4/install/kubernetes/cilium)_) * [v1.13.0-rc3](https://github.com/cilium/cilium/releases/tag/v1.13.0-rc3) (_[source](https://github.com/cilium/cilium/tree/v1.13.0-rc3/install/kubernetes/cilium)_) +* [v1.13.0-rc3](https://github.com/cilium/cilium/releases/tag/v1.13.0-rc3) (_[source](https://github.com/cilium/cilium/tree/v1.13.0-rc3/install/kubernetes/cilium)_) +* [v1.13.0-rc2](https://github.com/cilium/cilium/releases/tag/v1.13.0-rc2) (_[source](https://github.com/cilium/cilium/tree/v1.13.0-rc2/install/kubernetes/cilium)_) * [v1.13.0-rc2](https://github.com/cilium/cilium/releases/tag/v1.13.0-rc2) (_[source](https://github.com/cilium/cilium/tree/v1.13.0-rc2/install/kubernetes/cilium)_) * [v1.13.0-rc1](https://github.com/cilium/cilium/releases/tag/v1.13.0-rc1) (_[source](https://github.com/cilium/cilium/tree/v1.13.0-rc1/install/kubernetes/cilium)_) +* [v1.13.0-rc1](https://github.com/cilium/cilium/releases/tag/v1.13.0-rc1) (_[source](https://github.com/cilium/cilium/tree/v1.13.0-rc1/install/kubernetes/cilium)_) +* [v1.13.0-rc0](https://github.com/cilium/cilium/releases/tag/v1.13.0-rc0) (_[source](https://github.com/cilium/cilium/tree/v1.13.0-rc0/install/kubernetes/cilium)_) * [v1.13.0-rc0](https://github.com/cilium/cilium/releases/tag/v1.13.0-rc0) (_[source](https://github.com/cilium/cilium/tree/v1.13.0-rc0/install/kubernetes/cilium)_) * [v1.12.19](https://github.com/cilium/cilium/releases/tag/v1.12.19) (_[source](https://github.com/cilium/cilium/tree/v1.12.19/install/kubernetes/cilium)_) +* [v1.12.19](https://github.com/cilium/cilium/releases/tag/v1.12.19) (_[source](https://github.com/cilium/cilium/tree/v1.12.19/install/kubernetes/cilium)_) +* [v1.12.18](https://github.com/cilium/cilium/releases/tag/v1.12.18) (_[source](https://github.com/cilium/cilium/tree/v1.12.18/install/kubernetes/cilium)_) * [v1.12.18](https://github.com/cilium/cilium/releases/tag/v1.12.18) (_[source](https://github.com/cilium/cilium/tree/v1.12.18/install/kubernetes/cilium)_) * [v1.12.17](https://github.com/cilium/cilium/releases/tag/v1.12.17) (_[source](https://github.com/cilium/cilium/tree/v1.12.17/install/kubernetes/cilium)_) +* [v1.12.17](https://github.com/cilium/cilium/releases/tag/v1.12.17) (_[source](https://github.com/cilium/cilium/tree/v1.12.17/install/kubernetes/cilium)_) +* [v1.12.16](https://github.com/cilium/cilium/releases/tag/v1.12.16) (_[source](https://github.com/cilium/cilium/tree/v1.12.16/install/kubernetes/cilium)_) * [v1.12.16](https://github.com/cilium/cilium/releases/tag/v1.12.16) (_[source](https://github.com/cilium/cilium/tree/v1.12.16/install/kubernetes/cilium)_) * [v1.12.15](https://github.com/cilium/cilium/releases/tag/v1.12.15) (_[source](https://github.com/cilium/cilium/tree/v1.12.15/install/kubernetes/cilium)_) +* [v1.12.15](https://github.com/cilium/cilium/releases/tag/v1.12.15) (_[source](https://github.com/cilium/cilium/tree/v1.12.15/install/kubernetes/cilium)_) +* [v1.12.14](https://github.com/cilium/cilium/releases/tag/v1.12.14) (_[source](https://github.com/cilium/cilium/tree/v1.12.14/install/kubernetes/cilium)_) * [v1.12.14](https://github.com/cilium/cilium/releases/tag/v1.12.14) (_[source](https://github.com/cilium/cilium/tree/v1.12.14/install/kubernetes/cilium)_) * [v1.12.13](https://github.com/cilium/cilium/releases/tag/v1.12.13) (_[source](https://github.com/cilium/cilium/tree/v1.12.13/install/kubernetes/cilium)_) +* [v1.12.13](https://github.com/cilium/cilium/releases/tag/v1.12.13) (_[source](https://github.com/cilium/cilium/tree/v1.12.13/install/kubernetes/cilium)_) +* [v1.12.12](https://github.com/cilium/cilium/releases/tag/v1.12.12) (_[source](https://github.com/cilium/cilium/tree/v1.12.12/install/kubernetes/cilium)_) * [v1.12.12](https://github.com/cilium/cilium/releases/tag/v1.12.12) (_[source](https://github.com/cilium/cilium/tree/v1.12.12/install/kubernetes/cilium)_) * [v1.12.11](https://github.com/cilium/cilium/releases/tag/v1.12.11) (_[source](https://github.com/cilium/cilium/tree/v1.12.11/install/kubernetes/cilium)_) +* [v1.12.11](https://github.com/cilium/cilium/releases/tag/v1.12.11) (_[source](https://github.com/cilium/cilium/tree/v1.12.11/install/kubernetes/cilium)_) * [v1.12.10](https://github.com/cilium/cilium/releases/tag/v1.12.10) (_[source](https://github.com/cilium/cilium/tree/v1.12.10/install/kubernetes/cilium)_) +* [v1.12.10](https://github.com/cilium/cilium/releases/tag/v1.12.10) (_[source](https://github.com/cilium/cilium/tree/v1.12.10/install/kubernetes/cilium)_) +* [v1.12.9](https://github.com/cilium/cilium/releases/tag/v1.12.9) (_[source](https://github.com/cilium/cilium/tree/v1.12.9/install/kubernetes/cilium)_) * [v1.12.9](https://github.com/cilium/cilium/releases/tag/v1.12.9) (_[source](https://github.com/cilium/cilium/tree/v1.12.9/install/kubernetes/cilium)_) * [v1.12.8](https://github.com/cilium/cilium/releases/tag/v1.12.8) (_[source](https://github.com/cilium/cilium/tree/v1.12.8/install/kubernetes/cilium)_) +* [v1.12.8](https://github.com/cilium/cilium/releases/tag/v1.12.8) (_[source](https://github.com/cilium/cilium/tree/v1.12.8/install/kubernetes/cilium)_) +* [v1.12.7](https://github.com/cilium/cilium/releases/tag/v1.12.7) (_[source](https://github.com/cilium/cilium/tree/v1.12.7/install/kubernetes/cilium)_) * [v1.12.7](https://github.com/cilium/cilium/releases/tag/v1.12.7) (_[source](https://github.com/cilium/cilium/tree/v1.12.7/install/kubernetes/cilium)_) * [v1.12.6](https://github.com/cilium/cilium/releases/tag/v1.12.6) (_[source](https://github.com/cilium/cilium/tree/v1.12.6/install/kubernetes/cilium)_) +* [v1.12.6](https://github.com/cilium/cilium/releases/tag/v1.12.6) (_[source](https://github.com/cilium/cilium/tree/v1.12.6/install/kubernetes/cilium)_) +* [v1.12.5](https://github.com/cilium/cilium/releases/tag/v1.12.5) (_[source](https://github.com/cilium/cilium/tree/v1.12.5/install/kubernetes/cilium)_) * [v1.12.5](https://github.com/cilium/cilium/releases/tag/v1.12.5) (_[source](https://github.com/cilium/cilium/tree/v1.12.5/install/kubernetes/cilium)_) * [v1.12.4](https://github.com/cilium/cilium/releases/tag/v1.12.4) (_[source](https://github.com/cilium/cilium/tree/v1.12.4/install/kubernetes/cilium)_) +* [v1.12.4](https://github.com/cilium/cilium/releases/tag/v1.12.4) (_[source](https://github.com/cilium/cilium/tree/v1.12.4/install/kubernetes/cilium)_) +* [v1.12.3](https://github.com/cilium/cilium/releases/tag/v1.12.3) (_[source](https://github.com/cilium/cilium/tree/v1.12.3/install/kubernetes/cilium)_) * [v1.12.3](https://github.com/cilium/cilium/releases/tag/v1.12.3) (_[source](https://github.com/cilium/cilium/tree/v1.12.3/install/kubernetes/cilium)_) * [v1.12.2](https://github.com/cilium/cilium/releases/tag/v1.12.2) (_[source](https://github.com/cilium/cilium/tree/v1.12.2/install/kubernetes/cilium)_) +* [v1.12.2](https://github.com/cilium/cilium/releases/tag/v1.12.2) (_[source](https://github.com/cilium/cilium/tree/v1.12.2/install/kubernetes/cilium)_) +* [v1.12.1](https://github.com/cilium/cilium/releases/tag/v1.12.1) (_[source](https://github.com/cilium/cilium/tree/v1.12.1/install/kubernetes/cilium)_) * [v1.12.1](https://github.com/cilium/cilium/releases/tag/v1.12.1) (_[source](https://github.com/cilium/cilium/tree/v1.12.1/install/kubernetes/cilium)_) * [v1.12.0](https://github.com/cilium/cilium/releases/tag/v1.12.0) (_[source](https://github.com/cilium/cilium/tree/v1.12.0/install/kubernetes/cilium)_) +* [v1.12.0](https://github.com/cilium/cilium/releases/tag/v1.12.0) (_[source](https://github.com/cilium/cilium/tree/v1.12.0/install/kubernetes/cilium)_) +* [v1.12.0-rc3](https://github.com/cilium/cilium/releases/tag/v1.12.0-rc3) (_[source](https://github.com/cilium/cilium/tree/v1.12.0-rc3/install/kubernetes/cilium)_) * [v1.12.0-rc3](https://github.com/cilium/cilium/releases/tag/v1.12.0-rc3) (_[source](https://github.com/cilium/cilium/tree/v1.12.0-rc3/install/kubernetes/cilium)_) * [v1.12.0-rc2](https://github.com/cilium/cilium/releases/tag/v1.12.0-rc2) (_[source](https://github.com/cilium/cilium/tree/v1.12.0-rc2/install/kubernetes/cilium)_) +* [v1.12.0-rc2](https://github.com/cilium/cilium/releases/tag/v1.12.0-rc2) (_[source](https://github.com/cilium/cilium/tree/v1.12.0-rc2/install/kubernetes/cilium)_) +* [v1.12.0-rc1](https://github.com/cilium/cilium/releases/tag/v1.12.0-rc1) (_[source](https://github.com/cilium/cilium/tree/v1.12.0-rc1/install/kubernetes/cilium)_) * [v1.12.0-rc1](https://github.com/cilium/cilium/releases/tag/v1.12.0-rc1) (_[source](https://github.com/cilium/cilium/tree/v1.12.0-rc1/install/kubernetes/cilium)_) * [v1.12.0-rc0](https://github.com/cilium/cilium/releases/tag/v1.12.0-rc0) (_[source](https://github.com/cilium/cilium/tree/v1.12.0-rc0/install/kubernetes/cilium)_) +* [v1.12.0-rc0](https://github.com/cilium/cilium/releases/tag/v1.12.0-rc0) (_[source](https://github.com/cilium/cilium/tree/v1.12.0-rc0/install/kubernetes/cilium)_) * [v1.11.20](https://github.com/cilium/cilium/releases/tag/v1.11.20) (_[source](https://github.com/cilium/cilium/tree/v1.11.20/install/kubernetes/cilium)_) +* [v1.11.20](https://github.com/cilium/cilium/releases/tag/v1.11.20) (_[source](https://github.com/cilium/cilium/tree/v1.11.20/install/kubernetes/cilium)_) +* [v1.11.19](https://github.com/cilium/cilium/releases/tag/v1.11.19) (_[source](https://github.com/cilium/cilium/tree/v1.11.19/install/kubernetes/cilium)_) * [v1.11.19](https://github.com/cilium/cilium/releases/tag/v1.11.19) (_[source](https://github.com/cilium/cilium/tree/v1.11.19/install/kubernetes/cilium)_) * [v1.11.18](https://github.com/cilium/cilium/releases/tag/v1.11.18) (_[source](https://github.com/cilium/cilium/tree/v1.11.18/install/kubernetes/cilium)_) +* [v1.11.18](https://github.com/cilium/cilium/releases/tag/v1.11.18) (_[source](https://github.com/cilium/cilium/tree/v1.11.18/install/kubernetes/cilium)_) +* [v1.11.17](https://github.com/cilium/cilium/releases/tag/v1.11.17) (_[source](https://github.com/cilium/cilium/tree/v1.11.17/install/kubernetes/cilium)_) * [v1.11.17](https://github.com/cilium/cilium/releases/tag/v1.11.17) (_[source](https://github.com/cilium/cilium/tree/v1.11.17/install/kubernetes/cilium)_) * [v1.11.16](https://github.com/cilium/cilium/releases/tag/v1.11.16) (_[source](https://github.com/cilium/cilium/tree/v1.11.16/install/kubernetes/cilium)_) +* [v1.11.16](https://github.com/cilium/cilium/releases/tag/v1.11.16) (_[source](https://github.com/cilium/cilium/tree/v1.11.16/install/kubernetes/cilium)_) +* [v1.11.15](https://github.com/cilium/cilium/releases/tag/v1.11.15) (_[source](https://github.com/cilium/cilium/tree/v1.11.15/install/kubernetes/cilium)_) * [v1.11.15](https://github.com/cilium/cilium/releases/tag/v1.11.15) (_[source](https://github.com/cilium/cilium/tree/v1.11.15/install/kubernetes/cilium)_) * [v1.11.14](https://github.com/cilium/cilium/releases/tag/v1.11.14) (_[source](https://github.com/cilium/cilium/tree/v1.11.14/install/kubernetes/cilium)_) +* [v1.11.14](https://github.com/cilium/cilium/releases/tag/v1.11.14) (_[source](https://github.com/cilium/cilium/tree/v1.11.14/install/kubernetes/cilium)_) +* [v1.11.13](https://github.com/cilium/cilium/releases/tag/v1.11.13) (_[source](https://github.com/cilium/cilium/tree/v1.11.13/install/kubernetes/cilium)_) * [v1.11.13](https://github.com/cilium/cilium/releases/tag/v1.11.13) (_[source](https://github.com/cilium/cilium/tree/v1.11.13/install/kubernetes/cilium)_) * [v1.11.12](https://github.com/cilium/cilium/releases/tag/v1.11.12) (_[source](https://github.com/cilium/cilium/tree/v1.11.12/install/kubernetes/cilium)_) +* [v1.11.12](https://github.com/cilium/cilium/releases/tag/v1.11.12) (_[source](https://github.com/cilium/cilium/tree/v1.11.12/install/kubernetes/cilium)_) +* [v1.11.11](https://github.com/cilium/cilium/releases/tag/v1.11.11) (_[source](https://github.com/cilium/cilium/tree/v1.11.11/install/kubernetes/cilium)_) * [v1.11.11](https://github.com/cilium/cilium/releases/tag/v1.11.11) (_[source](https://github.com/cilium/cilium/tree/v1.11.11/install/kubernetes/cilium)_) * [v1.11.10](https://github.com/cilium/cilium/releases/tag/v1.11.10) (_[source](https://github.com/cilium/cilium/tree/v1.11.10/install/kubernetes/cilium)_) +* [v1.11.10](https://github.com/cilium/cilium/releases/tag/v1.11.10) (_[source](https://github.com/cilium/cilium/tree/v1.11.10/install/kubernetes/cilium)_) +* [v1.11.9](https://github.com/cilium/cilium/releases/tag/v1.11.9) (_[source](https://github.com/cilium/cilium/tree/v1.11.9/install/kubernetes/cilium)_) * [v1.11.9](https://github.com/cilium/cilium/releases/tag/v1.11.9) (_[source](https://github.com/cilium/cilium/tree/v1.11.9/install/kubernetes/cilium)_) * [v1.11.8](https://github.com/cilium/cilium/releases/tag/v1.11.8) (_[source](https://github.com/cilium/cilium/tree/v1.11.8/install/kubernetes/cilium)_) +* [v1.11.8](https://github.com/cilium/cilium/releases/tag/v1.11.8) (_[source](https://github.com/cilium/cilium/tree/v1.11.8/install/kubernetes/cilium)_) +* [v1.11.7](https://github.com/cilium/cilium/releases/tag/v1.11.7) (_[source](https://github.com/cilium/cilium/tree/v1.11.7/install/kubernetes/cilium)_) * [v1.11.7](https://github.com/cilium/cilium/releases/tag/v1.11.7) (_[source](https://github.com/cilium/cilium/tree/v1.11.7/install/kubernetes/cilium)_) * [v1.11.6](https://github.com/cilium/cilium/releases/tag/v1.11.6) (_[source](https://github.com/cilium/cilium/tree/v1.11.6/install/kubernetes/cilium)_) +* [v1.11.6](https://github.com/cilium/cilium/releases/tag/v1.11.6) (_[source](https://github.com/cilium/cilium/tree/v1.11.6/install/kubernetes/cilium)_) * [v1.11.5](https://github.com/cilium/cilium/releases/tag/v1.11.5) (_[source](https://github.com/cilium/cilium/tree/v1.11.5/install/kubernetes/cilium)_) +* [v1.11.5](https://github.com/cilium/cilium/releases/tag/v1.11.5) (_[source](https://github.com/cilium/cilium/tree/v1.11.5/install/kubernetes/cilium)_) +* [v1.11.4](https://github.com/cilium/cilium/releases/tag/v1.11.4) (_[source](https://github.com/cilium/cilium/tree/v1.11.4/install/kubernetes/cilium)_) * [v1.11.4](https://github.com/cilium/cilium/releases/tag/v1.11.4) (_[source](https://github.com/cilium/cilium/tree/v1.11.4/install/kubernetes/cilium)_) * [v1.11.3](https://github.com/cilium/cilium/releases/tag/v1.11.3) (_[source](https://github.com/cilium/cilium/tree/v1.11.3/install/kubernetes/cilium)_) +* [v1.11.3](https://github.com/cilium/cilium/releases/tag/v1.11.3) (_[source](https://github.com/cilium/cilium/tree/v1.11.3/install/kubernetes/cilium)_) +* [v1.11.2](https://github.com/cilium/cilium/releases/tag/v1.11.2) (_[source](https://github.com/cilium/cilium/tree/v1.11.2/install/kubernetes/cilium)_) * [v1.11.2](https://github.com/cilium/cilium/releases/tag/v1.11.2) (_[source](https://github.com/cilium/cilium/tree/v1.11.2/install/kubernetes/cilium)_) * [v1.11.1](https://github.com/cilium/cilium/releases/tag/v1.11.1) (_[source](https://github.com/cilium/cilium/tree/v1.11.1/install/kubernetes/cilium)_) +* [v1.11.1](https://github.com/cilium/cilium/releases/tag/v1.11.1) (_[source](https://github.com/cilium/cilium/tree/v1.11.1/install/kubernetes/cilium)_) +* [v1.11.0](https://github.com/cilium/cilium/releases/tag/v1.11.0) (_[source](https://github.com/cilium/cilium/tree/v1.11.0/install/kubernetes/cilium)_) * [v1.11.0](https://github.com/cilium/cilium/releases/tag/v1.11.0) (_[source](https://github.com/cilium/cilium/tree/v1.11.0/install/kubernetes/cilium)_) * [v1.11.0-rc3](https://github.com/cilium/cilium/releases/tag/v1.11.0-rc3) (_[source](https://github.com/cilium/cilium/tree/v1.11.0-rc3/install/kubernetes/cilium)_) +* [v1.11.0-rc3](https://github.com/cilium/cilium/releases/tag/v1.11.0-rc3) (_[source](https://github.com/cilium/cilium/tree/v1.11.0-rc3/install/kubernetes/cilium)_) +* [v1.11.0-rc2](https://github.com/cilium/cilium/releases/tag/v1.11.0-rc2) (_[source](https://github.com/cilium/cilium/tree/v1.11.0-rc2/install/kubernetes/cilium)_) * [v1.11.0-rc2](https://github.com/cilium/cilium/releases/tag/v1.11.0-rc2) (_[source](https://github.com/cilium/cilium/tree/v1.11.0-rc2/install/kubernetes/cilium)_) * [v1.11.0-rc1](https://github.com/cilium/cilium/releases/tag/v1.11.0-rc1) (_[source](https://github.com/cilium/cilium/tree/v1.11.0-rc1/install/kubernetes/cilium)_) +* [v1.11.0-rc1](https://github.com/cilium/cilium/releases/tag/v1.11.0-rc1) (_[source](https://github.com/cilium/cilium/tree/v1.11.0-rc1/install/kubernetes/cilium)_) +* [v1.11.0-rc0](https://github.com/cilium/cilium/releases/tag/v1.11.0-rc0) (_[source](https://github.com/cilium/cilium/tree/v1.11.0-rc0/install/kubernetes/cilium)_) * [v1.11.0-rc0](https://github.com/cilium/cilium/releases/tag/v1.11.0-rc0) (_[source](https://github.com/cilium/cilium/tree/v1.11.0-rc0/install/kubernetes/cilium)_) * [v1.10.20](https://github.com/cilium/cilium/releases/tag/v1.10.20) (_[source](https://github.com/cilium/cilium/tree/v1.10.20/install/kubernetes/cilium)_) +* [v1.10.20](https://github.com/cilium/cilium/releases/tag/v1.10.20) (_[source](https://github.com/cilium/cilium/tree/v1.10.20/install/kubernetes/cilium)_) +* [v1.10.19](https://github.com/cilium/cilium/releases/tag/v1.10.19) (_[source](https://github.com/cilium/cilium/tree/v1.10.19/install/kubernetes/cilium)_) * [v1.10.19](https://github.com/cilium/cilium/releases/tag/v1.10.19) (_[source](https://github.com/cilium/cilium/tree/v1.10.19/install/kubernetes/cilium)_) * [v1.10.18](https://github.com/cilium/cilium/releases/tag/v1.10.18) (_[source](https://github.com/cilium/cilium/tree/v1.10.18/install/kubernetes/cilium)_) +* [v1.10.18](https://github.com/cilium/cilium/releases/tag/v1.10.18) (_[source](https://github.com/cilium/cilium/tree/v1.10.18/install/kubernetes/cilium)_) +* [v1.10.17](https://github.com/cilium/cilium/releases/tag/v1.10.17) (_[source](https://github.com/cilium/cilium/tree/v1.10.17/install/kubernetes/cilium)_) * [v1.10.17](https://github.com/cilium/cilium/releases/tag/v1.10.17) (_[source](https://github.com/cilium/cilium/tree/v1.10.17/install/kubernetes/cilium)_) * [v1.10.16](https://github.com/cilium/cilium/releases/tag/v1.10.16) (_[source](https://github.com/cilium/cilium/tree/v1.10.16/install/kubernetes/cilium)_) +* [v1.10.16](https://github.com/cilium/cilium/releases/tag/v1.10.16) (_[source](https://github.com/cilium/cilium/tree/v1.10.16/install/kubernetes/cilium)_) +* [v1.10.15](https://github.com/cilium/cilium/releases/tag/v1.10.15) (_[source](https://github.com/cilium/cilium/tree/v1.10.15/install/kubernetes/cilium)_) * [v1.10.15](https://github.com/cilium/cilium/releases/tag/v1.10.15) (_[source](https://github.com/cilium/cilium/tree/v1.10.15/install/kubernetes/cilium)_) * [v1.10.14](https://github.com/cilium/cilium/releases/tag/v1.10.14) (_[source](https://github.com/cilium/cilium/tree/v1.10.14/install/kubernetes/cilium)_) +* [v1.10.14](https://github.com/cilium/cilium/releases/tag/v1.10.14) (_[source](https://github.com/cilium/cilium/tree/v1.10.14/install/kubernetes/cilium)_) +* [v1.10.13](https://github.com/cilium/cilium/releases/tag/v1.10.13) (_[source](https://github.com/cilium/cilium/tree/v1.10.13/install/kubernetes/cilium)_) * [v1.10.13](https://github.com/cilium/cilium/releases/tag/v1.10.13) (_[source](https://github.com/cilium/cilium/tree/v1.10.13/install/kubernetes/cilium)_) * [v1.10.12](https://github.com/cilium/cilium/releases/tag/v1.10.12) (_[source](https://github.com/cilium/cilium/tree/v1.10.12/install/kubernetes/cilium)_) +* [v1.10.12](https://github.com/cilium/cilium/releases/tag/v1.10.12) (_[source](https://github.com/cilium/cilium/tree/v1.10.12/install/kubernetes/cilium)_) +* [v1.10.11](https://github.com/cilium/cilium/releases/tag/v1.10.11) (_[source](https://github.com/cilium/cilium/tree/v1.10.11/install/kubernetes/cilium)_) * [v1.10.11](https://github.com/cilium/cilium/releases/tag/v1.10.11) (_[source](https://github.com/cilium/cilium/tree/v1.10.11/install/kubernetes/cilium)_) * [v1.10.10](https://github.com/cilium/cilium/releases/tag/v1.10.10) (_[source](https://github.com/cilium/cilium/tree/v1.10.10/install/kubernetes/cilium)_) +* [v1.10.10](https://github.com/cilium/cilium/releases/tag/v1.10.10) (_[source](https://github.com/cilium/cilium/tree/v1.10.10/install/kubernetes/cilium)_) +* [v1.10.9](https://github.com/cilium/cilium/releases/tag/v1.10.9) (_[source](https://github.com/cilium/cilium/tree/v1.10.9/install/kubernetes/cilium)_) * [v1.10.9](https://github.com/cilium/cilium/releases/tag/v1.10.9) (_[source](https://github.com/cilium/cilium/tree/v1.10.9/install/kubernetes/cilium)_) * [v1.10.8](https://github.com/cilium/cilium/releases/tag/v1.10.8) (_[source](https://github.com/cilium/cilium/tree/v1.10.8/install/kubernetes/cilium)_) +* [v1.10.8](https://github.com/cilium/cilium/releases/tag/v1.10.8) (_[source](https://github.com/cilium/cilium/tree/v1.10.8/install/kubernetes/cilium)_) +* [v1.10.7](https://github.com/cilium/cilium/releases/tag/v1.10.7) (_[source](https://github.com/cilium/cilium/tree/v1.10.7/install/kubernetes/cilium)_) * [v1.10.7](https://github.com/cilium/cilium/releases/tag/v1.10.7) (_[source](https://github.com/cilium/cilium/tree/v1.10.7/install/kubernetes/cilium)_) * [v1.10.6](https://github.com/cilium/cilium/releases/tag/v1.10.6) (_[source](https://github.com/cilium/cilium/tree/v1.10.6/install/kubernetes/cilium)_) +* [v1.10.6](https://github.com/cilium/cilium/releases/tag/v1.10.6) (_[source](https://github.com/cilium/cilium/tree/v1.10.6/install/kubernetes/cilium)_) +* [v1.10.5](https://github.com/cilium/cilium/releases/tag/v1.10.5) (_[source](https://github.com/cilium/cilium/tree/v1.10.5/install/kubernetes/cilium)_) * [v1.10.5](https://github.com/cilium/cilium/releases/tag/v1.10.5) (_[source](https://github.com/cilium/cilium/tree/v1.10.5/install/kubernetes/cilium)_) * [v1.10.4](https://github.com/cilium/cilium/releases/tag/v1.10.4) (_[source](https://github.com/cilium/cilium/tree/v1.10.4/install/kubernetes/cilium)_) +* [v1.10.4](https://github.com/cilium/cilium/releases/tag/v1.10.4) (_[source](https://github.com/cilium/cilium/tree/v1.10.4/install/kubernetes/cilium)_) +* [v1.10.3](https://github.com/cilium/cilium/releases/tag/v1.10.3) (_[source](https://github.com/cilium/cilium/tree/v1.10.3/install/kubernetes/cilium)_) * [v1.10.3](https://github.com/cilium/cilium/releases/tag/v1.10.3) (_[source](https://github.com/cilium/cilium/tree/v1.10.3/install/kubernetes/cilium)_) * [v1.10.2](https://github.com/cilium/cilium/releases/tag/v1.10.2) (_[source](https://github.com/cilium/cilium/tree/v1.10.2/install/kubernetes/cilium)_) +* [v1.10.2](https://github.com/cilium/cilium/releases/tag/v1.10.2) (_[source](https://github.com/cilium/cilium/tree/v1.10.2/install/kubernetes/cilium)_) +* [v1.10.1](https://github.com/cilium/cilium/releases/tag/v1.10.1) (_[source](https://github.com/cilium/cilium/tree/v1.10.1/install/kubernetes/cilium)_) * [v1.10.1](https://github.com/cilium/cilium/releases/tag/v1.10.1) (_[source](https://github.com/cilium/cilium/tree/v1.10.1/install/kubernetes/cilium)_) * [v1.10.0](https://github.com/cilium/cilium/releases/tag/v1.10.0) (_[source](https://github.com/cilium/cilium/tree/v1.10.0/install/kubernetes/cilium)_) +* [v1.10.0](https://github.com/cilium/cilium/releases/tag/v1.10.0) (_[source](https://github.com/cilium/cilium/tree/v1.10.0/install/kubernetes/cilium)_) * [v1.10.0-rc2](https://github.com/cilium/cilium/releases/tag/v1.10.0-rc2) (_[source](https://github.com/cilium/cilium/tree/v1.10.0-rc2/install/kubernetes/cilium)_) +* [v1.10.0-rc2](https://github.com/cilium/cilium/releases/tag/v1.10.0-rc2) (_[source](https://github.com/cilium/cilium/tree/v1.10.0-rc2/install/kubernetes/cilium)_) +* [v1.10.0-rc1](https://github.com/cilium/cilium/releases/tag/v1.10.0-rc1) (_[source](https://github.com/cilium/cilium/tree/v1.10.0-rc1/install/kubernetes/cilium)_) * [v1.10.0-rc1](https://github.com/cilium/cilium/releases/tag/v1.10.0-rc1) (_[source](https://github.com/cilium/cilium/tree/v1.10.0-rc1/install/kubernetes/cilium)_) * [v1.10.0-rc0](https://github.com/cilium/cilium/releases/tag/v1.10.0-rc0) (_[source](https://github.com/cilium/cilium/tree/v1.10.0-rc0/install/kubernetes/cilium)_) +* [v1.10.0-rc0](https://github.com/cilium/cilium/releases/tag/v1.10.0-rc0) (_[source](https://github.com/cilium/cilium/tree/v1.10.0-rc0/install/kubernetes/cilium)_) +* [v1.9.18](https://github.com/cilium/cilium/releases/tag/v1.9.18) (_[source](https://github.com/cilium/cilium/tree/v1.9.18/install/kubernetes/cilium)_) * [v1.9.18](https://github.com/cilium/cilium/releases/tag/v1.9.18) (_[source](https://github.com/cilium/cilium/tree/v1.9.18/install/kubernetes/cilium)_) * [v1.9.17](https://github.com/cilium/cilium/releases/tag/v1.9.17) (_[source](https://github.com/cilium/cilium/tree/v1.9.17/install/kubernetes/cilium)_) +* [v1.9.17](https://github.com/cilium/cilium/releases/tag/v1.9.17) (_[source](https://github.com/cilium/cilium/tree/v1.9.17/install/kubernetes/cilium)_) +* [v1.9.16](https://github.com/cilium/cilium/releases/tag/v1.9.16) (_[source](https://github.com/cilium/cilium/tree/v1.9.16/install/kubernetes/cilium)_) * [v1.9.16](https://github.com/cilium/cilium/releases/tag/v1.9.16) (_[source](https://github.com/cilium/cilium/tree/v1.9.16/install/kubernetes/cilium)_) * [v1.9.15](https://github.com/cilium/cilium/releases/tag/v1.9.15) (_[source](https://github.com/cilium/cilium/tree/v1.9.15/install/kubernetes/cilium)_) +* [v1.9.15](https://github.com/cilium/cilium/releases/tag/v1.9.15) (_[source](https://github.com/cilium/cilium/tree/v1.9.15/install/kubernetes/cilium)_) +* [v1.9.14](https://github.com/cilium/cilium/releases/tag/v1.9.14) (_[source](https://github.com/cilium/cilium/tree/v1.9.14/install/kubernetes/cilium)_) * [v1.9.14](https://github.com/cilium/cilium/releases/tag/v1.9.14) (_[source](https://github.com/cilium/cilium/tree/v1.9.14/install/kubernetes/cilium)_) * [v1.9.13](https://github.com/cilium/cilium/releases/tag/v1.9.13) (_[source](https://github.com/cilium/cilium/tree/v1.9.13/install/kubernetes/cilium)_) +* [v1.9.13](https://github.com/cilium/cilium/releases/tag/v1.9.13) (_[source](https://github.com/cilium/cilium/tree/v1.9.13/install/kubernetes/cilium)_) +* [v1.9.12](https://github.com/cilium/cilium/releases/tag/v1.9.12) (_[source](https://github.com/cilium/cilium/tree/v1.9.12/install/kubernetes/cilium)_) * [v1.9.12](https://github.com/cilium/cilium/releases/tag/v1.9.12) (_[source](https://github.com/cilium/cilium/tree/v1.9.12/install/kubernetes/cilium)_) * [v1.9.11](https://github.com/cilium/cilium/releases/tag/v1.9.11) (_[source](https://github.com/cilium/cilium/tree/v1.9.11/install/kubernetes/cilium)_) +* [v1.9.11](https://github.com/cilium/cilium/releases/tag/v1.9.11) (_[source](https://github.com/cilium/cilium/tree/v1.9.11/install/kubernetes/cilium)_) +* [v1.9.10](https://github.com/cilium/cilium/releases/tag/v1.9.10) (_[source](https://github.com/cilium/cilium/tree/v1.9.10/install/kubernetes/cilium)_) * [v1.9.10](https://github.com/cilium/cilium/releases/tag/v1.9.10) (_[source](https://github.com/cilium/cilium/tree/v1.9.10/install/kubernetes/cilium)_) * [v1.9.9](https://github.com/cilium/cilium/releases/tag/v1.9.9) (_[source](https://github.com/cilium/cilium/tree/v1.9.9/install/kubernetes/cilium)_) +* [v1.9.9](https://github.com/cilium/cilium/releases/tag/v1.9.9) (_[source](https://github.com/cilium/cilium/tree/v1.9.9/install/kubernetes/cilium)_) +* [v1.9.8](https://github.com/cilium/cilium/releases/tag/v1.9.8) (_[source](https://github.com/cilium/cilium/tree/v1.9.8/install/kubernetes/cilium)_) * [v1.9.8](https://github.com/cilium/cilium/releases/tag/v1.9.8) (_[source](https://github.com/cilium/cilium/tree/v1.9.8/install/kubernetes/cilium)_) * [v1.9.7](https://github.com/cilium/cilium/releases/tag/v1.9.7) (_[source](https://github.com/cilium/cilium/tree/v1.9.7/install/kubernetes/cilium)_) +* [v1.9.7](https://github.com/cilium/cilium/releases/tag/v1.9.7) (_[source](https://github.com/cilium/cilium/tree/v1.9.7/install/kubernetes/cilium)_) * [v1.9.6](https://github.com/cilium/cilium/releases/tag/v1.9.6) (_[source](https://github.com/cilium/cilium/tree/v1.9.6/install/kubernetes/cilium)_) +* [v1.9.6](https://github.com/cilium/cilium/releases/tag/v1.9.6) (_[source](https://github.com/cilium/cilium/tree/v1.9.6/install/kubernetes/cilium)_) +* [v1.9.5](https://github.com/cilium/cilium/releases/tag/v1.9.5) (_[source](https://github.com/cilium/cilium/tree/v1.9.5/install/kubernetes/cilium)_) * [v1.9.5](https://github.com/cilium/cilium/releases/tag/v1.9.5) (_[source](https://github.com/cilium/cilium/tree/v1.9.5/install/kubernetes/cilium)_) * [v1.9.4](https://github.com/cilium/cilium/releases/tag/v1.9.4) (_[source](https://github.com/cilium/cilium/tree/v1.9.4/install/kubernetes/cilium)_) +* [v1.9.4](https://github.com/cilium/cilium/releases/tag/v1.9.4) (_[source](https://github.com/cilium/cilium/tree/v1.9.4/install/kubernetes/cilium)_) +* [v1.9.3](https://github.com/cilium/cilium/releases/tag/v1.9.3) (_[source](https://github.com/cilium/cilium/tree/v1.9.3/install/kubernetes/cilium)_) * [v1.9.3](https://github.com/cilium/cilium/releases/tag/v1.9.3) (_[source](https://github.com/cilium/cilium/tree/v1.9.3/install/kubernetes/cilium)_) * [v1.9.2](https://github.com/cilium/cilium/releases/tag/v1.9.2) (_[source](https://github.com/cilium/cilium/tree/v1.9.2/install/kubernetes/cilium)_) +* [v1.9.2](https://github.com/cilium/cilium/releases/tag/v1.9.2) (_[source](https://github.com/cilium/cilium/tree/v1.9.2/install/kubernetes/cilium)_) +* [v1.9.1](https://github.com/cilium/cilium/releases/tag/v1.9.1) (_[source](https://github.com/cilium/cilium/tree/v1.9.1/install/kubernetes/cilium)_) * [v1.9.1](https://github.com/cilium/cilium/releases/tag/v1.9.1) (_[source](https://github.com/cilium/cilium/tree/v1.9.1/install/kubernetes/cilium)_) * [v1.9.0](https://github.com/cilium/cilium/releases/tag/v1.9.0) (_[source](https://github.com/cilium/cilium/tree/v1.9.0/install/kubernetes/cilium)_) +* [v1.9.0](https://github.com/cilium/cilium/releases/tag/v1.9.0) (_[source](https://github.com/cilium/cilium/tree/v1.9.0/install/kubernetes/cilium)_) +* [v1.9.0-rc3](https://github.com/cilium/cilium/releases/tag/v1.9.0-rc3) (_[source](https://github.com/cilium/cilium/tree/v1.9.0-rc3/install/kubernetes/cilium)_) * [v1.9.0-rc3](https://github.com/cilium/cilium/releases/tag/v1.9.0-rc3) (_[source](https://github.com/cilium/cilium/tree/v1.9.0-rc3/install/kubernetes/cilium)_) * [v1.9.0-rc2](https://github.com/cilium/cilium/releases/tag/v1.9.0-rc2) (_[source](https://github.com/cilium/cilium/tree/v1.9.0-rc2/install/kubernetes/cilium)_) +* [v1.9.0-rc2](https://github.com/cilium/cilium/releases/tag/v1.9.0-rc2) (_[source](https://github.com/cilium/cilium/tree/v1.9.0-rc2/install/kubernetes/cilium)_) +* [v1.9.0-rc1](https://github.com/cilium/cilium/releases/tag/v1.9.0-rc1) (_[source](https://github.com/cilium/cilium/tree/v1.9.0-rc1/install/kubernetes/cilium)_) * [v1.9.0-rc1](https://github.com/cilium/cilium/releases/tag/v1.9.0-rc1) (_[source](https://github.com/cilium/cilium/tree/v1.9.0-rc1/install/kubernetes/cilium)_) * [v1.9.0-rc0](https://github.com/cilium/cilium/releases/tag/v1.9.0-rc0) (_[source](https://github.com/cilium/cilium/tree/v1.9.0-rc0/install/kubernetes/cilium)_) +* [v1.9.0-rc0](https://github.com/cilium/cilium/releases/tag/v1.9.0-rc0) (_[source](https://github.com/cilium/cilium/tree/v1.9.0-rc0/install/kubernetes/cilium)_) +* [v1.8.13](https://github.com/cilium/cilium/releases/tag/v1.8.13) (_[source](https://github.com/cilium/cilium/tree/v1.8.13/install/kubernetes/cilium)_) * [v1.8.13](https://github.com/cilium/cilium/releases/tag/v1.8.13) (_[source](https://github.com/cilium/cilium/tree/v1.8.13/install/kubernetes/cilium)_) * [v1.8.12](https://github.com/cilium/cilium/releases/tag/v1.8.12) (_[source](https://github.com/cilium/cilium/tree/v1.8.12/install/kubernetes/cilium)_) +* [v1.8.12](https://github.com/cilium/cilium/releases/tag/v1.8.12) (_[source](https://github.com/cilium/cilium/tree/v1.8.12/install/kubernetes/cilium)_) +* [v1.8.11](https://github.com/cilium/cilium/releases/tag/v1.8.11) (_[source](https://github.com/cilium/cilium/tree/v1.8.11/install/kubernetes/cilium)_) * [v1.8.11](https://github.com/cilium/cilium/releases/tag/v1.8.11) (_[source](https://github.com/cilium/cilium/tree/v1.8.11/install/kubernetes/cilium)_) * [v1.8.10](https://github.com/cilium/cilium/releases/tag/v1.8.10) (_[source](https://github.com/cilium/cilium/tree/v1.8.10/install/kubernetes/cilium)_) +* [v1.8.10](https://github.com/cilium/cilium/releases/tag/v1.8.10) (_[source](https://github.com/cilium/cilium/tree/v1.8.10/install/kubernetes/cilium)_) * [v1.8.9](https://github.com/cilium/cilium/releases/tag/v1.8.9) (_[source](https://github.com/cilium/cilium/tree/v1.8.9/install/kubernetes/cilium)_) +* [v1.8.9](https://github.com/cilium/cilium/releases/tag/v1.8.9) (_[source](https://github.com/cilium/cilium/tree/v1.8.9/install/kubernetes/cilium)_) +* [v1.8.8](https://github.com/cilium/cilium/releases/tag/v1.8.8) (_[source](https://github.com/cilium/cilium/tree/v1.8.8/install/kubernetes/cilium)_) * [v1.8.8](https://github.com/cilium/cilium/releases/tag/v1.8.8) (_[source](https://github.com/cilium/cilium/tree/v1.8.8/install/kubernetes/cilium)_) * [v1.8.7](https://github.com/cilium/cilium/releases/tag/v1.8.7) (_[source](https://github.com/cilium/cilium/tree/v1.8.7/install/kubernetes/cilium)_) +* [v1.8.7](https://github.com/cilium/cilium/releases/tag/v1.8.7) (_[source](https://github.com/cilium/cilium/tree/v1.8.7/install/kubernetes/cilium)_) +* [v1.8.6](https://github.com/cilium/cilium/releases/tag/v1.8.6) (_[source](https://github.com/cilium/cilium/tree/v1.8.6/install/kubernetes/cilium)_) * [v1.8.6](https://github.com/cilium/cilium/releases/tag/v1.8.6) (_[source](https://github.com/cilium/cilium/tree/v1.8.6/install/kubernetes/cilium)_) * [v1.8.5](https://github.com/cilium/cilium/releases/tag/v1.8.5) (_[source](https://github.com/cilium/cilium/tree/v1.8.5/install/kubernetes/cilium)_) +* [v1.8.5](https://github.com/cilium/cilium/releases/tag/v1.8.5) (_[source](https://github.com/cilium/cilium/tree/v1.8.5/install/kubernetes/cilium)_) +* [v1.8.4](https://github.com/cilium/cilium/releases/tag/v1.8.4) (_[source](https://github.com/cilium/cilium/tree/v1.8.4/install/kubernetes/cilium)_) * [v1.8.4](https://github.com/cilium/cilium/releases/tag/v1.8.4) (_[source](https://github.com/cilium/cilium/tree/v1.8.4/install/kubernetes/cilium)_) * [v1.8.3](https://github.com/cilium/cilium/releases/tag/v1.8.3) (_[source](https://github.com/cilium/cilium/tree/v1.8.3/install/kubernetes/cilium)_) +* [v1.8.3](https://github.com/cilium/cilium/releases/tag/v1.8.3) (_[source](https://github.com/cilium/cilium/tree/v1.8.3/install/kubernetes/cilium)_) +* [v1.8.2](https://github.com/cilium/cilium/releases/tag/v1.8.2) (_[source](https://github.com/cilium/cilium/tree/v1.8.2/install/kubernetes/cilium)_) * [v1.8.2](https://github.com/cilium/cilium/releases/tag/v1.8.2) (_[source](https://github.com/cilium/cilium/tree/v1.8.2/install/kubernetes/cilium)_) * [v1.8.1](https://github.com/cilium/cilium/releases/tag/v1.8.1) (_[source](https://github.com/cilium/cilium/tree/v1.8.1/install/kubernetes/cilium)_) +* [v1.8.1](https://github.com/cilium/cilium/releases/tag/v1.8.1) (_[source](https://github.com/cilium/cilium/tree/v1.8.1/install/kubernetes/cilium)_) +* [v1.8.0](https://github.com/cilium/cilium/releases/tag/v1.8.0) (_[source](https://github.com/cilium/cilium/tree/v1.8.0/install/kubernetes/cilium)_) * [v1.8.0](https://github.com/cilium/cilium/releases/tag/v1.8.0) (_[source](https://github.com/cilium/cilium/tree/v1.8.0/install/kubernetes/cilium)_) * [v1.8.0-rc4](https://github.com/cilium/cilium/releases/tag/v1.8.0-rc4) (_[source](https://github.com/cilium/cilium/tree/v1.8.0-rc4/install/kubernetes/cilium)_) +* [v1.8.0-rc4](https://github.com/cilium/cilium/releases/tag/v1.8.0-rc4) (_[source](https://github.com/cilium/cilium/tree/v1.8.0-rc4/install/kubernetes/cilium)_) +* [v1.8.0-rc3](https://github.com/cilium/cilium/releases/tag/v1.8.0-rc3) (_[source](https://github.com/cilium/cilium/tree/v1.8.0-rc3/install/kubernetes/cilium)_) * [v1.8.0-rc3](https://github.com/cilium/cilium/releases/tag/v1.8.0-rc3) (_[source](https://github.com/cilium/cilium/tree/v1.8.0-rc3/install/kubernetes/cilium)_) * [v1.8.0-rc2](https://github.com/cilium/cilium/releases/tag/v1.8.0-rc2) (_[source](https://github.com/cilium/cilium/tree/v1.8.0-rc2/install/kubernetes/cilium)_) +* [v1.8.0-rc2](https://github.com/cilium/cilium/releases/tag/v1.8.0-rc2) (_[source](https://github.com/cilium/cilium/tree/v1.8.0-rc2/install/kubernetes/cilium)_) +* [v1.8.0-rc1](https://github.com/cilium/cilium/releases/tag/v1.8.0-rc1) (_[source](https://github.com/cilium/cilium/tree/v1.8.0-rc1/install/kubernetes/cilium)_) * [v1.8.0-rc1](https://github.com/cilium/cilium/releases/tag/v1.8.0-rc1) (_[source](https://github.com/cilium/cilium/tree/v1.8.0-rc1/install/kubernetes/cilium)_) * [v1.7.16](https://github.com/cilium/cilium/releases/tag/v1.7.16) (_[source](https://github.com/cilium/cilium/tree/v1.7.16/install/kubernetes/cilium)_) +* [v1.7.16](https://github.com/cilium/cilium/releases/tag/v1.7.16) (_[source](https://github.com/cilium/cilium/tree/v1.7.16/install/kubernetes/cilium)_) * [v1.7.15](https://github.com/cilium/cilium/releases/tag/v1.7.15) (_[source](https://github.com/cilium/cilium/tree/v1.7.15/install/kubernetes/cilium)_) +* [v1.7.15](https://github.com/cilium/cilium/releases/tag/v1.7.15) (_[source](https://github.com/cilium/cilium/tree/v1.7.15/install/kubernetes/cilium)_) +* [v1.7.14](https://github.com/cilium/cilium/releases/tag/v1.7.14) (_[source](https://github.com/cilium/cilium/tree/v1.7.14/install/kubernetes/cilium)_) * [v1.7.14](https://github.com/cilium/cilium/releases/tag/v1.7.14) (_[source](https://github.com/cilium/cilium/tree/v1.7.14/install/kubernetes/cilium)_) * [v1.7.13](https://github.com/cilium/cilium/releases/tag/v1.7.13) (_[source](https://github.com/cilium/cilium/tree/v1.7.13/install/kubernetes/cilium)_) +* [v1.7.13](https://github.com/cilium/cilium/releases/tag/v1.7.13) (_[source](https://github.com/cilium/cilium/tree/v1.7.13/install/kubernetes/cilium)_) +* [v1.7.12](https://github.com/cilium/cilium/releases/tag/v1.7.12) (_[source](https://github.com/cilium/cilium/tree/v1.7.12/install/kubernetes/cilium)_) * [v1.7.12](https://github.com/cilium/cilium/releases/tag/v1.7.12) (_[source](https://github.com/cilium/cilium/tree/v1.7.12/install/kubernetes/cilium)_) * [v1.7.11](https://github.com/cilium/cilium/releases/tag/v1.7.11) (_[source](https://github.com/cilium/cilium/tree/v1.7.11/install/kubernetes/cilium)_) +* [v1.7.11](https://github.com/cilium/cilium/releases/tag/v1.7.11) (_[source](https://github.com/cilium/cilium/tree/v1.7.11/install/kubernetes/cilium)_) +* [v1.7.10](https://github.com/cilium/cilium/releases/tag/v1.7.10) (_[source](https://github.com/cilium/cilium/tree/v1.7.10/install/kubernetes/cilium)_) * [v1.7.10](https://github.com/cilium/cilium/releases/tag/v1.7.10) (_[source](https://github.com/cilium/cilium/tree/v1.7.10/install/kubernetes/cilium)_) * [v1.7.9](https://github.com/cilium/cilium/releases/tag/v1.7.9) (_[source](https://github.com/cilium/cilium/tree/v1.7.9/install/kubernetes/cilium)_) +* [v1.7.9](https://github.com/cilium/cilium/releases/tag/v1.7.9) (_[source](https://github.com/cilium/cilium/tree/v1.7.9/install/kubernetes/cilium)_) +* [v1.7.8](https://github.com/cilium/cilium/releases/tag/v1.7.8) (_[source](https://github.com/cilium/cilium/tree/v1.7.8/install/kubernetes/cilium)_) * [v1.7.8](https://github.com/cilium/cilium/releases/tag/v1.7.8) (_[source](https://github.com/cilium/cilium/tree/v1.7.8/install/kubernetes/cilium)_) * [v1.7.7](https://github.com/cilium/cilium/releases/tag/v1.7.7) (_[source](https://github.com/cilium/cilium/tree/v1.7.7/install/kubernetes/cilium)_) +* [v1.7.7](https://github.com/cilium/cilium/releases/tag/v1.7.7) (_[source](https://github.com/cilium/cilium/tree/v1.7.7/install/kubernetes/cilium)_) +* [v1.7.6](https://github.com/cilium/cilium/releases/tag/v1.7.6) (_[source](https://github.com/cilium/cilium/tree/v1.7.6/install/kubernetes/cilium)_) * [v1.7.6](https://github.com/cilium/cilium/releases/tag/v1.7.6) (_[source](https://github.com/cilium/cilium/tree/v1.7.6/install/kubernetes/cilium)_) * [v1.7.5](https://github.com/cilium/cilium/releases/tag/v1.7.5) (_[source](https://github.com/cilium/cilium/tree/v1.7.5/install/kubernetes/cilium)_) +* [v1.7.5](https://github.com/cilium/cilium/releases/tag/v1.7.5) (_[source](https://github.com/cilium/cilium/tree/v1.7.5/install/kubernetes/cilium)_) +* [v1.7.4](https://github.com/cilium/cilium/releases/tag/v1.7.4) (_[source](https://github.com/cilium/cilium/tree/v1.7.4/install/kubernetes/cilium)_) * [v1.7.4](https://github.com/cilium/cilium/releases/tag/v1.7.4) (_[source](https://github.com/cilium/cilium/tree/v1.7.4/install/kubernetes/cilium)_) * [v1.7.3](https://github.com/cilium/cilium/releases/tag/v1.7.3) (_[source](https://github.com/cilium/cilium/tree/v1.7.3/install/kubernetes/cilium)_) +* [v1.7.3](https://github.com/cilium/cilium/releases/tag/v1.7.3) (_[source](https://github.com/cilium/cilium/tree/v1.7.3/install/kubernetes/cilium)_) +* [v1.7.2](https://github.com/cilium/cilium/releases/tag/v1.7.2) (_[source](https://github.com/cilium/cilium/tree/v1.7.2/install/kubernetes/cilium)_) * [v1.7.2](https://github.com/cilium/cilium/releases/tag/v1.7.2) (_[source](https://github.com/cilium/cilium/tree/v1.7.2/install/kubernetes/cilium)_) * [v1.7.1](https://github.com/cilium/cilium/releases/tag/v1.7.1) (_[source](https://github.com/cilium/cilium/tree/v1.7.1/install/kubernetes/cilium)_) +* [v1.7.1](https://github.com/cilium/cilium/releases/tag/v1.7.1) (_[source](https://github.com/cilium/cilium/tree/v1.7.1/install/kubernetes/cilium)_) * [v1.7.0](https://github.com/cilium/cilium/releases/tag/v1.7.0) (_[source](https://github.com/cilium/cilium/tree/v1.7.0/install/kubernetes/cilium)_) +* [v1.7.0](https://github.com/cilium/cilium/releases/tag/v1.7.0) (_[source](https://github.com/cilium/cilium/tree/v1.7.0/install/kubernetes/cilium)_) +* [v1.7.0-rc4](https://github.com/cilium/cilium/releases/tag/v1.7.0-rc4) (_[source](https://github.com/cilium/cilium/tree/v1.7.0-rc4/install/kubernetes/cilium)_) * [v1.7.0-rc4](https://github.com/cilium/cilium/releases/tag/v1.7.0-rc4) (_[source](https://github.com/cilium/cilium/tree/v1.7.0-rc4/install/kubernetes/cilium)_) * [v1.7.0-rc3](https://github.com/cilium/cilium/releases/tag/v1.7.0-rc3) (_[source](https://github.com/cilium/cilium/tree/v1.7.0-rc3/install/kubernetes/cilium)_) +* [v1.7.0-rc3](https://github.com/cilium/cilium/releases/tag/v1.7.0-rc3) (_[source](https://github.com/cilium/cilium/tree/v1.7.0-rc3/install/kubernetes/cilium)_) +* [v1.6.12](https://github.com/cilium/cilium/releases/tag/v1.6.12) (_[source](https://github.com/cilium/cilium/tree/v1.6.12/install/kubernetes/cilium)_) * [v1.6.12](https://github.com/cilium/cilium/releases/tag/v1.6.12) (_[source](https://github.com/cilium/cilium/tree/v1.6.12/install/kubernetes/cilium)_) * [v1.6.11](https://github.com/cilium/cilium/releases/tag/v1.6.11) (_[source](https://github.com/cilium/cilium/tree/v1.6.11/install/kubernetes/cilium)_) +* [v1.6.11](https://github.com/cilium/cilium/releases/tag/v1.6.11) (_[source](https://github.com/cilium/cilium/tree/v1.6.11/install/kubernetes/cilium)_) +* [v1.6.10](https://github.com/cilium/cilium/releases/tag/v1.6.10) (_[source](https://github.com/cilium/cilium/tree/v1.6.10/install/kubernetes/cilium)_) * [v1.6.10](https://github.com/cilium/cilium/releases/tag/v1.6.10) (_[source](https://github.com/cilium/cilium/tree/v1.6.10/install/kubernetes/cilium)_) * [v1.6.9](https://github.com/cilium/cilium/releases/tag/v1.6.9) (_[source](https://github.com/cilium/cilium/tree/v1.6.9/install/kubernetes/cilium)_) +* [v1.6.9](https://github.com/cilium/cilium/releases/tag/v1.6.9) (_[source](https://github.com/cilium/cilium/tree/v1.6.9/install/kubernetes/cilium)_) +* [v1.6.8](https://github.com/cilium/cilium/releases/tag/v1.6.8) (_[source](https://github.com/cilium/cilium/tree/v1.6.8/install/kubernetes/cilium)_) * [v1.6.8](https://github.com/cilium/cilium/releases/tag/v1.6.8) (_[source](https://github.com/cilium/cilium/tree/v1.6.8/install/kubernetes/cilium)_) * [v1.6.7](https://github.com/cilium/cilium/releases/tag/v1.6.7) (_[source](https://github.com/cilium/cilium/tree/v1.6.7/install/kubernetes/cilium)_) +* [v1.6.7](https://github.com/cilium/cilium/releases/tag/v1.6.7) (_[source](https://github.com/cilium/cilium/tree/v1.6.7/install/kubernetes/cilium)_) +* [v1.6.6](https://github.com/cilium/cilium/releases/tag/v1.6.6) (_[source](https://github.com/cilium/cilium/tree/v1.6.6/install/kubernetes/cilium)_) * [v1.6.6](https://github.com/cilium/cilium/releases/tag/v1.6.6) (_[source](https://github.com/cilium/cilium/tree/v1.6.6/install/kubernetes/cilium)_) * [v1.6.5](https://github.com/cilium/cilium/releases/tag/v1.6.5) (_[source](https://github.com/cilium/cilium/tree/v1.6.5/install/kubernetes/cilium)_) +* [v1.6.5](https://github.com/cilium/cilium/releases/tag/v1.6.5) (_[source](https://github.com/cilium/cilium/tree/v1.6.5/install/kubernetes/cilium)_) This repository holds helm templates for the following Tetragon releases: * [v1.2.1](https://github.com/cilium/tetragon/releases/tag/v1.2.1) (_[source](https://github.com/cilium/tetragon/tree/v1.2.1/install/kubernetes/tetragon)_) * [v1.2.0](https://github.com/cilium/tetragon/releases/tag/v1.2.0) (_[source](https://github.com/cilium/tetragon/tree/v1.2.0/install/kubernetes/tetragon)_) +* [v1.2.0](https://github.com/cilium/tetragon/releases/tag/v1.2.0) (_[source](https://github.com/cilium/tetragon/tree/v1.2.0/install/kubernetes/tetragon)_) * [v1.1.2](https://github.com/cilium/tetragon/releases/tag/v1.1.2) (_[source](https://github.com/cilium/tetragon/tree/v1.1.2/install/kubernetes/tetragon)_) +* [v1.1.2](https://github.com/cilium/tetragon/releases/tag/v1.1.2) (_[source](https://github.com/cilium/tetragon/tree/v1.1.2/install/kubernetes/tetragon)_) +* [v1.1.0](https://github.com/cilium/tetragon/releases/tag/v1.1.0) (_[source](https://github.com/cilium/tetragon/tree/v1.1.0/install/kubernetes/tetragon)_) * [v1.1.0](https://github.com/cilium/tetragon/releases/tag/v1.1.0) (_[source](https://github.com/cilium/tetragon/tree/v1.1.0/install/kubernetes/tetragon)_) * [v1.0.3](https://github.com/cilium/tetragon/releases/tag/v1.0.3) (_[source](https://github.com/cilium/tetragon/tree/v1.0.3/install/kubernetes)_) +* [v1.0.3](https://github.com/cilium/tetragon/releases/tag/v1.0.3) (_[source](https://github.com/cilium/tetragon/tree/v1.0.3/install/kubernetes)_) * [v1.0.2](https://github.com/cilium/tetragon/releases/tag/v1.0.2) (_[source](https://github.com/cilium/tetragon/tree/v1.0.2/install/kubernetes)_) +* [v1.0.2](https://github.com/cilium/tetragon/releases/tag/v1.0.2) (_[source](https://github.com/cilium/tetragon/tree/v1.0.2/install/kubernetes)_) +* [v1.0.1](https://github.com/cilium/tetragon/releases/tag/v1.0.1) (_[source](https://github.com/cilium/tetragon/tree/v1.0.1/install/kubernetes)_) * [v1.0.1](https://github.com/cilium/tetragon/releases/tag/v1.0.1) (_[source](https://github.com/cilium/tetragon/tree/v1.0.1/install/kubernetes)_) * [v1.0.0](https://github.com/cilium/tetragon/releases/tag/v1.0.0) (_[source](https://github.com/cilium/tetragon/tree/v1.0.0/install/kubernetes)_) +* [v1.0.0](https://github.com/cilium/tetragon/releases/tag/v1.0.0) (_[source](https://github.com/cilium/tetragon/tree/v1.0.0/install/kubernetes)_) +* [v1.0.0-rc.5](https://github.com/cilium/tetragon/releases/tag/v1.0.0-rc.5) (_[source](https://github.com/cilium/tetragon/tree/v1.0.0-rc.5/install/kubernetes)_) * [v1.0.0-rc.5](https://github.com/cilium/tetragon/releases/tag/v1.0.0-rc.5) (_[source](https://github.com/cilium/tetragon/tree/v1.0.0-rc.5/install/kubernetes)_) * [v1.0.0-rc.3](https://github.com/cilium/tetragon/releases/tag/v1.0.0-rc.3) (_[source](https://github.com/cilium/tetragon/tree/v1.0.0-rc.3/install/kubernetes)_) +* [v1.0.0-rc.3](https://github.com/cilium/tetragon/releases/tag/v1.0.0-rc.3) (_[source](https://github.com/cilium/tetragon/tree/v1.0.0-rc.3/install/kubernetes)_) +* [v1.0.0-rc.2](https://github.com/cilium/tetragon/releases/tag/v1.0.0-rc.2) (_[source](https://github.com/cilium/tetragon/tree/v1.0.0-rc.2/install/kubernetes)_) * [v1.0.0-rc.2](https://github.com/cilium/tetragon/releases/tag/v1.0.0-rc.2) (_[source](https://github.com/cilium/tetragon/tree/v1.0.0-rc.2/install/kubernetes)_) * [v1.0.0-rc.1](https://github.com/cilium/tetragon/releases/tag/v1.0.0-rc.1) (_[source](https://github.com/cilium/tetragon/tree/v1.0.0-rc.1/install/kubernetes)_) +* [v1.0.0-rc.1](https://github.com/cilium/tetragon/releases/tag/v1.0.0-rc.1) (_[source](https://github.com/cilium/tetragon/tree/v1.0.0-rc.1/install/kubernetes)_) +* [v0.11.0](https://github.com/cilium/tetragon/releases/tag/v0.11.0) (_[source](https://github.com/cilium/tetragon/tree/v0.11.0/install/kubernetes)_) * [v0.11.0](https://github.com/cilium/tetragon/releases/tag/v0.11.0) (_[source](https://github.com/cilium/tetragon/tree/v0.11.0/install/kubernetes)_) * [v0.10.0](https://github.com/cilium/tetragon/releases/tag/v0.10.0) (_[source](https://github.com/cilium/tetragon/tree/v0.10.0/install/kubernetes)_) +* [v0.10.0](https://github.com/cilium/tetragon/releases/tag/v0.10.0) (_[source](https://github.com/cilium/tetragon/tree/v0.10.0/install/kubernetes)_) +* [v0.9.0](https://github.com/cilium/tetragon/releases/tag/v0.9.0) (_[source](https://github.com/cilium/tetragon/tree/v0.9.0/install/kubernetes)_) * [v0.9.0](https://github.com/cilium/tetragon/releases/tag/v0.9.0) (_[source](https://github.com/cilium/tetragon/tree/v0.9.0/install/kubernetes)_) * [v0.8.4](https://github.com/cilium/tetragon/releases/tag/v0.8.4) (_[source](https://github.com/cilium/tetragon/tree/v0.8.4/install/kubernetes)_) +* [v0.8.4](https://github.com/cilium/tetragon/releases/tag/v0.8.4) (_[source](https://github.com/cilium/tetragon/tree/v0.8.4/install/kubernetes)_) +* [v0.8.3](https://github.com/cilium/tetragon/releases/tag/v0.8.3) (_[source](https://github.com/cilium/tetragon/tree/v0.8.3/install/kubernetes)_) * [v0.8.3](https://github.com/cilium/tetragon/releases/tag/v0.8.3) (_[source](https://github.com/cilium/tetragon/tree/v0.8.3/install/kubernetes)_) * [v0.8.2](https://github.com/cilium/tetragon/releases/tag/v0.8.2) (_[source](https://github.com/cilium/tetragon/tree/v0.8.2/install/kubernetes)_) +* [v0.8.2](https://github.com/cilium/tetragon/releases/tag/v0.8.2) (_[source](https://github.com/cilium/tetragon/tree/v0.8.2/install/kubernetes)_) +* [v0.8.1](https://github.com/cilium/tetragon/releases/tag/v0.8.1) (_[source](https://github.com/cilium/tetragon/tree/v0.8.1/install/kubernetes)_) * [v0.8.1](https://github.com/cilium/tetragon/releases/tag/v0.8.1) (_[source](https://github.com/cilium/tetragon/tree/v0.8.1/install/kubernetes)_) * [v0.8.0](https://github.com/cilium/tetragon/releases/tag/v0.8.0) (_[source](https://github.com/cilium/tetragon/tree/v0.8.0/install/kubernetes)_) +* [v0.8.0](https://github.com/cilium/tetragon/releases/tag/v0.8.0) (_[source](https://github.com/cilium/tetragon/tree/v0.8.0/install/kubernetes)_) diff --git a/vendor/github.com/cilium/charts/cilium-1.17.0-pre.3.tgz b/vendor/github.com/cilium/charts/cilium-1.17.0-pre.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a36a0ce16a81e351547c2a01797d238779142cdf GIT binary patch literal 216335 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 1.21.0-0' + name: cilium + sources: + - https://github.com/cilium/cilium + urls: + - cilium-1.17.0-pre.3.tgz + version: 1.17.0-pre.3 - annotations: artifacthub.io/crds: "- kind: CiliumNetworkPolicy\n version: v2\n name: ciliumnetworkpolicies.cilium.io\n \ displayName: Cilium Network Policy\n description: |\n Cilium Network @@ -21027,4 +21133,4 @@ entries: urls: - tetragon-0.8.0.tgz version: 0.8.0 -generated: "2024-11-27T11:05:58.571885954Z" +generated: "2024-12-02T17:17:27.239332118Z" diff --git a/vendor/github.com/cilium/cilium/api/v1/flow/flow.pb.go b/vendor/github.com/cilium/cilium/api/v1/flow/flow.pb.go index ad4209d967..a514552de4 100644 --- a/vendor/github.com/cilium/cilium/api/v1/flow/flow.pb.go +++ b/vendor/github.com/cilium/cilium/api/v1/flow/flow.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc v5.29.0 +// protoc v5.29.1 // source: flow/flow.proto package flow diff --git a/vendor/github.com/cilium/cilium/api/v1/observer/observer.pb.go b/vendor/github.com/cilium/cilium/api/v1/observer/observer.pb.go index 0e03bb4772..07d1d5d735 100644 --- a/vendor/github.com/cilium/cilium/api/v1/observer/observer.pb.go +++ b/vendor/github.com/cilium/cilium/api/v1/observer/observer.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc v5.29.0 +// protoc v5.29.1 // source: observer/observer.proto package observer diff --git a/vendor/github.com/cilium/cilium/api/v1/observer/observer_grpc.pb.go b/vendor/github.com/cilium/cilium/api/v1/observer/observer_grpc.pb.go index c3546f5cc0..536886251d 100644 --- a/vendor/github.com/cilium/cilium/api/v1/observer/observer_grpc.pb.go +++ b/vendor/github.com/cilium/cilium/api/v1/observer/observer_grpc.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 -// - protoc v5.29.0 +// - protoc v5.29.1 // source: observer/observer.proto package observer diff --git a/vendor/github.com/cilium/cilium/api/v1/relay/relay.pb.go b/vendor/github.com/cilium/cilium/api/v1/relay/relay.pb.go index 9b325acce2..3238ac08e8 100644 --- a/vendor/github.com/cilium/cilium/api/v1/relay/relay.pb.go +++ b/vendor/github.com/cilium/cilium/api/v1/relay/relay.pb.go @@ -4,7 +4,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.35.2 -// protoc v5.29.0 +// protoc v5.29.1 // source: relay/relay.proto package relay diff --git a/vendor/github.com/cilium/cilium/cilium-cli/cli/install.go b/vendor/github.com/cilium/cilium/cilium-cli/cli/install.go index 889517bc6b..7da5974bc6 100644 --- a/vendor/github.com/cilium/cilium/cilium-cli/cli/install.go +++ b/vendor/github.com/cilium/cilium/cilium-cli/cli/install.go @@ -194,6 +194,8 @@ cilium upgrade --set cluster.id=1 --set cluster.name=cluster1 addCommonInstallFlags(cmd, ¶ms) addCommonHelmFlags(cmd, ¶ms) + cmd.Flags().BoolVar(¶ms.HelmResetThenReuseValues, "reset-then-reuse-values", true, + "When upgrading, reset the values to the ones built into the chart, apply the last release's values and merge in any overrides from the command line via --set and -f. If '--reset-values' or '--reuse-values' is specified, this is ignored") cmd.Flags().BoolVar(¶ms.HelmResetValues, "reset-values", false, "When upgrading, reset the helm values to the ones built into the chart") cmd.Flags().BoolVar(¶ms.HelmReuseValues, "reuse-values", false, diff --git a/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7.go b/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7.go index f251a57924..5ee9ea0980 100644 --- a/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7.go +++ b/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7.go @@ -13,7 +13,7 @@ type clientEgressL7 struct{} func (t clientEgressL7) build(ct *check.ConnectivityTest, templates map[string]string) { clientEgressL7Test(ct, templates, false) - if ct.Features[features.PortRanges].Enabled { + if ct.Features[features.L7PortRanges].Enabled { clientEgressL7Test(ct, templates, true) } } diff --git a/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7_method.go b/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7_method.go index 01615e8405..ee16958680 100644 --- a/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7_method.go +++ b/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7_method.go @@ -21,7 +21,7 @@ type clientEgressL7Method struct{} func (t clientEgressL7Method) build(ct *check.ConnectivityTest, templates map[string]string) { clientEgressL7MethodTest(ct, templates, false) - if ct.Features[features.PortRanges].Enabled { + if ct.Features[features.L7PortRanges].Enabled { clientEgressL7MethodTest(ct, templates, true) } } diff --git a/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7_set_header.go b/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7_set_header.go index 4e2324dd40..a8028c2e3c 100644 --- a/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7_set_header.go +++ b/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7_set_header.go @@ -16,7 +16,7 @@ type clientEgressL7SetHeader struct{} func (t clientEgressL7SetHeader) build(ct *check.ConnectivityTest, templates map[string]string) { clientEgressL7SetHeaderTest(ct, templates, false) - if ct.Features[features.PortRanges].Enabled { + if ct.Features[features.L7PortRanges].Enabled { clientEgressL7SetHeaderTest(ct, templates, true) } } diff --git a/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7_tls_headers.go b/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7_tls_headers.go index 959409121b..9ecc334fab 100644 --- a/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7_tls_headers.go +++ b/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/client_egress_l7_tls_headers.go @@ -13,7 +13,7 @@ type clientEgressL7TlsHeaders struct{} func (t clientEgressL7TlsHeaders) build(ct *check.ConnectivityTest, templates map[string]string) { clientEgressL7TlsHeadersTest(ct, templates, false) - if ct.Features[features.PortRanges].Enabled { + if ct.Features[features.L7PortRanges].Enabled { clientEgressL7TlsHeadersTest(ct, templates, true) } } diff --git a/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/north_south_loadbalancing_with_l7_policy.go b/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/north_south_loadbalancing_with_l7_policy.go index 0dceea2140..0050ecb1ab 100644 --- a/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/north_south_loadbalancing_with_l7_policy.go +++ b/vendor/github.com/cilium/cilium/cilium-cli/connectivity/builder/north_south_loadbalancing_with_l7_policy.go @@ -21,7 +21,7 @@ type northSouthLoadbalancingWithL7Policy struct{} func (t northSouthLoadbalancingWithL7Policy) build(ct *check.ConnectivityTest, _ map[string]string) { northSouthLoadbalancingWithL7PolicyTest(ct, false) - if ct.Features[features.PortRanges].Enabled { + if ct.Features[features.L7PortRanges].Enabled { northSouthLoadbalancingWithL7PolicyTest(ct, true) } } diff --git a/vendor/github.com/cilium/cilium/cilium-cli/install/install.go b/vendor/github.com/cilium/cilium/cilium-cli/install/install.go index 3998a89537..a9a832dba3 100644 --- a/vendor/github.com/cilium/cilium/cilium-cli/install/install.go +++ b/vendor/github.com/cilium/cilium/cilium-cli/install/install.go @@ -131,6 +131,10 @@ type Parameters struct { // specified by other flags. This options take precedence over the HelmResetValues option. HelmReuseValues bool + // HelmResetThenReuseValues if true, will reset the values to the ones built into the chart, apply the last release's values and merge in any overrides from the command line via --set and -f. + // If '--reset-values' or '--reuse-values' is specified, this is ignored + HelmResetThenReuseValues bool + // DryRun writes resources to be installed to stdout without actually installing them. For Helm // installation mode only. DryRun bool diff --git a/vendor/github.com/cilium/cilium/cilium-cli/install/upgrade.go b/vendor/github.com/cilium/cilium/cilium-cli/install/upgrade.go index 81cb100950..526d8dbed0 100644 --- a/vendor/github.com/cilium/cilium/cilium-cli/install/upgrade.go +++ b/vendor/github.com/cilium/cilium/cilium-cli/install/upgrade.go @@ -29,14 +29,15 @@ func (k *K8sInstaller) UpgradeWithHelm(ctx context.Context, k8sClient *k8s.Clien } upgradeParams := helm.UpgradeParameters{ - Namespace: k.params.Namespace, - Name: k.params.HelmReleaseName, - Chart: k.chart, // k.chart was initialized in NewK8sInstaller, based on Version and HelmChartDirectory - Values: vals, - ResetValues: k.params.HelmResetValues, - ReuseValues: k.params.HelmReuseValues, - Wait: k.params.Wait, - WaitDuration: k.params.WaitDuration, + Namespace: k.params.Namespace, + Name: k.params.HelmReleaseName, + Chart: k.chart, // k.chart was initialized in NewK8sInstaller, based on Version and HelmChartDirectory + Values: vals, + ResetValues: k.params.HelmResetValues, + ReuseValues: k.params.HelmReuseValues, + ResetThenReuseValues: k.params.HelmResetThenReuseValues, + Wait: k.params.Wait, + WaitDuration: k.params.WaitDuration, // In addition to the DryRun i/o, we need to tell Helm not to execute the upgrade DryRun: k.params.DryRun, diff --git a/vendor/github.com/cilium/cilium/cilium-cli/internal/helm/helm.go b/vendor/github.com/cilium/cilium/cilium-cli/internal/helm/helm.go index 54a8877cb8..fd92828a60 100644 --- a/vendor/github.com/cilium/cilium/cilium-cli/internal/helm/helm.go +++ b/vendor/github.com/cilium/cilium/cilium-cli/internal/helm/helm.go @@ -285,6 +285,8 @@ type UpgradeParameters struct { ResetValues bool // --reuse-values flag from Helm upgrade. See https://helm.sh/docs/helm/helm_upgrade/ for details. ReuseValues bool + // --reset-then-reuse-values flag from Helm upgrade. See https://helm.sh/docs/helm/helm_upgrade/ for details. + ResetThenReuseValues bool // Wait determines if Helm actions will wait for completion Wait bool // WaitDuration is the timeout for helm operations @@ -317,6 +319,7 @@ func Upgrade( helmClient := action.NewUpgrade(actionConfig) helmClient.Namespace = params.Namespace + helmClient.ResetThenReuseValues = params.ResetThenReuseValues helmClient.ResetValues = params.ResetValues helmClient.ReuseValues = params.ReuseValues helmClient.Wait = params.Wait diff --git a/vendor/github.com/cilium/cilium/cilium-cli/utils/features/features.go b/vendor/github.com/cilium/cilium/cilium-cli/utils/features/features.go index 027827293a..1603ad03d7 100644 --- a/vendor/github.com/cilium/cilium/cilium-cli/utils/features/features.go +++ b/vendor/github.com/cilium/cilium/cilium-cli/utils/features/features.go @@ -22,6 +22,7 @@ const ( HostFirewall Feature = "host-firewall" ICMPPolicy Feature = "icmp-policy" PortRanges Feature = "port-ranges" + L7PortRanges Feature = "l7-port-ranges" Tunnel Feature = "tunnel" EndpointRoutes Feature = "endpoint-routes" @@ -222,6 +223,7 @@ func RequireMode(feature Feature, mode string) Requirement { func (fs Set) ExtractFromVersionedConfigMap(ciliumVersion semver.Version, cm *v1.ConfigMap) { fs[Tunnel] = ExtractTunnelFeatureFromVersionedConfigMap(ciliumVersion, cm) fs[PortRanges] = ExtractPortRanges(ciliumVersion) + fs[L7PortRanges] = ExtractL7PortRanges(ciliumVersion) } func ExtractPortRanges(ciliumVersion semver.Version) Status { @@ -231,6 +233,13 @@ func ExtractPortRanges(ciliumVersion semver.Version) Status { } } +func ExtractL7PortRanges(ciliumVersion semver.Version) Status { + enabled := versioncheck.MustCompile(">=1.17.0")(ciliumVersion) + return Status{ + Enabled: enabled, + } +} + func ExtractTunnelFeatureFromVersionedConfigMap(ciliumVersion semver.Version, cm *v1.ConfigMap) Status { if versioncheck.MustCompile("<1.14.0")(ciliumVersion) { enabled, proto := true, "vxlan" diff --git a/vendor/github.com/cilium/cilium/pkg/datapath/tables/neighbor.go b/vendor/github.com/cilium/cilium/pkg/datapath/tables/neighbor.go index cf2713e9d9..900e0e34d8 100644 --- a/vendor/github.com/cilium/cilium/pkg/datapath/tables/neighbor.go +++ b/vendor/github.com/cilium/cilium/pkg/datapath/tables/neighbor.go @@ -12,6 +12,10 @@ import ( "github.com/cilium/statedb/index" ) +const ( + neighborIndexSize = 4 /* LinkIndex */ + 16 /* IP */ + 1 /* IP bit length */ +) + var ( NeighborIDIndex = statedb.Index[*Neighbor, NeighborID]{ Name: "ID", @@ -33,7 +37,7 @@ var ( if n == 0 { return index.Key{}, fmt.Errorf("bad key, expected \":\"") } - out := []byte{} + out := make([]byte, 0, neighborIndexSize) if n > 0 { out = binary.BigEndian.AppendUint32(out, linkIndex) n-- @@ -45,6 +49,7 @@ var ( } addrBytes := addr.As16() out = append(out, addrBytes[:]...) + out = append(out, byte(addr.BitLen())) } return out, nil }, @@ -85,10 +90,12 @@ type NeighborID struct { } func (id NeighborID) Key() index.Key { - key := make([]byte, 0, 4 /* LinkIndex */ +16 /* IP */) + key := make([]byte, 0, neighborIndexSize) key = binary.BigEndian.AppendUint32(key, uint32(id.LinkIndex)) - addrBytes := id.IPAddr.AsSlice() - return append(key, addrBytes[:]...) + addrBytes := id.IPAddr.As16() + key = append(key, addrBytes[:]...) + key = append(key, byte(id.IPAddr.BitLen())) + return key } type Neighbor struct { diff --git a/vendor/github.com/cilium/cilium/pkg/k8s/labels.go b/vendor/github.com/cilium/cilium/pkg/k8s/labels.go index 3a1aff961c..349ffbf767 100644 --- a/vendor/github.com/cilium/cilium/pkg/k8s/labels.go +++ b/vendor/github.com/cilium/cilium/pkg/k8s/labels.go @@ -19,7 +19,7 @@ const UseOriginalSourceAddressLabel = "cilium.io/use-original-source-address" // GetPodMetadata returns the labels and annotations of the pod with the given // namespace / name. -func GetPodMetadata(k8sNs *slim_corev1.Namespace, pod *slim_corev1.Pod) (containerPorts []slim_corev1.ContainerPort, lbls map[string]string, retAnno map[string]string, retErr error) { +func GetPodMetadata(k8sNs *slim_corev1.Namespace, pod *slim_corev1.Pod) (containerPorts []slim_corev1.ContainerPort, lbls map[string]string) { namespace := pod.Namespace scopedLog := log.WithFields(logrus.Fields{ logfields.K8sNamespace: namespace, @@ -28,12 +28,11 @@ func GetPodMetadata(k8sNs *slim_corev1.Namespace, pod *slim_corev1.Pod) (contain scopedLog.Debug("Connecting to k8s local stores to retrieve labels for pod") objMetaCpy := pod.ObjectMeta.DeepCopy() - annotations := objMetaCpy.Annotations labels := k8sUtils.SanitizePodLabels(objMetaCpy.Labels, k8sNs, pod.Spec.ServiceAccountName, option.Config.ClusterName) for _, containers := range pod.Spec.Containers { containerPorts = append(containerPorts, containers.Ports...) } - return containerPorts, labels, annotations, nil + return containerPorts, labels } diff --git a/vendor/github.com/cilium/ebpf/btf/ext_info.go b/vendor/github.com/cilium/ebpf/btf/ext_info.go index 1a494488d1..2c684fe2a7 100644 --- a/vendor/github.com/cilium/ebpf/btf/ext_info.go +++ b/vendor/github.com/cilium/ebpf/btf/ext_info.go @@ -17,7 +17,7 @@ import ( type ExtInfos struct { // The slices are sorted by offset in ascending order. funcInfos map[string]FuncOffsets - lineInfos map[string]LineInfos + lineInfos map[string]LineOffsets relocationInfos map[string]CORERelocationInfos } @@ -72,7 +72,7 @@ func loadExtInfos(r io.ReaderAt, bo binary.ByteOrder, spec *Spec) (*ExtInfos, er return nil, fmt.Errorf("parsing BTF line info: %w", err) } - lineInfos := make(map[string]LineInfos, len(btfLineInfos)) + lineInfos := make(map[string]LineOffsets, len(btfLineInfos)) for section, blis := range btfLineInfos { lineInfos[section], err = newLineInfos(blis, spec.strings) if err != nil { @@ -102,8 +102,10 @@ func loadExtInfos(r io.ReaderAt, bo binary.ByteOrder, spec *Spec) (*ExtInfos, er return &ExtInfos{funcInfos, lineInfos, coreRelos}, nil } -type funcInfoMeta struct{} -type coreRelocationMeta struct{} +type ( + funcInfoMeta struct{} + coreRelocationMeta struct{} +) // Assign per-section metadata from BTF to a section's instructions. func (ei *ExtInfos) Assign(insns asm.Instructions, section string) { @@ -118,7 +120,7 @@ func (ei *ExtInfos) Assign(insns asm.Instructions, section string) { func AssignMetadataToInstructions( insns asm.Instructions, funcInfos FuncOffsets, - lineInfos LineInfos, + lineInfos LineOffsets, reloInfos CORERelocationInfos, ) { iter := insns.Iterate() @@ -128,9 +130,9 @@ func AssignMetadataToInstructions( funcInfos = funcInfos[1:] } - if len(lineInfos.infos) > 0 && lineInfos.infos[0].offset == iter.Offset { - *iter.Ins = iter.Ins.WithSource(lineInfos.infos[0].line) - lineInfos.infos = lineInfos.infos[1:] + if len(lineInfos) > 0 && lineInfos[0].Offset == iter.Offset { + *iter.Ins = iter.Ins.WithSource(lineInfos[0].Line) + lineInfos = lineInfos[1:] } if len(reloInfos.infos) > 0 && reloInfos.infos[0].offset == iter.Offset { @@ -178,9 +180,9 @@ marshal: } } - li := &lineInfo{ - line: line, - offset: iter.Offset, + li := &LineOffset{ + Offset: iter.Offset, + Line: line, } if err := li.marshal(&liBuf, b); err != nil { return nil, nil, fmt.Errorf("write line info: %w", err) @@ -516,14 +518,13 @@ func (li *Line) String() string { return li.line } -// LineInfos contains a sorted list of line infos. -type LineInfos struct { - infos []lineInfo -} +// LineOffsets contains a sorted list of line infos. +type LineOffsets []LineOffset -type lineInfo struct { - line *Line - offset asm.RawInstructionOffset +// LineOffset represents a line info and its raw instruction offset. +type LineOffset struct { + Offset asm.RawInstructionOffset + Line *Line } // Constants for the format of bpfLineInfo.LineCol. @@ -542,7 +543,7 @@ type bpfLineInfo struct { } // LoadLineInfos parses BTF line info in kernel wire format. -func LoadLineInfos(reader io.Reader, bo binary.ByteOrder, recordNum uint32, spec *Spec) (LineInfos, error) { +func LoadLineInfos(reader io.Reader, bo binary.ByteOrder, recordNum uint32, spec *Spec) (LineOffsets, error) { lis, err := parseLineInfoRecords( reader, bo, @@ -551,57 +552,55 @@ func LoadLineInfos(reader io.Reader, bo binary.ByteOrder, recordNum uint32, spec false, ) if err != nil { - return LineInfos{}, fmt.Errorf("parsing BTF line info: %w", err) + return LineOffsets{}, fmt.Errorf("parsing BTF line info: %w", err) } return newLineInfos(lis, spec.strings) } -func newLineInfo(li bpfLineInfo, strings *stringTable) (lineInfo, error) { +func newLineInfo(li bpfLineInfo, strings *stringTable) (LineOffset, error) { line, err := strings.Lookup(li.LineOff) if err != nil { - return lineInfo{}, fmt.Errorf("lookup of line: %w", err) + return LineOffset{}, fmt.Errorf("lookup of line: %w", err) } fileName, err := strings.Lookup(li.FileNameOff) if err != nil { - return lineInfo{}, fmt.Errorf("lookup of filename: %w", err) + return LineOffset{}, fmt.Errorf("lookup of filename: %w", err) } lineNumber := li.LineCol >> bpfLineShift lineColumn := li.LineCol & bpfColumnMax - return lineInfo{ + return LineOffset{ + asm.RawInstructionOffset(li.InsnOff), &Line{ fileName, line, lineNumber, lineColumn, }, - asm.RawInstructionOffset(li.InsnOff), }, nil } -func newLineInfos(blis []bpfLineInfo, strings *stringTable) (LineInfos, error) { - lis := LineInfos{ - infos: make([]lineInfo, 0, len(blis)), - } +func newLineInfos(blis []bpfLineInfo, strings *stringTable) (LineOffsets, error) { + lis := make([]LineOffset, 0, len(blis)) for _, bli := range blis { li, err := newLineInfo(bli, strings) if err != nil { - return LineInfos{}, fmt.Errorf("offset %d: %w", bli.InsnOff, err) + return LineOffsets{}, fmt.Errorf("offset %d: %w", bli.InsnOff, err) } - lis.infos = append(lis.infos, li) + lis = append(lis, li) } - sort.Slice(lis.infos, func(i, j int) bool { - return lis.infos[i].offset <= lis.infos[j].offset + sort.Slice(lis, func(i, j int) bool { + return lis[i].Offset <= lis[j].Offset }) return lis, nil } // marshal writes the binary representation of the LineInfo to w. -func (li *lineInfo) marshal(w *bytes.Buffer, b *Builder) error { - line := li.line +func (li *LineOffset) marshal(w *bytes.Buffer, b *Builder) error { + line := li.Line if line.lineNumber > bpfLineMax { return fmt.Errorf("line %d exceeds %d", line.lineNumber, bpfLineMax) } @@ -621,7 +620,7 @@ func (li *lineInfo) marshal(w *bytes.Buffer, b *Builder) error { } bli := bpfLineInfo{ - uint32(li.offset), + uint32(li.Offset), fileNameOff, lineOff, (line.lineNumber << bpfLineShift) | line.lineColumn, diff --git a/vendor/github.com/cilium/ebpf/elf_reader.go b/vendor/github.com/cilium/ebpf/elf_reader.go index 0c1361781d..4765638079 100644 --- a/vendor/github.com/cilium/ebpf/elf_reader.go +++ b/vendor/github.com/cilium/ebpf/elf_reader.go @@ -1125,6 +1125,17 @@ func (ec *elfCode) loadDataSections() error { continue } + // If a section has no references, it will be freed as soon as the + // Collection closes, so creating and populating it is wasteful. If it has + // no symbols, it is likely an ephemeral section used during compilation + // that wasn't sanitized by the bpf linker. (like .rodata.str1.1) + // + // No symbols means no VariableSpecs can be generated from it, making it + // pointless to emit a data section for. + if sec.references == 0 && len(sec.symbols) == 0 { + continue + } + if sec.Size > math.MaxUint32 { return fmt.Errorf("data section %s: contents exceed maximum size", sec.Name) } @@ -1233,7 +1244,9 @@ func (ec *elfCode) loadDataSections() error { return fmt.Errorf("data section %s: variable %s size in datasec (%d) doesn't match ELF symbol size (%d)", sec.Name, name, v.Size, ev.size) } - ev.t = vt + // Decouple the Var in the VariableSpec from the underlying DataSec in + // the MapSpec to avoid modifications from affecting map loads later on. + ev.t = btf.Copy(vt).(*btf.Var) } } } diff --git a/vendor/github.com/cilium/ebpf/info.go b/vendor/github.com/cilium/ebpf/info.go index 3652fd7794..56a1f1e9a3 100644 --- a/vendor/github.com/cilium/ebpf/info.go +++ b/vendor/github.com/cilium/ebpf/info.go @@ -179,6 +179,40 @@ type programStats struct { recursionMisses uint64 } +// programJitedInfo holds information about JITed info of a program. +type programJitedInfo struct { + // ksyms holds the ksym addresses of the BPF program, including those of its + // subprograms. + // + // Available from 4.18. + ksyms []uintptr + numKsyms uint32 + + // insns holds the JITed machine native instructions of the program, + // including those of its subprograms. + // + // Available from 4.13. + insns []byte + numInsns uint32 + + // lineInfos holds the JITed line infos, which are kernel addresses. + // + // Available from 5.0. + lineInfos []uint64 + numLineInfos uint32 + + // lineInfoRecSize is the size of a single line info record. + // + // Available from 5.0. + lineInfoRecSize uint32 + + // funcLens holds the insns length of each function. + // + // Available from 4.18. + funcLens []uint32 + numFuncLens uint32 +} + // ProgramInfo describes a program. type ProgramInfo struct { Type ProgramType @@ -199,12 +233,12 @@ type ProgramInfo struct { jitedSize uint32 verifiedInstructions uint32 + jitedInfo programJitedInfo + lineInfos []byte numLineInfos uint32 funcInfos []byte numFuncInfos uint32 - ksymInfos []uint64 - numKsymInfos uint32 } func newProgramInfoFromFd(fd *sys.FD) (*ProgramInfo, error) { @@ -282,11 +316,37 @@ func newProgramInfoFromFd(fd *sys.FD) (*ProgramInfo, error) { makeSecondCall = true } + pi.jitedInfo.lineInfoRecSize = info.JitedLineInfoRecSize + if info.JitedProgLen > 0 { + pi.jitedInfo.numInsns = info.JitedProgLen + pi.jitedInfo.insns = make([]byte, info.JitedProgLen) + info2.JitedProgLen = info.JitedProgLen + info2.JitedProgInsns = sys.NewSlicePointer(pi.jitedInfo.insns) + makeSecondCall = true + } + + if info.NrJitedFuncLens > 0 { + pi.jitedInfo.numFuncLens = info.NrJitedFuncLens + pi.jitedInfo.funcLens = make([]uint32, info.NrJitedFuncLens) + info2.NrJitedFuncLens = info.NrJitedFuncLens + info2.JitedFuncLens = sys.NewSlicePointer(pi.jitedInfo.funcLens) + makeSecondCall = true + } + + if info.NrJitedLineInfo > 0 { + pi.jitedInfo.numLineInfos = info.NrJitedLineInfo + pi.jitedInfo.lineInfos = make([]uint64, info.NrJitedLineInfo) + info2.NrJitedLineInfo = info.NrJitedLineInfo + info2.JitedLineInfo = sys.NewSlicePointer(pi.jitedInfo.lineInfos) + info2.JitedLineInfoRecSize = info.JitedLineInfoRecSize + makeSecondCall = true + } + if info.NrJitedKsyms > 0 { - pi.ksymInfos = make([]uint64, info.NrJitedKsyms) - info2.JitedKsyms = sys.NewSlicePointer(pi.ksymInfos) + pi.jitedInfo.numKsyms = info.NrJitedKsyms + pi.jitedInfo.ksyms = make([]uintptr, info.NrJitedKsyms) + info2.JitedKsyms = sys.NewSlicePointer(pi.jitedInfo.ksyms) info2.NrJitedKsyms = info.NrJitedKsyms - pi.numKsymInfos = info.NrJitedKsyms makeSecondCall = true } @@ -380,6 +440,52 @@ func (pi *ProgramInfo) RecursionMisses() (uint64, bool) { return 0, false } +// btfSpec returns the BTF spec associated with the program. +func (pi *ProgramInfo) btfSpec() (*btf.Spec, error) { + id, ok := pi.BTFID() + if !ok { + return nil, fmt.Errorf("program created without BTF or unsupported kernel: %w", ErrNotSupported) + } + + h, err := btf.NewHandleFromID(id) + if err != nil { + return nil, fmt.Errorf("get BTF handle: %w", err) + } + defer h.Close() + + spec, err := h.Spec(nil) + if err != nil { + return nil, fmt.Errorf("get BTF spec: %w", err) + } + + return spec, nil +} + +// LineInfos returns the BTF line information of the program. +// +// Available from 5.0. +// +// Requires CAP_SYS_ADMIN or equivalent for reading BTF information. Returns +// ErrNotSupported if the program was created without BTF or if the kernel +// doesn't support the field. +func (pi *ProgramInfo) LineInfos() (btf.LineOffsets, error) { + if len(pi.lineInfos) == 0 { + return nil, fmt.Errorf("insufficient permissions or unsupported kernel: %w", ErrNotSupported) + } + + spec, err := pi.btfSpec() + if err != nil { + return nil, err + } + + return btf.LoadLineInfos( + bytes.NewReader(pi.lineInfos), + internal.NativeEndian, + pi.numLineInfos, + spec, + ) +} + // Instructions returns the 'xlated' instruction stream of the program // after it has been verified and rewritten by the kernel. These instructions // cannot be loaded back into the kernel as-is, this is mainly used for @@ -517,18 +623,42 @@ func (pi *ProgramInfo) VerifiedInstructions() (uint32, bool) { return pi.verifiedInstructions, pi.verifiedInstructions > 0 } -// KsymAddrs returns the ksym addresses of the BPF program, including its +// JitedKsymAddrs returns the ksym addresses of the BPF program, including its // subprograms. The addresses correspond to their symbols in /proc/kallsyms. // +// Available from 4.18. Note that before 5.x, this field can be empty for +// programs without subprograms (bpf2bpf calls). +// +// The bool return value indicates whether this optional field is available. +func (pi *ProgramInfo) JitedKsymAddrs() ([]uintptr, bool) { + return pi.jitedInfo.ksyms, len(pi.jitedInfo.ksyms) > 0 +} + +// JitedInsns returns the JITed machine native instructions of the program. +// +// Available from 4.13. +// +// The bool return value indicates whether this optional field is available. +func (pi *ProgramInfo) JitedInsns() ([]byte, bool) { + return pi.jitedInfo.insns, len(pi.jitedInfo.insns) > 0 +} + +// JitedLineInfos returns the JITed line infos of the program. +// +// Available from 5.0. +// +// The bool return value indicates whether this optional field is available. +func (pi *ProgramInfo) JitedLineInfos() ([]uint64, bool) { + return pi.jitedInfo.lineInfos, len(pi.jitedInfo.lineInfos) > 0 +} + +// JitedFuncLens returns the insns length of each function in the JITed program. +// // Available from 4.18. // // The bool return value indicates whether this optional field is available. -func (pi *ProgramInfo) KsymAddrs() ([]uintptr, bool) { - addrs := make([]uintptr, 0, len(pi.ksymInfos)) - for _, addr := range pi.ksymInfos { - addrs = append(addrs, uintptr(addr)) - } - return addrs, pi.numKsymInfos > 0 +func (pi *ProgramInfo) JitedFuncLens() ([]uint32, bool) { + return pi.jitedInfo.funcLens, len(pi.jitedInfo.funcLens) > 0 } // FuncInfos returns the offset and function information of all (sub)programs in @@ -540,20 +670,13 @@ func (pi *ProgramInfo) KsymAddrs() ([]uintptr, bool) { // ErrNotSupported if the program was created without BTF or if the kernel // doesn't support the field. func (pi *ProgramInfo) FuncInfos() (btf.FuncOffsets, error) { - id, ok := pi.BTFID() - if pi.numFuncInfos == 0 || !ok { - return nil, fmt.Errorf("program created without BTF or unsupported kernel: %w", ErrNotSupported) - } - - h, err := btf.NewHandleFromID(id) - if err != nil { - return nil, fmt.Errorf("get BTF handle: %w", err) + if len(pi.funcInfos) == 0 { + return nil, fmt.Errorf("insufficient permissions or unsupported kernel: %w", ErrNotSupported) } - defer h.Close() - spec, err := h.Spec(nil) + spec, err := pi.btfSpec() if err != nil { - return nil, fmt.Errorf("get BTF spec: %w", err) + return nil, err } return btf.LoadFuncInfos( diff --git a/vendor/github.com/cilium/ebpf/internal/sys/types.go b/vendor/github.com/cilium/ebpf/internal/sys/types.go index 19b287a5c0..f8792da052 100644 --- a/vendor/github.com/cilium/ebpf/internal/sys/types.go +++ b/vendor/github.com/cilium/ebpf/internal/sys/types.go @@ -720,7 +720,7 @@ type ProgInfo struct { Tag [8]uint8 JitedProgLen uint32 XlatedProgLen uint32 - JitedProgInsns uint64 + JitedProgInsns Pointer XlatedProgInsns Pointer LoadTime uint64 CreatedByUid uint32 @@ -734,14 +734,14 @@ type ProgInfo struct { NrJitedKsyms uint32 NrJitedFuncLens uint32 JitedKsyms Pointer - JitedFuncLens uint64 + JitedFuncLens Pointer BtfId BTFID FuncInfoRecSize uint32 FuncInfo Pointer NrFuncInfo uint32 NrLineInfo uint32 LineInfo Pointer - JitedLineInfo uint64 + JitedLineInfo Pointer NrJitedLineInfo uint32 LineInfoRecSize uint32 JitedLineInfoRecSize uint32 diff --git a/vendor/github.com/cilium/ebpf/variable.go b/vendor/github.com/cilium/ebpf/variable.go index 837cd5bfed..288b173a11 100644 --- a/vendor/github.com/cilium/ebpf/variable.go +++ b/vendor/github.com/cilium/ebpf/variable.go @@ -112,7 +112,9 @@ func (s *VariableSpec) copy(cpy *CollectionSpec) *VariableSpec { name: s.name, offset: s.offset, size: s.size, - t: s.t, + } + if s.t != nil { + out.t = btf.Copy(s.t).(*btf.Var) } // Attempt to find a MapSpec with the same name in the copied CollectionSpec. diff --git a/vendor/github.com/cilium/hive/script/cmds.go b/vendor/github.com/cilium/hive/script/cmds.go index 7ae0a798ee..a72abb26ed 100644 --- a/vendor/github.com/cilium/hive/script/cmds.go +++ b/vendor/github.com/cilium/hive/script/cmds.go @@ -661,7 +661,10 @@ func match(s *State, args []string, text, name string) error { isGrep := name == "grep" wantArgs := 1 - if !isGrep && len(args) != wantArgs { + if isGrep { + wantArgs = 2 + } + if len(args) != wantArgs { return ErrUsage } @@ -672,16 +675,12 @@ func match(s *State, args []string, text, name string) error { } if isGrep { - if len(args) == 1 || args[1] == "-" { - text = s.stdout - } else { - name = args[1] // for error messages - data, err := os.ReadFile(s.Path(args[1])) - if err != nil { - return err - } - text = string(data) + name = args[1] // for error messages + data, err := os.ReadFile(s.Path(args[1])) + if err != nil { + return err } + text = string(data) } if n > 0 { @@ -716,11 +715,13 @@ func Help() Cmd { return Command( CmdUsage{ Summary: "log help text for commands and conditions", - Args: "[-v] name...", + Args: "[-v] (regexp)", Detail: []string{ "To display help for a specific condition, enclose it in brackets: 'help [amd64]'.", "To display complete documentation when listing all commands, pass the -v flag.", + "Commands can be filtered with a regexp: 'help ^db'", }, + RegexpArgs: firstNonFlag, }, func(s *State, args ...string) (WaitFunc, error) { if s.engine == nil { @@ -757,7 +758,7 @@ func Help() Cmd { if len(args) == 0 { out.WriteString("\ncommands:\n\n") } - s.engine.ListCmds(out, verbose, cmds...) + s.engine.ListCmds(out, verbose, strings.Join(cmds, " ")) } wait := func(*State) (stdout, stderr string, err error) { diff --git a/vendor/github.com/cilium/hive/script/engine.go b/vendor/github.com/cilium/hive/script/engine.go index 75293cb416..15f5ba387a 100644 --- a/vendor/github.com/cilium/hive/script/engine.go +++ b/vendor/github.com/cilium/hive/script/engine.go @@ -58,6 +58,7 @@ import ( "errors" "fmt" "io" + "regexp" "sort" "strings" "time" @@ -752,21 +753,34 @@ func checkStatus(cmd *command, err error) error { // ListCmds prints to w a list of the named commands, // annotating each with its arguments and a short usage summary. // If verbose is true, ListCmds prints full details for each command. -// -// Each of the name arguments should be a command name. -// If no names are passed as arguments, ListCmds lists all the -// commands registered in e. -func (e *Engine) ListCmds(w io.Writer, verbose bool, names ...string) error { - if names == nil { - names = make([]string, 0, len(e.Cmds)) - for name := range e.Cmds { - names = append(names, name) +func (e *Engine) ListCmds(w io.Writer, verbose bool, regexMatch string) error { + var re *regexp.Regexp + if regexMatch != "" { + var err error + re, err = regexp.Compile(regexMatch) + if err != nil { + return err } - sort.Strings(names) } + names := make([]string, 0, len(e.Cmds)) + for name := range e.Cmds { + names = append(names, name) + } + sort.Strings(names) for _, name := range names { - cmd := e.Cmds[name] + if re != nil && !re.MatchString(name) { + continue + } + cmd, ok := e.Cmds[name] + if !ok { + _, err := fmt.Fprintf(w, "command %q is not registered\n", name) + if err != nil { + return err + } + return nil + } + usage := cmd.Usage() suffix := "" diff --git a/vendor/github.com/prometheus/common/expfmt/encode.go b/vendor/github.com/prometheus/common/expfmt/encode.go index cf0c150c2e..d7f3d76f55 100644 --- a/vendor/github.com/prometheus/common/expfmt/encode.go +++ b/vendor/github.com/prometheus/common/expfmt/encode.go @@ -68,7 +68,7 @@ func Negotiate(h http.Header) Format { if escapeParam := ac.Params[model.EscapingKey]; escapeParam != "" { switch Format(escapeParam) { case model.AllowUTF8, model.EscapeUnderscores, model.EscapeDots, model.EscapeValues: - escapingScheme = Format(fmt.Sprintf("; escaping=%s", escapeParam)) + escapingScheme = Format("; escaping=" + escapeParam) default: // If the escaping parameter is unknown, ignore it. } @@ -101,7 +101,7 @@ func NegotiateIncludingOpenMetrics(h http.Header) Format { if escapeParam := ac.Params[model.EscapingKey]; escapeParam != "" { switch Format(escapeParam) { case model.AllowUTF8, model.EscapeUnderscores, model.EscapeDots, model.EscapeValues: - escapingScheme = Format(fmt.Sprintf("; escaping=%s", escapeParam)) + escapingScheme = Format("; escaping=" + escapeParam) default: // If the escaping parameter is unknown, ignore it. } diff --git a/vendor/github.com/prometheus/common/expfmt/expfmt.go b/vendor/github.com/prometheus/common/expfmt/expfmt.go index d942af8edd..b26886560d 100644 --- a/vendor/github.com/prometheus/common/expfmt/expfmt.go +++ b/vendor/github.com/prometheus/common/expfmt/expfmt.go @@ -15,7 +15,7 @@ package expfmt import ( - "fmt" + "errors" "strings" "github.com/prometheus/common/model" @@ -109,7 +109,7 @@ func NewOpenMetricsFormat(version string) (Format, error) { if version == OpenMetricsVersion_1_0_0 { return FmtOpenMetrics_1_0_0, nil } - return FmtUnknown, fmt.Errorf("unknown open metrics version string") + return FmtUnknown, errors.New("unknown open metrics version string") } // WithEscapingScheme returns a copy of Format with the specified escaping diff --git a/vendor/github.com/prometheus/common/expfmt/openmetrics_create.go b/vendor/github.com/prometheus/common/expfmt/openmetrics_create.go index 11c8ff4b9d..f1c495dd60 100644 --- a/vendor/github.com/prometheus/common/expfmt/openmetrics_create.go +++ b/vendor/github.com/prometheus/common/expfmt/openmetrics_create.go @@ -152,8 +152,8 @@ func MetricFamilyToOpenMetrics(out io.Writer, in *dto.MetricFamily, options ...E if metricType == dto.MetricType_COUNTER && strings.HasSuffix(compliantName, "_total") { compliantName = name[:len(name)-6] } - if toOM.withUnit && in.Unit != nil && !strings.HasSuffix(compliantName, fmt.Sprintf("_%s", *in.Unit)) { - compliantName = compliantName + fmt.Sprintf("_%s", *in.Unit) + if toOM.withUnit && in.Unit != nil && !strings.HasSuffix(compliantName, "_"+*in.Unit) { + compliantName = compliantName + "_" + *in.Unit } // Comments, first HELP, then TYPE. diff --git a/vendor/github.com/prometheus/common/expfmt/text_parse.go b/vendor/github.com/prometheus/common/expfmt/text_parse.go index f085a923f6..b4607fe4d2 100644 --- a/vendor/github.com/prometheus/common/expfmt/text_parse.go +++ b/vendor/github.com/prometheus/common/expfmt/text_parse.go @@ -895,7 +895,7 @@ func histogramMetricName(name string) string { func parseFloat(s string) (float64, error) { if strings.ContainsAny(s, "pP_") { - return 0, fmt.Errorf("unsupported character in float") + return 0, errors.New("unsupported character in float") } return strconv.ParseFloat(s, 64) } diff --git a/vendor/github.com/prometheus/common/model/alert.go b/vendor/github.com/prometheus/common/model/alert.go index 80d1fe944e..bd3a39e3e1 100644 --- a/vendor/github.com/prometheus/common/model/alert.go +++ b/vendor/github.com/prometheus/common/model/alert.go @@ -14,6 +14,7 @@ package model import ( + "errors" "fmt" "time" ) @@ -89,16 +90,16 @@ func (a *Alert) StatusAt(ts time.Time) AlertStatus { // Validate checks whether the alert data is inconsistent. func (a *Alert) Validate() error { if a.StartsAt.IsZero() { - return fmt.Errorf("start time missing") + return errors.New("start time missing") } if !a.EndsAt.IsZero() && a.EndsAt.Before(a.StartsAt) { - return fmt.Errorf("start time must be before end time") + return errors.New("start time must be before end time") } if err := a.Labels.Validate(); err != nil { return fmt.Errorf("invalid label set: %w", err) } if len(a.Labels) == 0 { - return fmt.Errorf("at least one label pair required") + return errors.New("at least one label pair required") } if err := a.Annotations.Validate(); err != nil { return fmt.Errorf("invalid annotations: %w", err) diff --git a/vendor/github.com/prometheus/common/model/metric.go b/vendor/github.com/prometheus/common/model/metric.go index f50966bc49..0daca836af 100644 --- a/vendor/github.com/prometheus/common/model/metric.go +++ b/vendor/github.com/prometheus/common/model/metric.go @@ -14,9 +14,11 @@ package model import ( + "errors" "fmt" "regexp" "sort" + "strconv" "strings" "unicode/utf8" @@ -269,10 +271,6 @@ func metricNeedsEscaping(m *dto.Metric) bool { return false } -const ( - lowerhex = "0123456789abcdef" -) - // EscapeName escapes the incoming name according to the provided escaping // scheme. Depending on the rules of escaping, this may cause no change in the // string that is returned. (Especially NoEscaping, which by definition is a @@ -307,7 +305,7 @@ func EscapeName(name string, scheme EscapingScheme) string { } else if isValidLegacyRune(b, i) { escaped.WriteRune(b) } else { - escaped.WriteRune('_') + escaped.WriteString("__") } } return escaped.String() @@ -317,21 +315,15 @@ func EscapeName(name string, scheme EscapingScheme) string { } escaped.WriteString("U__") for i, b := range name { - if isValidLegacyRune(b, i) { + if b == '_' { + escaped.WriteString("__") + } else if isValidLegacyRune(b, i) { escaped.WriteRune(b) } else if !utf8.ValidRune(b) { escaped.WriteString("_FFFD_") - } else if b < 0x100 { - escaped.WriteRune('_') - for s := 4; s >= 0; s -= 4 { - escaped.WriteByte(lowerhex[b>>uint(s)&0xF]) - } - escaped.WriteRune('_') - } else if b < 0x10000 { + } else { escaped.WriteRune('_') - for s := 12; s >= 0; s -= 4 { - escaped.WriteByte(lowerhex[b>>uint(s)&0xF]) - } + escaped.WriteString(strconv.FormatInt(int64(b), 16)) escaped.WriteRune('_') } } @@ -389,8 +381,9 @@ func UnescapeName(name string, scheme EscapingScheme) string { // We think we are in a UTF-8 code, process it. var utf8Val uint for j := 0; i < len(escapedName); j++ { - // This is too many characters for a utf8 value. - if j > 4 { + // This is too many characters for a utf8 value based on the MaxRune + // value of '\U0010FFFF'. + if j >= 6 { return name } // Found a closing underscore, convert to a rune, check validity, and append. @@ -443,7 +436,7 @@ func (e EscapingScheme) String() string { func ToEscapingScheme(s string) (EscapingScheme, error) { if s == "" { - return NoEscaping, fmt.Errorf("got empty string instead of escaping scheme") + return NoEscaping, errors.New("got empty string instead of escaping scheme") } switch s { case AllowUTF8: diff --git a/vendor/github.com/prometheus/common/model/silence.go b/vendor/github.com/prometheus/common/model/silence.go index 910b0b71fc..8f91a9702e 100644 --- a/vendor/github.com/prometheus/common/model/silence.go +++ b/vendor/github.com/prometheus/common/model/silence.go @@ -15,6 +15,7 @@ package model import ( "encoding/json" + "errors" "fmt" "regexp" "time" @@ -34,7 +35,7 @@ func (m *Matcher) UnmarshalJSON(b []byte) error { } if len(m.Name) == 0 { - return fmt.Errorf("label name in matcher must not be empty") + return errors.New("label name in matcher must not be empty") } if m.IsRegex { if _, err := regexp.Compile(m.Value); err != nil { @@ -77,7 +78,7 @@ type Silence struct { // Validate returns true iff all fields of the silence have valid values. func (s *Silence) Validate() error { if len(s.Matchers) == 0 { - return fmt.Errorf("at least one matcher required") + return errors.New("at least one matcher required") } for _, m := range s.Matchers { if err := m.Validate(); err != nil { @@ -85,22 +86,22 @@ func (s *Silence) Validate() error { } } if s.StartsAt.IsZero() { - return fmt.Errorf("start time missing") + return errors.New("start time missing") } if s.EndsAt.IsZero() { - return fmt.Errorf("end time missing") + return errors.New("end time missing") } if s.EndsAt.Before(s.StartsAt) { - return fmt.Errorf("start time must be before end time") + return errors.New("start time must be before end time") } if s.CreatedBy == "" { - return fmt.Errorf("creator information missing") + return errors.New("creator information missing") } if s.Comment == "" { - return fmt.Errorf("comment missing") + return errors.New("comment missing") } if s.CreatedAt.IsZero() { - return fmt.Errorf("creation timestamp missing") + return errors.New("creation timestamp missing") } return nil } diff --git a/vendor/github.com/prometheus/common/model/value_float.go b/vendor/github.com/prometheus/common/model/value_float.go index ae35cc2ab4..6bfc757d18 100644 --- a/vendor/github.com/prometheus/common/model/value_float.go +++ b/vendor/github.com/prometheus/common/model/value_float.go @@ -15,6 +15,7 @@ package model import ( "encoding/json" + "errors" "fmt" "math" "strconv" @@ -39,7 +40,7 @@ func (v SampleValue) MarshalJSON() ([]byte, error) { // UnmarshalJSON implements json.Unmarshaler. func (v *SampleValue) UnmarshalJSON(b []byte) error { if len(b) < 2 || b[0] != '"' || b[len(b)-1] != '"' { - return fmt.Errorf("sample value must be a quoted string") + return errors.New("sample value must be a quoted string") } f, err := strconv.ParseFloat(string(b[1:len(b)-1]), 64) if err != nil { diff --git a/vendor/github.com/prometheus/common/model/value_histogram.go b/vendor/github.com/prometheus/common/model/value_histogram.go index 54bb038cff..895e6a3e83 100644 --- a/vendor/github.com/prometheus/common/model/value_histogram.go +++ b/vendor/github.com/prometheus/common/model/value_histogram.go @@ -15,6 +15,7 @@ package model import ( "encoding/json" + "errors" "fmt" "strconv" "strings" @@ -32,7 +33,7 @@ func (v FloatString) MarshalJSON() ([]byte, error) { func (v *FloatString) UnmarshalJSON(b []byte) error { if len(b) < 2 || b[0] != '"' || b[len(b)-1] != '"' { - return fmt.Errorf("float value must be a quoted string") + return errors.New("float value must be a quoted string") } f, err := strconv.ParseFloat(string(b[1:len(b)-1]), 64) if err != nil { @@ -141,7 +142,7 @@ type SampleHistogramPair struct { func (s SampleHistogramPair) MarshalJSON() ([]byte, error) { if s.Histogram == nil { - return nil, fmt.Errorf("histogram is nil") + return nil, errors.New("histogram is nil") } t, err := json.Marshal(s.Timestamp) if err != nil { @@ -164,7 +165,7 @@ func (s *SampleHistogramPair) UnmarshalJSON(buf []byte) error { return fmt.Errorf("wrong number of fields: %d != %d", gotLen, wantLen) } if s.Histogram == nil { - return fmt.Errorf("histogram is null") + return errors.New("histogram is null") } return nil } diff --git a/vendor/golang.org/x/net/http2/frame.go b/vendor/golang.org/x/net/http2/frame.go index 105c3b279c..81faec7e75 100644 --- a/vendor/golang.org/x/net/http2/frame.go +++ b/vendor/golang.org/x/net/http2/frame.go @@ -1490,7 +1490,7 @@ func (mh *MetaHeadersFrame) checkPseudos() error { pf := mh.PseudoFields() for i, hf := range pf { switch hf.Name { - case ":method", ":path", ":scheme", ":authority": + case ":method", ":path", ":scheme", ":authority", ":protocol": isRequest = true case ":status": isResponse = true @@ -1498,7 +1498,7 @@ func (mh *MetaHeadersFrame) checkPseudos() error { return pseudoHeaderError(hf.Name) } // Check for duplicates. - // This would be a bad algorithm, but N is 4. + // This would be a bad algorithm, but N is 5. // And this doesn't allocate. for _, hf2 := range pf[:i] { if hf.Name == hf2.Name { diff --git a/vendor/golang.org/x/net/http2/http2.go b/vendor/golang.org/x/net/http2/http2.go index 7688c356b7..c7601c909f 100644 --- a/vendor/golang.org/x/net/http2/http2.go +++ b/vendor/golang.org/x/net/http2/http2.go @@ -34,10 +34,11 @@ import ( ) var ( - VerboseLogs bool - logFrameWrites bool - logFrameReads bool - inTests bool + VerboseLogs bool + logFrameWrites bool + logFrameReads bool + inTests bool + disableExtendedConnectProtocol bool ) func init() { @@ -50,6 +51,9 @@ func init() { logFrameWrites = true logFrameReads = true } + if strings.Contains(e, "http2xconnect=0") { + disableExtendedConnectProtocol = true + } } const ( @@ -141,6 +145,10 @@ func (s Setting) Valid() error { if s.Val < 16384 || s.Val > 1<<24-1 { return ConnectionError(ErrCodeProtocol) } + case SettingEnableConnectProtocol: + if s.Val != 1 && s.Val != 0 { + return ConnectionError(ErrCodeProtocol) + } } return nil } @@ -150,21 +158,23 @@ func (s Setting) Valid() error { type SettingID uint16 const ( - SettingHeaderTableSize SettingID = 0x1 - SettingEnablePush SettingID = 0x2 - SettingMaxConcurrentStreams SettingID = 0x3 - SettingInitialWindowSize SettingID = 0x4 - SettingMaxFrameSize SettingID = 0x5 - SettingMaxHeaderListSize SettingID = 0x6 + SettingHeaderTableSize SettingID = 0x1 + SettingEnablePush SettingID = 0x2 + SettingMaxConcurrentStreams SettingID = 0x3 + SettingInitialWindowSize SettingID = 0x4 + SettingMaxFrameSize SettingID = 0x5 + SettingMaxHeaderListSize SettingID = 0x6 + SettingEnableConnectProtocol SettingID = 0x8 ) var settingName = map[SettingID]string{ - SettingHeaderTableSize: "HEADER_TABLE_SIZE", - SettingEnablePush: "ENABLE_PUSH", - SettingMaxConcurrentStreams: "MAX_CONCURRENT_STREAMS", - SettingInitialWindowSize: "INITIAL_WINDOW_SIZE", - SettingMaxFrameSize: "MAX_FRAME_SIZE", - SettingMaxHeaderListSize: "MAX_HEADER_LIST_SIZE", + SettingHeaderTableSize: "HEADER_TABLE_SIZE", + SettingEnablePush: "ENABLE_PUSH", + SettingMaxConcurrentStreams: "MAX_CONCURRENT_STREAMS", + SettingInitialWindowSize: "INITIAL_WINDOW_SIZE", + SettingMaxFrameSize: "MAX_FRAME_SIZE", + SettingMaxHeaderListSize: "MAX_HEADER_LIST_SIZE", + SettingEnableConnectProtocol: "ENABLE_CONNECT_PROTOCOL", } func (s SettingID) String() string { diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go index 832414b450..b55547aec6 100644 --- a/vendor/golang.org/x/net/http2/server.go +++ b/vendor/golang.org/x/net/http2/server.go @@ -932,14 +932,18 @@ func (sc *serverConn) serve(conf http2Config) { sc.vlogf("http2: server connection from %v on %p", sc.conn.RemoteAddr(), sc.hs) } + settings := writeSettings{ + {SettingMaxFrameSize, conf.MaxReadFrameSize}, + {SettingMaxConcurrentStreams, sc.advMaxStreams}, + {SettingMaxHeaderListSize, sc.maxHeaderListSize()}, + {SettingHeaderTableSize, conf.MaxDecoderHeaderTableSize}, + {SettingInitialWindowSize, uint32(sc.initialStreamRecvWindowSize)}, + } + if !disableExtendedConnectProtocol { + settings = append(settings, Setting{SettingEnableConnectProtocol, 1}) + } sc.writeFrame(FrameWriteRequest{ - write: writeSettings{ - {SettingMaxFrameSize, conf.MaxReadFrameSize}, - {SettingMaxConcurrentStreams, sc.advMaxStreams}, - {SettingMaxHeaderListSize, sc.maxHeaderListSize()}, - {SettingHeaderTableSize, conf.MaxDecoderHeaderTableSize}, - {SettingInitialWindowSize, uint32(sc.initialStreamRecvWindowSize)}, - }, + write: settings, }) sc.unackedSettings++ @@ -1801,6 +1805,9 @@ func (sc *serverConn) processSetting(s Setting) error { sc.maxFrameSize = int32(s.Val) // the maximum valid s.Val is < 2^31 case SettingMaxHeaderListSize: sc.peerMaxHeaderListSize = s.Val + case SettingEnableConnectProtocol: + // Receipt of this parameter by a server does not + // have any impact default: // Unknown setting: "An endpoint that receives a SETTINGS // frame with any unknown or unsupported identifier MUST @@ -2231,11 +2238,17 @@ func (sc *serverConn) newWriterAndRequest(st *stream, f *MetaHeadersFrame) (*res scheme: f.PseudoValue("scheme"), authority: f.PseudoValue("authority"), path: f.PseudoValue("path"), + protocol: f.PseudoValue("protocol"), + } + + // extended connect is disabled, so we should not see :protocol + if disableExtendedConnectProtocol && rp.protocol != "" { + return nil, nil, sc.countError("bad_connect", streamError(f.StreamID, ErrCodeProtocol)) } isConnect := rp.method == "CONNECT" if isConnect { - if rp.path != "" || rp.scheme != "" || rp.authority == "" { + if rp.protocol == "" && (rp.path != "" || rp.scheme != "" || rp.authority == "") { return nil, nil, sc.countError("bad_connect", streamError(f.StreamID, ErrCodeProtocol)) } } else if rp.method == "" || rp.path == "" || (rp.scheme != "https" && rp.scheme != "http") { @@ -2259,6 +2272,9 @@ func (sc *serverConn) newWriterAndRequest(st *stream, f *MetaHeadersFrame) (*res if rp.authority == "" { rp.authority = rp.header.Get("Host") } + if rp.protocol != "" { + rp.header.Set(":protocol", rp.protocol) + } rw, req, err := sc.newWriterAndRequestNoBody(st, rp) if err != nil { @@ -2285,6 +2301,7 @@ func (sc *serverConn) newWriterAndRequest(st *stream, f *MetaHeadersFrame) (*res type requestParam struct { method string scheme, authority, path string + protocol string header http.Header } @@ -2326,7 +2343,7 @@ func (sc *serverConn) newWriterAndRequestNoBody(st *stream, rp requestParam) (*r var url_ *url.URL var requestURI string - if rp.method == "CONNECT" { + if rp.method == "CONNECT" && rp.protocol == "" { url_ = &url.URL{Host: rp.authority} requestURI = rp.authority // mimic HTTP/1 server behavior } else { diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go index f5968f4407..090d0e1bdb 100644 --- a/vendor/golang.org/x/net/http2/transport.go +++ b/vendor/golang.org/x/net/http2/transport.go @@ -368,25 +368,26 @@ type ClientConn struct { idleTimeout time.Duration // or 0 for never idleTimer timer - mu sync.Mutex // guards following - cond *sync.Cond // hold mu; broadcast on flow/closed changes - flow outflow // our conn-level flow control quota (cs.outflow is per stream) - inflow inflow // peer's conn-level flow control - doNotReuse bool // whether conn is marked to not be reused for any future requests - closing bool - closed bool - seenSettings bool // true if we've seen a settings frame, false otherwise - wantSettingsAck bool // we sent a SETTINGS frame and haven't heard back - goAway *GoAwayFrame // if non-nil, the GoAwayFrame we received - goAwayDebug string // goAway frame's debug data, retained as a string - streams map[uint32]*clientStream // client-initiated - streamsReserved int // incr by ReserveNewRequest; decr on RoundTrip - nextStreamID uint32 - pendingRequests int // requests blocked and waiting to be sent because len(streams) == maxConcurrentStreams - pings map[[8]byte]chan struct{} // in flight ping data to notification channel - br *bufio.Reader - lastActive time.Time - lastIdle time.Time // time last idle + mu sync.Mutex // guards following + cond *sync.Cond // hold mu; broadcast on flow/closed changes + flow outflow // our conn-level flow control quota (cs.outflow is per stream) + inflow inflow // peer's conn-level flow control + doNotReuse bool // whether conn is marked to not be reused for any future requests + closing bool + closed bool + seenSettings bool // true if we've seen a settings frame, false otherwise + seenSettingsChan chan struct{} // closed when seenSettings is true or frame reading fails + wantSettingsAck bool // we sent a SETTINGS frame and haven't heard back + goAway *GoAwayFrame // if non-nil, the GoAwayFrame we received + goAwayDebug string // goAway frame's debug data, retained as a string + streams map[uint32]*clientStream // client-initiated + streamsReserved int // incr by ReserveNewRequest; decr on RoundTrip + nextStreamID uint32 + pendingRequests int // requests blocked and waiting to be sent because len(streams) == maxConcurrentStreams + pings map[[8]byte]chan struct{} // in flight ping data to notification channel + br *bufio.Reader + lastActive time.Time + lastIdle time.Time // time last idle // Settings from peer: (also guarded by wmu) maxFrameSize uint32 maxConcurrentStreams uint32 @@ -396,6 +397,17 @@ type ClientConn struct { initialStreamRecvWindowSize int32 readIdleTimeout time.Duration pingTimeout time.Duration + extendedConnectAllowed bool + + // rstStreamPingsBlocked works around an unfortunate gRPC behavior. + // gRPC strictly limits the number of PING frames that it will receive. + // The default is two pings per two hours, but the limit resets every time + // the gRPC endpoint sends a HEADERS or DATA frame. See golang/go#70575. + // + // rstStreamPingsBlocked is set after receiving a response to a PING frame + // bundled with an RST_STREAM (see pendingResets below), and cleared after + // receiving a HEADERS or DATA frame. + rstStreamPingsBlocked bool // pendingResets is the number of RST_STREAM frames we have sent to the peer, // without confirming that the peer has received them. When we send a RST_STREAM, @@ -819,6 +831,7 @@ func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, erro peerMaxHeaderListSize: 0xffffffffffffffff, // "infinite", per spec. Use 2^64-1 instead. streams: make(map[uint32]*clientStream), singleUse: singleUse, + seenSettingsChan: make(chan struct{}), wantSettingsAck: true, readIdleTimeout: conf.SendPingTimeout, pingTimeout: conf.PingTimeout, @@ -1466,6 +1479,8 @@ func (cs *clientStream) doRequest(req *http.Request, streamf func(*clientStream) cs.cleanupWriteRequest(err) } +var errExtendedConnectNotSupported = errors.New("net/http: extended connect not supported by peer") + // writeRequest sends a request. // // It returns nil after the request is written, the response read, @@ -1481,12 +1496,31 @@ func (cs *clientStream) writeRequest(req *http.Request, streamf func(*clientStre return err } + // wait for setting frames to be received, a server can change this value later, + // but we just wait for the first settings frame + var isExtendedConnect bool + if req.Method == "CONNECT" && req.Header.Get(":protocol") != "" { + isExtendedConnect = true + } + // Acquire the new-request lock by writing to reqHeaderMu. // This lock guards the critical section covering allocating a new stream ID // (requires mu) and creating the stream (requires wmu). if cc.reqHeaderMu == nil { panic("RoundTrip on uninitialized ClientConn") // for tests } + if isExtendedConnect { + select { + case <-cs.reqCancel: + return errRequestCanceled + case <-ctx.Done(): + return ctx.Err() + case <-cc.seenSettingsChan: + if !cc.extendedConnectAllowed { + return errExtendedConnectNotSupported + } + } + } select { case cc.reqHeaderMu <- struct{}{}: case <-cs.reqCancel: @@ -1714,10 +1748,14 @@ func (cs *clientStream) cleanupWriteRequest(err error) { ping := false if !closeOnIdle { cc.mu.Lock() - if cc.pendingResets == 0 { - ping = true + // rstStreamPingsBlocked works around a gRPC behavior: + // see comment on the field for details. + if !cc.rstStreamPingsBlocked { + if cc.pendingResets == 0 { + ping = true + } + cc.pendingResets++ } - cc.pendingResets++ cc.mu.Unlock() } cc.writeStreamReset(cs.ID, ErrCodeCancel, ping, err) @@ -2030,7 +2068,7 @@ func (cs *clientStream) awaitFlowControl(maxBytes int) (taken int32, err error) func validateHeaders(hdrs http.Header) string { for k, vv := range hdrs { - if !httpguts.ValidHeaderFieldName(k) { + if !httpguts.ValidHeaderFieldName(k) && k != ":protocol" { return fmt.Sprintf("name %q", k) } for _, v := range vv { @@ -2046,6 +2084,10 @@ func validateHeaders(hdrs http.Header) string { var errNilRequestURL = errors.New("http2: Request.URI is nil") +func isNormalConnect(req *http.Request) bool { + return req.Method == "CONNECT" && req.Header.Get(":protocol") == "" +} + // requires cc.wmu be held. func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trailers string, contentLength int64) ([]byte, error) { cc.hbuf.Reset() @@ -2066,7 +2108,7 @@ func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trail } var path string - if req.Method != "CONNECT" { + if !isNormalConnect(req) { path = req.URL.RequestURI() if !validPseudoPath(path) { orig := path @@ -2103,7 +2145,7 @@ func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trail m = http.MethodGet } f(":method", m) - if req.Method != "CONNECT" { + if !isNormalConnect(req) { f(":path", path) f(":scheme", req.URL.Scheme) } @@ -2461,7 +2503,7 @@ func (rl *clientConnReadLoop) run() error { cc.vlogf("http2: Transport readFrame error on conn %p: (%T) %v", cc, err, err) } if se, ok := err.(StreamError); ok { - if cs := rl.streamByID(se.StreamID); cs != nil { + if cs := rl.streamByID(se.StreamID, notHeaderOrDataFrame); cs != nil { if se.Cause == nil { se.Cause = cc.fr.errDetail } @@ -2507,13 +2549,16 @@ func (rl *clientConnReadLoop) run() error { if VerboseLogs { cc.vlogf("http2: Transport conn %p received error from processing frame %v: %v", cc, summarizeFrame(f), err) } + if !cc.seenSettings { + close(cc.seenSettingsChan) + } return err } } } func (rl *clientConnReadLoop) processHeaders(f *MetaHeadersFrame) error { - cs := rl.streamByID(f.StreamID) + cs := rl.streamByID(f.StreamID, headerOrDataFrame) if cs == nil { // We'd get here if we canceled a request while the // server had its response still in flight. So if this @@ -2842,7 +2887,7 @@ func (b transportResponseBody) Close() error { func (rl *clientConnReadLoop) processData(f *DataFrame) error { cc := rl.cc - cs := rl.streamByID(f.StreamID) + cs := rl.streamByID(f.StreamID, headerOrDataFrame) data := f.Data() if cs == nil { cc.mu.Lock() @@ -2977,9 +3022,22 @@ func (rl *clientConnReadLoop) endStreamError(cs *clientStream, err error) { cs.abortStream(err) } -func (rl *clientConnReadLoop) streamByID(id uint32) *clientStream { +// Constants passed to streamByID for documentation purposes. +const ( + headerOrDataFrame = true + notHeaderOrDataFrame = false +) + +// streamByID returns the stream with the given id, or nil if no stream has that id. +// If headerOrData is true, it clears rst.StreamPingsBlocked. +func (rl *clientConnReadLoop) streamByID(id uint32, headerOrData bool) *clientStream { rl.cc.mu.Lock() defer rl.cc.mu.Unlock() + if headerOrData { + // Work around an unfortunate gRPC behavior. + // See comment on ClientConn.rstStreamPingsBlocked for details. + rl.cc.rstStreamPingsBlocked = false + } cs := rl.cc.streams[id] if cs != nil && !cs.readAborted { return cs @@ -3073,6 +3131,21 @@ func (rl *clientConnReadLoop) processSettingsNoWrite(f *SettingsFrame) error { case SettingHeaderTableSize: cc.henc.SetMaxDynamicTableSize(s.Val) cc.peerMaxHeaderTableSize = s.Val + case SettingEnableConnectProtocol: + if err := s.Valid(); err != nil { + return err + } + // If the peer wants to send us SETTINGS_ENABLE_CONNECT_PROTOCOL, + // we require that it do so in the first SETTINGS frame. + // + // When we attempt to use extended CONNECT, we wait for the first + // SETTINGS frame to see if the server supports it. If we let the + // server enable the feature with a later SETTINGS frame, then + // users will see inconsistent results depending on whether we've + // seen that frame or not. + if !cc.seenSettings { + cc.extendedConnectAllowed = s.Val == 1 + } default: cc.vlogf("Unhandled Setting: %v", s) } @@ -3090,6 +3163,7 @@ func (rl *clientConnReadLoop) processSettingsNoWrite(f *SettingsFrame) error { // connection can establish to our default. cc.maxConcurrentStreams = defaultMaxConcurrentStreams } + close(cc.seenSettingsChan) cc.seenSettings = true } @@ -3098,7 +3172,7 @@ func (rl *clientConnReadLoop) processSettingsNoWrite(f *SettingsFrame) error { func (rl *clientConnReadLoop) processWindowUpdate(f *WindowUpdateFrame) error { cc := rl.cc - cs := rl.streamByID(f.StreamID) + cs := rl.streamByID(f.StreamID, notHeaderOrDataFrame) if f.StreamID != 0 && cs == nil { return nil } @@ -3127,7 +3201,7 @@ func (rl *clientConnReadLoop) processWindowUpdate(f *WindowUpdateFrame) error { } func (rl *clientConnReadLoop) processResetStream(f *RSTStreamFrame) error { - cs := rl.streamByID(f.StreamID) + cs := rl.streamByID(f.StreamID, notHeaderOrDataFrame) if cs == nil { // TODO: return error if server tries to RST_STREAM an idle stream return nil @@ -3205,6 +3279,7 @@ func (rl *clientConnReadLoop) processPing(f *PingFrame) error { if cc.pendingResets > 0 { // See clientStream.cleanupWriteRequest. cc.pendingResets = 0 + cc.rstStreamPingsBlocked = true cc.cond.Broadcast() } return nil diff --git a/vendor/golang.org/x/oauth2/README.md b/vendor/golang.org/x/oauth2/README.md index 781770c204..48dbb9d84c 100644 --- a/vendor/golang.org/x/oauth2/README.md +++ b/vendor/golang.org/x/oauth2/README.md @@ -5,15 +5,6 @@ oauth2 package contains a client implementation for OAuth 2.0 spec. -## Installation - -~~~~ -go get golang.org/x/oauth2 -~~~~ - -Or you can manually git clone the repository to -`$(go env GOPATH)/src/golang.org/x/oauth2`. - See pkg.go.dev for further documentation and examples. * [pkg.go.dev/golang.org/x/oauth2](https://pkg.go.dev/golang.org/x/oauth2) @@ -33,7 +24,11 @@ The main issue tracker for the oauth2 repository is located at https://github.com/golang/oauth2/issues. This repository uses Gerrit for code changes. To learn how to submit changes to -this repository, see https://golang.org/doc/contribute.html. In particular: +this repository, see https://go.dev/doc/contribute. + +The git repository is https://go.googlesource.com/oauth2. + +Note: * Excluding trivial changes, all contributions should be connected to an existing issue. * API changes must go through the [change proposal process](https://go.dev/s/proposal-process) before they can be accepted. diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux.go b/vendor/golang.org/x/sys/unix/zerrors_linux.go index ccba391c9f..6ebc48b3fe 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux.go @@ -321,6 +321,9 @@ const ( AUDIT_INTEGRITY_STATUS = 0x70a AUDIT_IPC = 0x517 AUDIT_IPC_SET_PERM = 0x51f + AUDIT_IPE_ACCESS = 0x58c + AUDIT_IPE_CONFIG_CHANGE = 0x58d + AUDIT_IPE_POLICY_LOAD = 0x58e AUDIT_KERNEL = 0x7d0 AUDIT_KERNEL_OTHER = 0x524 AUDIT_KERN_MODULE = 0x532 @@ -489,6 +492,7 @@ const ( BPF_F_ID = 0x20 BPF_F_NETFILTER_IP_DEFRAG = 0x1 BPF_F_QUERY_EFFECTIVE = 0x1 + BPF_F_REDIRECT_FLAGS = 0x19 BPF_F_REPLACE = 0x4 BPF_F_SLEEPABLE = 0x10 BPF_F_STRICT_ALIGNMENT = 0x1 @@ -1166,6 +1170,7 @@ const ( EXTA = 0xe EXTB = 0xf F2FS_SUPER_MAGIC = 0xf2f52010 + FALLOC_FL_ALLOCATE_RANGE = 0x0 FALLOC_FL_COLLAPSE_RANGE = 0x8 FALLOC_FL_INSERT_RANGE = 0x20 FALLOC_FL_KEEP_SIZE = 0x1 @@ -1799,6 +1804,8 @@ const ( LANDLOCK_ACCESS_NET_BIND_TCP = 0x1 LANDLOCK_ACCESS_NET_CONNECT_TCP = 0x2 LANDLOCK_CREATE_RULESET_VERSION = 0x1 + LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET = 0x1 + LANDLOCK_SCOPE_SIGNAL = 0x2 LINUX_REBOOT_CMD_CAD_OFF = 0x0 LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef LINUX_REBOOT_CMD_HALT = 0xcdef0123 @@ -1924,6 +1931,7 @@ const ( MNT_FORCE = 0x1 MNT_ID_REQ_SIZE_VER0 = 0x18 MNT_ID_REQ_SIZE_VER1 = 0x20 + MNT_NS_INFO_SIZE_VER0 = 0x10 MODULE_INIT_COMPRESSED_FILE = 0x4 MODULE_INIT_IGNORE_MODVERSIONS = 0x1 MODULE_INIT_IGNORE_VERMAGIC = 0x2 @@ -2970,6 +2978,7 @@ const ( RWF_WRITE_LIFE_NOT_SET = 0x0 SCHED_BATCH = 0x3 SCHED_DEADLINE = 0x6 + SCHED_EXT = 0x7 SCHED_FIFO = 0x1 SCHED_FLAG_ALL = 0x7f SCHED_FLAG_DL_OVERRUN = 0x4 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go index 0c00cb3f3a..c0d45e3205 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -109,6 +109,7 @@ const ( HIDIOCGRAWINFO = 0x80084803 HIDIOCGRDESC = 0x90044802 HIDIOCGRDESCSIZE = 0x80044801 + HIDIOCREVOKE = 0x4004480d HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 @@ -297,6 +298,8 @@ const ( RTC_WIE_ON = 0x700f RTC_WKALM_RD = 0x80287010 RTC_WKALM_SET = 0x4028700f + SCM_DEVMEM_DMABUF = 0x4f + SCM_DEVMEM_LINEAR = 0x4e SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a @@ -335,6 +338,9 @@ const ( SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DEVMEM_DMABUF = 0x4f + SO_DEVMEM_DONTNEED = 0x50 + SO_DEVMEM_LINEAR = 0x4e SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go index dfb364554d..c731d24f02 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -109,6 +109,7 @@ const ( HIDIOCGRAWINFO = 0x80084803 HIDIOCGRDESC = 0x90044802 HIDIOCGRDESCSIZE = 0x80044801 + HIDIOCREVOKE = 0x4004480d HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 @@ -298,6 +299,8 @@ const ( RTC_WIE_ON = 0x700f RTC_WKALM_RD = 0x80287010 RTC_WKALM_SET = 0x4028700f + SCM_DEVMEM_DMABUF = 0x4f + SCM_DEVMEM_LINEAR = 0x4e SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a @@ -336,6 +339,9 @@ const ( SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DEVMEM_DMABUF = 0x4f + SO_DEVMEM_DONTNEED = 0x50 + SO_DEVMEM_LINEAR = 0x4e SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go index d46dcf78ab..680018a4a7 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -108,6 +108,7 @@ const ( HIDIOCGRAWINFO = 0x80084803 HIDIOCGRDESC = 0x90044802 HIDIOCGRDESCSIZE = 0x80044801 + HIDIOCREVOKE = 0x4004480d HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 @@ -303,6 +304,8 @@ const ( RTC_WIE_ON = 0x700f RTC_WKALM_RD = 0x80287010 RTC_WKALM_SET = 0x4028700f + SCM_DEVMEM_DMABUF = 0x4f + SCM_DEVMEM_LINEAR = 0x4e SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a @@ -341,6 +344,9 @@ const ( SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DEVMEM_DMABUF = 0x4f + SO_DEVMEM_DONTNEED = 0x50 + SO_DEVMEM_LINEAR = 0x4e SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go index 3af3248a7f..a63909f308 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -112,6 +112,7 @@ const ( HIDIOCGRAWINFO = 0x80084803 HIDIOCGRDESC = 0x90044802 HIDIOCGRDESCSIZE = 0x80044801 + HIDIOCREVOKE = 0x4004480d HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 @@ -205,6 +206,7 @@ const ( PERF_EVENT_IOC_SET_BPF = 0x40042408 PERF_EVENT_IOC_SET_FILTER = 0x40082406 PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + POE_MAGIC = 0x504f4530 PPPIOCATTACH = 0x4004743d PPPIOCATTCHAN = 0x40047438 PPPIOCBRIDGECHAN = 0x40047435 @@ -294,6 +296,8 @@ const ( RTC_WIE_ON = 0x700f RTC_WKALM_RD = 0x80287010 RTC_WKALM_SET = 0x4028700f + SCM_DEVMEM_DMABUF = 0x4f + SCM_DEVMEM_LINEAR = 0x4e SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a @@ -332,6 +336,9 @@ const ( SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DEVMEM_DMABUF = 0x4f + SO_DEVMEM_DONTNEED = 0x50 + SO_DEVMEM_LINEAR = 0x4e SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go index 292bcf0283..9b0a2573fe 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go @@ -109,6 +109,7 @@ const ( HIDIOCGRAWINFO = 0x80084803 HIDIOCGRDESC = 0x90044802 HIDIOCGRDESCSIZE = 0x80044801 + HIDIOCREVOKE = 0x4004480d HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 @@ -290,6 +291,8 @@ const ( RTC_WIE_ON = 0x700f RTC_WKALM_RD = 0x80287010 RTC_WKALM_SET = 0x4028700f + SCM_DEVMEM_DMABUF = 0x4f + SCM_DEVMEM_LINEAR = 0x4e SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a @@ -328,6 +331,9 @@ const ( SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DEVMEM_DMABUF = 0x4f + SO_DEVMEM_DONTNEED = 0x50 + SO_DEVMEM_LINEAR = 0x4e SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go index 782b7110fa..958e6e0645 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -108,6 +108,7 @@ const ( HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 + HIDIOCREVOKE = 0x8004480d HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x100 @@ -296,6 +297,8 @@ const ( RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f + SCM_DEVMEM_DMABUF = 0x4f + SCM_DEVMEM_LINEAR = 0x4e SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a @@ -334,6 +337,9 @@ const ( SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DEVMEM_DMABUF = 0x4f + SO_DEVMEM_DONTNEED = 0x50 + SO_DEVMEM_LINEAR = 0x4e SO_DOMAIN = 0x1029 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go index 84973fd927..50c7f25bd1 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -108,6 +108,7 @@ const ( HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 + HIDIOCREVOKE = 0x8004480d HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x100 @@ -296,6 +297,8 @@ const ( RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f + SCM_DEVMEM_DMABUF = 0x4f + SCM_DEVMEM_LINEAR = 0x4e SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a @@ -334,6 +337,9 @@ const ( SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DEVMEM_DMABUF = 0x4f + SO_DEVMEM_DONTNEED = 0x50 + SO_DEVMEM_LINEAR = 0x4e SO_DOMAIN = 0x1029 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go index 6d9cbc3b27..ced21d66d9 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -108,6 +108,7 @@ const ( HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 + HIDIOCREVOKE = 0x8004480d HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x100 @@ -296,6 +297,8 @@ const ( RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f + SCM_DEVMEM_DMABUF = 0x4f + SCM_DEVMEM_LINEAR = 0x4e SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a @@ -334,6 +337,9 @@ const ( SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DEVMEM_DMABUF = 0x4f + SO_DEVMEM_DONTNEED = 0x50 + SO_DEVMEM_LINEAR = 0x4e SO_DOMAIN = 0x1029 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go index 5f9fedbce0..226c044190 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -108,6 +108,7 @@ const ( HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 + HIDIOCREVOKE = 0x8004480d HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x100 @@ -296,6 +297,8 @@ const ( RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f + SCM_DEVMEM_DMABUF = 0x4f + SCM_DEVMEM_LINEAR = 0x4e SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a @@ -334,6 +337,9 @@ const ( SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DEVMEM_DMABUF = 0x4f + SO_DEVMEM_DONTNEED = 0x50 + SO_DEVMEM_LINEAR = 0x4e SO_DOMAIN = 0x1029 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go index bb0026ee0c..3122737cd4 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go @@ -108,6 +108,7 @@ const ( HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 + HIDIOCREVOKE = 0x8004480d HUPCL = 0x4000 ICANON = 0x100 IEXTEN = 0x400 @@ -351,6 +352,8 @@ const ( RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f + SCM_DEVMEM_DMABUF = 0x4f + SCM_DEVMEM_LINEAR = 0x4e SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a @@ -389,6 +392,9 @@ const ( SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DEVMEM_DMABUF = 0x4f + SO_DEVMEM_DONTNEED = 0x50 + SO_DEVMEM_LINEAR = 0x4e SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go index 46120db5c9..eb5d3467ed 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -108,6 +108,7 @@ const ( HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 + HIDIOCREVOKE = 0x8004480d HUPCL = 0x4000 ICANON = 0x100 IEXTEN = 0x400 @@ -355,6 +356,8 @@ const ( RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f + SCM_DEVMEM_DMABUF = 0x4f + SCM_DEVMEM_LINEAR = 0x4e SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a @@ -393,6 +396,9 @@ const ( SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DEVMEM_DMABUF = 0x4f + SO_DEVMEM_DONTNEED = 0x50 + SO_DEVMEM_LINEAR = 0x4e SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go index 5c951634fb..e921ebc60b 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -108,6 +108,7 @@ const ( HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 + HIDIOCREVOKE = 0x8004480d HUPCL = 0x4000 ICANON = 0x100 IEXTEN = 0x400 @@ -355,6 +356,8 @@ const ( RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f + SCM_DEVMEM_DMABUF = 0x4f + SCM_DEVMEM_LINEAR = 0x4e SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a @@ -393,6 +396,9 @@ const ( SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DEVMEM_DMABUF = 0x4f + SO_DEVMEM_DONTNEED = 0x50 + SO_DEVMEM_LINEAR = 0x4e SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go index 11a84d5af2..38ba81c55c 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go @@ -108,6 +108,7 @@ const ( HIDIOCGRAWINFO = 0x80084803 HIDIOCGRDESC = 0x90044802 HIDIOCGRDESCSIZE = 0x80044801 + HIDIOCREVOKE = 0x4004480d HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 @@ -287,6 +288,8 @@ const ( RTC_WIE_ON = 0x700f RTC_WKALM_RD = 0x80287010 RTC_WKALM_SET = 0x4028700f + SCM_DEVMEM_DMABUF = 0x4f + SCM_DEVMEM_LINEAR = 0x4e SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a @@ -325,6 +328,9 @@ const ( SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DEVMEM_DMABUF = 0x4f + SO_DEVMEM_DONTNEED = 0x50 + SO_DEVMEM_LINEAR = 0x4e SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go index f78c4617ca..71f0400977 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -108,6 +108,7 @@ const ( HIDIOCGRAWINFO = 0x80084803 HIDIOCGRDESC = 0x90044802 HIDIOCGRDESCSIZE = 0x80044801 + HIDIOCREVOKE = 0x4004480d HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 @@ -359,6 +360,8 @@ const ( RTC_WIE_ON = 0x700f RTC_WKALM_RD = 0x80287010 RTC_WKALM_SET = 0x4028700f + SCM_DEVMEM_DMABUF = 0x4f + SCM_DEVMEM_LINEAR = 0x4e SCM_TIMESTAMPING = 0x25 SCM_TIMESTAMPING_OPT_STATS = 0x36 SCM_TIMESTAMPING_PKTINFO = 0x3a @@ -397,6 +400,9 @@ const ( SO_CNX_ADVICE = 0x35 SO_COOKIE = 0x39 SO_DETACH_REUSEPORT_BPF = 0x44 + SO_DEVMEM_DMABUF = 0x4f + SO_DEVMEM_DONTNEED = 0x50 + SO_DEVMEM_LINEAR = 0x4e SO_DOMAIN = 0x27 SO_DONTROUTE = 0x5 SO_ERROR = 0x4 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go index aeb777c344..c44a313322 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go @@ -112,6 +112,7 @@ const ( HIDIOCGRAWINFO = 0x40084803 HIDIOCGRDESC = 0x50044802 HIDIOCGRDESCSIZE = 0x40044801 + HIDIOCREVOKE = 0x8004480d HUPCL = 0x400 ICANON = 0x2 IEXTEN = 0x8000 @@ -350,6 +351,8 @@ const ( RTC_WIE_ON = 0x2000700f RTC_WKALM_RD = 0x40287010 RTC_WKALM_SET = 0x8028700f + SCM_DEVMEM_DMABUF = 0x58 + SCM_DEVMEM_LINEAR = 0x57 SCM_TIMESTAMPING = 0x23 SCM_TIMESTAMPING_OPT_STATS = 0x38 SCM_TIMESTAMPING_PKTINFO = 0x3c @@ -436,6 +439,9 @@ const ( SO_CNX_ADVICE = 0x37 SO_COOKIE = 0x3b SO_DETACH_REUSEPORT_BPF = 0x47 + SO_DEVMEM_DMABUF = 0x58 + SO_DEVMEM_DONTNEED = 0x59 + SO_DEVMEM_LINEAR = 0x57 SO_DOMAIN = 0x1029 SO_DONTROUTE = 0x10 SO_ERROR = 0x1007 diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go index d003c3d437..17c53bd9b3 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go @@ -462,11 +462,14 @@ type FdSet struct { const ( SizeofIfMsghdr = 0x70 + SizeofIfMsghdr2 = 0xa0 SizeofIfData = 0x60 + SizeofIfData64 = 0x80 SizeofIfaMsghdr = 0x14 SizeofIfmaMsghdr = 0x10 SizeofIfmaMsghdr2 = 0x14 SizeofRtMsghdr = 0x5c + SizeofRtMsghdr2 = 0x5c SizeofRtMetrics = 0x38 ) @@ -480,6 +483,20 @@ type IfMsghdr struct { Data IfData } +type IfMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Snd_len int32 + Snd_maxlen int32 + Snd_drops int32 + Timer int32 + Data IfData64 +} + type IfData struct { Type uint8 Typelen uint8 @@ -512,6 +529,34 @@ type IfData struct { Reserved2 uint32 } +type IfData64 struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval32 +} + type IfaMsghdr struct { Msglen uint16 Version uint8 @@ -557,6 +602,21 @@ type RtMsghdr struct { Rmx RtMetrics } +type RtMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Flags int32 + Addrs int32 + Refcnt int32 + Parentflags int32 + Reserved int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + type RtMetrics struct { Locks uint32 Mtu uint32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go index 0d45a941aa..2392226a74 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go @@ -462,11 +462,14 @@ type FdSet struct { const ( SizeofIfMsghdr = 0x70 + SizeofIfMsghdr2 = 0xa0 SizeofIfData = 0x60 + SizeofIfData64 = 0x80 SizeofIfaMsghdr = 0x14 SizeofIfmaMsghdr = 0x10 SizeofIfmaMsghdr2 = 0x14 SizeofRtMsghdr = 0x5c + SizeofRtMsghdr2 = 0x5c SizeofRtMetrics = 0x38 ) @@ -480,6 +483,20 @@ type IfMsghdr struct { Data IfData } +type IfMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Addrs int32 + Flags int32 + Index uint16 + Snd_len int32 + Snd_maxlen int32 + Snd_drops int32 + Timer int32 + Data IfData64 +} + type IfData struct { Type uint8 Typelen uint8 @@ -512,6 +529,34 @@ type IfData struct { Reserved2 uint32 } +type IfData64 struct { + Type uint8 + Typelen uint8 + Physical uint8 + Addrlen uint8 + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 + Unused1 uint8 + Mtu uint32 + Metric uint32 + Baudrate uint64 + Ipackets uint64 + Ierrors uint64 + Opackets uint64 + Oerrors uint64 + Collisions uint64 + Ibytes uint64 + Obytes uint64 + Imcasts uint64 + Omcasts uint64 + Iqdrops uint64 + Noproto uint64 + Recvtiming uint32 + Xmittiming uint32 + Lastchange Timeval32 +} + type IfaMsghdr struct { Msglen uint16 Version uint8 @@ -557,6 +602,21 @@ type RtMsghdr struct { Rmx RtMetrics } +type RtMsghdr2 struct { + Msglen uint16 + Version uint8 + Type uint8 + Index uint16 + Flags int32 + Addrs int32 + Refcnt int32 + Parentflags int32 + Reserved int32 + Use int32 + Inits uint32 + Rmx RtMetrics +} + type RtMetrics struct { Locks uint32 Mtu uint32 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go index 8daaf3faf4..5537148dcb 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go @@ -2594,8 +2594,8 @@ const ( SOF_TIMESTAMPING_BIND_PHC = 0x8000 SOF_TIMESTAMPING_OPT_ID_TCP = 0x10000 - SOF_TIMESTAMPING_LAST = 0x10000 - SOF_TIMESTAMPING_MASK = 0x1ffff + SOF_TIMESTAMPING_LAST = 0x20000 + SOF_TIMESTAMPING_MASK = 0x3ffff SCM_TSTAMP_SND = 0x0 SCM_TSTAMP_SCHED = 0x1 @@ -3541,7 +3541,7 @@ type Nhmsg struct { type NexthopGrp struct { Id uint32 Weight uint8 - Resvd1 uint8 + High uint8 Resvd2 uint16 } @@ -3802,7 +3802,7 @@ const ( ETHTOOL_MSG_PSE_GET = 0x24 ETHTOOL_MSG_PSE_SET = 0x25 ETHTOOL_MSG_RSS_GET = 0x26 - ETHTOOL_MSG_USER_MAX = 0x2c + ETHTOOL_MSG_USER_MAX = 0x2d ETHTOOL_MSG_KERNEL_NONE = 0x0 ETHTOOL_MSG_STRSET_GET_REPLY = 0x1 ETHTOOL_MSG_LINKINFO_GET_REPLY = 0x2 @@ -3842,7 +3842,7 @@ const ( ETHTOOL_MSG_MODULE_NTF = 0x24 ETHTOOL_MSG_PSE_GET_REPLY = 0x25 ETHTOOL_MSG_RSS_GET_REPLY = 0x26 - ETHTOOL_MSG_KERNEL_MAX = 0x2c + ETHTOOL_MSG_KERNEL_MAX = 0x2e ETHTOOL_FLAG_COMPACT_BITSETS = 0x1 ETHTOOL_FLAG_OMIT_REPLY = 0x2 ETHTOOL_FLAG_STATS = 0x4 @@ -3850,7 +3850,7 @@ const ( ETHTOOL_A_HEADER_DEV_INDEX = 0x1 ETHTOOL_A_HEADER_DEV_NAME = 0x2 ETHTOOL_A_HEADER_FLAGS = 0x3 - ETHTOOL_A_HEADER_MAX = 0x3 + ETHTOOL_A_HEADER_MAX = 0x4 ETHTOOL_A_BITSET_BIT_UNSPEC = 0x0 ETHTOOL_A_BITSET_BIT_INDEX = 0x1 ETHTOOL_A_BITSET_BIT_NAME = 0x2 @@ -4031,11 +4031,11 @@ const ( ETHTOOL_A_CABLE_RESULT_UNSPEC = 0x0 ETHTOOL_A_CABLE_RESULT_PAIR = 0x1 ETHTOOL_A_CABLE_RESULT_CODE = 0x2 - ETHTOOL_A_CABLE_RESULT_MAX = 0x2 + ETHTOOL_A_CABLE_RESULT_MAX = 0x3 ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC = 0x0 ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR = 0x1 ETHTOOL_A_CABLE_FAULT_LENGTH_CM = 0x2 - ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = 0x2 + ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = 0x3 ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC = 0x0 ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED = 0x1 ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED = 0x2 @@ -4200,7 +4200,8 @@ type ( } PtpSysOffsetExtended struct { Samples uint32 - Rsv [3]uint32 + Clockid int32 + Rsv [2]uint32 Ts [25][3]PtpClockTime } PtpSysOffsetPrecise struct { @@ -4399,6 +4400,7 @@ const ( type LandlockRulesetAttr struct { Access_fs uint64 Access_net uint64 + Scoped uint64 } type LandlockPathBeneathAttr struct { diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go index 4510bfc3f5..4a32543868 100644 --- a/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -168,6 +168,8 @@ func NewCallbackCDecl(fn interface{}) uintptr { //sys CreateNamedPipe(name *uint16, flags uint32, pipeMode uint32, maxInstances uint32, outSize uint32, inSize uint32, defaultTimeout uint32, sa *SecurityAttributes) (handle Handle, err error) [failretval==InvalidHandle] = CreateNamedPipeW //sys ConnectNamedPipe(pipe Handle, overlapped *Overlapped) (err error) //sys DisconnectNamedPipe(pipe Handle) (err error) +//sys GetNamedPipeClientProcessId(pipe Handle, clientProcessID *uint32) (err error) +//sys GetNamedPipeServerProcessId(pipe Handle, serverProcessID *uint32) (err error) //sys GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error) //sys GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) = GetNamedPipeHandleStateW //sys SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32) (err error) = SetNamedPipeHandleState diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go index 51311e205f..9d138de5fe 100644 --- a/vendor/golang.org/x/sys/windows/types_windows.go +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -176,6 +176,7 @@ const ( WAIT_FAILED = 0xFFFFFFFF // Access rights for process. + PROCESS_ALL_ACCESS = 0xFFFF PROCESS_CREATE_PROCESS = 0x0080 PROCESS_CREATE_THREAD = 0x0002 PROCESS_DUP_HANDLE = 0x0040 diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index 6f5252880c..01c0716c2c 100644 --- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -280,8 +280,10 @@ var ( procGetMaximumProcessorCount = modkernel32.NewProc("GetMaximumProcessorCount") procGetModuleFileNameW = modkernel32.NewProc("GetModuleFileNameW") procGetModuleHandleExW = modkernel32.NewProc("GetModuleHandleExW") + procGetNamedPipeClientProcessId = modkernel32.NewProc("GetNamedPipeClientProcessId") procGetNamedPipeHandleStateW = modkernel32.NewProc("GetNamedPipeHandleStateW") procGetNamedPipeInfo = modkernel32.NewProc("GetNamedPipeInfo") + procGetNamedPipeServerProcessId = modkernel32.NewProc("GetNamedPipeServerProcessId") procGetOverlappedResult = modkernel32.NewProc("GetOverlappedResult") procGetPriorityClass = modkernel32.NewProc("GetPriorityClass") procGetProcAddress = modkernel32.NewProc("GetProcAddress") @@ -1612,7 +1614,7 @@ func DwmSetWindowAttribute(hwnd HWND, attribute uint32, value unsafe.Pointer, si } func CancelMibChangeNotify2(notificationHandle Handle) (errcode error) { - r0, _, _ := syscall.SyscallN(procCancelMibChangeNotify2.Addr(), uintptr(notificationHandle)) + r0, _, _ := syscall.Syscall(procCancelMibChangeNotify2.Addr(), 1, uintptr(notificationHandle), 0, 0) if r0 != 0 { errcode = syscall.Errno(r0) } @@ -1652,7 +1654,7 @@ func GetIfEntry(pIfRow *MibIfRow) (errcode error) { } func GetIfEntry2Ex(level uint32, row *MibIfRow2) (errcode error) { - r0, _, _ := syscall.SyscallN(procGetIfEntry2Ex.Addr(), uintptr(level), uintptr(unsafe.Pointer(row))) + r0, _, _ := syscall.Syscall(procGetIfEntry2Ex.Addr(), 2, uintptr(level), uintptr(unsafe.Pointer(row)), 0) if r0 != 0 { errcode = syscall.Errno(r0) } @@ -1660,7 +1662,7 @@ func GetIfEntry2Ex(level uint32, row *MibIfRow2) (errcode error) { } func GetUnicastIpAddressEntry(row *MibUnicastIpAddressRow) (errcode error) { - r0, _, _ := syscall.SyscallN(procGetUnicastIpAddressEntry.Addr(), uintptr(unsafe.Pointer(row))) + r0, _, _ := syscall.Syscall(procGetUnicastIpAddressEntry.Addr(), 1, uintptr(unsafe.Pointer(row)), 0, 0) if r0 != 0 { errcode = syscall.Errno(r0) } @@ -1672,7 +1674,7 @@ func NotifyIpInterfaceChange(family uint16, callback uintptr, callerContext unsa if initialNotification { _p0 = 1 } - r0, _, _ := syscall.SyscallN(procNotifyIpInterfaceChange.Addr(), uintptr(family), uintptr(callback), uintptr(callerContext), uintptr(_p0), uintptr(unsafe.Pointer(notificationHandle))) + r0, _, _ := syscall.Syscall6(procNotifyIpInterfaceChange.Addr(), 5, uintptr(family), uintptr(callback), uintptr(callerContext), uintptr(_p0), uintptr(unsafe.Pointer(notificationHandle)), 0) if r0 != 0 { errcode = syscall.Errno(r0) } @@ -1684,7 +1686,7 @@ func NotifyUnicastIpAddressChange(family uint16, callback uintptr, callerContext if initialNotification { _p0 = 1 } - r0, _, _ := syscall.SyscallN(procNotifyUnicastIpAddressChange.Addr(), uintptr(family), uintptr(callback), uintptr(callerContext), uintptr(_p0), uintptr(unsafe.Pointer(notificationHandle))) + r0, _, _ := syscall.Syscall6(procNotifyUnicastIpAddressChange.Addr(), 5, uintptr(family), uintptr(callback), uintptr(callerContext), uintptr(_p0), uintptr(unsafe.Pointer(notificationHandle)), 0) if r0 != 0 { errcode = syscall.Errno(r0) } @@ -2446,6 +2448,14 @@ func GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err er return } +func GetNamedPipeClientProcessId(pipe Handle, clientProcessID *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetNamedPipeClientProcessId.Addr(), 2, uintptr(pipe), uintptr(unsafe.Pointer(clientProcessID)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) { r1, _, e1 := syscall.Syscall9(procGetNamedPipeHandleStateW.Addr(), 7, uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(curInstances)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout)), uintptr(unsafe.Pointer(userName)), uintptr(maxUserNameSize), 0, 0) if r1 == 0 { @@ -2462,6 +2472,14 @@ func GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint3 return } +func GetNamedPipeServerProcessId(pipe Handle, serverProcessID *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetNamedPipeServerProcessId.Addr(), 2, uintptr(pipe), uintptr(unsafe.Pointer(serverProcessID)), 0) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) { var _p0 uint32 if wait { diff --git a/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go b/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go index 8691698ef2..374c12fb77 100644 --- a/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go +++ b/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go @@ -237,7 +237,9 @@ func (d *dnsResolver) watcher() { } func (d *dnsResolver) lookupSRV(ctx context.Context) ([]resolver.Address, error) { - if !EnableSRVLookups { + // Skip this particular host to avoid timeouts with some versions of + // systemd-resolved. + if !EnableSRVLookups || d.host == "metadata.google.internal." { return nil, nil } var newAddrs []resolver.Address diff --git a/vendor/google.golang.org/grpc/version.go b/vendor/google.golang.org/grpc/version.go index d50e843598..5a47094ae8 100644 --- a/vendor/google.golang.org/grpc/version.go +++ b/vendor/google.golang.org/grpc/version.go @@ -19,4 +19,4 @@ package grpc // Version is the current grpc version. -const Version = "1.68.0" +const Version = "1.68.1" diff --git a/vendor/modules.txt b/vendor/modules.txt index 0e2c38a49e..141aa92236 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -52,10 +52,10 @@ github.com/chai2010/gettext-go github.com/chai2010/gettext-go/mo github.com/chai2010/gettext-go/plural github.com/chai2010/gettext-go/po -# github.com/cilium/charts v0.0.0-20241127112225-7cea2b4f120f +# github.com/cilium/charts v0.0.0-20241202171727-5ceb3f5006f9 ## explicit; go 1.17 github.com/cilium/charts -# github.com/cilium/cilium v1.17.0-pre.3.0.20241206234938-95ee091cd967 +# github.com/cilium/cilium v1.17.0-pre.3.0.20241210085346-6db21de11e49 ## explicit; go 1.23.0 github.com/cilium/cilium/api/v1/client github.com/cilium/cilium/api/v1/client/bgp @@ -248,7 +248,7 @@ github.com/cilium/cilium/pkg/u8proto github.com/cilium/cilium/pkg/version github.com/cilium/cilium/pkg/versioncheck github.com/cilium/cilium/pkg/wireguard/types -# github.com/cilium/ebpf v0.16.1-0.20241119131019-e2607b570f29 +# github.com/cilium/ebpf v0.16.1-0.20241205185900-f0eec7efba9d ## explicit; go 1.22 github.com/cilium/ebpf github.com/cilium/ebpf/asm @@ -264,7 +264,7 @@ github.com/cilium/ebpf/internal/testutils/fdtrace github.com/cilium/ebpf/internal/tracefs github.com/cilium/ebpf/internal/unix github.com/cilium/ebpf/link -# github.com/cilium/hive v0.0.0-20241129122706-af5052cfd6d4 +# github.com/cilium/hive v0.0.0-20241205140635-d02f07f3d452 ## explicit; go 1.21.3 github.com/cilium/hive github.com/cilium/hive/cell @@ -968,7 +968,7 @@ github.com/opencontainers/image-spec/specs-go/v1 github.com/opentracing/opentracing-go github.com/opentracing/opentracing-go/ext github.com/opentracing/opentracing-go/log -# github.com/osrg/gobgp/v3 v3.31.0 +# github.com/osrg/gobgp/v3 v3.32.0 ## explicit; go 1.22.7 github.com/osrg/gobgp/v3/pkg/packet/bgp # github.com/pelletier/go-toml v1.9.5 @@ -1004,7 +1004,7 @@ github.com/prometheus/client_golang/prometheus/promhttp # github.com/prometheus/client_model v0.6.1 ## explicit; go 1.19 github.com/prometheus/client_model/go -# github.com/prometheus/common v0.60.1 +# github.com/prometheus/common v0.61.0 ## explicit; go 1.21 github.com/prometheus/common/expfmt github.com/prometheus/common/model @@ -1212,7 +1212,7 @@ go.uber.org/zap/zapgrpc # go4.org/netipx v0.0.0-20231129151722-fdeea329fbba ## explicit; go 1.18 go4.org/netipx -# golang.org/x/crypto v0.29.0 +# golang.org/x/crypto v0.30.0 ## explicit; go 1.20 golang.org/x/crypto/bcrypt golang.org/x/crypto/blowfish @@ -1239,7 +1239,7 @@ golang.org/x/exp/slices golang.org/x/exp/slog golang.org/x/exp/slog/internal golang.org/x/exp/slog/internal/buffer -# golang.org/x/net v0.31.0 +# golang.org/x/net v0.32.0 ## explicit; go 1.18 golang.org/x/net/context/ctxhttp golang.org/x/net/html @@ -1253,25 +1253,25 @@ golang.org/x/net/internal/timeseries golang.org/x/net/proxy golang.org/x/net/trace golang.org/x/net/websocket -# golang.org/x/oauth2 v0.23.0 +# golang.org/x/oauth2 v0.24.0 ## explicit; go 1.18 golang.org/x/oauth2 golang.org/x/oauth2/internal -# golang.org/x/sync v0.9.0 +# golang.org/x/sync v0.10.0 ## explicit; go 1.18 golang.org/x/sync/errgroup golang.org/x/sync/semaphore golang.org/x/sync/singleflight -# golang.org/x/sys v0.27.0 +# golang.org/x/sys v0.28.0 ## explicit; go 1.18 golang.org/x/sys/execabs golang.org/x/sys/plan9 golang.org/x/sys/unix golang.org/x/sys/windows -# golang.org/x/term v0.26.0 +# golang.org/x/term v0.27.0 ## explicit; go 1.18 golang.org/x/term -# golang.org/x/text v0.20.0 +# golang.org/x/text v0.21.0 ## explicit; go 1.18 golang.org/x/text/encoding golang.org/x/text/encoding/internal @@ -1286,7 +1286,7 @@ golang.org/x/text/unicode/norm # golang.org/x/time v0.8.0 ## explicit; go 1.18 golang.org/x/time/rate -# golang.org/x/tools v0.27.0 +# golang.org/x/tools v0.28.0 ## explicit; go 1.22.0 golang.org/x/tools/txtar # google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28 @@ -1294,11 +1294,11 @@ golang.org/x/tools/txtar google.golang.org/genproto/googleapis/api google.golang.org/genproto/googleapis/api/annotations google.golang.org/genproto/googleapis/api/expr/v1alpha1 -# google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 +# google.golang.org/genproto/googleapis/rpc v0.0.0-20241206012308-a4fef0638583 ## explicit; go 1.21 google.golang.org/genproto/googleapis/rpc/status -# google.golang.org/grpc v1.68.0 -## explicit; go 1.22.7 +# google.golang.org/grpc v1.68.1 +## explicit; go 1.22 google.golang.org/grpc google.golang.org/grpc/attributes google.golang.org/grpc/backoff @@ -1893,7 +1893,7 @@ oras.land/oras-go/pkg/registry/remote/auth oras.land/oras-go/pkg/registry/remote/internal/errutil oras.land/oras-go/pkg/registry/remote/internal/syncutil oras.land/oras-go/pkg/target -# sigs.k8s.io/controller-runtime v0.19.2 +# sigs.k8s.io/controller-runtime v0.19.3 ## explicit; go 1.22.0 sigs.k8s.io/controller-runtime/pkg/client/apiutil # sigs.k8s.io/gateway-api v1.2.0 @@ -1983,7 +1983,7 @@ sigs.k8s.io/kustomize/kyaml/yaml/internal/k8sgen/pkg/util/validation/field sigs.k8s.io/kustomize/kyaml/yaml/merge2 sigs.k8s.io/kustomize/kyaml/yaml/schema sigs.k8s.io/kustomize/kyaml/yaml/walk -# sigs.k8s.io/mcs-api v0.1.1-0.20241107131729-9615e3489a98 +# sigs.k8s.io/mcs-api v0.1.1-0.20241206165000-e2cb6dc0c753 ## explicit; go 1.22.0 sigs.k8s.io/mcs-api/pkg/apis/v1alpha1 sigs.k8s.io/mcs-api/pkg/client/clientset/versioned