-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproject.garden.yml
206 lines (184 loc) · 9.08 KB
/
project.garden.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
# Indicate what kind of config this is.
kind: Project
# The name of the project.
name: garden-exec-status-check
# A list of environments to configure for the project.
environments:
- # The name of the environment.
name: default
# Set the default namespace to use. This can be templated to be user-specific, or to use an environment variable
# (e.g. in CI).
#
# You can also set this to `null`, in order to require an explicit namespace to be set on usage. This may be
# advisable for shared environments, but you may also be able to achieve the desired result by templating this
# field, as mentioned above.
#
# defaultNamespace: "user-${local.username}"
# Flag the environment as a production environment.
#
# Setting this flag to `true` will activate the protection on the `deploy`, `test`, `task`, `build`,
# and `dev` commands. A protected command will ask for a user confirmation every time is run against
# an environment marked as production.
# Run the command with the "--yes" flag to skip the check (e.g. when running Garden in CI).
#
# This flag is also passed on to every provider, and may affect how certain providers behave.
# For more details please check the documentation for the providers in use.
#
# production: true
# The name of the provider plugin to use.
#
# name: "local-kubernetes"
# List other providers that should be resolved before this one.
#
# dependencies:
# - exec
# If specified, this provider will only be used in the listed environments. Note that an empty array
# effectively disables the provider. To use a provider in all environments, omit this field.
#
# environments:
# - dev
# - stage
# Specify a path (relative to the project root) to a file containing variables, that we apply on top of the
# _environment-specific_ `variables` field.
#
# The format of the files is determined by the configured file's extension:
#
# * `.env` - Standard "dotenv" format, as defined by dotenv (https://github.com/motdotla/dotenv#rules).
# * `.yaml`/`.yml` - YAML. The file must consist of a YAML document, which must be a map (dictionary). Keys may
# contain any value type.
# * `.json` - JSON. Must contain a single JSON _object_ (not an array).
#
# _NOTE: The default varfile format will change to YAML in Garden v0.13, since YAML allows for definition of
# nested objects and arrays._
#
# If you don't set the field and the `garden.<env-name>.env` file does not exist,
# we simply ignore it. If you do override the default value and the file doesn't exist, an error will be thrown.
#
# varfile: "custom.env"
# A key/value map of variables that modules can reference when using this environment. These take precedence over
# variables defined in the top-level `variables` field, but may also reference the top-level variables in template
# strings.
#
# variables: {}
# A list of providers that should be used for this project, and their configuration. Please refer to individual
# plugins/providers for details on how to configure them.
# providers:
# - # The name of the provider plugin to use.
# name: local-kubernetes
# List other providers that should be resolved before this one.
#
# dependencies:
# - exec
# If specified, this provider will only be used in the listed environments. Note that an empty array effectively
# disables the provider. To use a provider in all environments, omit this field.
#
# environments:
# - dev
# - stage
# The default environment to use when calling commands without the `--env` parameter. May include a namespace name, in
# the format `<namespace>.<environment>`. Defaults to the first configured environment, with no namespace set.
#
# defaultEnvironment: "dev"
# Specify a list of filenames that should be used as ".ignore" files across the project, using the same syntax and
# semantics as `.gitignore` files. By default, patterns matched in `.gardenignore` files, found anywhere in the
# project, are ignored when scanning for modules and module sources (Note: prior to version 0.12.0, `.gitignore` files
# were also used by default).
# Note that these take precedence over the project `module.include` field, and module `include` fields, so any paths
# matched by the .ignore files will be ignored even if they are explicitly specified in those fields.
# See the Configuration Files guide
# (https://docs.garden.io/using-garden/configuration-overview#including-excluding-files-and-directories) for details.
#
# dotIgnoreFiles:
# - .gardenignore
# - .gitignore
# Control where to scan for modules in the project.
#
# modules:
# Specify a list of POSIX-style paths or globs that should be scanned for Garden modules.
#
# Note that you can also _exclude_ path using the `exclude` field or by placing `.gardenignore` files in your source
# tree, which use the same format as `.gitignore` files. See the Configuration Files guide
# (https://docs.garden.io/using-garden/configuration-overview#including-excluding-files-and-directories) for
# details.
#
# Unlike the `exclude` field, the paths/globs specified here have _no effect_ on which files and directories Garden
# watches for changes. Use the `exclude` field to affect those, if you have large directories that should not be
# watched for changes.
#
# Also note that specifying an empty list here means _no paths_ should be included.
#
# include:
# - modules/**/*
# Specify a list of POSIX-style paths or glob patterns that should be excluded when scanning for modules.
#
# The filters here also affect which files and directories are watched for changes. So if you have a large number of
# directories in your project that should not be watched, you should specify them here.
#
# For example, you might want to exclude large vendor directories in your project from being scanned and watched, by
# setting `exclude: [node_modules/**/*, vendor/**/*]`.
#
# Note that you can also explicitly _include_ files using the `include` field. If you also specify the `include`
# field, the paths/patterns specified here are filtered from the files matched by `include`.
#
# The `include` field does _not_ affect which files are watched.
#
# See the Configuration Files guide
# (https://docs.garden.io/using-garden/configuration-overview#including-excluding-files-and-directories) for
# details.
#
# exclude:
# - public/**/*
# - tmp/**/*
# A list of output values that the project should export. These are exported by the `garden get outputs` command, as
# well as when referencing a project as a sub-project within another project.
#
# You may use any template strings to specify the values, including references to provider outputs, module
# outputs and runtime outputs. For a full reference, see the Output configuration context
# (https://docs.garden.io/reference/template-strings#output-configuration-context) section in the Template String
# Reference.
#
# Note that if any runtime outputs are referenced, the referenced services and tasks will be deployed and run if
# necessary when resolving the outputs.
#
# outputs:
#-# The name of the output value.
#
# name: "my-output-key"
# The value for the output. Must be a primitive (string, number, boolean or null). May also be any valid template
# string.
#
# value: "${modules.my-module.outputs.some-output}"
# A list of remote sources to import into project.
#
# sources:
#-# The name of the source to import
#
# name: "my-external-repo"
# A remote repository URL. Currently only supports git servers. Must contain a hash suffix pointing to a specific
# branch or tag, with the format: <git remote url>#<branch|tag>
#
# repositoryUrl: "git+https://github.com/org/repo.git#v2.0"
# Specify a path (relative to the project root) to a file containing variables, that we apply on top of the
# project-wide `variables` field.
#
# The format of the files is determined by the configured file's extension:
#
# * `.env` - Standard "dotenv" format, as defined by dotenv (https://github.com/motdotla/dotenv#rules).
# * `.yaml`/`.yml` - YAML. The file must consist of a YAML document, which must be a map (dictionary). Keys may
# contain any value type.
# * `.json` - JSON. Must contain a single JSON _object_ (not an array).
#
# _NOTE: The default varfile format will change to YAML in Garden v0.13, since YAML allows for definition of nested
# objects and arrays._
#
# If you don't set the field and the `garden.env` file does not exist, we simply ignore it.
# If you do override the default value and the file doesn't exist, an error will be thrown.
#
# _Note that in many cases it is advisable to only use environment-specific var files, instead of combining
# multiple ones. See the `environments[].varfile` field for this option._
#
# varfile: "custom.env"
# Key/value map of variables to configure for all environments. Keys may contain letters and numbers. Any values are
# permitted, including arrays and objects of any nesting.
#
# variables: {}