github.com/estesp/manifest-tool@v1.0.3/docker/util.go (about) 1 package docker 2 3 import "fmt" 4 5 // list of valid os/arch values (see "Optional Environment Variables" section 6 // of https://golang.org/doc/install/source 7 // Added linux/s390x as we know System z support already exists 8 9 var validOSArch = map[string]bool{ 10 "darwin/386": true, 11 "darwin/amd64": true, 12 "darwin/arm": true, 13 "darwin/arm64": true, 14 "dragonfly/amd64": true, 15 "freebsd/386": true, 16 "freebsd/amd64": true, 17 "freebsd/arm": true, 18 "linux/386": true, 19 "linux/amd64": true, 20 "linux/arm": true, 21 "linux/arm/v5": true, 22 "linux/arm/v6": true, 23 "linux/arm/v7": true, 24 "linux/arm64": true, 25 "linux/arm64/v8": true, 26 "linux/ppc64": true, 27 "linux/ppc64le": true, 28 "linux/mips64": true, 29 "linux/mips64le": true, 30 "linux/s390x": true, 31 "netbsd/386": true, 32 "netbsd/amd64": true, 33 "netbsd/arm": true, 34 "openbsd/386": true, 35 "openbsd/amd64": true, 36 "openbsd/arm": true, 37 "plan9/386": true, 38 "plan9/amd64": true, 39 "solaris/amd64": true, 40 "windows/386": true, 41 "windows/amd64": true, 42 "windows/arm": true, 43 } 44 45 func isValidOSArch(os string, arch string, variant string) bool { 46 osarch := fmt.Sprintf("%s/%s", os, arch) 47 48 if variant != "" { 49 osarch = fmt.Sprintf("%s/%s/%s", os, arch, variant) 50 } 51 52 _, ok := validOSArch[osarch] 53 return ok 54 }