manifest

package
v0.4.5 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2018 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckManifestExists

func CheckManifestExists(objectStore core.ObjectStore, manifestLocation string) bool

func InitialiseNewManifest added in v0.3.5

func InitialiseNewManifest(objectStore core.ObjectStore, manifestLocation string) error

InitaliseNewManifest creates a new manifest with a survey

func WriteManifestObject added in v0.3.5

func WriteManifestObject(objectStore core.ObjectStore, manifest *Manifest, manifestLocation string) error

WriteManifestToDisk - Write the final manifest to disk

Types

type Environment

type Environment struct {
	// An allowlist of allowed accountID's for this enviroment.
	// This restricts where stacks in this project can be deployed to.
	// This is a harm minimisation feature, intended to limit damage from human error.
	AccountIDs []string `yaml:"AccountIDs,omitempty"`

	// A list of Parameters to substiture into the Parameters field of all stacks in this
	// project.
	Parameters map[string]string `yaml:"Parameters,omitempty"`

	// A set of default tags to apply to stacks created in an environment
	Tags map[string]string `yaml:"Tags,omitempty"`
}

Environment specific parameters

func (*Environment) IsAllowlistedAccount added in v0.3.6

func (env *Environment) IsAllowlistedAccount(acctID string) bool

type InitialisePrompter added in v0.3.5

type InitialisePrompter interface {
	// contains filtered or unexported methods
}

type Manifest

type Manifest struct {
	// Name of this Kombustion project, this can be used to prefix stack names
	Name string `yaml:"Name"`

	// Region is the default region stacks will be deployed to
	Region string `yaml:"Region"`

	// A list of plugins used in this project
	Plugins map[string]Plugin `yaml:"Plugins,omitempty"`

	// An array of architectures this project will be used in. This can be used to limit the number
	// of plugins downloaded.
	// If omitted a plugin will download for all achitectures.
	Architectures []string `yaml:"Architectures,omitempty"`

	// A map of enviroment specific configuration
	Environments map[string]Environment `yaml:"Environments,omitempty"`

	// A flag to indicate if default exports should be added to stacks in this project
	// this defaults to false
	GenerateDefaultOutputs bool `yaml:"GenerateDefaultOutputs"`

	// A set of default tags that will be applied to created stacks
	Tags map[string]string `yaml:"Tags"`
}

Manifest - kombustion.yaml manifest file

func GetManifestObject added in v0.3.5

func GetManifestObject(objectStore core.ObjectStore, manifestLocation string, path ...string) (*Manifest, error)

type Plugin

type Plugin struct {
	// The name of the plugin to include
	// In the initial version of plugin management, this must be a github url
	Name string `yaml:"Name"`

	// The version to download of the plugin
	// In the initial version this must be a tag on the github url, or
	// `latest` which will use the latest tag.
	Version string `yaml:"Version"`

	// TODO: implement Plugin Aliases
	// This will be useful if two plugins want to use the same namespace
	// Ideally, that wouldn't happen. Ideally.
	Alias string `yaml:"Alias"`
}

Plugin specification inside the manifest

Jump to

Keyboard shortcuts

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