Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .golangci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ linters:
- regexpSimplify
- sloppyReassign
- tooManyResultsChecker
- typeAssertChain
- typeDefFirst
- typeSwitchVar
- typeUnparen
Expand Down
13 changes: 7 additions & 6 deletions cmd/argocd-dex/commands/argocd_dex.go
Original file line number Diff line number Diff line change
Expand Up @@ -221,17 +221,18 @@ func NewGenDexConfigCommand() *cobra.Command {
}

func iterateStringFields(obj any, callback func(name string, val string) string) {
if mapField, ok := obj.(map[string]any); ok {
for field, val := range mapField {
switch obj := obj.(type) {
case map[string]any:
for field, val := range obj {
if strVal, ok := val.(string); ok {
mapField[field] = callback(field, strVal)
obj[field] = callback(field, strVal)
} else {
iterateStringFields(val, callback)
}
}
} else if arrayField, ok := obj.([]any); ok {
for i := range arrayField {
iterateStringFields(arrayField[i], callback)
case []any:
for i := range obj {
iterateStringFields(obj[i], callback)
}
}
}
Expand Down
53 changes: 27 additions & 26 deletions server/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -1662,57 +1662,58 @@ func (bf *bug21955Workaround) ServeHTTP(w http.ResponseWriter, r *http.Request)
}

func bug21955WorkaroundInterceptor(ctx context.Context, req any, _ *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp any, err error) {
if rq, ok := req.(*repositorypkg.RepoQuery); ok {
repo, err := url.QueryUnescape(rq.Repo)
switch req := req.(type) {
case *repositorypkg.RepoQuery:
repo, err := url.QueryUnescape(req.Repo)
if err != nil {
return nil, err
}
rq.Repo = repo
} else if rk, ok := req.(*repositorypkg.RepoAppsQuery); ok {
repo, err := url.QueryUnescape(rk.Repo)
req.Repo = repo
case *repositorypkg.RepoAppsQuery:
repo, err := url.QueryUnescape(req.Repo)
if err != nil {
return nil, err
}
rk.Repo = repo
} else if rdq, ok := req.(*repositorypkg.RepoAppDetailsQuery); ok {
repo, err := url.QueryUnescape(rdq.Source.RepoURL)
req.Repo = repo
case *repositorypkg.RepoAppDetailsQuery:
repo, err := url.QueryUnescape(req.Source.RepoURL)
if err != nil {
return nil, err
}
rdq.Source.RepoURL = repo
} else if ru, ok := req.(*repositorypkg.RepoUpdateRequest); ok {
repo, err := url.QueryUnescape(ru.Repo.Repo)
req.Source.RepoURL = repo
case *repositorypkg.RepoUpdateRequest:
repo, err := url.QueryUnescape(req.Repo.Repo)
if err != nil {
return nil, err
}
ru.Repo.Repo = repo
} else if rk, ok := req.(*repocredspkg.RepoCredsQuery); ok {
pattern, err := url.QueryUnescape(rk.Url)
req.Repo.Repo = repo
case *repocredspkg.RepoCredsQuery:
pattern, err := url.QueryUnescape(req.Url)
if err != nil {
return nil, err
}
rk.Url = pattern
} else if rk, ok := req.(*repocredspkg.RepoCredsDeleteRequest); ok {
pattern, err := url.QueryUnescape(rk.Url)
req.Url = pattern
case *repocredspkg.RepoCredsDeleteRequest:
pattern, err := url.QueryUnescape(req.Url)
if err != nil {
return nil, err
}
rk.Url = pattern
} else if cq, ok := req.(*clusterpkg.ClusterQuery); ok {
if cq.Id != nil {
val, err := url.QueryUnescape(cq.Id.Value)
req.Url = pattern
case *clusterpkg.ClusterQuery:
if req.Id != nil {
val, err := url.QueryUnescape(req.Id.Value)
if err != nil {
return nil, err
}
cq.Id.Value = val
req.Id.Value = val
}
} else if cu, ok := req.(*clusterpkg.ClusterUpdateRequest); ok {
if cu.Id != nil {
val, err := url.QueryUnescape(cu.Id.Value)
case *clusterpkg.ClusterUpdateRequest:
if req.Id != nil {
val, err := url.QueryUnescape(req.Id.Value)
if err != nil {
return nil, err
}
cu.Id.Value = val
req.Id.Value = val
}
}
return handler(ctx, req)
Expand Down
13 changes: 7 additions & 6 deletions util/kustomize/kustomize.go
Original file line number Diff line number Diff line change
Expand Up @@ -506,24 +506,25 @@ func getImageParameters(objs []*unstructured.Unstructured) []Image {
func getImages(object map[string]any) []Image {
var images []Image
for k, v := range object {
if array, ok := v.([]any); ok {
switch v := v.(type) {
case []any:
if k == "containers" || k == "initContainers" {
for _, obj := range array {
for _, obj := range v {
if mapObj, isMapObj := obj.(map[string]any); isMapObj {
if image, hasImage := mapObj["image"]; hasImage {
images = append(images, fmt.Sprintf("%s", image))
}
}
}
} else {
for i := range array {
if mapObj, isMapObj := array[i].(map[string]any); isMapObj {
for i := range v {
if mapObj, isMapObj := v[i].(map[string]any); isMapObj {
images = append(images, getImages(mapObj)...)
}
}
}
} else if objMap, ok := v.(map[string]any); ok {
images = append(images, getImages(objMap)...)
case map[string]any:
images = append(images, getImages(v)...)
}
}
return images
Expand Down
Loading