build: golang.org/x/build/dashboard Index | Files

package dashboard

import "golang.org/x/build/dashboard"

Package dashboard contains shared configuration and logic used by various pieces of the Go continuous build system.

Index

Package Files

builders.go

Variables

var Builders = map[string]BuildConfig{}

Builders are the different build configurations. The keys are like "darwin-amd64" or "linux-386-387". This map should not be modified by other packages. Initialization happens below, via calls to addBuilder.

var Hosts = map[string]*HostConfig{
    "host-linux-kubestd": &HostConfig{
        Notes:           "Kubernetes container on GKE.",
        KubeImage:       "linux-x86-std-kube:latest",
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
        SSHUsername:     "root",
    },
    "host-linux-armhf-cross": &HostConfig{
        Notes:           "Kubernetes container on GKE built from env/crosscompile/linux-armhf-jessie",
        KubeImage:       "linux-armhf-jessie:latest",
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
    },
    "host-linux-armel-cross": &HostConfig{
        Notes:           "Kubernetes container on GKE built from env/crosscompile/linux-armel-stretch",
        KubeImage:       "linux-armel-stretch:latest",
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
    },
    "host-linux-amd64-localdev": &HostConfig{
        IsReverse:   true,
        ExpectNum:   0,
        Notes:       "for localhost development of buildlets/gomote/coordinator only",
        SSHUsername: os.Getenv("USER"),
    },
    "host-nacl-arm-davecheney": &HostConfig{
        IsReverse:   true,
        ExpectNum:   1,
        Notes:       "Raspberry Pi 3",
        OwnerGithub: "davecheney",
    },
    "host-nacl-kube": &HostConfig{
        Notes:           "Kubernetes container on GKE.",
        KubeImage:       "linux-x86-nacl:latest",
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
    },
    "host-s390x-cross-kube": &HostConfig{
        Notes:           "Kubernetes container on GKE.",
        KubeImage:       "linux-s390x-stretch:latest",
        buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
    },
    "host-linux-x86-alpine": &HostConfig{
        Notes:           "Kubernetes alpine container on GKE.",
        KubeImage:       "linux-x86-alpine:latest",
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64-static",
        env:             []string{"GOROOT_BOOTSTRAP=/usr/lib/go"},
    },
    "host-linux-clang": &HostConfig{
        Notes:           "Kubernetes container on GKE with clang.",
        KubeImage:       "linux-x86-clang:latest",
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
    },
    "host-linux-sid": &HostConfig{
        Notes:           "Debian sid, updated occasionally.",
        KubeImage:       "linux-x86-sid:latest",
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
    },
    "host-linux-arm-scaleway": &HostConfig{
        IsReverse:       true,
        HermeticReverse: true,
        ExpectNum:       50,
        env:             []string{"GOROOT_BOOTSTRAP=/usr/local/go"},
        ReverseAliases:  []string{"linux-arm", "linux-arm-arm5"},
        SSHUsername:     "root",
    },
    "host-linux-arm5spacemonkey": &HostConfig{
        IsReverse:      true,
        ExpectNum:      3,
        env:            []string{"GOROOT_BOOTSTRAP=/usr/local/go"},
        ReverseAliases: []string{"linux-arm-arm5spacemonkey"},
        OwnerGithub:    "zeebo",
    },
    "host-openbsd-amd64-60": &HostConfig{
        VMImage:            "openbsd-amd64-60",
        machineType:        "n1-highcpu-4",
        buildletURLTmpl:    "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-amd64",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-amd64-60.tar.gz",
        Notes:              "OpenBSD 6.0; GCE VM is built from script in build/env/openbsd-amd64",
        SSHUsername:        "gopher",
    },
    "host-openbsd-386-60": &HostConfig{
        VMImage:            "openbsd-386-60",
        machineType:        "n1-highcpu-4",
        buildletURLTmpl:    "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-386",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-386-60.tar.gz",
        Notes:              "OpenBSD 6.0; GCE VM is built from script in build/env/openbsd-386",
        SSHUsername:        "gopher",
    },
    "host-freebsd-93-gce": &HostConfig{
        VMImage:            "freebsd-amd64-gce93",
        machineType:        "n1-highcpu-4",
        buildletURLTmpl:    "https://storage.googleapis.com/$BUCKET/buildlet.freebsd-amd64",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz",
        SSHUsername:        "gopher",
    },
    "host-freebsd-101-gce": &HostConfig{
        VMImage:            "freebsd-amd64-gce101",
        Notes:              "FreeBSD 10.1; GCE VM is built from script in build/env/freebsd-amd64",
        machineType:        "n1-highcpu-4",
        buildletURLTmpl:    "http://storage.googleapis.com/$BUCKET/buildlet.freebsd-amd64",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz",
        env:                []string{"CC=clang"},
        SSHUsername:        "gopher",
    },
    "host-freebsd-110": &HostConfig{
        VMImage:            "freebsd-amd64-110",
        Notes:              "FreeBSD 11.0; GCE VM is built from script in build/env/freebsd-amd64",
        machineType:        "n1-highcpu-4",
        buildletURLTmpl:    "http://storage.googleapis.com/$BUCKET/buildlet.freebsd-amd64",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz",
        env:                []string{"CC=clang"},
        SSHUsername:        "gopher",
    },
    "host-netbsd-8branch": &HostConfig{
        VMImage:            "netbsd-amd64-8branch",
        Notes:              "NetBSD 8.? from the netbsd-8 branch; GCE VM is built from script in build/env/netbsd-amd64",
        machineType:        "n1-highcpu-2",
        buildletURLTmpl:    "http://storage.googleapis.com/$BUCKET/buildlet.netbsd-amd64",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-netbsd-amd64.tar.gz",
        SSHUsername:        "gopher",
    },
    "host-dragonfly-amd64-tdfbsd": &HostConfig{
        IsReverse:      true,
        ExpectNum:      1,
        env:            []string{"GOROOT_BOOTSTRAP=/usr/local/go"},
        ReverseAliases: []string{"dragonfly-amd64"},
        OwnerGithub:    "tdfbsd",
    },
    "host-freebsd-arm-paulzhol": &HostConfig{
        IsReverse:      true,
        ExpectNum:      1,
        Notes:          "Cubiboard2 1Gb RAM dual-core Cortex-A7 (Allwinner A20), FreeBSD 11.1-RELEASE",
        env:            []string{"GOROOT_BOOTSTRAP=/usr/home/paulzhol/go1.4"},
        ReverseAliases: []string{"freebsd-arm-paulzhol"},
        OwnerGithub:    "paulzhol",
    },
    "host-plan9-arm-0intro": &HostConfig{
        IsReverse:   true,
        ExpectNum:   1,
        Notes:       "Raspberry Pi 3 Model B, Plan 9 from Bell Labs",
        OwnerGithub: "0intro",
    },
    "host-plan9-amd64-0intro": &HostConfig{
        IsReverse:   true,
        ExpectNum:   1,
        OwnerGithub: "0intro",
    },
    "host-plan9-386-gce": &HostConfig{
        VMImage:            "plan9-386-v5",
        Notes:              "Plan 9 from 0intro; GCE VM is built from script in build/env/plan9-386",
        buildletURLTmpl:    "http://storage.googleapis.com/$BUCKET/buildlet.plan9-386",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-plan9-386.tar.gz",

        machineType: "n1-highcpu-4",
        env:         []string{"GO_TEST_TIMEOUT_SCALE=2"},
    },
    "host-windows-amd64-2008": &HostConfig{
        VMImage:            "windows-amd64-server-2008r2-v4",
        machineType:        "n1-highcpu-4",
        buildletURLTmpl:    "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz",
    },
    "host-windows-amd64-2012": &HostConfig{
        VMImage:            "windows-amd64-server-2012r2-v4",
        machineType:        "n1-highcpu-4",
        buildletURLTmpl:    "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz",
    },
    "host-windows-amd64-2016": &HostConfig{
        VMImage:            "windows-amd64-server-2016-v4",
        machineType:        "n1-highcpu-4",
        buildletURLTmpl:    "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz",
    },
    "host-darwin-10_8": &HostConfig{
        IsReverse: true,
        ExpectNum: 1,
        Notes:     "MacStadium OS X 10.8 VM under VMWare ESXi",
        env: []string{
            "GOROOT_BOOTSTRAP=/Users/gopher/go1.4",
        },
        ReverseAliases:  []string{"darwin-amd64-10_8"},
        SSHUsername:     "gopher",
        HermeticReverse: false,
    },
    "host-darwin-10_10": &HostConfig{
        IsReverse: true,
        ExpectNum: 2,
        Notes:     "MacStadium OS X 10.10 VM under VMWare ESXi",
        env: []string{
            "GOROOT_BOOTSTRAP=/Users/gopher/go1.4",
        },
        ReverseAliases:  []string{"darwin-amd64-10_10"},
        SSHUsername:     "gopher",
        HermeticReverse: false,
    },
    "host-darwin-10_11": &HostConfig{
        IsReverse: true,
        ExpectNum: 15,
        Notes:     "MacStadium OS X 10.11 VM under VMWare ESXi",
        env: []string{
            "GOROOT_BOOTSTRAP=/Users/gopher/go1.4",
        },
        ReverseAliases:  []string{"darwin-amd64-10_11"},
        SSHUsername:     "gopher",
        HermeticReverse: false,
    },
    "host-darwin-10_12": &HostConfig{
        IsReverse: true,
        ExpectNum: 2,
        Notes:     "MacStadium OS X 10.12 VM under VMWare ESXi",
        env: []string{
            "GOROOT_BOOTSTRAP=/Users/gopher/go1.4",
        },
        ReverseAliases:  []string{"darwin-amd64-10_12"},
        SSHUsername:     "gopher",
        HermeticReverse: true,
    },
    "host-linux-s390x": &HostConfig{
        Notes:          "run by IBM",
        OwnerGithub:    "mundaym",
        IsReverse:      true,
        env:            []string{"GOROOT_BOOTSTRAP=/var/buildlet/go-linux-s390x-bootstrap"},
        ReverseAliases: []string{"linux-s390x-ibm"},
    },
    "host-linux-ppc64-osu": &HostConfig{
        Notes:           "Debian jessie; run by Go team on osuosl.org",
        IsReverse:       true,
        ExpectNum:       5,
        env:             []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"},
        ReverseAliases:  []string{"linux-ppc64-buildlet"},
        SSHUsername:     "debian",
        HermeticReverse: false,
    },
    "host-linux-ppc64le-osu": &HostConfig{
        Notes:           "Debian jessie; run by Go team on osuosl.org",
        IsReverse:       true,
        ExpectNum:       5,
        env:             []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"},
        ReverseAliases:  []string{"linux-ppc64le-buildlet"},
        SSHUsername:     "debian",
        HermeticReverse: false,
    },
    "host-linux-arm64-linaro": &HostConfig{
        Notes:           "Ubuntu xenial; run by Go team, from linaro",
        IsReverse:       true,
        HermeticReverse: true,
        ExpectNum:       5,
        env:             []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"},
        ReverseAliases:  []string{"linux-arm64-buildlet"},
        SSHUsername:     "root",
    },
    "host-linux-arm64-packet": &HostConfig{
        Notes:           "On 96 core packet.net host (Xenial) in Docker containers (Jessie); run by Go team. See x/build/env/linux-arm64/packet",
        IsReverse:       true,
        HermeticReverse: true,
        ExpectNum:       20,
        env:             []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"},
        SSHUsername:     "root",
    },
    "host-solaris-amd64": &HostConfig{
        Notes:          "run by Go team on Joyent, on a SmartOS 'infrastructure container'",
        IsReverse:      true,
        ExpectNum:      5,
        env:            []string{"GOROOT_BOOTSTRAP=/root/go-solaris-amd64-bootstrap"},
        ReverseAliases: []string{"solaris-amd64-smartosbuildlet"},
    },
    "host-solaris-oracle-amd64-oraclerel": &HostConfig{
        Notes:       "Oracle Solaris amd64 Release System",
        Owner:       "shawn.walker@oracle.com",
        OwnerGithub: "binarycrusader",
        IsReverse:   true,
        ExpectNum:   1,
        env:         []string{"GOROOT_BOOTSTRAP=/opt/golang/go-solaris-amd64-bootstrap"},
    },
    "host-solaris-oracle-shawn": &HostConfig{
        Notes:       "Oracle Solaris amd64 Development System",
        Owner:       "shawn.walker@oracle.com",
        OwnerGithub: "binarycrusader",
        IsReverse:   true,
        ExpectNum:   1,
        env:         []string{"GOROOT_BOOTSTRAP=/opt/golang/go-solaris-amd64-bootstrap"},
    },
    "host-linux-mips": &HostConfig{
        Notes:       "Run by Brendan Kirby, imgtec.com",
        OwnerGithub: "MIPSbkirby",
        IsReverse:   true,
        ExpectNum:   1,
        env: []string{
            "GOROOT_BOOTSTRAP=/usr/local/go-bootstrap-mips",
            "GOARCH=mips",
            "GOHOSTARCH=mips",
            "GO_TEST_TIMEOUT_SCALE=4",
        },
        ReverseAliases: []string{"linux-mips"},
    },
    "host-linux-mipsle": &HostConfig{
        Notes:       "Run by Brendan Kirby, imgtec.com",
        OwnerGithub: "MIPSbkirby",
        IsReverse:   true,
        ExpectNum:   1,
        env: []string{
            "GOROOT_BOOTSTRAP=/usr/local/go-bootstrap-mipsle",
            "GOARCH=mipsle",
            "GOHOSTARCH=mipsle",
        },
        ReverseAliases: []string{"linux-mipsle"},
    },
    "host-linux-mips64": &HostConfig{
        Notes:       "Run by Brendan Kirby, imgtec.com",
        OwnerGithub: "MIPSbkirby",
        IsReverse:   true,
        ExpectNum:   1,
        env: []string{
            "GOROOT_BOOTSTRAP=/usr/local/go-bootstrap-mips64",
            "GOARCH=mips64",
            "GOHOSTARCH=mips64",
            "GO_TEST_TIMEOUT_SCALE=4",
        },
        ReverseAliases: []string{"linux-mips64"},
    },
    "host-linux-mips64le": &HostConfig{
        Notes:       "Run by Brendan Kirby, imgtec.com",
        OwnerGithub: "MIPSbkirby",
        IsReverse:   true,
        ExpectNum:   1,
        env: []string{
            "GOROOT_BOOTSTRAP=/usr/local/go-bootstrap-mips64le",
            "GOARCH=mips64le",
            "GOHOSTARCH=mips64le",
        },
        ReverseAliases: []string{"linux-mips64le"},
    },
    "host-darwin-amd64-eliasnaur-android": &HostConfig{
        Notes:       "Mac Mini hosted by Elias Naur, running the android reverse buildlet",
        OwnerGithub: "eliasnaur",
        IsReverse:   true,
        ExpectNum:   1,
        env: []string{
            "GOROOT_BOOTSTRAP=/usr/local/go-bootstrap",
            "GOHOSTARCH=amd64",
            "GOOS=android",
        },
    },
    "host-darwin-amd64-eliasnaur-ios-arm64": &HostConfig{
        Notes:       "Mac Mini hosted by Elias Naur, running the arm64 ios reverse buildlet",
        OwnerGithub: "eliasnaur",
        IsReverse:   true,
        ExpectNum:   1,
        env: []string{
            "GOROOT_BOOTSTRAP=/usr/local/go-bootstrap",
            "GOHOSTARCH=amd64",
        },
    },
    "host-darwin-amd64-eliasnaur-ios-arm": &HostConfig{
        Notes:       "Mac Mini hosted by Elias Naur, running the arm ios reverse buildlet",
        OwnerGithub: "eliasnaur",
        IsReverse:   true,
        ExpectNum:   1,
        env: []string{
            "GOROOT_BOOTSTRAP=/usr/local/go-bootstrap",
            "GOHOSTARCH=amd64",
        },
    },
}

