diff --git a/pillar/top.sls b/pillar/top.sls index 031352a11..13ea5e5a8 100644 --- a/pillar/top.sls +++ b/pillar/top.sls @@ -1,4 +1,7 @@ base: + '*': + - patch.os.{{ grains.id }} + 'G@role:so-sensor': - sensors.{{ grains.id }} - static diff --git a/salt/patch/os.sls b/salt/patch/os.sls new file mode 100644 index 000000000..d3ae6a1ff --- /dev/null +++ b/salt/patch/os.sls @@ -0,0 +1,4 @@ +patch_os: + pkg.uptodate: + - name: patch_os + - refresh: True diff --git a/salt/patch/schedule/os.sls b/salt/patch/schedule/os.sls new file mode 100644 index 000000000..6056f8ee3 --- /dev/null +++ b/salt/patch/schedule/os.sls @@ -0,0 +1,32 @@ +{% if salt['pillar.get']('patch:os:schedule') != 'manual' and salt['pillar.get']('patch:os:schedule') != 'auto' %} + +patch_os_schedule: + schedule.present: + - function: state.sls + - job_args: + - patch.os + - when: + {% for day in pillar['patch']['os']['schedule'] %} + {% for day, time in day.iteritems() %} + {% for each_time in time %} + - {{day}} {{each_time}} + {% endfor %} + {% endfor %} + {% endfor %} + - splay: + start: 5 + end: 10 + +{% elif salt['pillar.get']('patch:os:schedule') == 'auto' %} + +patch_os_schedule: + schedule.present: + - function: state.sls + - job_args: + - patch.os + - minutes: 20 + - splay: + start: 150 + end: 300 + +{% endif %} diff --git a/salt/top.sls b/salt/top.sls index cf5d47699..08d82285c 100644 --- a/salt/top.sls +++ b/salt/top.sls @@ -5,6 +5,9 @@ {%- set THEHIVE = salt['pillar.get']('master:thehive', '0') -%} {%- set PLAYBOOK = salt['pillar.get']('master:playbook', '0') -%} base: + '*': + - patch.schedule.os + 'G@role:so-sensor': - ca - ssl