stackgo

package module
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Jul 6, 2013 License: MIT Imports: 11 Imported by: 0

README

stackgo

Configuration management you'll actually use

stackgo takes a different approach than other configuration management systems. When configuring a server, stackgo uses a predetermined build order for all resources.

Configuration Order

  1. Users
  2. Groups
  3. Software Repositories (ppas, yum repos, apt repos)
  4. Packages
  5. Source Repositories (git, svn)
  6. Templates
  7. Services
  8. Databases

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Database

type Database struct {
	Name string `json:"name"`
}

func (Database) Create

func (d Database) Create() error

type Manifest

type Manifest struct {
	SourceLists     []SourceList             `json:"source_lists"`
	Packages        []Package                `json:"packages"`
	Templates       []Template               `json:"templates"`
	PackageArchives []PersonalPackageArchive `json:"personal_package_archives"`
	Users           []User                   `json:"users"`
	Services        []Service                `json:"services"`
	Databases       []Database               `json:"postgres_databases"`
}

func Analyze

func Analyze() (Manifest, error)

func (*Manifest) Add

func (m *Manifest) Add(other Manifest)

func (Manifest) Begin

func (m Manifest) Begin() error

func (Manifest) Converge

func (m Manifest) Converge() error

type Package

type Package struct {
	Name    string `json:"name"`
	Version string `json:"version"`
}

func (Package) Install

func (p Package) Install() error

type PersonalPackageArchive

type PersonalPackageArchive struct {
	Owner string `json:"owner"`
	Name  string `json:"name"`
}

func (*PersonalPackageArchive) Install

func (ppa *PersonalPackageArchive) Install() (bool, error)

func (*PersonalPackageArchive) Path

func (ppa *PersonalPackageArchive) Path() string

type Service

type Service struct {
	Name string `json:"name"`
}

func (Service) Create

func (s Service) Create() error

type Source

type Source struct {
	Uri          string   `json:"uri"`
	Distribution string   `json:"distribution"`
	Components   []string `json:"components"`
}

func (*Source) Entry

func (s *Source) Entry() string

type SourceList

type SourceList struct {
	Filename string   `json:"filename"`
	KeyURI   string   `json:"key_uri"`
	Sources  []Source `json:"sources"`
}

func ParseSourceList

func ParseSourceList(path string) (SourceList, error)

func (*SourceList) Install

func (sl *SourceList) Install() (bool, error)

func (*SourceList) InstallKey

func (sl *SourceList) InstallKey() error

func (*SourceList) InstallSources

func (sl *SourceList) InstallSources() (bool, error)

Return created, error

func (*SourceList) Path

func (sl *SourceList) Path() string

type Template

type Template struct {
	Path   string                 `json:"path"`
	Source string                 `json:"source"`
	Data   map[string]interface{} `json:"data"`
	Mode   uint64                 `json:"mode"`
}

func (*Template) Create

func (t *Template) Create() error

type User

type User struct {
	Name     string `json:"name"`
	Password string `json:"password"`
}

func (User) Create

func (u User) Create() error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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