Hosts contains the names and configs of all the types of buildlets. They can be VMs, containers, or dedicated machines.

func TrybotBuilderNames Uses

func TrybotBuilderNames() []string

TrybotBuilderNames returns the names of the builder configs with the TryBot field set true.

type BuildConfig Uses

type BuildConfig struct {
    // Name is the unique name of the builder, in the form of
    // "GOOS-GOARCH" or "GOOS-GOARCH-suffix". For example,
    // "darwin-386", "linux-386-387", "linux-amd64-race". Some
    // suffixes are well-known and carry special meaning, such as
    // "-race".
    Name string

    // HostType is the required key into the Hosts map, describing
    // the type of host this build will run on.
    // For example, "host-linux-kube-std".
    HostType string

    Notes string // notes for humans

    TryBot      bool // be a trybot
    TryOnly     bool // only used for trybots, and not regular builds
    CompileOnly bool // if true, compile tests, but don't run them
    FlakyNet    bool // network tests are flaky (try anyway, but ignore some failures)

    // MaxAtOnce optionally specifies a cap of how many builds of
    // this type can run at once. Zero means unlimited. This is a
    // temporary measure until the build scheduler
    // (golang.org/issue/19178) is done.
    MaxAtOnce int

    // SkipSnapshot, if true, means to not fetch a tarball
    // snapshot of the world post-make.bash from the buildlet (and
    // thus to not write it to Google Cloud Storage). This is
    // incompatible with sharded tests, and should only be used
    // for very slow builders or networks, unable to transfer
    // the tarball in under ~5 minutes.
    SkipSnapshot bool

    // RunBench causes the coordinator to run benchmarks on this buildlet type.
    RunBench bool

    // StopAfterMake causes the build to stop after the make
    // script completes, returning its result as the result of the
    // whole build. It does not run or compile any of the tests,
    // nor does it write a snapshot of the world to cloud
    // storage. This option is only supported for builders whose
    // BuildConfig.SplitMakeRun returns true.
    StopAfterMake bool

    // InstallRacePackages controls which packages to "go install
    // -race <pkgs>" after running make.bash (or equivalent).  If
    // the builder ends in "-race", the default if non-nil is just
    // "std".
    InstallRacePackages []string

    // GoDeps is a list of of git sha1 commits that must be in the
    // commit to be tested's history. If absent, this builder is
    // not run for that commit.
    GoDeps []string
    // contains filtered or unexported fields
}

