Filip Pytloun | f5383a4 | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 1 | {%- from "linux/map.jinja" import system with context %} |
| 2 | {%- if system.enabled %} |
| 3 | |
chnyda | 8221541 | 2017-11-03 10:01:39 +0100 | [diff] [blame] | 4 | include: |
| 5 | - linux.system.user |
Dmitry Teselkin | 0f084a0 | 2018-08-29 14:46:38 +0300 | [diff] [blame] | 6 | - linux.system.cron |
chnyda | 8221541 | 2017-11-03 10:01:39 +0100 | [diff] [blame] | 7 | |
Dmitry Teselkin | 0f084a0 | 2018-08-29 14:46:38 +0300 | [diff] [blame] | 8 | {%- for name, job in system.job.items() %} |
| 9 | {%- set job_user = job.get('user', 'root') %} |
Filip Pytloun | f5383a4 | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 10 | |
| 11 | linux_job_{{ job.command }}: |
Dmitry Teselkin | 0f084a0 | 2018-08-29 14:46:38 +0300 | [diff] [blame] | 12 | {%- if job.get('enabled', True) %} |
Filip Pytloun | f5383a4 | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 13 | cron.present: |
chnyda | 8e2aece | 2017-11-02 13:40:11 +0100 | [diff] [blame] | 14 | - name: > |
| 15 | {{ job.command }} |
Dmitry Teselkin | 0f084a0 | 2018-08-29 14:46:38 +0300 | [diff] [blame] | 16 | {%- if job.get('identifier', True) %} |
Filip Pytloun | 9122222 | 2017-08-04 10:55:27 +0200 | [diff] [blame] | 17 | - identifier: {{ job.get('identifier', job.get('name', name)) }} |
Dmitry Teselkin | 0f084a0 | 2018-08-29 14:46:38 +0300 | [diff] [blame] | 18 | {%- endif %} |
| 19 | - user: {{ job_user }} |
| 20 | {%- if job.minute is defined %} |
Filip Pytloun | f5383a4 | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 21 | - minute: '{{ job.minute }}' |
Dmitry Teselkin | 0f084a0 | 2018-08-29 14:46:38 +0300 | [diff] [blame] | 22 | {%- endif %} |
| 23 | {%- if job.hour is defined %} |
Filip Pytloun | f5383a4 | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 24 | - hour: '{{ job.hour }}' |
Dmitry Teselkin | 0f084a0 | 2018-08-29 14:46:38 +0300 | [diff] [blame] | 25 | {%- endif %} |
| 26 | {%- if job.daymonth is defined %} |
Filip Pytloun | f5383a4 | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 27 | - daymonth: '{{ job.daymonth }}' |
Dmitry Teselkin | 0f084a0 | 2018-08-29 14:46:38 +0300 | [diff] [blame] | 28 | {%- endif %} |
| 29 | {%- if job.month is defined %} |
Filip Pytloun | f5383a4 | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 30 | - month: '{{ job.month }}' |
Dmitry Teselkin | 0f084a0 | 2018-08-29 14:46:38 +0300 | [diff] [blame] | 31 | {%- endif %} |
| 32 | {%- if job.dayweek is defined %} |
Filip Pytloun | f5383a4 | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 33 | - dayweek: '{{ job.dayweek }}' |
Dmitry Teselkin | 0f084a0 | 2018-08-29 14:46:38 +0300 | [diff] [blame] | 34 | {%- endif %} |
Filip Pytloun | d281d29 | 2017-05-30 15:55:37 +0200 | [diff] [blame] | 35 | - require: |
Dmitry Teselkin | 0f084a0 | 2018-08-29 14:46:38 +0300 | [diff] [blame] | 36 | - sls: linux.system.cron |
| 37 | {%- if job_user in system.get('user', {}).keys() %} |
| 38 | - user: system_user_{{ job_user }} |
| 39 | {%- endif %} |
| 40 | {%- else %} |
Vladimir Eremin | 6c3b8b9 | 2016-12-08 11:36:45 -0800 | [diff] [blame] | 41 | cron.absent: |
Filip Pytloun | f5383a4 | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 42 | - name: {{ job.command }} |
Dmitry Teselkin | 0f084a0 | 2018-08-29 14:46:38 +0300 | [diff] [blame] | 43 | {%- if job.get('identifier', True) %} |
Filip Pytloun | 9122222 | 2017-08-04 10:55:27 +0200 | [diff] [blame] | 44 | - identifier: {{ job.get('identifier', job.get('name', name)) }} |
Dmitry Teselkin | 0f084a0 | 2018-08-29 14:46:38 +0300 | [diff] [blame] | 45 | {%- endif %} |
Vasyl Saienko | e4ab245 | 2019-11-13 15:57:30 +0200 | [diff] [blame^] | 46 | - user: {{ job_user }} |
Filip Pytloun | 9122222 | 2017-08-04 10:55:27 +0200 | [diff] [blame] | 47 | {%- endif %} |
Dmitry Teselkin | 0f084a0 | 2018-08-29 14:46:38 +0300 | [diff] [blame] | 48 | {%- endfor %} |
Vladimir Eremin | 6c3b8b9 | 2016-12-08 11:36:45 -0800 | [diff] [blame] | 49 | {%- endif %} |