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) 2013 Salt Stack Formulas
|
||||||
|
Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
|
@ -6,3 +6,16 @@ memcached:
|
|||||||
- enable: True
|
- enable: True
|
||||||
- require:
|
- require:
|
||||||
- pkg: memcached
|
- 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
|
memcached:
|
||||||
mine_functions:
|
deamonize: True,
|
||||||
network.interfaces: [eth0]
|
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