summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPratyush Desai2023-02-09 20:44:03 +0100
committerPratyush Desai2023-02-09 20:44:03 +0100
commitdee3e035c22ba80748aee773f92618777e592382 (patch)
tree68d56b112552d174319b474997308d3f1a65143f
parentf7893a980e14f9b59e5cc99b2e9b536696808018 (diff)
parent650854fa2730c6f61a3f7117d7271907e4a2a587 (diff)
downloadsalt-dee3e035c22ba80748aee773f92618777e592382.tar.gz
salt-dee3e035c22ba80748aee773f92618777e592382.tar.bz2
salt-dee3e035c22ba80748aee773f92618777e592382.zip
Merge pull request 'Refactor Matterbridge profile' (#11) from matterbridge-refactor into production
Reviewed-on: https://git.com.de/LibertaCasa/salt/pulls/11
-rw-r--r--salt/profile/matterbridge/files/etc/matterbridge/matterbridge.toml.j240
-rw-r--r--salt/profile/matterbridge/init.sls9
2 files changed, 26 insertions, 23 deletions
diff --git a/salt/profile/matterbridge/files/etc/matterbridge/matterbridge.toml.j2 b/salt/profile/matterbridge/files/etc/matterbridge/matterbridge.toml.j2
index 11204f3..b234c9f 100644
--- a/salt/profile/matterbridge/files/etc/matterbridge/matterbridge.toml.j2
+++ b/salt/profile/matterbridge/files/etc/matterbridge/matterbridge.toml.j2
@@ -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 -%}
diff --git a/salt/profile/matterbridge/init.sls b/salt/profile/matterbridge/init.sls
index eee6df2..1e0cd51 100644
--- a/salt/profile/matterbridge/init.sls
+++ b/salt/profile/matterbridge/init.sls
@@ -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