summaryrefslogtreecommitdiffstats
path: root/salt/profile/salt/master.sls
blob: 7dc7a3190deaebe937641debcd7c43cd07d76001 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{%- set master_pillar = pillar['salt']['master'] -%}
{%- set redis_config = '/etc/redis/salt.conf' -%}
{%- set redis_service = 'redis@salt' -%}

include:
  - salt.master

salt_master_extra_packages:
  pkg.installed:
    - names:
      - python3-pynetbox
      - python3-redis
      - redis
    - watch_in:
      - service: salt-master

# to-do: move Redis configuration to a formula
{{ redis_config }}:
  file.managed:
    - contents:
      - port 0
      - tcp-backlog 511
      - unixsocket /run/redis/salt.sock
      - unixsocketperm 460
      - timeout 0
      - supervised systemd
      - pidfile /run/redis/salt.pid
      - logfile /var/log/redis/salt.log
      - databases 1
      - dir /var/lib/redis/salt/
      - acllog-max-len 64
      - requirepass {{ master_pillar['cache.redis.password'] }}
    - user: root
    - group: redis
    - mode: 0640
    - require:
      - pkg: redis

/var/lib/redis/salt:
  file.directory:
    - user: redis
    - group: redis
    - mode: 0750
    - require:
      - pkg: redis

salt_redis_membership:
  group.present:
    - name: redis
    - addusers:
      - {{ master_pillar['user'] }}
    - require:
      - pkg: redis

salt_redis_service_enable:
  service.enabled:
    - name: {{ redis_service }}
    - require:
      - pkg: redis

salt_redis_service_start:
  service.running:
    - name: {{ redis_service }}
    - require:
      - pkg: redis
    - watch:
      - file: {{ redis_config }}