bundles/postfixadmin: introduce
This commit is contained in:
parent
5550d2cc56
commit
f42dda5961
7 changed files with 136 additions and 0 deletions
32
bundles/postfixadmin/files/config.local.php
Normal file
32
bundles/postfixadmin/files/config.local.php
Normal file
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
$CONF['configured'] = true;
|
||||
$CONF['setup_password'] = '${setup_password}';
|
||||
|
||||
$CONF['database_type'] = 'pgsql';
|
||||
$CONF['database_host'] = 'localhost';
|
||||
$CONF['database_user'] = 'postfixadmin';
|
||||
$CONF['database_password'] = '${database_password}';
|
||||
$CONF['database_name'] = 'postfixadmin';
|
||||
|
||||
$CONF['admin_email'] = '${admin_email}';
|
||||
$CONF['admin_name'] = 'root';
|
||||
|
||||
$CONF['generate_password'] = 'YES';
|
||||
$CONF['page_size'] = '100';
|
||||
|
||||
$CONF['default_aliases'] = array (
|
||||
'abuse' => '${admin_email}',
|
||||
'hostmaster' => '${admin_email}',
|
||||
'postmaster' => '${admin_email}',
|
||||
);
|
||||
|
||||
$CONF['domain_quota'] = 'NO';
|
||||
$CONF['aliases'] = '0';
|
||||
$CONF['mailboxes'] = '0';
|
||||
$CONF['maxquota'] = '0';
|
||||
$CONF['domain_quota_default'] = '0';
|
||||
$CONF['special_alias_control'] = 'YES';
|
||||
|
||||
|
||||
$CONF['fetchmail'] = 'NO';
|
||||
$CONF['show_footer_text'] = 'NO';
|
5
bundles/postfixadmin/files/relay_domains.cf
Normal file
5
bundles/postfixadmin/files/relay_domains.cf
Normal file
|
@ -0,0 +1,5 @@
|
|||
user = postfixadmin
|
||||
password = ${node.metadata['postgresql']['users']['postfixadmin']['password']}
|
||||
hosts = localhost
|
||||
dbname = postfixadmin
|
||||
query = SELECT domain FROM domain WHERE domain='%s' and backupmx = true
|
5
bundles/postfixadmin/files/virtual_alias_maps.cf
Normal file
5
bundles/postfixadmin/files/virtual_alias_maps.cf
Normal file
|
@ -0,0 +1,5 @@
|
|||
user = postfixadmin
|
||||
password = ${node.metadata['postgresql']['users']['postfixadmin']['password']}
|
||||
hosts = localhost
|
||||
dbname = postfixadmin
|
||||
query = SELECT goto FROM alias WHERE address='%s' AND active = true
|
5
bundles/postfixadmin/files/virtual_domains_maps.cf
Normal file
5
bundles/postfixadmin/files/virtual_domains_maps.cf
Normal file
|
@ -0,0 +1,5 @@
|
|||
user = postfixadmin
|
||||
password = ${node.metadata['postgresql']['users']['postfixadmin']['password']}
|
||||
hosts = localhost
|
||||
dbname = postfixadmin
|
||||
query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = false AND active = true
|
5
bundles/postfixadmin/files/virtual_mailbox_maps.cf
Normal file
5
bundles/postfixadmin/files/virtual_mailbox_maps.cf
Normal file
|
@ -0,0 +1,5 @@
|
|||
user = postfixadmin
|
||||
password = ${node.metadata['postgresql']['users']['postfixadmin']['password']}
|
||||
hosts = localhost
|
||||
dbname = postfixadmin
|
||||
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = true
|
62
bundles/postfixadmin/items.py
Normal file
62
bundles/postfixadmin/items.py
Normal file
|
@ -0,0 +1,62 @@
|
|||
assert node.has_bundle('php')
|
||||
assert node.has_bundle('postfix')
|
||||
|
||||
directories = {
|
||||
'/opt/postfixadmin': {},
|
||||
'/opt/postfixadmin/templates_c': {
|
||||
'owner': 'www-data',
|
||||
'group': 'www-data',
|
||||
'needs': {
|
||||
'git_deploy:/opt/postfixadmin',
|
||||
},
|
||||
},
|
||||
'/var/mail/vmail': {
|
||||
'owner': 'nobody',
|
||||
'group': 'nogroup',
|
||||
},
|
||||
}
|
||||
|
||||
git_deploy = {
|
||||
'/opt/postfixadmin': {
|
||||
'repo': 'https://github.com/postfixadmin/postfixadmin.git',
|
||||
'rev': 'master',
|
||||
},
|
||||
}
|
||||
|
||||
files = {
|
||||
'/opt/postfixadmin/config.local.php': {
|
||||
'content_type': 'mako',
|
||||
'context': {
|
||||
'setup_password': node.metadata['postfixadmin']['setup_password'],
|
||||
'admin_email': node.metadata['postfixadmin']['admin_email'],
|
||||
'database_password': node.metadata['postgresql']['users']['postfixadmin']['password'],
|
||||
},
|
||||
'needs': {
|
||||
'git_deploy:/opt/postfixadmin',
|
||||
},
|
||||
},
|
||||
'/etc/postfix/pgsql/relay_domains.cf': {
|
||||
'content_type': 'mako',
|
||||
'triggers': {
|
||||
'svc_systemd:postfix:restart',
|
||||
},
|
||||
},
|
||||
'/etc/postfix/pgsql/virtual_alias_maps.cf': {
|
||||
'content_type': 'mako',
|
||||
'triggers': {
|
||||
'svc_systemd:postfix:restart',
|
||||
},
|
||||
},
|
||||
'/etc/postfix/pgsql/virtual_domains_maps.cf': {
|
||||
'content_type': 'mako',
|
||||
'triggers': {
|
||||
'svc_systemd:postfix:restart',
|
||||
},
|
||||
},
|
||||
'/etc/postfix/pgsql/virtual_mailbox_maps.cf': {
|
||||
'content_type': 'mako',
|
||||
'triggers': {
|
||||
'svc_systemd:postfix:restart',
|
||||
},
|
||||
},
|
||||
}
|
22
bundles/postfixadmin/metadata.py
Normal file
22
bundles/postfixadmin/metadata.py
Normal file
|
@ -0,0 +1,22 @@
|
|||
defaults = {
|
||||
'apt': {
|
||||
'packages': {
|
||||
'postfix-pgsql',
|
||||
},
|
||||
},
|
||||
'postfixadmin': {
|
||||
'admin_email': 'hostmaster@kunbox.net',
|
||||
},
|
||||
'postgresql': {
|
||||
'databases': {
|
||||
'postfixadmin': {
|
||||
'owner': 'postfixadmin',
|
||||
},
|
||||
},
|
||||
'users': {
|
||||
'postfixadmin': {
|
||||
'password': repo.vault.password_for(node.name + ' postgresql postfixadmin'),
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
Loading…
Reference in a new issue