diff options
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 | 
