mirror of
https://github.com/project-zot/zot.git
synced 2026-06-17 21:17:58 +08:00
chore: update golangci-lint and fix all issues (#3575)
* chore: Update golangci-lint Signed-off-by: Lars Francke <git@lars-francke.de> * chore: fix all golangci-lint issues - Remove deprecated `// +build` tags - Fix godoclint, modernize, wsl_v5, govet, lll, gci, noctx issues - Update linter configuration - Modernize code to use Go 1.22+ features (for range N, slices.Contains, etc.) - Update make check lint the privileged tests Signed-off-by: Andrei Aaron <andreifdaaron@gmail.com> --------- Signed-off-by: Lars Francke <git@lars-francke.de> Signed-off-by: Andrei Aaron <andreifdaaron@gmail.com> Co-authored-by: Lars Francke <git@lars-francke.de>
This commit is contained in:
+15
-38
@@ -9,6 +9,7 @@ import (
|
||||
"net"
|
||||
"os"
|
||||
"regexp"
|
||||
"slices"
|
||||
"strings"
|
||||
"syscall"
|
||||
"time"
|
||||
@@ -26,7 +27,8 @@ const (
|
||||
CosignSignature = "cosign"
|
||||
CosignSigKey = "dev.cosignproject.cosign/signature"
|
||||
NotationSignature = "notation"
|
||||
// same value as github.com/notaryproject/notation-go/registry.ArtifactTypeNotation (assert by internal test).
|
||||
// ArtifactTypeNotation is the same value as github.com/notaryproject/notation-go/registry.ArtifactTypeNotation
|
||||
// (assert by internal test).
|
||||
// reason used: to reduce zot minimal binary size (otherwise adds oras.land/oras-go/v2 deps).
|
||||
ArtifactTypeNotation = "application/vnd.cncf.notary.signature"
|
||||
ArtifactTypeCosign = "application/vnd.dev.cosign.artifact.sig.v1+json"
|
||||
@@ -51,28 +53,7 @@ func IsCosignTag(tag string) bool {
|
||||
return IsCosignSignature(tag) || IsCosignSBOM(tag)
|
||||
}
|
||||
|
||||
func Contains[T comparable](elems []T, v T) bool {
|
||||
for _, s := range elems {
|
||||
if v == s {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
// first match of item in [].
|
||||
func Index(slice []string, item string) int {
|
||||
for k, v := range slice {
|
||||
if item == v {
|
||||
return k
|
||||
}
|
||||
}
|
||||
|
||||
return -1
|
||||
}
|
||||
|
||||
// remove matches of item in [].
|
||||
// RemoveFrom removes matches of item in [].
|
||||
func RemoveFrom(inputSlice []string, item string) []string {
|
||||
var newSlice []string
|
||||
|
||||
@@ -85,7 +66,7 @@ func RemoveFrom(inputSlice []string, item string) []string {
|
||||
return newSlice
|
||||
}
|
||||
|
||||
func TypeOf(v interface{}) string {
|
||||
func TypeOf(v any) string {
|
||||
return fmt.Sprintf("%T", v)
|
||||
}
|
||||
|
||||
@@ -113,8 +94,8 @@ func DirExists(d string) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
// Used to filter a json fields by using an intermediate struct.
|
||||
func MarshalThroughStruct(obj interface{}, throughStruct interface{}) ([]byte, error) {
|
||||
// MarshalThroughStruct is used to filter a json fields by using an intermediate struct.
|
||||
func MarshalThroughStruct(obj any, throughStruct any) ([]byte, error) {
|
||||
toJSON, err := json.Marshal(obj)
|
||||
if err != nil {
|
||||
return []byte{}, err
|
||||
@@ -134,16 +115,12 @@ func MarshalThroughStruct(obj interface{}, throughStruct interface{}) ([]byte, e
|
||||
}
|
||||
|
||||
func ContainsStringIgnoreCase(strSlice []string, str string) bool {
|
||||
for _, val := range strSlice {
|
||||
if strings.EqualFold(val, str) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
return false
|
||||
return slices.ContainsFunc(strSlice, func(val string) bool {
|
||||
return strings.EqualFold(val, str)
|
||||
})
|
||||
}
|
||||
|
||||
// this function will check if tag is a referrers tag
|
||||
// IsReferrersTag checks if tag is a referrers tag
|
||||
// (https://github.com/opencontainers/distribution-spec/blob/main/spec.md#referrers-tag-schema).
|
||||
func IsReferrersTag(tag string) bool {
|
||||
referrersTagRule := regexp.MustCompile(`sha256\-[A-Za-z0-9]*$`)
|
||||
@@ -160,7 +137,7 @@ func IsContextDone(ctx context.Context) bool {
|
||||
}
|
||||
}
|
||||
|
||||
// get a list of IP addresses configured on the host's
|
||||
// GetLocalIPs gets a list of IP addresses configured on the host's
|
||||
// interfaces.
|
||||
func GetLocalIPs() ([]string, error) {
|
||||
var localIPs []string
|
||||
@@ -186,7 +163,7 @@ func GetLocalIPs() ([]string, error) {
|
||||
return localIPs, nil
|
||||
}
|
||||
|
||||
// get a list of listening sockets on the host (IP:port).
|
||||
// GetLocalSockets gets a list of listening sockets on the host (IP:port).
|
||||
// IPv6 is returned as [host]:port.
|
||||
func GetLocalSockets(port string) ([]string, error) {
|
||||
localIPs, err := GetLocalIPs()
|
||||
@@ -205,7 +182,7 @@ func GetLocalSockets(port string) ([]string, error) {
|
||||
}
|
||||
|
||||
func GetIPFromHostName(host string) ([]string, error) {
|
||||
addrs, err := net.LookupIP(host)
|
||||
addrs, err := net.LookupIP(host) //nolint: noctx
|
||||
if err != nil {
|
||||
return []string{}, err
|
||||
}
|
||||
@@ -219,7 +196,7 @@ func GetIPFromHostName(host string) ([]string, error) {
|
||||
return ips, nil
|
||||
}
|
||||
|
||||
// checks if 2 sockets are equal at the host port level.
|
||||
// AreSocketsEqual checks if 2 sockets are equal at the host port level.
|
||||
func AreSocketsEqual(socketA string, socketB string) (bool, error) {
|
||||
hostA, portA, err := net.SplitHostPort(socketA)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user