config

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2018 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultName = "default" // some implicit connotations

Variables

This section is empty.

Functions

This section is empty.

Types

type AbstractComponentConfig

type AbstractComponentConfig struct {
	Name    string                 `yaml:"name"`
	Type    string                 `yaml:"type"`
	Options map[string]interface{} `yaml:"options"`
}

type AnalysesConfig

type AnalysesConfig struct {
	Datastores []AnalysisDatastoreConfig `yaml:"datastores"`
}

type AnalysisDatastoreConfig

type AnalysisDatastoreConfig struct {
	AbstractComponentConfig `yaml:",inline"`
}

type Config

type Config struct {
	RawConfig func() ([]byte, error) `yaml:"-"`

	// Global defines common options. These can usually be specified via global
	// CLI options which take precedent.
	Global GlobalConfig `yaml:"global,omitempty"`

	// Scheduler defines how to execute tasks.
	Scheduler *SchedulerConfig `yaml:"scheduler,omitempty"`

	// Stemcells defines stemcell datastores and settings.
	Stemcells StemcellsConfig `yaml:"stemcells,omitempty"`

	// Releases defines release datastores and settings.
	Releases ReleasesConfig `yaml:"releases,omitempty"`

	// ReleaseCompilations defines release compilation datastores and settings.
	ReleaseCompilations ReleaseCompilationConfigs `yaml:"release_compilations,omitempty"`

	// Analyses defines analysis datastores and settings.
	Analyses AnalysesConfig `yaml:"analyses,omitempty"`

	// Server defines how a local API server should run.
	Server ServerConfig `yaml:"server,omitempty"`
}

Config represents the standard YAML configuration file.

func Denormalize

func Denormalize(in Config) (*Config, error)

TODO refactor TODO error check, too? TODO simplify provider lookups once this is verified

func (*Config) ApplyDefaults

func (c *Config) ApplyDefaults()

type GlobalConfig

type GlobalConfig struct {
	// DefaultServer defines a default remote API server which will be injected
	// for empty stemcells, releases, release compilations, analyses, and
	// scheduler if no other providers are configured.
	DefaultServer string `yaml:"default_server"`

	// DefaultWait defines how long to wait for asynchronous operations.
	DefaultWait time.Duration `yaml:"default_wait"`

	// LogLevel defines the log level for messages sent to STDERR.
	LogLevel types.LogLevel `yaml:"log_level"`

	// Quiet defines whether informational or progress information should be
	// suppressed.
	Quiet bool `yaml:"quiet"`
}

GlobalConfig defines common options.

type ReleaseCompilationConfigs

type ReleaseCompilationConfigs struct {
	// Datastores defines a list of release compilation datastores.
	Datastores []ReleaseCompilationDatastoreConfig `yaml:"datastores"`
}

ReleaseCompilationConfigs defines release compilation datastores and settings.

type ReleaseCompilationDatastoreConfig

type ReleaseCompilationDatastoreConfig struct {
	AbstractComponentConfig `yaml:",inline"`

	// Analyses defines an explicit inline or reference to an analysis datastore.
	AnalysisDatastore *AnalysisDatastoreConfig `yaml:"analysis_datastore"`
}

ReleaseCompilationDatastoreConfig defines a release compilation datastore.

type ReleaseDatastoreConfig

type ReleaseDatastoreConfig struct {
	AbstractComponentConfig `yaml:",inline"`

	// Compilations defines an explicit inline or reference to a compilation
	// datastore.
	CompilationDatastore *ReleaseCompilationDatastoreConfig `yaml:"compilation_datastore"`

	// Analyses defines an explicit inline or reference to an analysis datastore.
	AnalysisDatastore *AnalysisDatastoreConfig `yaml:"analysis_datastore"`
}

ReleaseDatastoreConfig defines a release datastore.

type ReleasesConfig

type ReleasesConfig struct {
	// Datastores defines a list of release datastores.
	Datastores []ReleaseDatastoreConfig `yaml:"datastores"`
}

ReleasesConfig defines release datastores and settings.

type SchedulerConfig

type SchedulerConfig struct {
	AbstractComponentConfig `yaml:",inline"`
	NoWait                  bool `yaml:"no_wait"`
}

type ServerConfig

type ServerConfig struct {
	// Bind defines the host and port to run on.
	Bind string `yaml:"bind"`

	// Mount defines paths for customized endpoints.
	Mount ServerMountConfig `yaml:"mount"`

	// Redirect defines redirect rules.
	Redirect ServerRedirectConfig `yaml:"redirect"`
}

ServerConfig defines local API server options.

type ServerMountConfig

type ServerMountConfig struct {
	// CLI defines a directory to serve binaries from `/cli/`.
	CLI string `yaml:"cli"`

	// UI defines a local path to serve from `/ui/`.
	UI string `yaml:"ui"`
}

ServerMountConfig defines paths for customzied endpoints.

type ServerRedirectConfig

type ServerRedirectConfig struct {
	// Root defines a target path for clients accessing `/`.
	Root string `yaml:"root"`
}

ServerRedirectConfig defines redirect rules.

type StemcellDatastoreConfig

type StemcellDatastoreConfig struct {
	AbstractComponentConfig `yaml:",inline"`
	AnalysisDatastore       *AnalysisDatastoreConfig `yaml:"analysis_datastore"`
}

type StemcellsConfig

type StemcellsConfig struct {
	// Datastores defines a list of stemcell datastores.
	Datastores []StemcellDatastoreConfig `yaml:"datastores"`
}

StemcellsConfig defines stemcell datastores and settings.

Directories

Path Synopsis
presets

Jump to

Keyboard shortcuts

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