diff --git a/README.rst b/README.rst index f198283..3ba158b 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,7 @@ memcached ========= -Install and start the memcached service +Install and start the memcached service on GNU/Linux and FreeBSD .. note:: diff --git a/memcached/init.sls b/memcached/init.sls index 782abed..a97ffad 100644 --- a/memcached/init.sls +++ b/memcached/init.sls @@ -1,10 +1,27 @@ {% from 'memcached/map.jinja' import memcached with context %} memcached: + {%- if grains.os_family in ('FreeBSD',) %} + cmd.run: + - names: + - portsnap fetch + - portsnap extract + - cd /usr/ports/distfiles + - curl -LO https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-2.1.27/cyrus-sasl-2.1.27.tar.gz + - cd /usr/ports/databases/memcached && make deinstall && make install clean + - env: + - BATCH: 'yes' + sysrc.managed: + - name: memcached_enable + - value: YES + - require: + - cmd: memcached + {%- else %} pkg.installed: - name: {{ memcached.server }} + {%- endif %} + - require_in: + - service: memcached service.running: - enable: True - name: {{ memcached.service }} - - require: - - pkg: memcached diff --git a/memcached/map.jinja b/memcached/map.jinja index 4cde10e..cb70780 100644 --- a/memcached/map.jinja +++ b/memcached/map.jinja @@ -22,6 +22,12 @@ 'config_file': '/etc/memcached.conf', 'libmemcached': 'libmemcached-devel', }, + 'FreeBSD':{ + 'server': 'memcached', + 'service': 'memcached', + 'config_file': '/usr/local/etc/rc.d/memcached', + 'libmemcached': 'libmemcached-devel', + }, 'Debian':{ 'server': 'memcached', 'service': 'memcached',