Help us shape the future of Go! Take the 2026 Go Developer Survey

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