A BuildConfig describes how to run a builder.

func (*BuildConfig) AllScript Uses

func (c *BuildConfig) AllScript() string

AllScript returns the relative path to the operating system's script to do the build and run its standard set of tests. Example values are "src/all.bash", "src/all.bat", "src/all.rc".

func (*BuildConfig) AllScriptArgs Uses

func (c *BuildConfig) AllScriptArgs() []string

AllScriptArgs returns the set of arguments that should be passed to the all.bash-equivalent script. Usually empty.

func (*BuildConfig) BuildSubrepos Uses

func (c *BuildConfig) BuildSubrepos() bool

func (*BuildConfig) Env Uses

func (c *BuildConfig) Env() []string

func (*BuildConfig) FilePathJoin Uses

func (c *BuildConfig) FilePathJoin(x ...string) string

FilePathJoin is mostly like filepath.Join (without the cleaning) except it uses the path separator of c.GOOS instead of the host system's.

func (*BuildConfig) GOARCH Uses

func (c *BuildConfig) GOARCH() string

func (*BuildConfig) GOOS Uses

func (c *BuildConfig) GOOS() string

func (*BuildConfig) GoBootstrapURL Uses

func (c *BuildConfig) GoBootstrapURL(e *buildenv.Environment) string

BuildletBinaryURL returns the public URL of this builder's buildlet.

