This repository contains the code necessary to deliver the EGI Community Forum. This is a web forum based on discourse
The repository is organised into :
- Ansible playbook and configuration data for deploying the forum.
- Scripts for setting up the categories and seed content (using the Discourse API)
- Tests for checking whether the setup complies with security, style and content policies.
Deployment starts from scratch and results in a seeded community discussion forum. Only an ssh connection is needed, preferably with a non-root user which has sudo rights on the forum host.
The host is in the forum
group in the inventory file. Tasks applied to this group pick up variables from the vars/community.egi.eu.yml
file, because that is how excellent Ansible is.
The playbook uses a single role - AAROC.discourse-sso however this role has dependencies. Before making or proposing changes to this role, please consider what the dependencies do to provide docker and nginx.
If you are the maintainer of the service, you need to run the playbook with the right variables.
- Ensure that you have the roles locally :
*
ansible-galaxy install AAROC.discourse-sso
*ansble-galaxy install dev-sec.ssh-hardening
- Ensure you have your vars set up in
vars/<forum_host_name>.yml
- Check the validity of the certificate and private keys in
files/etc/ssl
- Check the
inventory
.
If all that is ok, run the playbook, or get your favourite CI tool to do it :
ansible-playook -i inventory community.egi.eu.yml
The tests directory contains the tests that we expect the service, server and machine to pass. They contain tests for the ssh connection, nginx server configuration and some content.
See the authors file