Merge pull request #3 from grahamhayes/master
Updated memcached formula, allow changed in memcached config file
This commit is contained in:
commit
f246ff1fc6
1
LICENSE
1
LICENSE
@ -1,4 +1,5 @@
|
||||
Copyright (c) 2013 Salt Stack Formulas
|
||||
Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -6,3 +6,16 @@ memcached:
|
||||
- enable: True
|
||||
- require:
|
||||
- pkg: memcached
|
||||
- watch:
|
||||
- file: /etc/memcached.conf
|
||||
|
||||
/etc/memcached.conf:
|
||||
file:
|
||||
- managed
|
||||
- template: jinja
|
||||
- user: root
|
||||
- group: root
|
||||
- mode: 644
|
||||
- source: salt://memcached/templates/memcached.conf
|
||||
- require:
|
||||
- pkg: memcached
|
26
memcached/macros.sls
Normal file
26
memcached/macros.sls
Normal file
@ -0,0 +1,26 @@
|
||||
{% from "memcached/map.jinja" import defaults with context -%}
|
||||
|
||||
# Macro:
|
||||
#
|
||||
# get_config_item(item_name)
|
||||
# item_name = parameter in the config to get
|
||||
#
|
||||
{%- macro get_config_item(item_name) -%}
|
||||
{%- set default = defaults['config'].get(item_name, None) -%}
|
||||
{%- set value = salt['pillar.get']('memcached:%s' % (item_name), default) -%}
|
||||
{%- if value is string or value is number -%}
|
||||
{{ value }}
|
||||
{%- elif value is iterable -%}
|
||||
{%- if not value -%}
|
||||
None
|
||||
{%- else -%}
|
||||
{{ value | join(', ') }}
|
||||
{%- endif -%}
|
||||
{%- elif value is none -%}
|
||||
None
|
||||
{%- elif value -%}
|
||||
True
|
||||
{%- elif not value -%}
|
||||
False
|
||||
{%- endif -%}
|
||||
{%- endmacro -%}
|
15
memcached/map.jinja
Normal file
15
memcached/map.jinja
Normal file
@ -0,0 +1,15 @@
|
||||
{% set defaults = {
|
||||
'config':{
|
||||
'deamonize': True,
|
||||
'verbose_level': 0,
|
||||
'log_file': '/var/log/memcached.log'
|
||||
'memory_cap': 64,
|
||||
'port': 11211,
|
||||
'user':' memcache',
|
||||
'listen_address': '127.0.0.1',
|
||||
'max_connections': 1024,
|
||||
'lock_paged_memory': False,
|
||||
'error_on_mem_full': False,
|
||||
'max_core_file_limit': False,
|
||||
}
|
||||
} %}
|
49
memcached/templates/memcached.conf
Normal file
49
memcached/templates/memcached.conf
Normal file
@ -0,0 +1,49 @@
|
||||
{% from 'memcached/macros.sls' import get_config_item with context -%}
|
||||
# memcached default config file
|
||||
# 2003 - Jay Bonci <jaybonci@debian.org>
|
||||
# This configuration file is read by the start-memcached script provided as
|
||||
# part of the Debian GNU/Linux distribution.
|
||||
|
||||
# Run memcached as a daemon. This command is implied, and is not needed for the
|
||||
# daemon to run. See the README.Debian that comes with this package for more
|
||||
# information.
|
||||
{{ '-d' if get_config_item('deamonize') == 'True' else ''}}
|
||||
|
||||
# Log memcached's output to /var/log/memcached
|
||||
logfile {{ get_config_item('log_file') }}
|
||||
|
||||
# Be verbose
|
||||
{{ '-v' if get_config_item('verbose_level') == '1' else '' -}}
|
||||
{{ '-vv' if get_config_item('verbose_level') == '2' else '' -}}
|
||||
|
||||
# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
|
||||
# Note that the daemon will grow to this size, but does not start out holding this much
|
||||
# memory
|
||||
-m {{ get_config_item('memory_cap') }}
|
||||
|
||||
# Default connection port is 11211
|
||||
-p {{ get_config_item('port') }}
|
||||
|
||||
# Run the daemon as root. The start-memcached will default to running as root if no
|
||||
# -u command is present in this config file
|
||||
-u {{ get_config_item('user') }}
|
||||
|
||||
# Specify which IP address to listen on. The default is to listen on all IP addresses
|
||||
# This parameter is one of the only security measures that memcached has, so make sure
|
||||
# it's listening on a firewalled interface.
|
||||
-l {{ get_config_item('listen_address') }}
|
||||
|
||||
# Limit the number of simultaneous incoming connections. The daemon default is 1024
|
||||
-c {{ get_config_item('max_connections') }}
|
||||
|
||||
# Lock down all paged memory. Consult with the README and homepage before you do this
|
||||
# -k
|
||||
{{ '-k' if get_config_item('lock_paged_memory') == 'True' else '' }}
|
||||
|
||||
# Return error when memory is exhausted (rather than removing items)
|
||||
# -M
|
||||
{{ '-M' if get_config_item('error_on_mem_full') == 'True' else '' }}
|
||||
|
||||
# Maximize core file limit
|
||||
# -r
|
||||
{{ '-r' if get_config_item('max_core_file_limit') == 'True' else '' }}
|
@ -1,3 +1,11 @@
|
||||
# Collect the IPs of the memcached instances for use in application config
|
||||
mine_functions:
|
||||
network.interfaces: [eth0]
|
||||
memcached:
|
||||
deamonize: True,
|
||||
verbose_level: 0,
|
||||
memory_cap: 64,
|
||||
port: 11211,
|
||||
user: 'memcached',
|
||||
listen_address: '127.0.0.1',
|
||||
max_connections:1024,
|
||||
lock_paged_memory: False,
|
||||
error_on_mem_full: False,
|
||||
max_core_file_limit: False
|
Loading…
Reference in New Issue
Block a user