commit 004ade6aa1ad7581f63abcf69ed2ad5f049a35cf Author: Thomas Constans Date: Fri May 2 11:16:04 2025 +0200 initial version diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..36bbf62 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,29 @@ +--- +language: python +python: "2.7" + +# Use the new container infrastructure +sudo: false + +# Install ansible +addons: + apt: + packages: + - python-pip + +install: + # Install ansible + - pip install ansible + + # Check ansible version + - ansible --version + + # Create ansible.cfg with correct roles_path + - printf '[defaults]\nroles_path=../' >ansible.cfg + +script: + # Basic role syntax check + - ansible-playbook tests/test.yml -i tests/inventory --syntax-check + +notifications: + webhooks: https://galaxy.ansible.com/api/v1/notifications/ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..847a6dc --- /dev/null +++ b/README.md @@ -0,0 +1,40 @@ +Role Name +========= + +Deploy Rspamd + + +Requirements +------------ + +None + +Role Variables +-------------- + +None + +Dependencies +------------ + +tco.redis + +Example Playbook +---------------- + +Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: + + - hosts: servers + roles: + - tco.redis + - tco.rspamd + +License +------- + +BSD + +Author Information +------------------ + +Thomas C diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..4d44d80 --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1,2 @@ +--- +# defaults file for rspamd \ No newline at end of file diff --git a/handlers/main.yml b/handlers/main.yml new file mode 100644 index 0000000..84ca4ef --- /dev/null +++ b/handlers/main.yml @@ -0,0 +1,6 @@ +--- +# handlers file for rspamd +- name: restart rspamd + service: + name: rspamd + state: restarted \ No newline at end of file diff --git a/meta/main.yml b/meta/main.yml new file mode 100644 index 0000000..aeab44a --- /dev/null +++ b/meta/main.yml @@ -0,0 +1,54 @@ +galaxy_info: + author: your name + description: your role description + company: your company (optional) + + # If the issue tracker for your role is not on github, uncomment the + # next line and provide a value + # issue_tracker_url: http://example.com/issue/tracker + + # Choose a valid license ID from https://spdx.org - some suggested licenses: + # - BSD-3-Clause (default) + # - MIT + # - GPL-2.0-or-later + # - GPL-3.0-only + # - Apache-2.0 + # - CC-BY-4.0 + license: license (GPL-2.0-or-later, MIT, etc) + + min_ansible_version: 2.9 + + # If this a Container Enabled role, provide the minimum Ansible Container version. + # min_ansible_container_version: + + # + # Provide a list of supported platforms, and for each platform a list of versions. + # If you don't wish to enumerate all versions for a particular platform, use 'all'. + # To view available platforms and versions (or releases), visit: + # https://galaxy.ansible.com/api/v1/platforms/ + # + # platforms: + # - name: Fedora + # versions: + # - all + # - 25 + # - name: SomePlatform + # versions: + # - all + # - 1.0 + # - 7 + # - 99.99 + + galaxy_tags: [] + # List tags for your role here, one per line. A tag is a keyword that describes + # and categorizes the role. Users find roles by searching for tags. Be sure to + # remove the '[]' above, if you add tags to this list. + # + # NOTE: A tag is limited to a single word comprised of alphanumeric characters. + # Maximum 20 tags per role. + +dependencies: +- { role: tco.changelog, myrole_name: ansible_rspamd } + # List your role dependencies here, one per line. Be sure to remove the '[]' above, + # if you add dependencies to this list. + \ No newline at end of file diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..d828727 --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,44 @@ +--- +# tasks file for rspamd +- name: configure repo + get_url: + url: https://rspamd.com/rpm-stable/centos-7/rspamd.repo + dest: /etc/yum.repos.d/rspamd.repo + +- name: get repo gpg key + rpm_key: + key: https://rspamd.com/rpm-stable/gpg.key + state: present + +- name: install rspamd + yum: + state: present + name: + - rspamd + - redis + +- name: ensure rspamd listen everywhere + lineinfile: + create: true + path: /etc/rspamd/local.d/proxy-normal.inc + regex: "^bind_socket = localhost:11332" + line: "bind_socket = *:11332" + notify: restart rspamd + +- name: binding rspamd to redis + template: + dest: /etc/rspamd/local.d/redis.conf + content: | + read_servers = "127.0.0.1,10.0.0.1"; + write_servers = "127.0.0.1"; + notify: restart rspamd + +- name: start service + service: + name: "{{ item }}" + state: started + enabled: true + loop: + - redis + - rspamd + diff --git a/tests/inventory b/tests/inventory new file mode 100644 index 0000000..878877b --- /dev/null +++ b/tests/inventory @@ -0,0 +1,2 @@ +localhost + diff --git a/tests/test.yml b/tests/test.yml new file mode 100644 index 0000000..de7526b --- /dev/null +++ b/tests/test.yml @@ -0,0 +1,5 @@ +--- +- hosts: localhost + remote_user: root + roles: + - rspamd \ No newline at end of file diff --git a/vars/main.yml b/vars/main.yml new file mode 100644 index 0000000..6470d7d --- /dev/null +++ b/vars/main.yml @@ -0,0 +1,2 @@ +--- +# vars file for rspamd \ No newline at end of file