diff --git a/pillar.example b/pillar.example index 91d5d8a7b..250d184fa 100644 --- a/pillar.example +++ b/pillar.example @@ -157,6 +157,12 @@ salt: type: runner cmd: jobs.list_jobs + # Define a master scheduler + schedule: + - update_winrepo: + - function: winrepo.update_git_repos + - hours: 6 + # optional: these reactors will be configured on the master # They override reactors configured in # 'salt:reactors' or the old 'salt:reactor' parameters diff --git a/salt/files/master.d/f_defaults.conf b/salt/files/master.d/f_defaults.conf index 1e901bddf..dc37989e0 100644 --- a/salt/files/master.d/f_defaults.conf +++ b/salt/files/master.d/f_defaults.conf @@ -124,6 +124,25 @@ module_dirs: # job cache and executes the scheduler. {{ get_config('loop_interval', '60') }} +# When using the scheduler at least one schedule needs to be +# defined. The user running the salt master will need read access to the repo. +{% if 'schedule' in cfg_master -%} +{%- do default_keys.append('schedule') %} +schedule: +{%- for schedule in cfg_master['schedule'] %} +{%- if schedule is iterable and schedule is not string %} + {%- for name, children in schedule.items() %} + {{ name }}: + {%- for child in children %} + {%- for key, value in child.items() %} + {{ key }}: {{ value }} + {%- endfor -%} + {%- endfor -%} + {%- endfor -%} +{%- endif -%} +{%- endfor -%} +{%- endif %} + # Set the default outputter used by the salt command. The default is "nested". {{ get_config('output', 'nested') }}