Documentation
¶
Index ¶
- func EnsureDirExists(dir string) error
- type Config
- type DeployFilterFlags
- func (f *DeployFilterFlags) BuildFilter(parseSL func(string) (sous.SourceLocation, error)) (*sous.ResolveFilter, error)
- func (f *DeployFilterFlags) BuildPredicate(parseSL func(string) (sous.SourceLocation, error)) (sous.DeploymentPredicate, error)
- func (f DeployFilterFlags) EachField(fn func(logging.FieldName, interface{}))
- func (f DeployFilterFlags) SourceIDFlags() SourceIDFlags
- type DeploymentIDFlags
- type LocalUser
- type ManifestIDFlags
- type OTPLFlags
- type PolicyFlags
- type SourceIDFlags
- type SourceLocationFlags
- type SourceVersionFlags
- type Verbosity
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EnsureDirExists ¶ added in v0.0.3
EnsureDirExists creates the named directory if it does not exist.
Types ¶
type Config ¶
type Config struct {
// StateLocation is either a file containing a pre-compiled state, or
// a directory containing the state as a tree.
StateLocation string `env:"SOUS_STATE_LOCATION"`
// Server is the location of a Sous Server which this sous instance
// considers the master. If this is not set, this node is considered
// to be a master. This value must be in URL format.
Server string `env:"SOUS_SERVER"`
// Database contains configuration for the local Postgresql DB.
Database storage.PostgresConfig
// DatabasePrimary controls whether the PostgreSQL database is the primary
// datastore, or the git repo at StateLocation is.
// As of May 30, 2018, this is being added as a temporary feature flag. The
// idea is to use it to transition to DB only and then change the behavior
// to be (unconditionally) DatabasePrimary=true.
DatabasePrimary bool `env:"SOUS_DATABASE_IS_PRIMARY"`
// SiblingURLs is a temporary measure for setting up a distributed cluster
// of sous servers. Each server must be configured with accessible URLs for
// all the servers in production, as named by cluster.
// (someday this should be replaced with a gossip protocol)
SiblingURLs map[string]string `env:"SOUS_SIBLING_URLS"`
// BuildStateDir is a directory where information about builds
// performed by this user on this machine are stored.
BuildStateDir string `env:"SOUS_BUILD_STATE_DIR"`
// Docker is the Docker configuration.
Docker docker.Config
// Logging is the logging configuration.
Logging logging.Config
// User identifies the user of this client.
User sous.User
// MaxHTTPConcurrencySingularity is the maximum number of concurrent
// requests that can be made to a single Singularity instance.
MaxHTTPConcurrencySingularity int `env:"MAX_HTTP_CONCURRENCY_SINGULARITY"`
// PollIntervalForClient is the maximum number of checks for client on SOUS Deploy
PollIntervalForClient int `env:"SOUS_POLL_INTERVAL_FOR_CLIENT"`
// SlackHookURL when set with SlackChannel will send messages to specified web hook
SlackHookURL string `env:"SOUS_SLACK_HOOK_URL"`
// SlackChannel that should receive messages
SlackChannel string `env:"SOUS_SLACK_CHANNEL"`
// AdditionalSlackChannels that should receive messages
AdditionalSlackChannels map[string]string `env:"SOUS_ADDITIONAL_SLACK_CHANNELS"`
}
Config contains the core Sous configuration, shared by both the client and server. The client and server may additionally have their own configuration.
func (*Config) FillDefaults ¶
FillDefaults fills in default values in this Config where they are currently zero values.
type DeployFilterFlags ¶
type DeployFilterFlags struct {
DeploymentIDFlags
SourceVersionFlags
All bool
}
DeployFilterFlags are CLI flags used to configure the underlying deployments a given command will refer to N.b. that not every command will use every filter
func MakeDeployFilterFlags ¶ added in v1.0.1
func MakeDeployFilterFlags(config func(*DeployFilterFlags)) DeployFilterFlags
MakeDeployFilterFlags encapsulates setting fields on a brand new DeployFilterFlags. It is more convenient to use this than to manually construct the hierarchical nested structs otherwise necessary.
func (*DeployFilterFlags) BuildFilter ¶ added in v0.0.3
func (f *DeployFilterFlags) BuildFilter(parseSL func(string) (sous.SourceLocation, error)) (*sous.ResolveFilter, error)
BuildFilter creates a ResolveFilter from DeployFilterFlags.
func (*DeployFilterFlags) BuildPredicate ¶
func (f *DeployFilterFlags) BuildPredicate(parseSL func(string) (sous.SourceLocation, error)) (sous.DeploymentPredicate, error)
BuildPredicate returns a predicate used for filtering targeted deployments.
It returns an error if the combination of flags is invalid, or if parseSL returns an error parsing Source.
func (DeployFilterFlags) EachField ¶ added in v1.0.1
func (f DeployFilterFlags) EachField(fn func(logging.FieldName, interface{}))
EachField implements logging.EachFielder on DeployFilterFlags.
func (DeployFilterFlags) SourceIDFlags ¶ added in v1.0.1
func (f DeployFilterFlags) SourceIDFlags() SourceIDFlags
SourceIDFlags returns an equivalent SourceIDFlags.
type DeploymentIDFlags ¶ added in v1.0.1
type DeploymentIDFlags struct {
ManifestIDFlags
Cluster string
}
DeploymentIDFlags identify a Deployment.
func (DeploymentIDFlags) DeploymentID ¶ added in v1.0.1
func (f DeploymentIDFlags) DeploymentID() (sous.DeploymentID, error)
DeploymentID returns the sous.DeploymentID that these flags represent. If there is missing data from these flags, it returns a non-nil error.
type LocalUser ¶ added in v1.0.1
LocalUser represents the OS user running Sous.
func (*LocalUser) ConfigDir ¶ added in v1.0.1
ConfigDir returns the directory we should use to store Sous configuration data
func (*LocalUser) ConfigFile ¶ added in v1.0.1
ConfigFile returns the path to the local Sous config file
func (*LocalUser) DefaultConfig ¶ added in v1.0.1
DefaultConfig builds a default configuration for this user
type ManifestIDFlags ¶ added in v1.0.1
type ManifestIDFlags struct {
SourceLocationFlags
Flavor string
}
ManifestIDFlags identify a manifest.
func (ManifestIDFlags) ManifestID ¶ added in v1.0.1
func (f ManifestIDFlags) ManifestID() sous.ManifestID
ManifestID returns the sous.ManifestID that these flags represent.
type OTPLFlags ¶
type OTPLFlags struct {
UseOTPLDeploy bool `flag:"use-otpl-deploy"`
IgnoreOTPLDeploy bool `flag:"ignore-otpl-deploy"`
// Flavor is required when multiple flavors are present in otpl-deploy
// config.
Flavor string `flag:"flavor"`
}
OTPLFlags set options for sniffing otpl-deploy configuration during manifest initialisation.
type PolicyFlags ¶
type PolicyFlags struct {
ForceClone, Strict, Dev bool
}
PolicyFlags capture user intent about the processing of a build
type SourceIDFlags ¶ added in v1.0.1
type SourceIDFlags struct {
SourceLocationFlags
SourceVersionFlags
}
SourceIDFlags identify a version of a particular SourceLocation.
func NewSourceIDFlags ¶ added in v1.0.1
func NewSourceIDFlags(sid sous.SourceID) SourceIDFlags
NewSourceIDFlags returns a SourceIDFlags based on sid.
func (SourceIDFlags) DeployFilterFlags ¶ added in v1.0.1
func (f SourceIDFlags) DeployFilterFlags() DeployFilterFlags
DeployFilterFlags returns an equivalent DeployFilterFlags.
type SourceLocationFlags ¶ added in v1.0.1
SourceLocationFlags identify a SourceLocation.
func (SourceLocationFlags) SourceLocation ¶ added in v1.0.1
func (f SourceLocationFlags) SourceLocation() sous.SourceLocation
SourceLocation returns the SourceLocation represented by these flags.
type SourceVersionFlags ¶ added in v1.0.1
SourceVersionFlags are Tag and Revision.
type Verbosity ¶
type Verbosity struct {
Silent, Quiet, Loud, Debug bool
}
Verbosity configures how chatty Sous is on its logs
func (Verbosity) UpdateLevel ¶ added in v1.0.1
UpdateLevel updates the logging level of the provided LogSet to reflect this Verbosity