mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 19:31:44 +00:00
Merge pull request #65043 from brendandburns/todo4
Automatic merge from submit-queue (batch tested with PRs 64564, 65043). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Make CredentialProvider config loading deterministic. @mattmoor fixed an old TODO :)
This commit is contained in:
commit
152de38825
@ -17,6 +17,8 @@ limitations under the License.
|
||||
package credentialprovider
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"sort"
|
||||
"sync"
|
||||
|
||||
"github.com/golang/glog"
|
||||
@ -49,11 +51,17 @@ func NewDockerKeyring() DockerKeyring {
|
||||
Providers: make([]DockerConfigProvider, 0),
|
||||
}
|
||||
|
||||
// TODO(mattmoor): iterating over the map is non-deterministic. We should
|
||||
// introduce the notion of priorities for conflict resolution.
|
||||
for name, provider := range providers {
|
||||
keys := reflect.ValueOf(providers).MapKeys()
|
||||
stringKeys := make([]string, len(keys))
|
||||
for ix := range keys {
|
||||
stringKeys[ix] = keys[ix].String()
|
||||
}
|
||||
sort.Strings(stringKeys)
|
||||
|
||||
for _, key := range stringKeys {
|
||||
provider := providers[key]
|
||||
if provider.Enabled() {
|
||||
glog.V(4).Infof("Registering credential provider: %v", name)
|
||||
glog.V(4).Infof("Registering credential provider: %v", key)
|
||||
keyring.Providers = append(keyring.Providers, provider)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user