func (*BuildConfig) GoInstallRacePackages Uses

func (c *BuildConfig) GoInstallRacePackages() []string

func (*BuildConfig) GorootFinal Uses

func (c *BuildConfig) GorootFinal() string

GorootFinal returns the default install location for releases for this platform.

func (*BuildConfig) IsGCE Uses

func (c *BuildConfig) IsGCE() bool

func (*BuildConfig) IsKube Uses

func (c *BuildConfig) IsKube() bool

func (*BuildConfig) IsRace Uses

func (c *BuildConfig) IsRace() bool

func (*BuildConfig) IsReverse Uses

func (c *BuildConfig) IsReverse() bool

func (*BuildConfig) MakeScript Uses

func (c *BuildConfig) MakeScript() string

MakeScript returns the relative path to the operating system's script to do the build. Example values are "src/make.bash", "src/make.bat", "src/make.rc".

func (*BuildConfig) MakeScriptArgs Uses

func (c *BuildConfig) MakeScriptArgs() []string

MakeScriptArgs returns the set of arguments that should be passed to the make.bash-equivalent script. Usually empty.

func (*BuildConfig) NumTestHelpers Uses

func (c *BuildConfig) NumTestHelpers(isTry bool) int

func (BuildConfig) OwnerGithub Uses

func (c BuildConfig) OwnerGithub() string

