diff options
author | Pratyush Desai | 2023-02-09 20:44:03 +0100 |
---|---|---|
committer | Pratyush Desai | 2023-02-09 20:44:03 +0100 |
commit | dee3e035c22ba80748aee773f92618777e592382 (patch) | |
tree | 68d56b112552d174319b474997308d3f1a65143f /salt/profile/matterbridge | |
parent | f7893a980e14f9b59e5cc99b2e9b536696808018 (diff) | |
parent | 650854fa2730c6f61a3f7117d7271907e4a2a587 (diff) | |
download | salt-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
Diffstat (limited to 'salt/profile/matterbridge')
-rw-r--r-- | salt/profile/matterbridge/files/etc/matterbridge/matterbridge.toml.j2 | 40 | ||||
-rw-r--r-- | salt/profile/matterbridge/init.sls | 9 |
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 |