Documentation
¶
Index ¶
- Constants
- type AbstractComponentConfig
- type AnalysesConfig
- type AnalysisDatastoreConfig
- type Config
- type GlobalConfig
- type ReleaseCompilationConfigs
- type ReleaseCompilationDatastoreConfig
- type ReleaseDatastoreConfig
- type ReleasesConfig
- type SchedulerConfig
- type ServerConfig
- type ServerMountConfig
- type ServerRedirectConfig
- type StemcellDatastoreConfig
- type StemcellsConfig
Constants ¶
const DefaultName = "default" // some implicit connotations
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AbstractComponentConfig ¶
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 ¶
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.