
Use the salt-call -local -retcode-passthrough state.show_sls YOUR_STATE either manually or using a commit hook. For Salt, you have the following options: Indeed, it is possible to validate your states, in a semi- or completely automated way, even before they touch your infrastructure. Smart developers probably have this figured out, right? These issues definitely have come up before ( #802). Sprinkle a few Jinja tags here and there, and the errors can get even fancier… Is there anything that could be done?
Indentation with mixed tabs and spaces, which took a surprisingly long time to debugĪnd even if your states are valid YAML, they still can have no sense for Salt because your wathc_in requisite has a typo. State requirements at the wrong indentation level. A nested dictionary, indented with two spaces instead of four. A ParserError or ScannerError while running the state.highstate. Data failed to compile: State ‘foo’ in SLS ‘bar’ is not formed as a list. A missing colon after the YAML key or a missing space after the colon. If you have ever written a couple of Salt states, these problems may sound familiar: Text editor plugins for Salt states and YAML/Jinja