Documentation ¶
Index ¶
- Constants
- Variables
- func CurrentStackImagePath(stacksDir, name string) (string, error)
- func StartControlAPI(port int, processes <-chan *Processes) <-chan *Processes
- type APIFormation
- type APIPoller
- type AbsPathDynoDriver
- type AppSerializable
- type ControlAPI
- type DirPoller
- type Docker
- type DockerDynoDriver
- type DockerStackImage
- type DynoDriver
- type DynoInput
- type DynoState
- type Executor
- type ExitStatus
- type Formation
- type FormationSerializable
- type GobNotifier
- type HerokuStackImage
- type LibContainerDynoDriver
- type LibContainerInitDriver
- type Notifier
- type Processes
- type ProfileRunner
- type Release
- type SimpleDynoDriver
- type SlugWhere
- type StatusResponse
- type StopRequest
- type StopResponse
Constants ¶
View Source
const (
// currently available versions of Heroku stack images
HEROKU_STACKS_MANIFEST_URL = "https://s3.amazonaws.com/heroku_stacks_production/manifest.yml"
)
View Source
const ProfileRunnerText = `` /* 360-byte string literal not displayed */
Variables ¶
View Source
var ErrExecutorComplete = errors.New("Executor complete")
View Source
var ErrNoReleases = errors.New("No releases found")
View Source
var ErrNoSlugURL = errors.New("no slug specified")
Functions ¶
func CurrentStackImagePath ¶
func StartControlAPI ¶
Types ¶
type APIFormation ¶
type APIFormation struct {
// contains filtered or unexported fields
}
func (*APIFormation) Args ¶
func (f *APIFormation) Args() []string
func (*APIFormation) Quantity ¶
func (f *APIFormation) Quantity() int
func (*APIFormation) Type ¶
func (f *APIFormation) Type() string
type APIPoller ¶
type APIPoller struct { Cl *heroku.Service App string Dd DynoDriver OneShot bool // contains filtered or unexported fields }
type AbsPathDynoDriver ¶
type AbsPathDynoDriver struct{}
func (*AbsPathDynoDriver) Build ¶
func (dd *AbsPathDynoDriver) Build(release *Release) (err error)
func (*AbsPathDynoDriver) Start ¶
func (dd *AbsPathDynoDriver) Start(ex *Executor) (err error)
func (*AbsPathDynoDriver) Stop ¶
func (dd *AbsPathDynoDriver) Stop(ex *Executor) error
func (*AbsPathDynoDriver) Wait ¶
func (dd *AbsPathDynoDriver) Wait(ex *Executor) (s *ExitStatus)
type AppSerializable ¶
type AppSerializable struct { Version int Env map[string]string Slug string Stack string Processes []FormationSerializable }
func (*AppSerializable) FromBase64Gob ¶
func (as *AppSerializable) FromBase64Gob(payload string)
func (*AppSerializable) Procs ¶
func (as *AppSerializable) Procs(appName string, dd DynoDriver, oneShot bool) *Processes
func (*AppSerializable) ToBase64Gob ¶
func (as *AppSerializable) ToBase64Gob() string
type ControlAPI ¶
type ControlAPI struct {
// contains filtered or unexported fields
}
func (*ControlAPI) ServeGET ¶
func (c *ControlAPI) ServeGET(w http.ResponseWriter, r *http.Request)
func (*ControlAPI) ServeHTTP ¶
func (c *ControlAPI) ServeHTTP(w http.ResponseWriter, r *http.Request)
func (*ControlAPI) ServePOST ¶
func (c *ControlAPI) ServePOST(w http.ResponseWriter, r *http.Request)
func (*ControlAPI) Tee ¶
func (c *ControlAPI) Tee(procs <-chan *Processes) <-chan *Processes
type DirPoller ¶
type DirPoller struct { Dd DynoDriver Dir string AppName string OneShot bool // contains filtered or unexported fields }
type Docker ¶
type Docker struct {
// contains filtered or unexported fields
}
func (*Docker) BuildSlugImage ¶
func (d *Docker) BuildSlugImage(si *DockerStackImage, release *Release) ( string, error)
type DockerDynoDriver ¶
type DockerDynoDriver struct {
// contains filtered or unexported fields
}
func (*DockerDynoDriver) Build ¶
func (dd *DockerDynoDriver) Build(release *Release) error
func (*DockerDynoDriver) Start ¶
func (dd *DockerDynoDriver) Start(ex *Executor) error
func (*DockerDynoDriver) Stop ¶
func (dd *DockerDynoDriver) Stop(ex *Executor) error
func (*DockerDynoDriver) Wait ¶
func (dd *DockerDynoDriver) Wait(ex *Executor) (s *ExitStatus)
type DockerStackImage ¶
type DockerStackImage struct {
// contains filtered or unexported fields
}
type DynoDriver ¶
type Executor ¶
type Executor struct { Args []string DynoDriver DynoDriver Release *Release ProcessID string ProcessType string Status chan *ExitStatus Complete chan struct{} // FSM Fields OneShot bool State DynoState NewInput chan DynoInput // contains filtered or unexported fields }
type ExitStatus ¶
type FormationSerializable ¶
type FormationSerializable struct { FArgs []string `json:"Args"` FQuantity int `json:"Quantity"` FType string `json:"Type"` }
func (*FormationSerializable) Args ¶
func (fs *FormationSerializable) Args() []string
func (*FormationSerializable) Quantity ¶
func (fs *FormationSerializable) Quantity() int
func (*FormationSerializable) Type ¶
func (fs *FormationSerializable) Type() string
type GobNotifier ¶
type GobNotifier struct { Dd DynoDriver AppName string OneShot bool Payload string }
func (*GobNotifier) Notify ¶
func (gn *GobNotifier) Notify() <-chan *Processes
type HerokuStackImage ¶
type HerokuStackImage struct { Name string Version string URL string `yaml:"url"` Md5 string Primary bool // contains filtered or unexported fields }
HerokuStackImage models stack images as they are distributed by Heroku: binary disk images, usually intended to be mounted on loopback devices. The common use is to mount those images read-only, so a single immutable image can be shared by multiple containers, saving disk space and memory due to Linux CoW page sharing.
Support for Heroku stack images is currently only enabled when building for Linux, because these images are currently only used by the libcontainer driver.
func HerokuStacksFromManifest ¶
func HerokuStacksFromManifest(stacksDir string) ([]HerokuStackImage, error)
func (*HerokuStackImage) Dir ¶
func (img *HerokuStackImage) Dir() string
func (*HerokuStackImage) Filename ¶
func (img *HerokuStackImage) Filename() string
type LibContainerDynoDriver ¶
type LibContainerDynoDriver struct {
// contains filtered or unexported fields
}
func NewLibContainerDynoDriver ¶
func NewLibContainerDynoDriver(workDir string) (*LibContainerDynoDriver, error)
func (*LibContainerDynoDriver) Build ¶
func (dd *LibContainerDynoDriver) Build(release *Release) error
func (*LibContainerDynoDriver) Start ¶
func (dd *LibContainerDynoDriver) Start(ex *Executor) error
func (*LibContainerDynoDriver) Stop ¶
func (dd *LibContainerDynoDriver) Stop(ex *Executor) error
func (*LibContainerDynoDriver) Wait ¶
func (dd *LibContainerDynoDriver) Wait(ex *Executor) (s *ExitStatus)
type LibContainerInitDriver ¶
type LibContainerInitDriver struct{}
func (*LibContainerInitDriver) Build ¶
func (dd *LibContainerInitDriver) Build(*Release) error
func (*LibContainerInitDriver) Start ¶
func (dd *LibContainerInitDriver) Start(ex *Executor) error
Start acts as PID=1 inside a container spawned by libcontainer, doing the required setup and re-exec'ing as the abspath driver TODO: drop privileges (setuid)
func (*LibContainerInitDriver) Stop ¶
func (dd *LibContainerInitDriver) Stop(*Executor) error
func (*LibContainerInitDriver) Wait ¶
func (dd *LibContainerInitDriver) Wait(*Executor) *ExitStatus
type Processes ¶
type Processes struct { Rel *Release Forms []Formation Dd DynoDriver OneShot bool Executors []*Executor }
type ProfileRunner ¶
type ProfileRunner struct {
// contains filtered or unexported fields
}
func (*ProfileRunner) Args ¶
func (pr *ProfileRunner) Args(args []string) []string
func (*ProfileRunner) Init ¶
func (pr *ProfileRunner) Init() (err error)
type Release ¶
type Release struct {
// contains filtered or unexported fields
}
func (*Release) ConfigSlice ¶
type SimpleDynoDriver ¶
type SimpleDynoDriver struct { }
func (*SimpleDynoDriver) Build ¶
func (dd *SimpleDynoDriver) Build(release *Release) error
func (*SimpleDynoDriver) Start ¶
func (dd *SimpleDynoDriver) Start(ex *Executor) error
func (*SimpleDynoDriver) Stop ¶
func (dd *SimpleDynoDriver) Stop(ex *Executor) error
func (*SimpleDynoDriver) Wait ¶
func (dd *SimpleDynoDriver) Wait(ex *Executor) (s *ExitStatus)
type StatusResponse ¶
type StopRequest ¶
type StopRequest struct {
Processes []string
}
type StopResponse ¶
type StopResponse struct {
StoppedProcesses []string
}
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Godeps
|
|
_workspace/src/bitbucket.org/kardianos/osext
Extensions to the standard "os" package.
|
Extensions to the standard "os" package. |
_workspace/src/code.google.com/p/go-uuid/uuid
The uuid package generates and inspects UUIDs.
|
The uuid package generates and inspects UUIDs. |
_workspace/src/github.com/coreos/go-systemd/dbus
Integration with the systemd D-Bus API.
|
Integration with the systemd D-Bus API. |
_workspace/src/github.com/cyberdelia/heroku-go/v3
Generated service client for heroku API.
|
Generated service client for heroku API. |
_workspace/src/github.com/docker/docker/pkg/pools
Package pools provides a collection of pools which provide various data types with buffers.
|
Package pools provides a collection of pools which provide various data types with buffers. |
_workspace/src/github.com/docker/libcontainer
Temporary API endpoint for libcontainer while the full API is finalized (api.go).
|
Temporary API endpoint for libcontainer while the full API is finalized (api.go). |
_workspace/src/github.com/docker/libcontainer/integration
integration is used for integration testing of libcontainer
|
integration is used for integration testing of libcontainer |
_workspace/src/github.com/docker/libcontainer/netlink
Packet netlink provide access to low level Netlink sockets and messages.
|
Packet netlink provide access to low level Netlink sockets and messages. |
_workspace/src/github.com/fsouza/go-dockerclient
Package docker provides a client for the Docker remote API.
|
Package docker provides a client for the Docker remote API. |
_workspace/src/github.com/fsouza/go-dockerclient/testing
Package testing provides a fake implementation of the Docker API, useful for testing purpose.
|
Package testing provides a fake implementation of the Docker API, useful for testing purpose. |
_workspace/src/github.com/godbus/dbus
Package dbus implements bindings to the D-Bus message bus system.
|
Package dbus implements bindings to the D-Bus message bus system. |
_workspace/src/github.com/godbus/dbus/introspect
Package introspect provides some utilities for dealing with the DBus introspection format.
|
Package introspect provides some utilities for dealing with the DBus introspection format. |
_workspace/src/github.com/godbus/dbus/prop
Package prop provides the Properties struct which can be used to implement org.freedesktop.DBus.Properties.
|
Package prop provides the Properties struct which can be used to implement org.freedesktop.DBus.Properties. |
_workspace/src/github.com/ogier/pflag
pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
|
pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags. |
_workspace/src/github.com/syndtr/gocapability/capability
Package capability provides utilities for manipulating POSIX capabilities.
|
Package capability provides utilities for manipulating POSIX capabilities. |
_workspace/src/gopkg.in/yaml.v2
Package yaml implements YAML support for the Go language.
|
Package yaml implements YAML support for the Go language. |
cmd
|
|
Click to show internal directories.
Click to hide internal directories.