You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -96,6 +96,7 @@ pip3 install pyyaml
96
96
The configuration file has the following base structure:
97
97
```
98
98
{
99
+
"min_devlab_version": "",
99
100
"components": {},
100
101
"domain": "",
101
102
"foreground_component": {},
@@ -115,6 +116,7 @@ All Keys that are in **bold** are required to be in the config
115
116
| domain | String | The domain name to assign to all component's hostname inside the container |
116
117
|**components**| Hash of Hashes | Defines the components to start up. The First level key is a string of the name of the container. Structure conforms to the [Component Config Structure](#component-config-structure)|
117
118
| foreground_component | Hash | Defines a component that will be startup up after ***all*** other components and will run in the foreground. After the process exits, all ther components will be stopped. Same structure as [Component Config Structure](#component-config-structure) with one additional key `name` to indicate the name of the foreground component |
119
+
| min_devlab_version | String | The minimum version of devlab that the project requires. Useful when taking advantage of new features and ensuring users of your project are updated to a version that supports the features you're using |
118
120
| network | Hash | Defines a docker network to create and/or attach components to. Structure conforms to [Network Config Structure](#network-config-structure)|
119
121
|**paths**| Hash | Defines the persistence directory for components, as well as files that should be deleted during the [reset](#reset-action) action. Structure conforms to [Paths Config Structure](#paths-config-structure)|
120
122
|**project_filter**| String | A unique docker label that is used to identify containers and images that belong to the project. |
@@ -130,6 +132,8 @@ The structure looks like this:
130
132
"systemd_support": false,
131
133
"systemd_tmpfs_args": "",
132
134
"enabled": false,
135
+
"env": {},
136
+
"env_file": "",
133
137
"cmd": "",
134
138
"ports": [],
135
139
"mounts": [],
@@ -157,7 +161,9 @@ All Keys that are in **bold** are required
157
161
| systemd_tmpfs_args | String | If `systemd_support` is set to `true`, and this argument is set, then the value is appended to the tmpfs mounts as arguments for systemd support. This way you can specify things like: `rw`, `exec`, etc... |
158
162
|**enabled**| Boolean | Whether or not the component should be brought [up](#up-action) and images [built](#build-action)|
159
163
|**_name_**| String | This is only supported for `foreground_components` but required. It indicates the name of the component |
160
-
| type | String | This only only supported for `foreground_components`, but can be either `host` or `container`. If set to host then `cmd` is executed on the local system instead of a container |
164
+
| type | String | This is only supported for `foreground_components`, but can be either `host` or `container`. If set to host then `cmd` is executed on the local system instead of a container |
165
+
| env | Hash | Key value pairs of environment variables to set for the component |
166
+
| env_file | String | Path to a file containing environment variables for the component. This fills in the `--env-file` option for the `docker run` command
161
167
| cmd | String | This is the command passed to the container as part of the `docker run` command. If `type` is set to `host` then the command is executed on the local system |
162
168
| ports | List of Strings | The ports that should be "published" using the same notation as the `--publish` option to `docker run`|
163
169
| mounts | List of Strings | List of mounts in the format `SOURCE_ON_HOST:DESTINATION_IN_CONTAINER`. If using a relative path then the paths are relative to the project's root |
@@ -220,6 +226,7 @@ The structure looks like this:
220
226
"tag": ""|[],
221
227
"docker_file": "",
222
228
"build_opts": [],
229
+
"skip_pull": BOOL,
223
230
"ordinal": {
224
231
"group": INT,
225
232
"number": INT
@@ -233,6 +240,7 @@ All Keys that are in **bold** are required
233
240
|**tag**| String or List of Strings | This is a tag that should be applied to the image. If a list is passed, the first tag becomes a primary identifier. |
234
241
|**docker_file**| String | Path to the docker file, relative to the project's root to use when building the image. ***[NOTE]*** The build context will be the parent directory of the dockerfile's path |
235
242
| build_opts | List of Strings | Additional options to pass to the `docker build` command. Each CLI arg must be it's own element. For example: `[ '--build-arg', 'foo=bar' ]` would become `docker build --build-arg foo=bar PATH...` etc... |
243
+
| skip_pull | Boolean | Whether or not a forced pull does anything. There are cases where an image is built locally used elsewhere, so a pull will fail since it isn't on docker hub. If this is `true`, then even when a build is requesting a `pull` it will skip it for this image |
236
244
| ordinal | Hash | This is used indicate the order of the images to build. When parallel execution is supported, the `group` key indicates the image that can be built at the same time, `number` indicates the order inside the group to start up |
237
245
238
246
_**[NOTE]**_ Devlab supports a special label (`last_modified`).
0 commit comments