2022-11-18 09:57:31 +00:00
|
|
|
package config
|
|
|
|
|
2023-07-12 06:51:54 +00:00
|
|
|
type Mode string
|
|
|
|
|
2022-11-18 09:57:31 +00:00
|
|
|
// Environment defines overrides for a single environment.
|
|
|
|
// This structure is recursively merged into the root configuration.
|
|
|
|
type Environment struct {
|
2022-12-15 20:28:14 +00:00
|
|
|
// Default marks that this environment must be used if one isn't specified
|
|
|
|
// by the user (through environment variable or command line argument).
|
|
|
|
Default bool `json:"default,omitempty"`
|
|
|
|
|
2023-07-12 06:51:54 +00:00
|
|
|
// Determines the mode of the environment.
|
|
|
|
// For example, 'mode: development' can be used for deployments for
|
|
|
|
// development purposes.
|
|
|
|
Mode Mode `json:"mode,omitempty"`
|
|
|
|
|
|
|
|
// Overrides the compute used for jobs and other supported assets.
|
|
|
|
ComputeID string `json:"compute_id,omitempty"`
|
|
|
|
|
2022-11-18 09:57:31 +00:00
|
|
|
Bundle *Bundle `json:"bundle,omitempty"`
|
|
|
|
|
|
|
|
Workspace *Workspace `json:"workspace,omitempty"`
|
|
|
|
|
2022-11-30 13:15:22 +00:00
|
|
|
Artifacts map[string]*Artifact `json:"artifacts,omitempty"`
|
|
|
|
|
2022-11-18 09:57:31 +00:00
|
|
|
Resources *Resources `json:"resources,omitempty"`
|
2023-05-15 12:07:18 +00:00
|
|
|
|
|
|
|
// Override default values for defined variables
|
|
|
|
// Does not permit defining new variables or redefining existing ones
|
|
|
|
// in the scope of an environment
|
|
|
|
Variables map[string]string `json:"variables,omitempty"`
|
2023-07-30 12:44:33 +00:00
|
|
|
|
|
|
|
Git Git `json:"git,omitempty"`
|
2022-11-18 09:57:31 +00:00
|
|
|
}
|
2023-07-12 06:51:54 +00:00
|
|
|
|
|
|
|
const (
|
2023-07-30 07:19:49 +00:00
|
|
|
// Development mode: deployments done purely for running things in development.
|
|
|
|
// Any deployed resources will be marked as "dev" and might be hidden or cleaned up.
|
2023-07-12 06:51:54 +00:00
|
|
|
Development Mode = "development"
|
2023-07-30 07:19:49 +00:00
|
|
|
|
|
|
|
// Production mode: deployments done for production purposes.
|
|
|
|
// Any deployed resources will not be changed but this mode will enable
|
|
|
|
// various strictness checks to make sure that a deployment is correctly setup
|
|
|
|
// for production purposes.
|
|
|
|
Production Mode = "production"
|
2023-07-12 06:51:54 +00:00
|
|
|
)
|