juju

package
v0.0.0-...-912c657 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2014 License: BSD-3-Clause Imports: 36 Imported by: 0

Documentation

Overview

Package juju provide utilities functions for interaction with Juju. It also provides a provisioner implementation for Juju.

In order to use the provisioner, just import tsuru's provision package and juju provision package. Then call provision.Get("juju") to get an instance of JujuProvisioner:

import (
    "github.com/globocom/tsuru/provision"
    _ "github.com/globocom/tsuru/provision/juju"
)
// ...
func main() {
    provisioner, err := provision.Get("juju")
    // Use provisioner.
}

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsReachable

func IsReachable(unit provision.Unit) (bool, error)

isReachable returns true if the web application deploy in the unit is accessible via http in the port 80.

func Router

func Router() (router.Router, error)

Types

type JujuProvisioner

type JujuProvisioner struct {
	// contains filtered or unexported fields
}

JujuProvisioner is an implementation for the Provisioner interface. For more details on how a provisioner work, check the documentation of the provision package.

func (*JujuProvisioner) AddUnits

func (p *JujuProvisioner) AddUnits(app provision.App, n uint) ([]provision.Unit, error)

func (*JujuProvisioner) Addr

func (p *JujuProvisioner) Addr(app provision.App) (string, error)

func (*JujuProvisioner) CollectStatus

func (p *JujuProvisioner) CollectStatus() ([]provision.Unit, error)

func (*JujuProvisioner) Deploy

func (p *JujuProvisioner) Deploy(a provision.App, version string, w io.Writer) error

func (*JujuProvisioner) DeployPipeline

func (p *JujuProvisioner) DeployPipeline() *action.Pipeline

func (*JujuProvisioner) Destroy

func (p *JujuProvisioner) Destroy(app provision.App) error

func (*JujuProvisioner) ExecuteCommand

func (p *JujuProvisioner) ExecuteCommand(stdout, stderr io.Writer, app provision.App, cmd string, args ...string) error

func (*JujuProvisioner) ExecuteCommandOnce

func (p *JujuProvisioner) ExecuteCommandOnce(stdout, stderr io.Writer, app provision.App, cmd string, args ...string) error

func (*JujuProvisioner) InstallDeps

func (p *JujuProvisioner) InstallDeps(app provision.App, w io.Writer) error

func (*JujuProvisioner) Provision

func (p *JujuProvisioner) Provision(app provision.App) error

func (*JujuProvisioner) RemoveUnit

func (p *JujuProvisioner) RemoveUnit(app provision.App, name string) error

func (*JujuProvisioner) Restart

func (p *JujuProvisioner) Restart(app provision.App) error

func (*JujuProvisioner) Start

func (p *JujuProvisioner) Start(app provision.App) error

func (*JujuProvisioner) Stop

func (p *JujuProvisioner) Stop(app provision.App) error

func (JujuProvisioner) Swap

func (JujuProvisioner) Swap(app1, app2 provision.App) error

type Writer

type Writer struct {
	io.Writer
}

Writer is a custom writer that filters output from Juju.

It ignores all Juju logging and Python warnings.

func (*Writer) Write

func (w *Writer) Write(data []byte) (int, error)

Write writes data to the underlying writer, filtering the juju warnings.

Jump to

Keyboard shortcuts

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