Refactor matterbridge profile
All checks were successful
ci/lysergic/push/pipeline Pipeline was successful
All checks were successful
ci/lysergic/push/pipeline Pipeline was successful
- reduce pillar calls - no longer define possible configuration options, apply settings from pillar 1:1 Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
This commit is contained in:
parent
f678de8560
commit
650854fa27
@ -1,35 +1,33 @@
|
||||
{%- set header = salt['pillar.get']('managed_header_pound') -%}
|
||||
{%- set myfqdn = salt['grains.get']('fqdn') -%}
|
||||
{%- set mypillar = 'profile:matterbridge:instances:' ~ instance ~ ':' -%}
|
||||
{%- set myaccounts = mypillar ~ 'accounts' -%}
|
||||
{%- set mygateways = mypillar ~ 'gateways' -%}
|
||||
{%- set generalopts = ['RemoteNickFormat', 'IgnoreFailureOnStart', 'MessageSplit', 'MediaDownloadSize', 'MediaDownloadPath', 'MediaServerDownload', 'LogFile'] -%}
|
||||
{%- set accountopts = ['Nick', 'NickServNick', 'NickServPassword', 'Server', 'UseTLS', 'UseSASL', 'Label', 'Charset', 'IgnoreNicks', 'RunCommands', 'UseRelayMsg', 'RemoteNickFormat'] -%}
|
||||
{{ header }}
|
||||
|
||||
{%- if general | length %}
|
||||
[general]
|
||||
{% for option in generalopts %}
|
||||
{%- if salt['pillar.get'](mypillar ~ option, None) != None %}
|
||||
{{ option }}="{{ salt['pillar.get'](mypillar ~ option) }}"
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{%- for option, value in general.items() %}
|
||||
{%- if value is string %}
|
||||
{%- set value = '"' ~ value ~ '"' %}
|
||||
{%- endif %}
|
||||
{{ option }}={{ value }}
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% for account, config in salt['pillar.get'](myaccounts).items() %}
|
||||
[{{ config['protocol'] }}.{{ account }}]
|
||||
{%- for option in accountopts %}
|
||||
{%- if salt['pillar.get'](myaccounts ~ ':' ~ account ~ ':' ~ option, None) != None %}
|
||||
{{ option }}="{{ config[option] }}"
|
||||
{%- endif -%}
|
||||
{%- for account, config in accounts.items() %}
|
||||
[{{ account }}]
|
||||
{%- for option, value in config.items() %}
|
||||
{%- if value is string %}
|
||||
{%- set value = '"' ~ value ~ '"' %}
|
||||
{%- endif %}
|
||||
{{ option }}={{ value }}
|
||||
{%- endfor %}
|
||||
{% endfor %}
|
||||
{% endfor -%}
|
||||
|
||||
{% for gateway, config in salt['pillar.get'](mygateways).items() %}
|
||||
{%- for gateway, config in gateways.items() %}
|
||||
[[gateway]]
|
||||
name="{{ gateway }}"
|
||||
enable=true
|
||||
{% for account, channel in config.items() %}
|
||||
{%- for account, channel in config.items() %}
|
||||
[[gateway.inout]]
|
||||
account="{{ account }}"
|
||||
channel="{{ channel }}"
|
||||
{%- endfor %}
|
||||
{% endfor %}
|
||||
{%- endfor -%}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{%- set mypillar = 'profile:matterbridge' -%}
|
||||
{%- set instances = salt['pillar.get'](mypillar ~ ':instances') or [] -%}
|
||||
{%- set mypillar = salt['pillar.get']('profile:matterbridge') -%}
|
||||
{%- set instances = mypillar['instances'] | default([]) -%}
|
||||
|
||||
matterbridge_packages:
|
||||
pkg.installed:
|
||||
@ -31,7 +31,12 @@ matterbridge_files:
|
||||
- /etc/matterbridge/{{ instance }}.toml:
|
||||
- context:
|
||||
instance: {{ instance }}
|
||||
general: {{ instances[instance]['general'] | default({}) }}
|
||||
accounts: {{ instances[instance]['accounts'] }}
|
||||
gateways: {{ instances[instance]['gateways'] }}
|
||||
{%- endfor %}
|
||||
|
||||
{%- for instance in instances %}
|
||||
matterbridge_{{ instance }}_service:
|
||||
service.running:
|
||||
- name: matterbridge@{{ instance }}.service
|
||||
|
Loading…
Reference in New Issue
Block a user