17 changed files with 7 additions and 347 deletions
-
38defaults/main.yml
-
9handlers/main.yml
-
4meta/main.yml
-
2molecule/default/converge.yml
-
18molecule/default/molecule.yml
-
1molecule/mumble-web/converge.yml
-
2molecule/murmur/converge.yml
-
23molecule/umurmur/INSTALL.rst
-
13molecule/umurmur/converge.yml
-
47molecule/umurmur/molecule.yml
-
9molecule/umurmur/prepare.yml
-
5tasks/main.yml
-
86tasks/umurmur.yml
-
2templates/mumble-web/config.js.j2
-
6templates/mumble-web/mumble-web.service.j2
-
73templates/umurmur/umurmur.conf.j2
-
16templates/umurmur/umurmur.service.j2
@ -1,23 +0,0 @@ |
|||
********************************* |
|||
Vagrant driver installation guide |
|||
********************************* |
|||
|
|||
Requirements |
|||
============ |
|||
|
|||
* Vagrant |
|||
* Virtualbox, Parallels, VMware Fusion, VMware Workstation or VMware Desktop |
|||
|
|||
Install |
|||
======= |
|||
|
|||
Please refer to the `Virtual environment`_ documentation for installation best |
|||
practices. If not using a virtual environment, please consider passing the |
|||
widely recommended `'--user' flag`_ when invoking ``pip``. |
|||
|
|||
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/ |
|||
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site |
|||
|
|||
.. code-block:: bash |
|||
|
|||
$ pip install 'molecule_vagrant' |
@ -1,13 +0,0 @@ |
|||
--- |
|||
- name: Converge |
|||
hosts: all |
|||
become: yes |
|||
|
|||
vars: |
|||
mumble_web_enabled: no |
|||
murmur_enabled: no |
|||
umurmur_enabled: yes |
|||
acme_enabled: no |
|||
|
|||
roles: |
|||
- ansible-role-mumble |
@ -1,47 +0,0 @@ |
|||
--- |
|||
.hardware: &hardware |
|||
memory: 1024 |
|||
cpu: 2 |
|||
|
|||
dependency: |
|||
name: galaxy |
|||
driver: |
|||
name: vagrant |
|||
provider: |
|||
name: virtualbox |
|||
platforms: |
|||
- name: buster-mumble-molecule |
|||
box: debian/buster64 |
|||
<<: *hardware |
|||
interfaces: |
|||
# Umurmur server |
|||
- network_name: forwarded_port |
|||
guest: 64738 |
|||
host: 14738 |
|||
protocol: udp |
|||
- network_name: forwarded_port |
|||
guest: 64738 |
|||
host: 14738 |
|||
protocol: tcp |
|||
- name: focal-mumble-molecule |
|||
box: ubuntu/focal64 |
|||
<<: *hardware |
|||
interfaces: |
|||
# Umurmur server |
|||
- network_name: forwarded_port |
|||
guest: 64738 |
|||
host: 24738 |
|||
protocol: udp |
|||
- network_name: forwarded_port |
|||
guest: 64738 |
|||
host: 24738 |
|||
protocol: tcp |
|||
provisioner: |
|||
name: ansible |
|||
config_options: |
|||
defaults: |
|||
interpreter_python: /usr/bin/python3 |
|||
ssh_connection: |
|||
pipelining: true |
|||
verifier: |
|||
name: ansible |
@ -1,9 +0,0 @@ |
|||
- name: Prepare |
|||
hosts: all |
|||
become: yes |
|||
|
|||
tasks: |
|||
- name: Update apt cache |
|||
apt: |
|||
update_cache: yes |
|||
cache_valid_time: 3600 |
@ -1,86 +0,0 @@ |
|||
- name: Install umurmur build dependencies |
|||
package: |
|||
name: "{{ package }}" |
|||
state: present |
|||
loop: |
|||
- git |
|||
- build-essential |
|||
- cmake |
|||
- libconfig-dev |
|||
- libprotobuf-c-dev |
|||
- libmbedtls-dev |
|||
- ssl-cert |
|||
loop_control: |
|||
loop_var: package |
|||
|
|||
- name: Clone umurmur git repository |
|||
git: |
|||
repo: https://github.com/umurmur/umurmur.git |
|||
dest: /opt/umurmur |
|||
version: "{{ umurmur_version }}" |
|||
|
|||
- name: Change umurmur git repository's permissions |
|||
file: |
|||
path: /opt/umurmur |
|||
owner: root |
|||
group: root |
|||
mode: "775" |
|||
state: directory |
|||
|
|||
- name: Create the build directory |
|||
file: |
|||
path: /opt/umurmur/build |
|||
owner: root |
|||
group: root |
|||
mode: "775" |
|||
state: directory |
|||
|
|||
- name: Generate the Makefile with cmake |
|||
shell: cd /opt/umurmur/build && cmake .. -DSSL=mbedtls |
|||
changed_when: no |
|||
|
|||
- name: Build umurmur from source |
|||
make: |
|||
chdir: /opt/umurmur/build |
|||
changed_when: _umurmur_built.stdout_lines | length > 1 |
|||
register: _umurmur_built |
|||
|
|||
- name: Install umurmur |
|||
make: |
|||
chdir: /opt/umurmur/build |
|||
target: install |
|||
changed_when: "'Installing' in _umurmur_installed.stdout" |
|||
register: _umurmur_installed |
|||
notify: restart umurmur |
|||
|
|||
- name: Copy umurmur config file |
|||
template: |
|||
src: umurmur/umurmur.conf.j2 |
|||
dest: /usr/local/etc/umurmur.conf |
|||
owner: root |
|||
group: "{{ umurmur_ssl_group }}" |
|||
mode: "640" |
|||
validate: /usr/local/bin/umurmurd -t -c %s |
|||
notify: restart umurmur |
|||
tags: umurmur_config |
|||
|
|||
- name: Copy umurmur systemd service |
|||
template: |
|||
src: umurmur/umurmur.service.j2 |
|||
dest: /etc/systemd/system/umurmur.service |
|||
owner: root |
|||
group: root |
|||
mode: "644" |
|||
notify: |
|||
- reload systemd |
|||
- restart umurmur |
|||
|
|||
- name: Start umurmur service |
|||
service: |
|||
name: umurmur |
|||
enabled: yes |
|||
state: started |
|||
register: umurmur_started |
|||
|
|||
- name: Trigger umurmur handlers |
|||
meta: flush_handlers |
@ -1,73 +0,0 @@ |
|||
{{ ansible_managed | comment }} |
|||
max_bandwidth = {{ umurmur_max_bandwidth }}; |
|||
{% if umurmur_welcome_text is string %} |
|||
welcometext = {{ umurmur_welcome_text | to_json }}; |
|||
{% else %} |
|||
welcometext = {{ umurmur_welcome_text | join('<br />') | to_json }}; |
|||
{% endif %} |
|||
certificate = {{ umurmur_certificate | to_json }}; |
|||
private_key = {{ umurmur_private_key | to_json }}; |
|||
password = {{ umurmur_server_password | to_json }}; |
|||
{% if umurmur_admin_password is defined %} |
|||
admin_password = {{ umurmur_admin_password | to_json }}; # Set to enable admin functionality. |
|||
{% endif %} |
|||
# ban_length = 0; # Length in seconds for a ban. Default is 0. 0 = forever. |
|||
# enable_ban = false; # Default is false |
|||
# banfile = "banfile.txt"; # File to save bans to. Default is to not save bans to file. |
|||
# sync_banfile = false; # Keep banfile synced. Default is false, which means it is saved to at shutdown only. |
|||
allow_textmessage = true; # Default is true |
|||
# opus_threshold = 100; # Percentage of users supporting Opus codec for it to be chosen. Default is 100. |
|||
# show_addresses = true; # Whether to show client's IP addresses under user information |
|||
max_users = {{ umurmur_max_users }}; |
|||
|
|||
bindport = {{ umurmur_port }}; |
|||
# bindaddr = "0.0.0.0"; |
|||
|
|||
# username and groupname for privilege dropping. |
|||
# Will attempt to switch user if set. |
|||
# username = ""; |
|||
# If groupname not set the user's default login group will be used |
|||
# groupname = ""; |
|||
|
|||
# Log to file option. Default is logging to syslog. |
|||
# umurmurd will close and reopen the logfile if SIGHUP is received. |
|||
logfile = "/var/log/umurmurd.log"; |
|||
|
|||
# CA location for CA-signed certificates |
|||
# ca_path = "/path/to/ca/certificates/"; |
|||
|
|||
# Channel tree definition: |
|||
# Root channel must always be defined first. |
|||
# If a channel has a parent, the parent must be defined before the child channel(s). |
|||
channels = ( |
|||
{% for channel in umurmur_channels %} |
|||
{ |
|||
name = {{ channel.name | to_json }}; |
|||
description = {{ channel.description | default('') | to_json }}; |
|||
parent = {{ channel.parent | default('') | to_json }}; |
|||
noenter = {{ channel.noenter | default(false) | string | lower }}; |
|||
silent = {{ channel.silent | default(false) | string | lower }}; |
|||
{% if channel.position is defined %} |
|||
position = {{ channel.position }}; |
|||
{% endif %} |
|||
{% if channel.password is defined %} |
|||
password = {{ channel.password | to_json }}; |
|||
{% endif %} |
|||
}{{ loop.last | ternary("", ",") }} |
|||
{% endfor %} |
|||
); |
|||
# Channel links configuration. |
|||
channel_links = ( |
|||
{% for channel in umurmur_channel_links %} |
|||
{% for destination in channel.destinations %} |
|||
{ |
|||
source = {{ channel.source | to_json }}; |
|||
destination = {{ destination | to_json }}; |
|||
}{{ loop.last | ternary('', ',') }} |
|||
{% endfor %} |
|||
{% endfor %} |
|||
); |
|||
|
|||
# The channel in which users will appear in when connecting. |
|||
# Note that default channel can't have 'noenter = true' or password set |
|||
default_channel = {{ umurmur_default_channel | to_json }}; |
@ -1,16 +0,0 @@ |
|||
[Unit] |
|||
Description=Minimalistic Mumble server |
|||
After=network.target |
|||
|
|||
[Service] |
|||
Type=simple |
|||
User=nobody |
|||
Group={{ umurmur_ssl_group }} |
|||
Restart=always |
|||
RestartSec=3 |
|||
ExecStartPre=/usr/local/bin/umurmurd -t -c /usr/local/etc/umurmur.conf |
|||
ExecStart=/usr/local/bin/umurmurd -d -r -c /usr/local/etc/umurmur.conf |
|||
ExecReload=/bin/kill -HUP $MAINPID |
|||
|
|||
[Install] |
|||
WantedBy=multi-user.target |
Write
Preview
Loading…
Cancel
Save
Reference in new issue