builder

package
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 16, 2014 License: Apache-2.0 Imports: 6 Imported by: 0

README

Deis Builder

A Docker image that builds Docker images, for use in the Deis open source PaaS.

This Docker image is based on the official ubuntu-debootstrap:14.04 image.

Please add any issues you find with this software to the Deis Project.

Usage

Please consult the Makefile for current instructions on how to build, test, push, install, and start deis/builder.

Environment Variables

  • DEBUG enables verbose output if set
  • ETCD_PORT sets the TCP port on which to connect to the local etcd daemon (default: 4001)
  • ETCD_PATH sets the etcd directory where the builder announces its configuration (default: /deis/builder)
  • ETCD_TTL sets the time-to-live before etcd purges a configuration value, in seconds (default: 10)
  • STORAGE_DRIVER sets the Docker-in-Docker storage driver (default: btrfs)
  • PORT sets the TCP port on which the builder listens (default: 2222)

License

© 2014 OpDemand LLC

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Documentation

Index

Constants

View Source
const (
	DEIS_DATETIME string = "2006-01-02T15:04:05MST"
)

Variables

This section is empty.

Functions

func GetDefaultType

func GetDefaultType(bytes []byte) (string, error)

func ParseControllerConfig

func ParseControllerConfig(bytes []byte) ([]string, error)

func ParseDomain

func ParseDomain(bytes []byte) (string, error)

func ParseReleaseVersion

func ParseReleaseVersion(bytes []byte) (int, error)

func YamlToJson

func YamlToJson(bytes []byte) (string, error)

YamlToJson takes an input yaml string, parses it and returns a string formatted as json.

Types

type BuildHook

type BuildHook struct {
	Sha         string      `json:"sha"`
	ReceiveUser string      `json:"receive_user"`
	ReceiveRepo string      `json:"receive_repo"`
	Image       string      `json:"image"`
	Procfile    ProcessType `json:"procfile"`
	Dockerfile  string      `json:"dockerfile"`
}

BuildHook represents a controller's build-hook object.

type BuildHookResponse

type BuildHookResponse struct {
	Release map[string]int `json:"release"`
	Domains []string       `json:"domains"`
}

BuildHookResponse represents a controller's build-hook response object.

type Config

type Config struct {
	Owner   string                 `json:"owner"`
	App     string                 `json:"app"`
	Values  map[string]interface{} `json:"values"`
	Memory  map[string]string      `json:"memory"`
	CPU     map[string]int         `json:"cpu"`
	Tags    map[string]string      `json:"tags"`
	UUID    string                 `json:"uuid"`
	Created DeisTime               `json:"created"`
	Updated DeisTime               `json:"updated"`
}

Config represents a Deis application's configuration.

func ParseConfig

func ParseConfig(res *http.Response) (*Config, error)

ParseConfig takes a response body from the controller and returns a Config object.

type ConfigHook

type ConfigHook struct {
	ReceiveUser string `json:"receive_user"`
	ReceiveRepo string `json:"receive_repo"`
}

ConfigHook represents a repository from which to extract the configuration and user to use.

type DeisTime

type DeisTime struct {
	time.Time
}

DeisTime represents the standard datetime format used across the platform.

func (*DeisTime) MarshalJSON

func (t *DeisTime) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface. The time is a quoted string in Deis' datetime format.

func (*DeisTime) UnmarshalJSON

func (t *DeisTime) UnmarshalJSON(data []byte) (err error)

UnmarshalJSON implements the json.Unmarshaler interface. The time is expected to be a quoted string in Deis' datetime format.

func (*DeisTime) UnmarshalText

func (t *DeisTime) UnmarshalText(data []byte) (err error)

UnmarshalText implements the encoding.TextUnmarshaler interface. The time is expected to be in Deis' datetime format.

type ProcessType

type ProcessType map[string]string

ProcessType represents the key/value mappings of a process type to a process inside a Heroku Procfile.

See https://devcenter.heroku.com/articles/procfile

Directories

Path Synopsis
Godeps
_workspace/src/gopkg.in/yaml.v2
Package yaml implements YAML support for the Go language.
Package yaml implements YAML support for the Go language.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL