traefik-certs-dumper/internal/multiarch.go
2019-04-29 01:20:05 +02:00

54 lines
1.1 KiB
Go

package main
import (
"flag"
"log"
"os"
)
type buildOption struct {
OS string `json:"os"`
GoARCH string `json:"go_arch"`
GoARM string `json:"go_arm,omitempty"`
Variant string `json:"variant,omitempty"`
}
func main() {
log.SetFlags(log.Lshortfile)
imageName := flag.String("image-name", "ldez/traefik-certs-dumper", "")
version := flag.String("version", "", "")
baseImageName := flag.String("base-image-name", "alpine:3.9", "")
dryRun := flag.Bool("dry-run", true, "")
flag.Parse()
require("image-name", imageName)
require("version", version)
require("base-image-name", baseImageName)
_, travisTag := os.LookupEnv("TRAVIS_TAG")
if !travisTag {
log.Println("Skipping deploy")
os.Exit(0)
}
targets := []string{"arm.v6", "arm.v7", "arm.v8", "amd64", "386"}
publisher, err := newPublisher(*imageName, *version, *baseImageName, targets)
if err != nil {
log.Fatal(err)
}
err = publisher.execute(*dryRun)
if err != nil {
log.Fatal(err)
}
}
func require(fieldName string, field *string) {
if field == nil || *field == "" {
log.Fatalf("%s is required", fieldName)
}
}