OwnerGithub returns the Github handle of the owner.

func (*BuildConfig) RunScript Uses

func (c *BuildConfig) RunScript() string

RunScript returns the relative path to the operating system's script to run the test suite. Example values are "src/run.bash", "src/run.bat", "src/run.rc".

func (*BuildConfig) RunScriptArgs Uses

func (c *BuildConfig) RunScriptArgs() []string

RunScriptArgs returns the set of arguments that should be passed to the run.bash-equivalent script.

func (BuildConfig) ShortOwner Uses

func (c BuildConfig) ShortOwner() string

ShortOwner returns a short human-readable owner.

func (*BuildConfig) SplitMakeRun Uses

func (c *BuildConfig) SplitMakeRun() bool

SplitMakeRun reports whether the coordinator should first compile (using c.MakeScript), then snapshot, then run the tests (ideally sharded) using c.RunScript. Eventually this function should always return true (and then be deleted) but for now we've only set up the scripts and verified that the main configurations work.

type HostConfig Uses

type HostConfig struct {
    // HostType is the unique name of this host config. It is also
    // the key in the Hosts map.
    HostType string

    // Exactly 1 of these must be set:
    VMImage   string // e.g. "openbsd-amd64-60"
    KubeImage string // e.g. "linux-buildlet-std:latest" (suffix after "gcr.io/<PROJ>/")
    IsReverse bool   // if true, only use the reverse buildlet pool

    RegularDisk bool // if true, use spinning disk instead of SSD

    // ReverseOptions:
    ExpectNum       int  // expected number of reverse buildlets of this type
    HermeticReverse bool // whether reverse buildlet has fresh env per conn

    Owner       string // optional email of owner; "bradfitz@golang.org", empty means golang-dev
    OwnerGithub string // optional GitHub username of owner
    Notes       string // notes for humans

    SSHUsername string // username to ssh as, empty means not supported

    // ReverseAliases lists alternate names for this buildlet
    // config, for older clients doing a reverse dial into the
    // coordinator from outside. This prevents us from updating
    // 75+ dedicated machines/VMs atomically, switching them to
    // the new "host-*" names.
    // This is only applicable if IsReverse.
    ReverseAliases []string
    // contains filtered or unexported fields
}

