From 3ab819a80767e216074b0298b2854dfe777a04f7 Mon Sep 17 00:00:00 2001 From: kartnico Date: Wed, 19 Aug 2020 18:52:29 +0200 Subject: [PATCH] feat(master): enable option to set master scheduler --- pillar.example | 6 ++++++ salt/files/master.d/f_defaults.conf | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+) 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') }}