diff --git a/states/redis/config.sls b/states/redis/config.sls new file mode 100644 index 0000000..35100cf --- /dev/null +++ b/states/redis/config.sls @@ -0,0 +1,13 @@ +--- +redis-config: + file.managed: + - name: /etc/redis/redis.conf + - source: salt://redis/templates/redis.conf.j2 + - user: root + - group: root + - mode: 0640 + - template: jinja + - watch_in: + - service: redis-service + - require: + - pkg: redis-install diff --git a/states/redis/defaults.yaml b/states/redis/defaults.yaml index 0f8d6f8..5d63818 100644 --- a/states/redis/defaults.yaml +++ b/states/redis/defaults.yaml @@ -4,3 +4,65 @@ redis: - redis-server - libhiredis-dev - redis-redisearch + config: + bind: "0.0.0.0 ::" + port: 6380 + protected-mode: "no" + tcp-backlog: 511 + timeout: 0 + tcp-keepalive: 300 + daemonize: "yes" + supervised: "no" + pidfile: /var/run/redis/redis-server.pid + loglevel: notice + logfile: /var/log/redis/redis-server.log + databases: 16 + always-show-logo: "yes" + stop-writes-on-bgsave-error: "yes" + rdbcompression: "yes" + rdbchecksum: "yes" + dbfilename: dump.rdb + dir: /var/lib/redis + replica-serve-stale-data: "yes" + replica-read-only: "yes" + repl-diskless-sync: "no" + repl-diskless-sync-delay: 5 + repl-disable-tcp-nodelay: "no" + replica-priority: 100 + maxmemory: 536870912 + maxmemory-policy: allkeys-lru + lazyfree-lazy-eviction: "no" + lazyfree-lazy-expire: "no" + lazyfree-lazy-server-del: "no" + replica-lazy-flush: "no" + appendonly: "no" + appendfilename: "appendonly.aof" + appendfsync: everysec + no-appendfsync-on-rewrite: "no" + auto-aof-rewrite-percentage: 100 + auto-aof-rewrite-min-size: 64mb + aof-load-truncated: "yes" + aof-use-rdb-preamble: "yes" + lua-time-limit: 5000 + slowlog-log-slower-than: 10000 + slowlog-max-len: 128 + latency-monitor-threshold: 0 + notify-keyspace-events: "" + hash-max-ziplist-entries: 512 + hash-max-ziplist-value: 64 + list-max-ziplist-size: -2 + list-compress-depth: 0 + set-max-intset-entries: 512 + zset-max-ziplist-entries: 128 + zset-max-ziplist-value: 64 + hll-sparse-max-bytes: 3000 + stream-node-max-bytes: 4096 + stream-node-max-entries: 100 + activerehashing: "yes" + client-output-buffer-limit normal: 0 0 0 + client-output-buffer-limit replica: 512mb 512mb 0 + client-output-buffer-limit pubsub: 32mb 8mb 60 + hz: 10 + dynamic-hz: "yes" + aof-rewrite-incremental-fsync: "yes" + rdb-save-incremental-fsync: "yes" diff --git a/states/redis/init.sls b/states/redis/init.sls index b71e4b0..383c46b 100644 --- a/states/redis/init.sls +++ b/states/redis/init.sls @@ -1,4 +1,5 @@ --- include: - .install + - .config - .service diff --git a/states/redis/templates/redis.conf.j2 b/states/redis/templates/redis.conf.j2 new file mode 100644 index 0000000..c1cc666 --- /dev/null +++ b/states/redis/templates/redis.conf.j2 @@ -0,0 +1,5 @@ +#{{ salt['pillar.get']('salt_managed', default='Salt Managed') }} +{%- from "redis/map.jinja" import redis with context %} +{% for key, value in redis.config.items () %} +{{ key }} {{ value }} +{% endfor %}