A HostConfig describes the available ways to obtain buildlets of different types. Some host configs can server multiple builders. For example, a host config of "host-linux-kube-std" can serve linux-amd64, linux-amd64-race, linux-386, linux-386-387, etc.

func (*HostConfig) BuildletBinaryURL Uses

func (c *HostConfig) BuildletBinaryURL(e *buildenv.Environment) string

BuildletBinaryURL returns the public URL of this builder's buildlet.

func (*HostConfig) GCENumCPU Uses

func (c *HostConfig) GCENumCPU() int

GCENumCPU reports the number of GCE CPUs this buildlet requires.

func (*HostConfig) IsGCE Uses

func (c *HostConfig) IsGCE() bool

func (*HostConfig) IsHermetic Uses

func (c *HostConfig) IsHermetic() bool

IsHermetic reports whether this host config gets a fresh environment (including /usr, /var, etc) for each execution. This is true for VMs, GKE, and reverse buildlets running their containers running in Docker, but false on some reverse buildlets.

func (*HostConfig) IsKube Uses

func (c *HostConfig) IsKube() bool

func (*HostConfig) MachineType Uses

func (c *HostConfig) MachineType() string

MachineType returns the GCE machine type to use for this builder.

func (*HostConfig) PoolName Uses

func (c *HostConfig) PoolName() string

PoolName returns a short summary of the builder's host type for the https://farmer.golang.org/builders page.

Package dashboard imports 6 packages (graph) and is imported by 6 packages. Updated 2017-08-23. Refresh now. Tools for package owners.