pkg

package
v2.0.0-beta2+incompatible Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2016 License: Apache-2.0 Imports: 11 Imported by: 0

README

Deis Builder

Builder creates Docker images to be run elsewhere on the Deis platform. Builder itself also runs in a Docker container.

This Docker image is based on the official alpine:3.1 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)
  • PORT sets the TCP port on which the builder listens (default: 2222)

License

© 2015 Engine Yard, Inc.

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

Overview

Package pkg provides common libraries for the Deis builder.

The Deis builder is responsible for building slugs and docker images for use in the Deis on the Deis PaaS platform.

Index

Constants

View Source
const (
	StatusOk = iota
	StatusLocalError
)

Return codes that will be sent to the shell.

Variables

This section is empty.

Functions

func KillOnExit

func KillOnExit(c cookoo.Context, p *cookoo.Params) (interface{}, cookoo.Interrupt)

KillOnExit kills PIDs when the program exits.

Otherwise, this blocks until an os.Interrupt or os.Kill is received.

Params:

This treats Params as a map of process names (unimportant) to PIDs. It then

attempts to kill all of the pids that it receives.

func RunBuilder

func RunBuilder(sshHostIP string, sshHostPort int, gitHomeDir string, sshServerCircuit *sshd.Circuit, pushLock sshd.RepositoryLock) int

RunBuilder starts the Builder service.

The Builder service is responsible for setting up the local container environment and then listening for new builds. The main listening service is SSH. Builder listens for new Git commands and then sends those on to Git.

Run returns on of the Status* status code constants.

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"`
}

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 time.Time              `json:"created"`
	Updated time.Time              `json:"updated"`
}

Config represents a Deis application's configuration.

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 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
Package cleaner is a background process that compares the kubernetes namespace list with the folders in the local git home directory, deleting what's not in the namespace list.
Package cleaner is a background process that compares the kubernetes namespace list with the folders in the local git home directory, deleting what's not in the namespace list.
Package sshd implements an SSH server.
Package sshd implements an SSH server.

Jump to

Keyboard shortcuts

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