bundlewrap/bundles/roundcube/metadata.py
CroneKorkN 4f4da1c7a1
feat(roundcube): update to 1.7.5
1.7 serves only public_html, so the vhost points there and passes
static.php/<path> as PATH_INFO. index.php no longer carries the version,
iniset.php does. The complete tarball ships vendor/, so composer is gone;
updatedb.sh now runs after each extract.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RywMtsL8qXG7GDY3MHq9Uh
2026-10-23 15:29:22 +02:00

73 lines
1.8 KiB
Python

database_password = repo.vault.password_for(f'{node.name} postgresql roundcube')
defaults = {
'apt': {
'packages': {
'php': {},
'php-auth-sasl': {},
'php-cli': {},
'php-fpm': {},
'php-imagick': {},
'php-intl': {},
'php-mail-mime': {},
'php-mbstring': {},
# FIXME: not available in bullseye?
# 'php-net-idna2': {},
'php-net-smtp': {},
'php-net-socket': {},
'php-pear': {},
'php-pgsql': {},
'php-xml': {},
'php-zip': {},
'php-curl': {},
'php-gd': {},
'php-ldap': {},
},
},
'roundcube': {
'database': {
'provider': 'pgsql',
'host': 'localhost',
'name': 'roundcube',
'user': 'roundcube',
'password': database_password,
},
'plugins': [
'managesieve',
'password',
],
'des_key': repo.vault.password_for(f'{node.name} roundcube des_key', length=24),
},
'postgresql': {
'roles': {
'roundcube': {
'password': database_password,
},
},
'databases': {
'roundcube': {
'owner': 'roundcube',
},
},
},
'sudoers': {
'www-data': ['/usr/bin/doveadm pw -s ARGON2ID'],
},
}
@metadata_reactor.provides(
'nginx/vhosts'
)
def vhost(metadata):
return {
'nginx': {
'vhosts': {
metadata.get('mailserver/hostname'): {
'content': 'roundcube/vhost.conf',
'context': {
'root': '/opt/roundcube/public_html',
},
},
},
},
}