add bundle for mx-puppet-discord
This commit is contained in:
parent
1856f4749c
commit
4c5a88f734
4 changed files with 135 additions and 0 deletions
28
bundles/mx-puppet-discord/files/config.yaml
Normal file
28
bundles/mx-puppet-discord/files/config.yaml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
bridge:
|
||||||
|
port: ${node.metadata['mx-puppet-discord'].get('port', 20000)}
|
||||||
|
bindAddress: ${node.metadata['mx-puppet-discord'].get('listen-addr', '[::1]')}
|
||||||
|
domain: ${node.metadata['mx-puppet-discord']['homeserver']['domain']}
|
||||||
|
homeserverUrl: ${node.metadata['mx-puppet-discord']['homeserver']['url']}
|
||||||
|
|
||||||
|
presence:
|
||||||
|
enabled: true
|
||||||
|
interval: 500
|
||||||
|
|
||||||
|
provisioning:
|
||||||
|
whitelist:
|
||||||
|
% for regex in node.metadata['mx-puppet-discord']['allowed-users']:
|
||||||
|
- "${regex}"
|
||||||
|
% endfor
|
||||||
|
|
||||||
|
database:
|
||||||
|
connString: "postgres://${node.metadata['mx-puppet-discord']['database']['user']}:${node.metadata['mx-puppet-discord']['database']['password']}@${node.metadata['mx-puppet-discord']['database'].get('host', 'localhost')}/${node.metadata['mx-puppet-discord']['database']['database']}?sslmode=disable"
|
||||||
|
|
||||||
|
logging:
|
||||||
|
console: info
|
||||||
|
lineDateFormat: YYYY-MM-DD HH:mm:ss.SSS
|
||||||
|
files:
|
||||||
|
- file: "/var/log/mx-puppet-discord/bridge.log"
|
||||||
|
level: info
|
||||||
|
datePattern: YYYY-MM-DD
|
||||||
|
maxFiles: 14d
|
||||||
|
maxSize: 50m
|
69
bundles/mx-puppet-discord/items.py
Normal file
69
bundles/mx-puppet-discord/items.py
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
assert node.has_bundle('nodejs')
|
||||||
|
|
||||||
|
directories = {
|
||||||
|
'/var/log/mx-puppet-discord': {
|
||||||
|
'owner': 'mx-puppet-discord',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
files = {
|
||||||
|
'/opt/mx-puppet-discord/config.yaml': {
|
||||||
|
'owner': 'mx-puppet-discord',
|
||||||
|
'content_type': 'mako',
|
||||||
|
'needs': {
|
||||||
|
'git_deploy:/opt/mx-puppet-discord',
|
||||||
|
},
|
||||||
|
'triggers': {
|
||||||
|
'action:mx-puppet-discord_generate_registration',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
git_deploy = {
|
||||||
|
'/opt/mx-puppet-discord': {
|
||||||
|
'repo': 'https://github.com/matrix-discord/mx-puppet-discord.git',
|
||||||
|
'rev': 'master',
|
||||||
|
'needs': {
|
||||||
|
'directory:/opt/mx-puppet-discord',
|
||||||
|
},
|
||||||
|
'triggers': {
|
||||||
|
'action:mx-puppet-discord_chown',
|
||||||
|
'action:mx-puppet-discord_npm_install',
|
||||||
|
'action:mx-puppet-discord_npm_build',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
actions = {
|
||||||
|
'mx-puppet-discord_chown': {
|
||||||
|
'command': 'chown -R mx-puppet-discord:mx-puppet-discord /opt/mx-puppet-discord/*',
|
||||||
|
'needed_by': {
|
||||||
|
'action:mx-puppet-discord_npm_install',
|
||||||
|
},
|
||||||
|
'triggered': True,
|
||||||
|
},
|
||||||
|
'mx-puppet-discord_npm_install': {
|
||||||
|
'command': 'cd /opt/mx-puppet-discord && sudo -u mx-puppet-discord npm install',
|
||||||
|
'needs': {
|
||||||
|
'pkg_apt:nodejs',
|
||||||
|
'user:mx-puppet-discord',
|
||||||
|
},
|
||||||
|
'triggered': True,
|
||||||
|
},
|
||||||
|
'mx-puppet-discord_npm_build': {
|
||||||
|
'command': 'cd /opt/mx-puppet-discord && sudo -u mx-puppet-discord npm run-script build',
|
||||||
|
'needs': {
|
||||||
|
'action:mx-puppet-discord_npm_install',
|
||||||
|
},
|
||||||
|
'triggered': True,
|
||||||
|
},
|
||||||
|
'mx-puppet-discord_generate_registration': {
|
||||||
|
'command': 'cd /opt/mx-puppet-discord && sudo -u mx-puppet-discord node ./build/index.js -r -c /opt/mx-puppet-discord/config.yaml -f /opt/mx-puppet-discord/registration.yaml',
|
||||||
|
'needs': {
|
||||||
|
'user:mx-puppet-discord',
|
||||||
|
'action:mx-puppet-discord_npm_build',
|
||||||
|
'directory:/var/log/mx-puppet-discord',
|
||||||
|
},
|
||||||
|
'triggered': True,
|
||||||
|
},
|
||||||
|
}
|
10
bundles/mx-puppet-discord/metadata.py
Normal file
10
bundles/mx-puppet-discord/metadata.py
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
@metadata_processor
|
||||||
|
def mx_puppet_discord_user(metadata):
|
||||||
|
return {
|
||||||
|
'users': {
|
||||||
|
'mx-puppet-discord': {
|
||||||
|
'home': '/opt/mx-puppet-discord',
|
||||||
|
'deploy_configs': False,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}, DEFAULTS, DONE
|
|
@ -1,8 +1,10 @@
|
||||||
nodes['htz.ex42-1048908'] = {
|
nodes['htz.ex42-1048908'] = {
|
||||||
'bundles': [
|
'bundles': [
|
||||||
|
'mx-puppet-discord',
|
||||||
'nginx',
|
'nginx',
|
||||||
'nodejs',
|
'nodejs',
|
||||||
'riot-web',
|
'riot-web',
|
||||||
|
'postgresql',
|
||||||
'vmhost',
|
'vmhost',
|
||||||
'voc-loudness-monitor',
|
'voc-loudness-monitor',
|
||||||
],
|
],
|
||||||
|
@ -20,6 +22,20 @@ nodes['htz.ex42-1048908'] = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
'mx-puppet-discord': {
|
||||||
|
'homeserver': {
|
||||||
|
'domain': 'franzi.business',
|
||||||
|
'url': 'http://[::1]:8008',
|
||||||
|
},
|
||||||
|
'database': {
|
||||||
|
'user': 'mx-puppet-discord',
|
||||||
|
'password': vault.password_for('htz.ex42.1048908 postgres mx-puppet-discord'),
|
||||||
|
'database': 'mx-puppet-discord',
|
||||||
|
},
|
||||||
|
'allowed-users': {
|
||||||
|
'@.*:franzi\\\\.business',
|
||||||
|
},
|
||||||
|
},
|
||||||
'riot-web': {
|
'riot-web': {
|
||||||
'url': 'chat.franzi.business',
|
'url': 'chat.franzi.business',
|
||||||
'config': {
|
'config': {
|
||||||
|
@ -34,6 +50,18 @@ nodes['htz.ex42-1048908'] = {
|
||||||
'permalinkPrefix': 'https://chat.franzi.business',
|
'permalinkPrefix': 'https://chat.franzi.business',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
'postgresql': {
|
||||||
|
'users': {
|
||||||
|
'mx-puppet-discord': {
|
||||||
|
'password': vault.password_for('htz.ex42.1048908 postgres mx-puppet-discord'),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'databases': {
|
||||||
|
'mx-puppet-discord': {
|
||||||
|
'owner': 'mx-puppet-discord',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
'users': {
|
'users': {
|
||||||
'feli': {
|
'feli': {
|
||||||
'ssh_pubkey': [
|
'ssh_pubkey': [
|
||||||
|
|
Loading…
Reference in a new issue