Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseManifests ¶
ParseManifests parses the configuration's manifests into overall picture of the repository's applications. TODO: this should probably accept a fs.FileSystem to allow reusing the Git clone. TODO: This should also not be a map[string]map[string]map[string][]string :-)
Types ¶
type App ¶
type App struct { Name string `json:"name"` RepoURL string `json:"repo_url"` Path string `json:"path"` Environments []*Environment `json:"environments"` }
App represents a high-level application that is deployed across multiple environments, and configured through Kustomize.
func (*App) EachEnvironment ¶
func (a *App) EachEnvironment(f func(e *Environment) error) error
EachEnvironment iterates over each environment within the app, and calls it with an environment, the environment will have it's parent app linked correctly.
func (*App) Environment ¶
func (a *App) Environment(name string) *Environment
Environment gets a named environment.
type Config ¶
type Config struct {
Apps []*App `json:"apps,omitempty"`
}
Config represents the managed apps.
type Environment ¶
type Environment struct { Name string `json:"name"` RelPath string `json:"rel_path"` // This is relative to the Path for the parent App. App *App `json:"-"` }
Environment is a k8s namespace/cluster that an application is deployed.
func (*Environment) Path ¶
func (e *Environment) Path() string
Path returns the app-relative path for the kustomize.yaml for this environment.
For example, app in /test/base and environment in "../dev" would get "/test/dev".