├── ansible.cfg ├── vars ├── main.yml └── RedHat.yml ├── tasks ├── setup-RedHat.yml └── main.yml ├── handlers └── main.yml ├── test.yml ├── defaults └── main.yml ├── meta └── main.yml ├── templates └── memcached-RedHat.conf.j2 └── README.md /ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | roles_path = ../ 3 | -------------------------------------------------------------------------------- /vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for ansible-role-memcached 3 | -------------------------------------------------------------------------------- /vars/RedHat.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for RedHat 3 | memcached_user: memcached 4 | memcached_config_file: /etc/sysconfig/memcached 5 | -------------------------------------------------------------------------------- /tasks/setup-RedHat.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for RedHat 3 | 4 | - name: Install Memcached. 5 | yum: name=memcached state=installed 6 | -------------------------------------------------------------------------------- /handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for ansible-role-memcached 3 | 4 | - name: restart memcached 5 | service: name=memcached state=restarted 6 | -------------------------------------------------------------------------------- /test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # test file 3 | 4 | - name: Install Memcached. 5 | hosts: servers 6 | roles: 7 | - role: ansible-role-memcached 8 | memcached_log_enable: True 9 | -------------------------------------------------------------------------------- /defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for ansible-role-memcached 3 | memcached_port: 11211 4 | memcached_listen_ip: 127.0.0.1 5 | memcached_maxconn: 1024 6 | memcached_cachesize: 64 7 | 8 | # log 9 | memcached_log_enable: false 10 | memcached_log_file: "/var/log/memcached.log" 11 | memcached_log_verbosity: "" 12 | -------------------------------------------------------------------------------- /meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: z 4 | description: An Ansible Role that installs Memcached on RedHat/CentOS 5 | company: 6 | license: license (BSD, MIT) 7 | min_ansible_version: 1.6 8 | platforms: 9 | - name: EL 10 | versions: 11 | - 7 12 | categories: 13 | - database 14 | - web 15 | dependencies: [] 16 | -------------------------------------------------------------------------------- /templates/memcached-RedHat.conf.j2: -------------------------------------------------------------------------------- 1 | PORT="{{ memcached_port }}" 2 | USER="{{ memcached_user }}" 3 | MAXCONN="{{ memcached_maxconn }}" 4 | CACHESIZE="{{ memcached_cachesize }}" 5 | {% if memcached_log_enable %} 6 | OPTIONS="-l {{ memcached_listen_ip }} {{ memcached_log_verbosity }} >> {{ memcached_log_file }} 2>&1" 7 | {% else %} 8 | OPTIONS="-l {{ memcached_listen_ip }}" 9 | {% endif -%} 10 | -------------------------------------------------------------------------------- /tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for ansible-role-memcached 3 | 4 | # Include variables and define needed variables. 5 | - name: Include OS-specific variables. 6 | include_vars: "{{ ansible_os_family }}.yml" 7 | 8 | # Setup/install tasks. 9 | - include: setup-RedHat.yml 10 | when: ansible_os_family == 'RedHat' 11 | 12 | # Configure Memcached. 13 | - name: Copy Memcached configuration. 14 | template: 15 | src: memcached-{{ ansible_os_family }}.conf.j2 16 | dest: "{{ memcached_config_file }}" 17 | owner: root 18 | group: root 19 | mode: 0644 20 | notify: restart memcached 21 | 22 | - name: Ensure Memcached is started and set to run on startup. 23 | service: name=memcached state=started enabled=yes 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Ansible Role: Memcached 2 | 3 | Installs and configures the Memcached. 4 | 5 | ## Requirements 6 | 7 | None. 8 | 9 | ## Role Variables 10 | 11 | ### `defaults/main.yml` 12 | 13 | * `memcached_port: 11211` 14 | * `memcached_listen_ip: 127.0.0.1` 15 | * `memcached_maxconn: 1024` 16 | * `memcached_cachesize: 64` 17 | * `memcached_log_enable: false` 18 | * `memcached_log_file: "/var/log/memcached.log"` 19 | * `memcached_log_verbosity: ""` 20 | 21 | ## Dependencies 22 | 23 | None. 24 | 25 | ## Example Playbook 26 | 27 | Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: 28 | 29 | - name: Install Memcached. 30 | hosts: servers 31 | roles: 32 | - role: ansible-role-memcached 33 | memcached_log_enable: True 34 | 35 | ## License 36 | 37 | MIT / BSD 38 | 39 | ## Author Information 40 | 41 | z 42 | --------------------------------------------------------------------------------