Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

switch to gopkg.in/yaml.v3 #4178

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion configuration/configuration_test.go
Expand Up @@ -9,7 +9,7 @@ import (
"time"

"github.com/stretchr/testify/suite"
"gopkg.in/yaml.v2"
"gopkg.in/yaml.v3"
)

// configStruct is a canonical example configuration, which should map to configYamlV0_1
Expand Down
2 changes: 1 addition & 1 deletion configuration/parser.go
Expand Up @@ -9,7 +9,7 @@ import (
"strings"

"github.com/sirupsen/logrus"
"gopkg.in/yaml.v2"
"gopkg.in/yaml.v3"
)

// Version is a major/minor version pair of the form Major.Minor
Expand Down
3 changes: 1 addition & 2 deletions go.mod
Expand Up @@ -33,7 +33,7 @@ require (
golang.org/x/crypto v0.15.0
golang.org/x/oauth2 v0.11.0
google.golang.org/api v0.126.0
gopkg.in/yaml.v2 v2.4.0
gopkg.in/yaml.v3 v3.0.1
)

require (
Expand Down Expand Up @@ -98,5 +98,4 @@ require (
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
google.golang.org/grpc v1.59.0 // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
1 change: 0 additions & 1 deletion go.sum
Expand Up @@ -405,7 +405,6 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
Expand Down
12 changes: 6 additions & 6 deletions registry/handlers/api_test.go
Expand Up @@ -641,7 +641,7 @@ func TestURLPrefix(t *testing.T) {
config := configuration.Configuration{
Storage: configuration.Storage{
"inmemory": configuration.Parameters{},
"maintenance": configuration.Parameters{"uploadpurging": map[interface{}]interface{}{
"maintenance": configuration.Parameters{"uploadpurging": configuration.Parameters{
"enabled": false,
}},
},
Expand Down Expand Up @@ -724,7 +724,7 @@ func TestRelativeURL(t *testing.T) {
config := configuration.Configuration{
Storage: configuration.Storage{
"inmemory": configuration.Parameters{},
"maintenance": configuration.Parameters{"uploadpurging": map[interface{}]interface{}{
"maintenance": configuration.Parameters{"uploadpurging": configuration.Parameters{
"enabled": false,
}},
},
Expand Down Expand Up @@ -1458,7 +1458,7 @@ func TestGetManifestWithStorageError(t *testing.T) {
config := configuration.Configuration{
Storage: configuration.Storage{
"storagemanifesterror": configuration.Parameters{},
"maintenance": configuration.Parameters{"uploadpurging": map[interface{}]interface{}{
"maintenance": configuration.Parameters{"uploadpurging": configuration.Parameters{
"enabled": false,
}},
},
Expand Down Expand Up @@ -2169,7 +2169,7 @@ func newTestEnvMirror(t *testing.T, deleteEnabled bool) *testEnv {
Storage: configuration.Storage{
"inmemory": configuration.Parameters{},
"delete": configuration.Parameters{"enabled": deleteEnabled},
"maintenance": configuration.Parameters{"uploadpurging": map[interface{}]interface{}{
"maintenance": configuration.Parameters{"uploadpurging": configuration.Parameters{
"enabled": false,
}},
},
Expand All @@ -2189,7 +2189,7 @@ func newTestEnv(t *testing.T, deleteEnabled bool) *testEnv {
Storage: configuration.Storage{
"inmemory": configuration.Parameters{},
"delete": configuration.Parameters{"enabled": deleteEnabled},
"maintenance": configuration.Parameters{"uploadpurging": map[interface{}]interface{}{
"maintenance": configuration.Parameters{"uploadpurging": configuration.Parameters{
"enabled": false,
}},
},
Expand Down Expand Up @@ -2745,7 +2745,7 @@ func TestProxyManifestGetByTag(t *testing.T) {
truthConfig := configuration.Configuration{
Storage: configuration.Storage{
"inmemory": configuration.Parameters{},
"maintenance": configuration.Parameters{"uploadpurging": map[interface{}]interface{}{
"maintenance": configuration.Parameters{"uploadpurging": configuration.Parameters{
"enabled": false,
}},
},
Expand Down
10 changes: 5 additions & 5 deletions registry/handlers/app.go
Expand Up @@ -127,13 +127,13 @@ func NewApp(ctx context.Context, config *configuration.Configuration) *App {
purgeConfig := uploadPurgeDefaultConfig()
if mc, ok := config.Storage["maintenance"]; ok {
if v, ok := mc["uploadpurging"]; ok {
purgeConfig, ok = v.(map[interface{}]interface{})
purgeConfig, ok = v.(configuration.Parameters)
if !ok {
panic("uploadpurging config key must contain additional keys")
}
}
if v, ok := mc["readonly"]; ok {
readOnly, ok := v.(map[interface{}]interface{})
readOnly, ok := v.(configuration.Parameters)
if !ok {
panic("readonly config key must contain additional keys")
}
Expand Down Expand Up @@ -952,8 +952,8 @@ func applyStorageMiddleware(ctx context.Context, driver storagedriver.StorageDri
// uploadPurgeDefaultConfig provides a default configuration for upload
// purging to be used in the absence of configuration in the
// configuration file
func uploadPurgeDefaultConfig() map[interface{}]interface{} {
config := map[interface{}]interface{}{}
func uploadPurgeDefaultConfig() map[string]interface{} {
config := map[string]interface{}{}
config["enabled"] = true
config["age"] = "168h"
config["interval"] = "24h"
Expand All @@ -967,7 +967,7 @@ func badPurgeUploadConfig(reason string) {

// startUploadPurger schedules a goroutine which will periodically
// check upload directories for old files and delete them
func startUploadPurger(ctx context.Context, storageDriver storagedriver.StorageDriver, log dcontext.Logger, config map[interface{}]interface{}) {
func startUploadPurger(ctx context.Context, storageDriver storagedriver.StorageDriver, log dcontext.Logger, config map[string]interface{}) {
if config["enabled"] == false {
return
}
Expand Down
2 changes: 1 addition & 1 deletion registry/handlers/app_test.go
Expand Up @@ -143,7 +143,7 @@ func TestNewApp(t *testing.T) {
config := configuration.Configuration{
Storage: configuration.Storage{
"inmemory": nil,
"maintenance": configuration.Parameters{"uploadpurging": map[interface{}]interface{}{
"maintenance": configuration.Parameters{"uploadpurging": configuration.Parameters{
"enabled": false,
}},
},
Expand Down
6 changes: 3 additions & 3 deletions registry/handlers/health_test.go
Expand Up @@ -26,7 +26,7 @@ func TestFileHealthCheck(t *testing.T) {
config := &configuration.Configuration{
Storage: configuration.Storage{
"inmemory": configuration.Parameters{},
"maintenance": configuration.Parameters{"uploadpurging": map[interface{}]interface{}{
"maintenance": configuration.Parameters{"uploadpurging": configuration.Parameters{
"enabled": false,
}},
},
Expand Down Expand Up @@ -89,7 +89,7 @@ func TestTCPHealthCheck(t *testing.T) {
config := &configuration.Configuration{
Storage: configuration.Storage{
"inmemory": configuration.Parameters{},
"maintenance": configuration.Parameters{"uploadpurging": map[interface{}]interface{}{
"maintenance": configuration.Parameters{"uploadpurging": configuration.Parameters{
"enabled": false,
}},
},
Expand Down Expand Up @@ -151,7 +151,7 @@ func TestHTTPHealthCheck(t *testing.T) {
config := &configuration.Configuration{
Storage: configuration.Storage{
"inmemory": configuration.Parameters{},
"maintenance": configuration.Parameters{"uploadpurging": map[interface{}]interface{}{
"maintenance": configuration.Parameters{"uploadpurging": configuration.Parameters{
"enabled": false,
}},
},
Expand Down
2 changes: 1 addition & 1 deletion registry/registry_test.go
Expand Up @@ -28,7 +28,7 @@ import (
"github.com/distribution/distribution/v3/internal/dcontext"
_ "github.com/distribution/distribution/v3/registry/storage/driver/inmemory"
"github.com/sirupsen/logrus"
"gopkg.in/yaml.v2"
"gopkg.in/yaml.v3"
)

// Tests to ensure nextProtos returns the correct protocols when:
Expand Down
8 changes: 2 additions & 6 deletions registry/storage/driver/gcs/gcs.go
Expand Up @@ -170,18 +170,14 @@ func FromParameters(ctx context.Context, parameters map[string]interface{}) (sto
return nil, err
}
} else if credentials, ok := parameters["credentials"]; ok {
credentialMap, ok := credentials.(map[interface{}]interface{})
credentialMap, ok := credentials.(map[string]interface{})
if !ok {
return nil, fmt.Errorf("The credentials were not specified in the correct format")
}

stringMap := map[string]interface{}{}
for k, v := range credentialMap {
key, ok := k.(string)
if !ok {
return nil, fmt.Errorf("One of the credential keys was not a string: %s", fmt.Sprint(k))
}
stringMap[key] = v
stringMap[k] = v
}

data, err := json.Marshal(stringMap)
Expand Down
17 changes: 0 additions & 17 deletions vendor/gopkg.in/yaml.v2/.travis.yml

This file was deleted.