Jump to heading Local overrides
fabfile.local.yaml is used to override parts of your fabfile-configuration. If you run a fab-command the code will try to find a fabfile.local.yaml up to five folder levels up, or in your user-folder (~/.fabfile.local.yaml) and merge the data with your fabfile.yaml.
A small example:
fabfile.local.yaml
+ project
fabfile.yaml
Contents fo fabfile.yaml
hosts:
local:
host: multibasebox.dev
port: 22
[...]
Contents of fabfile.local.yaml:
hosts:
local:
host: localhost
port: 2222
This will override the host and port settings of the local-configuration. With this technique you can alter an existing fabfile.yaml with local overrides. (In this example, host=localhost and port=2222
Another example:
Using a local .netrc-file in the docker-container
dockerNetRcFile: /home/user/.netrc
Jump to heading Overrides on the same level
Another possibility is to place a socalled override file side by side to the original ymal-file. Name it the same as the original file, and add .override before the file extension, e.g. fabfile.yml becomes fabfile.override.yml.
The data of the override will be merged with the data of the original file. No inheritance or other advanced features are supported.
Jump to heading Prevent overriding of certain values
3.7.1 supports a new property on the root level of the fabfile called protectedProperties. These properties will be prevented for being overridden:
protectedOverrides:
- dockerHosts.mbb.environment
If your override-file wants to override dockerHosts > mbb > environment phab will prevent this and restore the original value as in the fabfile.