From b4580ab907e3f5508d102e5ad619c6eb3434cc34 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 Mar 2025 08:53:41 +0000 Subject: [PATCH] build(deps): bump the all group across 1 directory with 2 updates Bumps the all group with 2 updates in the / directory: [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) and [sigs.k8s.io/cloud-provider-azure/pkg/azclient](https://github.com/kubernetes-sigs/cloud-provider-azure). Updates `github.com/prometheus/client_golang` from 1.21.0 to 1.21.1 - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md) - [Commits](https://github.com/prometheus/client_golang/compare/v1.21.0...v1.21.1) Updates `sigs.k8s.io/cloud-provider-azure/pkg/azclient` from 0.5.3 to 0.5.4 - [Release notes](https://github.com/kubernetes-sigs/cloud-provider-azure/releases) - [Changelog](https://github.com/kubernetes-sigs/cloud-provider-azure/blob/master/docs/release-versioning.md) - [Commits](https://github.com/kubernetes-sigs/cloud-provider-azure/compare/pkg/azclient/v0.5.3...pkg/azclient/v0.5.4) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: sigs.k8s.io/cloud-provider-azure/pkg/azclient dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all ... Signed-off-by: dependabot[bot] --- go.mod | 6 +- go.sum | 12 ++-- .../msi-dataplane/pkg/dataplane/keyvault.go | 41 +++++++++-- .../client_golang/prometheus/atomic_update.go | 50 ------------- .../client_golang/prometheus/counter.go | 10 ++- .../client_golang/prometheus/gauge.go | 10 ++- .../client_golang/prometheus/histogram.go | 10 ++- .../prometheus/process_collector_darwin.go | 2 + ...n.c => process_collector_mem_cgo_darwin.c} | 2 +- ...go => process_collector_mem_cgo_darwin.go} | 2 +- ... => process_collector_mem_nocgo_darwin.go} | 2 +- ....go => process_collector_not_supported.go} | 4 +- ....go => process_collector_procfsenabled.go} | 0 .../client_golang/prometheus/summary.go | 25 ++++--- vendor/modules.txt | 6 +- .../pkg/azclient/.golangci.yml | 42 +++++++++++ .../pkg/azclient/Makefile | 1 + .../pkg/azclient/accountclient/interface.go | 2 +- .../accountclient/zz_generated_client.go | 1 + .../azclient/blobcontainerclient/interface.go | 2 +- .../zz_generated_client.go | 1 + .../blobservicepropertiesclient/interface.go | 2 +- .../zz_generated_client.go | 1 + .../pkg/azclient/cloud.go | 20 +----- .../pkg/azclient/factory_gen.go | 71 +++++-------------- .../fileservicepropertiesclient/interface.go | 2 +- .../zz_generated_client.go | 2 + .../pkg/azclient/fileshareclient/interface.go | 2 +- .../fileshareclient/zz_generated_client.go | 2 + .../pkg/azclient/ipgroupclient/interface.go | 2 +- .../ipgroupclient/zz_generated_client.go | 2 + .../pkg/azclient/registryclient/interface.go | 2 +- .../registryclient/zz_generated_client.go | 2 + .../pkg/azclient/utils/cloud.go | 39 ++++++++++ 34 files changed, 213 insertions(+), 167 deletions(-) delete mode 100644 vendor/github.com/prometheus/client_golang/prometheus/atomic_update.go rename vendor/github.com/prometheus/client_golang/prometheus/{process_collector_cgo_darwin.c => process_collector_mem_cgo_darwin.c} (98%) rename vendor/github.com/prometheus/client_golang/prometheus/{process_collector_cgo_darwin.go => process_collector_mem_cgo_darwin.go} (97%) rename vendor/github.com/prometheus/client_golang/prometheus/{process_collector_nocgo_darwin.go => process_collector_mem_nocgo_darwin.go} (97%) rename vendor/github.com/prometheus/client_golang/prometheus/{process_collector_wasip1_js.go => process_collector_not_supported.go} (95%) rename vendor/github.com/prometheus/client_golang/prometheus/{process_collector_other.go => process_collector_procfsenabled.go} (100%) create mode 100644 vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/.golangci.yml create mode 100644 vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/utils/cloud.go diff --git a/go.mod b/go.mod index 79355b5c45..08d6412bf8 100644 --- a/go.mod +++ b/go.mod @@ -28,7 +28,7 @@ require ( github.com/go-logr/logr v1.4.2 github.com/onsi/ginkgo/v2 v2.22.2 github.com/onsi/gomega v1.36.2 - github.com/prometheus/client_golang v1.21.0 + github.com/prometheus/client_golang v1.21.1 github.com/spf13/cobra v1.9.1 github.com/spf13/pflag v1.0.6 github.com/stretchr/testify v1.10.0 @@ -53,7 +53,7 @@ require ( k8s.io/klog/v2 v2.130.1 k8s.io/kubelet v0.29.14 k8s.io/utils v0.0.0-20241210054802-24370beab758 - sigs.k8s.io/cloud-provider-azure/pkg/azclient v0.5.3 + sigs.k8s.io/cloud-provider-azure/pkg/azclient v0.5.5 sigs.k8s.io/cloud-provider-azure/pkg/azclient/configloader v0.0.29 sigs.k8s.io/yaml v1.4.0 ) @@ -74,7 +74,7 @@ require ( github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect github.com/Azure/go-autorest/logger v0.2.1 // indirect - github.com/Azure/msi-dataplane v0.4.1 // indirect + github.com/Azure/msi-dataplane v0.4.2 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.4.0 // indirect github.com/NYTimes/gziphandler v1.1.1 // indirect github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df // indirect diff --git a/go.sum b/go.sum index 31d45acf8d..f0378854b6 100644 --- a/go.sum +++ b/go.sum @@ -76,8 +76,8 @@ github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZ github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/Azure/go-autorest/tracing v0.6.1 h1:YUMSrC/CeD1ZnnXcNYU4a/fzsO35u2Fsful9L/2nyR0= github.com/Azure/go-autorest/tracing v0.6.1/go.mod h1:/3EgjbsjraOqiicERAeu3m7/z0x1TzjQGAwDrJrXGkc= -github.com/Azure/msi-dataplane v0.4.1 h1:nKTPIyNbNHljQGobHm5BX/nnTmFSe56wxGIykdlZK1g= -github.com/Azure/msi-dataplane v0.4.1/go.mod h1:yAfxdJyvcnvSDfSyOFV9qm4fReEQDl+nZLGeH2ZWSmw= +github.com/Azure/msi-dataplane v0.4.2 h1:4V44wRZ+sKmKgj64SKN5lMskt1qQBQSUiy6kazWvwKU= +github.com/Azure/msi-dataplane v0.4.2/go.mod h1:yAfxdJyvcnvSDfSyOFV9qm4fReEQDl+nZLGeH2ZWSmw= github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM= github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE= github.com/AzureAD/microsoft-authentication-library-for-go v1.4.0 h1:MUkXAnvvDHgvPItl0nBj0hgk0f7hnnQbGm0h0+YxbN4= @@ -230,8 +230,8 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.21.0 h1:DIsaGmiaBkSangBgMtWdNfxbMNdku5IK6iNhrEqWvdA= -github.com/prometheus/client_golang v1.21.0/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg= +github.com/prometheus/client_golang v1.21.1 h1:DOvXXTqVzvkIewV/CDPFdejpMCGeMcbGCQ8YOmu+Ibk= +github.com/prometheus/client_golang v1.21.1/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= @@ -462,8 +462,8 @@ k8s.io/utils v0.0.0-20241210054802-24370beab758 h1:sdbE21q2nlQtFh65saZY+rRM6x6aJ k8s.io/utils v0.0.0-20241210054802-24370beab758/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 h1:TgtAeesdhpm2SGwkQasmbeqDo8th5wOBA5h/AjTKA4I= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y= -sigs.k8s.io/cloud-provider-azure/pkg/azclient v0.5.3 h1:bFkLaehTS9c2qw3ujvPdEsa2z3X82OCGGRgAmzEdxK4= -sigs.k8s.io/cloud-provider-azure/pkg/azclient v0.5.3/go.mod h1:1VEz2aRXDiGDLjbwcI2Zu3Tk43MZ4fFsGNFhsgU+9q8= +sigs.k8s.io/cloud-provider-azure/pkg/azclient v0.5.5 h1:PwONXTKWJdhXdMbaZBaqbCpDAzqOOs9+XNkktC4P14g= +sigs.k8s.io/cloud-provider-azure/pkg/azclient v0.5.5/go.mod h1:EiBF+gLie9K19GaYbmGEIpT4s+WCpMFXLmjlu3hGEmY= sigs.k8s.io/cloud-provider-azure/pkg/azclient/configloader v0.0.29 h1:AixTSBLVc89XycjD+GxbR26wMJyzcZGmyKE4Si5eIzY= sigs.k8s.io/cloud-provider-azure/pkg/azclient/configloader v0.0.29/go.mod h1:1OgjkvC3qbeJeFj7Ogl+17WQxE149kUDS3TLVJtfPDI= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= diff --git a/vendor/github.com/Azure/msi-dataplane/pkg/dataplane/keyvault.go b/vendor/github.com/Azure/msi-dataplane/pkg/dataplane/keyvault.go index 54fae4d408..20aacef546 100644 --- a/vendor/github.com/Azure/msi-dataplane/pkg/dataplane/keyvault.go +++ b/vendor/github.com/Azure/msi-dataplane/pkg/dataplane/keyvault.go @@ -12,6 +12,18 @@ func ptrTo[o any](s o) *o { return &s } +// IdentifierForManagedIdentityCredentials creates a canonical identifier for a KeyVault item, labelling the +// item as storing managed identity credentials. +func IdentifierForManagedIdentityCredentials(identifier string) string { + return ManagedIdentityCredentialsStoragePrefix + identifier +} + +// IdentifierForUserAssignedIdentityCredentials creates a canonical identifier for a KeyVault item, labelling the +// item as storing user-assigned managed identity credentials. +func IdentifierForUserAssignedIdentityCredentials(identifier string) string { + return UserAssignedIdentityCredentialsStoragePrefix + identifier +} + // FormatManagedIdentityCredentialsForStorage provides the canonical KeyVault secret parameters for storing // managed identity credentials, ensuring that appropriate times are recorded for the expiry and notBefore, // as well as that renewal times are recorded in tags. @@ -32,6 +44,15 @@ func FormatManagedIdentityCredentialsForStorage(identifier string, credentials M return "", azsecrets.SetSecretParameters{}, fmt.Errorf("assumption violated, found %d explicit identities, expected none, or one", len(credentials.ExplicitIdentities)) } + parameters, err := keyVaultParameters(credentials, rawNotAfter, rawNotBefore, rawRenewAfter, rawCannotRenewAfter) + if err != nil { + return "", azsecrets.SetSecretParameters{}, err + } + + return IdentifierForManagedIdentityCredentials(identifier), parameters, nil +} + +func keyVaultParameters(credentials any, rawNotAfter, rawNotBefore, rawRenewAfter, rawCannotRenewAfter *string) (azsecrets.SetSecretParameters, error) { for key, value := range map[string]*string{ "NotAfter": rawNotAfter, "NotBefore": rawNotBefore, @@ -39,7 +60,7 @@ func FormatManagedIdentityCredentialsForStorage(identifier string, credentials M "CannotRenewAfter": rawCannotRenewAfter, } { if value == nil { - return "", azsecrets.SetSecretParameters{}, fmt.Errorf("assumption violated, %q was nil", key) + return azsecrets.SetSecretParameters{}, fmt.Errorf("assumption violated, %q was nil", key) } } @@ -50,17 +71,17 @@ func FormatManagedIdentityCredentialsForStorage(identifier string, credentials M } { value, err := time.Parse(time.RFC3339, *from) if err != nil { - return "", azsecrets.SetSecretParameters{}, err + return azsecrets.SetSecretParameters{}, err } *to = value } raw, err := json.Marshal(credentials) if err != nil { - return "", azsecrets.SetSecretParameters{}, fmt.Errorf("failed to marshal credentials: %v", err) + return azsecrets.SetSecretParameters{}, fmt.Errorf("failed to marshal credentials: %v", err) } - return ManagedIdentityCredentialsStoragePrefix + identifier, azsecrets.SetSecretParameters{ + return azsecrets.SetSecretParameters{ Value: ptrTo(string(raw)), SecretAttributes: &azsecrets.SecretAttributes{ Enabled: ptrTo(true), @@ -73,3 +94,15 @@ func FormatManagedIdentityCredentialsForStorage(identifier string, credentials M }, }, nil } + +// FormatUserAssignedIdentityCredentialsForStorage provides the canonical KeyVault secret parameters for storing +// user-assigned managed identity credentials, ensuring that appropriate times are recorded for the expiry and +// notBefore, as well as that renewal times are recorded in tags. +func FormatUserAssignedIdentityCredentialsForStorage(identifier string, credentials UserAssignedIdentityCredentials) (string, azsecrets.SetSecretParameters, error) { + parameters, err := keyVaultParameters(credentials, credentials.NotAfter, credentials.NotBefore, credentials.RenewAfter, credentials.CannotRenewAfter) + if err != nil { + return "", azsecrets.SetSecretParameters{}, err + } + + return IdentifierForUserAssignedIdentityCredentials(identifier), parameters, nil +} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/atomic_update.go b/vendor/github.com/prometheus/client_golang/prometheus/atomic_update.go deleted file mode 100644 index b65896a319..0000000000 --- a/vendor/github.com/prometheus/client_golang/prometheus/atomic_update.go +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2014 The Prometheus Authors -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package prometheus - -import ( - "math" - "sync/atomic" - "time" -) - -// atomicUpdateFloat atomically updates the float64 value pointed to by bits -// using the provided updateFunc, with an exponential backoff on contention. -func atomicUpdateFloat(bits *uint64, updateFunc func(float64) float64) { - const ( - // both numbers are derived from empirical observations - // documented in this PR: https://github.com/prometheus/client_golang/pull/1661 - maxBackoff = 320 * time.Millisecond - initialBackoff = 10 * time.Millisecond - ) - backoff := initialBackoff - - for { - loadedBits := atomic.LoadUint64(bits) - oldFloat := math.Float64frombits(loadedBits) - newFloat := updateFunc(oldFloat) - newBits := math.Float64bits(newFloat) - - if atomic.CompareAndSwapUint64(bits, loadedBits, newBits) { - break - } else { - // Exponential backoff with sleep and cap to avoid infinite wait - time.Sleep(backoff) - backoff *= 2 - if backoff > maxBackoff { - backoff = maxBackoff - } - } - } -} diff --git a/vendor/github.com/prometheus/client_golang/prometheus/counter.go b/vendor/github.com/prometheus/client_golang/prometheus/counter.go index 2996aef6a0..4ce84e7a80 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/counter.go +++ b/vendor/github.com/prometheus/client_golang/prometheus/counter.go @@ -134,9 +134,13 @@ func (c *counter) Add(v float64) { return } - atomicUpdateFloat(&c.valBits, func(oldVal float64) float64 { - return oldVal + v - }) + for { + oldBits := atomic.LoadUint64(&c.valBits) + newBits := math.Float64bits(math.Float64frombits(oldBits) + v) + if atomic.CompareAndSwapUint64(&c.valBits, oldBits, newBits) { + return + } + } } func (c *counter) AddWithExemplar(v float64, e Labels) { diff --git a/vendor/github.com/prometheus/client_golang/prometheus/gauge.go b/vendor/github.com/prometheus/client_golang/prometheus/gauge.go index aa18463654..dd2eac9406 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/gauge.go +++ b/vendor/github.com/prometheus/client_golang/prometheus/gauge.go @@ -120,9 +120,13 @@ func (g *gauge) Dec() { } func (g *gauge) Add(val float64) { - atomicUpdateFloat(&g.valBits, func(oldVal float64) float64 { - return oldVal + val - }) + for { + oldBits := atomic.LoadUint64(&g.valBits) + newBits := math.Float64bits(math.Float64frombits(oldBits) + val) + if atomic.CompareAndSwapUint64(&g.valBits, oldBits, newBits) { + return + } + } } func (g *gauge) Sub(val float64) { diff --git a/vendor/github.com/prometheus/client_golang/prometheus/histogram.go b/vendor/github.com/prometheus/client_golang/prometheus/histogram.go index 1a279035b3..c453b754a7 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/histogram.go +++ b/vendor/github.com/prometheus/client_golang/prometheus/histogram.go @@ -1647,9 +1647,13 @@ func waitForCooldown(count uint64, counts *histogramCounts) { // atomicAddFloat adds the provided float atomically to another float // represented by the bit pattern the bits pointer is pointing to. func atomicAddFloat(bits *uint64, v float64) { - atomicUpdateFloat(bits, func(oldVal float64) float64 { - return oldVal + v - }) + for { + loadedBits := atomic.LoadUint64(bits) + newBits := math.Float64bits(math.Float64frombits(loadedBits) + v) + if atomic.CompareAndSwapUint64(bits, loadedBits, newBits) { + break + } + } } // atomicDecUint32 atomically decrements the uint32 p points to. See diff --git a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_darwin.go b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_darwin.go index 50eb860a68..0a61b98461 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_darwin.go +++ b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_darwin.go @@ -11,6 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. +//go:build darwin && !ios + package prometheus import ( diff --git a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_cgo_darwin.c b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_mem_cgo_darwin.c similarity index 98% rename from vendor/github.com/prometheus/client_golang/prometheus/process_collector_cgo_darwin.c rename to vendor/github.com/prometheus/client_golang/prometheus/process_collector_mem_cgo_darwin.c index 1554f674d8..d00a24315d 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_cgo_darwin.c +++ b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_mem_cgo_darwin.c @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build darwin && cgo +//go:build darwin && !ios && cgo #include #include diff --git a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_cgo_darwin.go b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_mem_cgo_darwin.go similarity index 97% rename from vendor/github.com/prometheus/client_golang/prometheus/process_collector_cgo_darwin.go rename to vendor/github.com/prometheus/client_golang/prometheus/process_collector_mem_cgo_darwin.go index b375c3a771..9ac53f9992 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_cgo_darwin.go +++ b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_mem_cgo_darwin.go @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build darwin && cgo +//go:build darwin && !ios && cgo package prometheus diff --git a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_nocgo_darwin.go b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_mem_nocgo_darwin.go similarity index 97% rename from vendor/github.com/prometheus/client_golang/prometheus/process_collector_nocgo_darwin.go rename to vendor/github.com/prometheus/client_golang/prometheus/process_collector_mem_nocgo_darwin.go index 5165047311..8ddb0995d6 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_nocgo_darwin.go +++ b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_mem_nocgo_darwin.go @@ -11,7 +11,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build darwin && !cgo +//go:build darwin && !ios && !cgo package prometheus diff --git a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_wasip1_js.go b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_not_supported.go similarity index 95% rename from vendor/github.com/prometheus/client_golang/prometheus/process_collector_wasip1_js.go rename to vendor/github.com/prometheus/client_golang/prometheus/process_collector_not_supported.go index c68f7f8518..7732b7f376 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_wasip1_js.go +++ b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_not_supported.go @@ -11,8 +11,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build wasip1 || js -// +build wasip1 js +//go:build wasip1 || js || ios +// +build wasip1 js ios package prometheus diff --git a/vendor/github.com/prometheus/client_golang/prometheus/process_collector_other.go b/vendor/github.com/prometheus/client_golang/prometheus/process_collector_procfsenabled.go similarity index 100% rename from vendor/github.com/prometheus/client_golang/prometheus/process_collector_other.go rename to vendor/github.com/prometheus/client_golang/prometheus/process_collector_procfsenabled.go diff --git a/vendor/github.com/prometheus/client_golang/prometheus/summary.go b/vendor/github.com/prometheus/client_golang/prometheus/summary.go index 76a9e12f4a..ac5203c6fa 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/summary.go +++ b/vendor/github.com/prometheus/client_golang/prometheus/summary.go @@ -471,9 +471,13 @@ func (s *noObjectivesSummary) Observe(v float64) { n := atomic.AddUint64(&s.countAndHotIdx, 1) hotCounts := s.counts[n>>63] - atomicUpdateFloat(&hotCounts.sumBits, func(oldVal float64) float64 { - return oldVal + v - }) + for { + oldBits := atomic.LoadUint64(&hotCounts.sumBits) + newBits := math.Float64bits(math.Float64frombits(oldBits) + v) + if atomic.CompareAndSwapUint64(&hotCounts.sumBits, oldBits, newBits) { + break + } + } // Increment count last as we take it as a signal that the observation // is complete. atomic.AddUint64(&hotCounts.count, 1) @@ -515,13 +519,14 @@ func (s *noObjectivesSummary) Write(out *dto.Metric) error { // Finally add all the cold counts to the new hot counts and reset the cold counts. atomic.AddUint64(&hotCounts.count, count) atomic.StoreUint64(&coldCounts.count, 0) - - // Use atomicUpdateFloat to update hotCounts.sumBits atomically. - atomicUpdateFloat(&hotCounts.sumBits, func(oldVal float64) float64 { - return oldVal + sum.GetSampleSum() - }) - atomic.StoreUint64(&coldCounts.sumBits, 0) - + for { + oldBits := atomic.LoadUint64(&hotCounts.sumBits) + newBits := math.Float64bits(math.Float64frombits(oldBits) + sum.GetSampleSum()) + if atomic.CompareAndSwapUint64(&hotCounts.sumBits, oldBits, newBits) { + atomic.StoreUint64(&coldCounts.sumBits, 0) + break + } + } return nil } diff --git a/vendor/modules.txt b/vendor/modules.txt index 27b62a707b..cf1443df5d 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -163,7 +163,7 @@ github.com/Azure/go-autorest/logger # github.com/Azure/go-autorest/tracing v0.6.1 ## explicit; go 1.15 github.com/Azure/go-autorest/tracing -# github.com/Azure/msi-dataplane v0.4.1 +# github.com/Azure/msi-dataplane v0.4.2 ## explicit; go 1.22 github.com/Azure/msi-dataplane/pkg/dataplane github.com/Azure/msi-dataplane/pkg/dataplane/internal/challenge @@ -427,7 +427,7 @@ github.com/pkg/browser # github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 ## explicit github.com/pmezard/go-difflib/difflib -# github.com/prometheus/client_golang v1.21.0 +# github.com/prometheus/client_golang v1.21.1 ## explicit; go 1.21 github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil/header @@ -1508,7 +1508,7 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/metrics sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/common/metrics sigs.k8s.io/apiserver-network-proxy/konnectivity-client/proto/client -# sigs.k8s.io/cloud-provider-azure/pkg/azclient v0.5.3 +# sigs.k8s.io/cloud-provider-azure/pkg/azclient v0.5.5 ## explicit; go 1.23.1 sigs.k8s.io/cloud-provider-azure/pkg/azclient sigs.k8s.io/cloud-provider-azure/pkg/azclient/accountclient diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/.golangci.yml b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/.golangci.yml new file mode 100644 index 0000000000..e2afc191ff --- /dev/null +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/.golangci.yml @@ -0,0 +1,42 @@ +run: + timeout: 30m + tests: true +linters: + disable-all: true + enable: + - errcheck + - gosimple + - govet + - ineffassign + - staticcheck + - unused + - goconst + - goimports + - revive + - gosec + - misspell + - nakedret + - typecheck + - unconvert + - asasalint + - asciicheck + - bidichk + - errorlint + - loggercheck + fast: false +issues: + max-issues-per-linter: 0 + max-same-issues: 0 +linters-settings: + staticcheck: + checks: ["all", "-SA1019"] + gosec: + excludes: + - G114 + - G115 + goimports: + local-prefixes: sigs.k8s.io/cloud-provider-azure/pkg/azclient + goconst: + min-occurrences: 10 + + diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/Makefile b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/Makefile index e10a44c897..eb8cffc4fc 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/Makefile +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/Makefile @@ -70,6 +70,7 @@ build: ## Build manager binary. .PHONY: test test: ## Run tests. go test -v ./... + echo "Mooncake test ***************************************"; AZURE_CLOUD=AZURECHINACLOUD go test -v ./... .PHONY: generate generate: install-dependencies build generatecode generateimpl generateclientfactory generatemock fmt vet-all test diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/accountclient/interface.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/accountclient/interface.go index 1d646c1ff8..554825d383 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/accountclient/interface.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/accountclient/interface.go @@ -25,7 +25,7 @@ import ( "sigs.k8s.io/cloud-provider-azure/pkg/azclient/utils" ) -// +azure:client:verbs=listbyrg,resource=Account,packageName=github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage,packageAlias=armstorage,clientName=AccountsClient,expand=true,crossSubFactory=true,rateLimitKey=storageAccountRateLimit,azureStackCloudAPIVersion="2018-02-01" +// +azure:client:verbs=listbyrg,resource=Account,packageName=github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage,packageAlias=armstorage,clientName=AccountsClient,expand=true,crossSubFactory=true,rateLimitKey=storageAccountRateLimit,azureStackCloudAPIVersion="2018-02-01",mooncakeApiVersion="2023-05-01" type Interface interface { utils.ListFunc[armstorage.Account] Create(ctx context.Context, resourceGroupName string, accountName string, resource *armstorage.AccountCreateParameters) (*armstorage.Account, error) diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/accountclient/zz_generated_client.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/accountclient/zz_generated_client.go index ab72086a9a..3adc0247dd 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/accountclient/zz_generated_client.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/accountclient/zz_generated_client.go @@ -31,6 +31,7 @@ import ( ) const AzureStackCloudAPIVersion = "2018-02-01" +const MooncakeApiVersion = "2023-05-01" type Client struct { *armstorage.AccountsClient diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobcontainerclient/interface.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobcontainerclient/interface.go index 4d10425c84..f1aa4d1b93 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobcontainerclient/interface.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobcontainerclient/interface.go @@ -25,7 +25,7 @@ import ( "sigs.k8s.io/cloud-provider-azure/pkg/azclient/utils" ) -// +azure:client:verbs=get,resource=Account,subResource=BlobContainer,packageName=github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage,packageAlias=armstorage,clientName=BlobContainersClient,expand=false,crossSubFactory=true,azureStackCloudAPIVersion="2019-06-01" +// +azure:client:verbs=get,resource=Account,subResource=BlobContainer,packageName=github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage,packageAlias=armstorage,clientName=BlobContainersClient,expand=false,crossSubFactory=true,azureStackCloudAPIVersion="2019-06-01",mooncakeApiVersion="2023-05-01" type Interface interface { utils.SubResourceGetFunc[armstorage.BlobContainer] CreateContainer(ctx context.Context, resourceGroupName, accountName, containerName string, parameters armstorage.BlobContainer) (*armstorage.BlobContainer, error) diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobcontainerclient/zz_generated_client.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobcontainerclient/zz_generated_client.go index 420b4017d5..319d7a0719 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobcontainerclient/zz_generated_client.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobcontainerclient/zz_generated_client.go @@ -31,6 +31,7 @@ import ( ) const AzureStackCloudAPIVersion = "2019-06-01" +const MooncakeApiVersion = "2023-05-01" type Client struct { *armstorage.BlobContainersClient diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobservicepropertiesclient/interface.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobservicepropertiesclient/interface.go index 2b03e08d20..3387c22c05 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobservicepropertiesclient/interface.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobservicepropertiesclient/interface.go @@ -23,7 +23,7 @@ import ( armstorage "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage" ) -// +azure:client:resource=BlobServiceProperties,packageName=github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage,packageAlias=armstorage,clientName=BlobServicesClient,expand=false,crossSubFactory=true,azureStackCloudAPIVersion="2019-06-01" +// +azure:client:resource=BlobServiceProperties,packageName=github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage,packageAlias=armstorage,clientName=BlobServicesClient,expand=false,crossSubFactory=true,azureStackCloudAPIVersion="2019-06-01",mooncakeApiVersion="2023-05-01" type Interface interface { Get(ctx context.Context, resourceGroupName string, resourceName string) (*armstorage.BlobServiceProperties, error) Set(ctx context.Context, resourceGroupName string, resourceName string, parameters armstorage.BlobServiceProperties) (*armstorage.BlobServiceProperties, error) diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobservicepropertiesclient/zz_generated_client.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobservicepropertiesclient/zz_generated_client.go index 23fff04e07..ffd1b0d99b 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobservicepropertiesclient/zz_generated_client.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/blobservicepropertiesclient/zz_generated_client.go @@ -27,6 +27,7 @@ import ( ) const AzureStackCloudAPIVersion = "2019-06-01" +const MooncakeApiVersion = "2023-05-01" type Client struct { *armstorage.BlobServicesClient diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/cloud.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/cloud.go index 5bf37b8f40..35a0204cbc 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/cloud.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/cloud.go @@ -25,15 +25,9 @@ import ( "strings" "github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud" -) -var EnvironmentMapping = map[string]*cloud.Configuration{ - "AZURECHINACLOUD": &cloud.AzureChina, - "AZURECLOUD": &cloud.AzurePublic, - "AZUREPUBLICCLOUD": &cloud.AzurePublic, - "AZUREUSGOVERNMENT": &cloud.AzureGovernment, - "AZUREUSGOVERNMENTCLOUD": &cloud.AzureGovernment, //TODO: deprecate -} + "sigs.k8s.io/cloud-provider-azure/pkg/azclient/utils" +) const AzureStackCloudName = "AZURESTACKCLOUD" const ( @@ -42,14 +36,6 @@ const ( EnvironmentFilepathName = "AZURE_ENVIRONMENT_FILEPATH" ) -func AzureCloudConfigFromName(cloudName string) *cloud.Configuration { - cloudName = strings.ToUpper(strings.TrimSpace(cloudName)) - if cloudConfig, ok := EnvironmentMapping[cloudName]; ok { - return cloudConfig - } - return &cloud.AzurePublic -} - // OverrideAzureCloudConfigAndEnvConfigFromMetadataService returns cloud config and environment config from url // track2 sdk will add this one in the near future https://github.com/Azure/azure-sdk-for-go/issues/20959 // cloud and env should not be empty @@ -151,7 +137,7 @@ func GetAzureCloudConfigAndEnvConfig(armConfig *ARMClientConfig) (cloud.Configur if armConfig != nil { cloudName = armConfig.Cloud } - config := AzureCloudConfigFromName(cloudName) + config := utils.AzureCloudConfigFromName(cloudName) if armConfig == nil { return *config, nil, nil } diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/factory_gen.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/factory_gen.go index a7f508e924..da5ce37f79 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/factory_gen.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/factory_gen.go @@ -353,11 +353,11 @@ func (factory *ClientFactoryImpl) createAccountClient(subscription string) (acco return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = accountclient.AzureStackCloudAPIVersion + } else if !strings.EqualFold(options.Cloud.ActiveDirectoryAuthorityHost, cloud.AzurePublic.ActiveDirectoryAuthorityHost) { + options.ClientOptions.APIVersion = accountclient.MooncakeApiVersion } - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("storageAccountRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -400,11 +400,9 @@ func (factory *ClientFactoryImpl) createAvailabilitySetClient(subscription strin return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = availabilitysetclient.AzureStackCloudAPIVersion } - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("availabilitySetRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -430,7 +428,6 @@ func (factory *ClientFactoryImpl) createBackendAddressPoolClient(subscription st return nil, err } options.Cloud = factory.cloudConfig - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("loadBalancerRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -456,11 +453,11 @@ func (factory *ClientFactoryImpl) createBlobContainerClient(subscription string) return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = blobcontainerclient.AzureStackCloudAPIVersion + } else if !strings.EqualFold(options.Cloud.ActiveDirectoryAuthorityHost, cloud.AzurePublic.ActiveDirectoryAuthorityHost) { + options.ClientOptions.APIVersion = blobcontainerclient.MooncakeApiVersion } - for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -497,11 +494,11 @@ func (factory *ClientFactoryImpl) createBlobServicePropertiesClient(subscription return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = blobservicepropertiesclient.AzureStackCloudAPIVersion + } else if !strings.EqualFold(options.Cloud.ActiveDirectoryAuthorityHost, cloud.AzurePublic.ActiveDirectoryAuthorityHost) { + options.ClientOptions.APIVersion = blobservicepropertiesclient.MooncakeApiVersion } - for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -538,7 +535,6 @@ func (factory *ClientFactoryImpl) createDeploymentClient(subscription string) (d return nil, err } options.Cloud = factory.cloudConfig - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("deploymentRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -564,11 +560,9 @@ func (factory *ClientFactoryImpl) createDiskClient(subscription string) (diskcli return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = diskclient.AzureStackCloudAPIVersion } - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("diskRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -611,7 +605,9 @@ func (factory *ClientFactoryImpl) createFileServicePropertiesClient(subscription return nil, err } options.Cloud = factory.cloudConfig - + if !strings.EqualFold(options.Cloud.ActiveDirectoryAuthorityHost, cloud.AzurePublic.ActiveDirectoryAuthorityHost) { + options.ClientOptions.APIVersion = fileservicepropertiesclient.MooncakeApiVersion + } for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -648,7 +644,9 @@ func (factory *ClientFactoryImpl) createFileShareClient(subscription string) (fi return nil, err } options.Cloud = factory.cloudConfig - + if !strings.EqualFold(options.Cloud.ActiveDirectoryAuthorityHost, cloud.AzurePublic.ActiveDirectoryAuthorityHost) { + options.ClientOptions.APIVersion = fileshareclient.MooncakeApiVersion + } for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -685,7 +683,6 @@ func (factory *ClientFactoryImpl) createIdentityClient(subscription string) (ide return nil, err } options.Cloud = factory.cloudConfig - for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -705,11 +702,9 @@ func (factory *ClientFactoryImpl) createInterfaceClient(subscription string) (in return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = interfaceclient.AzureStackCloudAPIVersion } - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("interfaceRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -735,7 +730,9 @@ func (factory *ClientFactoryImpl) createIPGroupClient(subscription string) (ipgr return nil, err } options.Cloud = factory.cloudConfig - + if !strings.EqualFold(options.Cloud.ActiveDirectoryAuthorityHost, cloud.AzurePublic.ActiveDirectoryAuthorityHost) { + options.ClientOptions.APIVersion = ipgroupclient.MooncakeApiVersion + } //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("ipGroupRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -761,11 +758,9 @@ func (factory *ClientFactoryImpl) createLoadBalancerClient(subscription string) return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = loadbalancerclient.AzureStackCloudAPIVersion } - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("loadBalancerRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -791,7 +786,6 @@ func (factory *ClientFactoryImpl) createManagedClusterClient(subscription string return nil, err } options.Cloud = factory.cloudConfig - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("containerServiceRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -817,7 +811,6 @@ func (factory *ClientFactoryImpl) createPrivateDNSZoneGroupClient(subscription s return nil, err } options.Cloud = factory.cloudConfig - for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -837,7 +830,6 @@ func (factory *ClientFactoryImpl) createPrivateEndpointClient(subscription strin return nil, err } options.Cloud = factory.cloudConfig - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("privateEndpointRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -863,11 +855,9 @@ func (factory *ClientFactoryImpl) createPrivateLinkServiceClient(subscription st return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = privatelinkserviceclient.AzureStackCloudAPIVersion } - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("privateLinkServiceRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -893,11 +883,9 @@ func (factory *ClientFactoryImpl) createPrivateZoneClient(subscription string) ( return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = privatezoneclient.AzureStackCloudAPIVersion } - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("privateDNSRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -923,7 +911,6 @@ func (factory *ClientFactoryImpl) createProviderClient(subscription string) (pro return nil, err } options.Cloud = factory.cloudConfig - for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -943,11 +930,9 @@ func (factory *ClientFactoryImpl) createPublicIPAddressClient(subscription strin return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = publicipaddressclient.AzureStackCloudAPIVersion } - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("publicIPAddressRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -973,7 +958,6 @@ func (factory *ClientFactoryImpl) createPublicIPPrefixClient(subscription string return nil, err } options.Cloud = factory.cloudConfig - for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -993,7 +977,9 @@ func (factory *ClientFactoryImpl) createRegistryClient(subscription string) (reg return nil, err } options.Cloud = factory.cloudConfig - + if !strings.EqualFold(options.Cloud.ActiveDirectoryAuthorityHost, cloud.AzurePublic.ActiveDirectoryAuthorityHost) { + options.ClientOptions.APIVersion = registryclient.MooncakeApiVersion + } for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -1013,7 +999,6 @@ func (factory *ClientFactoryImpl) createResourceGroupClient(subscription string) return nil, err } options.Cloud = factory.cloudConfig - for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -1033,7 +1018,6 @@ func (factory *ClientFactoryImpl) createRoleAssignmentClient(subscription string return nil, err } options.Cloud = factory.cloudConfig - for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -1053,11 +1037,9 @@ func (factory *ClientFactoryImpl) createRouteTableClient(subscription string) (r return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = routetableclient.AzureStackCloudAPIVersion } - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("routeTableRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -1083,7 +1065,6 @@ func (factory *ClientFactoryImpl) createSecretClient(subscription string) (secre return nil, err } options.Cloud = factory.cloudConfig - for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -1103,11 +1084,9 @@ func (factory *ClientFactoryImpl) createSecurityGroupClient(subscription string) return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = securitygroupclient.AzureStackCloudAPIVersion } - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("securityGroupRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -1133,11 +1112,9 @@ func (factory *ClientFactoryImpl) createSnapshotClient(subscription string) (sna return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = snapshotclient.AzureStackCloudAPIVersion } - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("snapshotRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -1180,7 +1157,6 @@ func (factory *ClientFactoryImpl) createSSHPublicKeyResourceClient(subscription return nil, err } options.Cloud = factory.cloudConfig - for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -1200,11 +1176,9 @@ func (factory *ClientFactoryImpl) createSubnetClient(subscription string) (subne return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = subnetclient.AzureStackCloudAPIVersion } - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("subnetsRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -1230,7 +1204,6 @@ func (factory *ClientFactoryImpl) createVaultClient(subscription string) (vaultc return nil, err } options.Cloud = factory.cloudConfig - for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -1250,11 +1223,9 @@ func (factory *ClientFactoryImpl) createVirtualMachineClient(subscription string return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = virtualmachineclient.AzureStackCloudAPIVersion } - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("virtualMachineRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -1280,11 +1251,9 @@ func (factory *ClientFactoryImpl) createVirtualMachineScaleSetClient(subscriptio return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = virtualmachinescalesetclient.AzureStackCloudAPIVersion } - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("virtualMachineScaleSetRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) @@ -1310,11 +1279,9 @@ func (factory *ClientFactoryImpl) createVirtualMachineScaleSetVMClient(subscript return nil, err } options.Cloud = factory.cloudConfig - if factory.armConfig != nil && strings.EqualFold(factory.armConfig.Cloud, utils.AzureStackCloudName) && !factory.armConfig.DisableAzureStackCloud { options.ClientOptions.APIVersion = virtualmachinescalesetvmclient.AzureStackCloudAPIVersion } - for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -1334,7 +1301,6 @@ func (factory *ClientFactoryImpl) createVirtualNetworkClient(subscription string return nil, err } options.Cloud = factory.cloudConfig - for _, optionMutFn := range factory.clientOptionsMutFn { if optionMutFn != nil { optionMutFn(options) @@ -1354,7 +1320,6 @@ func (factory *ClientFactoryImpl) createVirtualNetworkLinkClient(subscription st return nil, err } options.Cloud = factory.cloudConfig - //add ratelimit policy ratelimitOption := factory.factoryConfig.GetRateLimitConfig("virtualNetworkRateLimit") rateLimitPolicy := ratelimit.NewRateLimitPolicy(ratelimitOption) diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileservicepropertiesclient/interface.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileservicepropertiesclient/interface.go index 29b0edc164..7ae300159a 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileservicepropertiesclient/interface.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileservicepropertiesclient/interface.go @@ -23,7 +23,7 @@ import ( armstorage "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage" ) -// +azure:client:resource=FileServiceProperties,packageName=github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage,packageAlias=armstorage,clientName=FileServicesClient,expand=false,crossSubFactory=true +// +azure:client:resource=FileServiceProperties,packageName=github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage,packageAlias=armstorage,clientName=FileServicesClient,expand=false,crossSubFactory=true,mooncakeApiVersion="2023-05-01" type Interface interface { Get(ctx context.Context, resourceGroupName string, resourceName string) (*armstorage.FileServiceProperties, error) Set(ctx context.Context, resourceGroupName string, resourceName string, parameters armstorage.FileServiceProperties) (*armstorage.FileServiceProperties, error) diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileservicepropertiesclient/zz_generated_client.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileservicepropertiesclient/zz_generated_client.go index 527968be63..4eda068bc3 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileservicepropertiesclient/zz_generated_client.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileservicepropertiesclient/zz_generated_client.go @@ -26,6 +26,8 @@ import ( "sigs.k8s.io/cloud-provider-azure/pkg/azclient/utils" ) +const MooncakeApiVersion = "2023-05-01" + type Client struct { *armstorage.FileServicesClient subscriptionID string diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileshareclient/interface.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileshareclient/interface.go index b9404aff1d..ce67e5165c 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileshareclient/interface.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileshareclient/interface.go @@ -23,7 +23,7 @@ import ( armstorage "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage" ) -// +azure:client:resource=Account,subResource=FileShare,packageName=github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage,packageAlias=armstorage,clientName=FileSharesClient,expand=true,crossSubFactory=true +// +azure:client:resource=Account,subResource=FileShare,packageName=github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage,packageAlias=armstorage,clientName=FileSharesClient,expand=true,crossSubFactory=true,mooncakeApiVersion="2023-05-01" type Interface interface { Get(ctx context.Context, resourceGroupName string, accountName string, resourceName string, option *armstorage.FileSharesClientGetOptions) (result *armstorage.FileShare, rerr error) List(ctx context.Context, resourceGroupName string, accountName string, option *armstorage.FileSharesClientListOptions) (result []*armstorage.FileShareItem, err error) diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileshareclient/zz_generated_client.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileshareclient/zz_generated_client.go index 926c08ce79..5d750a79b1 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileshareclient/zz_generated_client.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/fileshareclient/zz_generated_client.go @@ -26,6 +26,8 @@ import ( "sigs.k8s.io/cloud-provider-azure/pkg/azclient/utils" ) +const MooncakeApiVersion = "2023-05-01" + type Client struct { *armstorage.FileSharesClient subscriptionID string diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/ipgroupclient/interface.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/ipgroupclient/interface.go index bc92e48009..6ebe14b4b9 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/ipgroupclient/interface.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/ipgroupclient/interface.go @@ -23,7 +23,7 @@ import ( "sigs.k8s.io/cloud-provider-azure/pkg/azclient/utils" ) -// +azure:client:verbs=get;createorupdate;delete;listbyrg,resource=IPGroup,packageName=github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6,packageAlias=armnetwork,clientName=IPGroupsClient,expand=true,rateLimitKey=ipGroupRateLimit +// +azure:client:verbs=get;createorupdate;delete;listbyrg,resource=IPGroup,packageName=github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v6,packageAlias=armnetwork,clientName=IPGroupsClient,expand=true,rateLimitKey=ipGroupRateLimit,mooncakeApiVersion="2024-03-01" type Interface interface { utils.GetWithExpandFunc[armnetwork.IPGroup] utils.CreateOrUpdateFunc[armnetwork.IPGroup] diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/ipgroupclient/zz_generated_client.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/ipgroupclient/zz_generated_client.go index 55748dd106..1f7b6f6c6e 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/ipgroupclient/zz_generated_client.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/ipgroupclient/zz_generated_client.go @@ -30,6 +30,8 @@ import ( "sigs.k8s.io/cloud-provider-azure/pkg/azclient/utils" ) +const MooncakeApiVersion = "2024-03-01" + type Client struct { *armnetwork.IPGroupsClient subscriptionID string diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/registryclient/interface.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/registryclient/interface.go index 9374497a0a..bb77e5e8d7 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/registryclient/interface.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/registryclient/interface.go @@ -25,7 +25,7 @@ import ( "sigs.k8s.io/cloud-provider-azure/pkg/azclient/utils" ) -// +azure:client:verbs=get;delete;listbyrg,resource=Registry,packageName=github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerregistry/armcontainerregistry,packageAlias=armcontainerregistry,clientName=RegistriesClient,expand=false +// +azure:client:verbs=get;delete;listbyrg,resource=Registry,packageName=github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerregistry/armcontainerregistry,packageAlias=armcontainerregistry,clientName=RegistriesClient,expand=false,mooncakeApiVersion="2023-07-01" type Interface interface { utils.GetFunc[armcontainerregistry.Registry] Create(ctx context.Context, resourceGroupName string, resourceName string, resourceParam armcontainerregistry.Registry) (*armcontainerregistry.Registry, error) diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/registryclient/zz_generated_client.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/registryclient/zz_generated_client.go index 01d0d256fd..bf431ebc47 100644 --- a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/registryclient/zz_generated_client.go +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/registryclient/zz_generated_client.go @@ -30,6 +30,8 @@ import ( "sigs.k8s.io/cloud-provider-azure/pkg/azclient/utils" ) +const MooncakeApiVersion = "2023-07-01" + type Client struct { *armcontainerregistry.RegistriesClient subscriptionID string diff --git a/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/utils/cloud.go b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/utils/cloud.go new file mode 100644 index 0000000000..3df9493b63 --- /dev/null +++ b/vendor/sigs.k8s.io/cloud-provider-azure/pkg/azclient/utils/cloud.go @@ -0,0 +1,39 @@ +/* +Copyright 2023 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package utils + +import ( + "strings" + + "github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud" +) + +var EnvironmentMapping = map[string]*cloud.Configuration{ + "AZURECHINACLOUD": &cloud.AzureChina, + "AZURECLOUD": &cloud.AzurePublic, + "AZUREPUBLICCLOUD": &cloud.AzurePublic, + "AZUREUSGOVERNMENT": &cloud.AzureGovernment, + "AZUREUSGOVERNMENTCLOUD": &cloud.AzureGovernment, //TODO: deprecate +} + +func AzureCloudConfigFromName(cloudName string) *cloud.Configuration { + cloudName = strings.ToUpper(strings.TrimSpace(cloudName)) + if cloudConfig, ok := EnvironmentMapping[cloudName]; ok { + return cloudConfig + } + return &cloud.AzurePublic +}