51 lines
2.5 KiB
Python
51 lines
2.5 KiB
Python
import yaml
|
|
|
|
# Load deployment_config.yml
|
|
with open('deployment_config.yml', 'r') as f:
|
|
deployment_config = yaml.safe_load(f)
|
|
|
|
# Flattened structure for group_vars/all.yml
|
|
group_vars = {
|
|
'default_user': deployment_config['global_admin_username'],
|
|
'default_shell': '/bin/bash',
|
|
'ssh_authorized_key': deployment_config['admin_ssh_public_key'],
|
|
'global_admin_email': deployment_config['global_admin_email'],
|
|
'domain_name': deployment_config['domain_name'],
|
|
'hostname': deployment_config['hostname'],
|
|
'timezone': deployment_config['timezone'],
|
|
'dns_resolver_ip': deployment_config['dns_resolver_ip'],
|
|
'ssh_port': deployment_config['ssh_port'],
|
|
'disable_root_ssh': deployment_config['disable_root_ssh'],
|
|
'enforce_key_authentication': deployment_config['enforce_key_authentication'],
|
|
'nextcloud_port': deployment_config['nextcloud_port'],
|
|
'mailcow_port': deployment_config['mailcow_port'],
|
|
'keycloak_port': deployment_config['keycloak_port'],
|
|
'stepca_port': deployment_config['stepca_port'],
|
|
'wazuh_port': deployment_config['wazuh_port'],
|
|
'tailscale_auth_key': deployment_config['tailscale_auth_key'],
|
|
'mailcow_hostname': deployment_config['mailcow_hostname'],
|
|
'mailcow_admin_user': deployment_config['mailcow_admin_user'],
|
|
'mailcow_admin_password': deployment_config['mailcow_admin_password'],
|
|
'mailcow_letsencrypt_email': deployment_config['mailcow_letsencrypt_email'],
|
|
'mailcow_use_letsencrypt': deployment_config['mailcow_use_letsencrypt'],
|
|
'keycloak_realm': deployment_config['keycloak_realm'],
|
|
'nextcloud_aio_image': deployment_config['nextcloud_aio_image'],
|
|
'keycloak_image': deployment_config['keycloak_image'],
|
|
'mailcow_image': deployment_config['mailcow_image'],
|
|
'nextcloud_data_dir': deployment_config['nextcloud_data_dir'],
|
|
'mailcow_data_dir': deployment_config['mailcow_data_dir'],
|
|
'backup_base_dir': deployment_config['backup_base_dir'],
|
|
'logs_dir': deployment_config['logs_dir'],
|
|
'restic_password': deployment_config['restic_password'],
|
|
'restic_repo': deployment_config['restic_repo'],
|
|
'svc_keycloak': deployment_config['svc_keycloak'],
|
|
'svc_mailcow': deployment_config['svc_mailcow'],
|
|
'svc_wazuh': deployment_config['svc_wazuh'],
|
|
'svc_stepca': deployment_config['svc_stepca'],
|
|
'banner_text': deployment_config['banner_text']
|
|
}
|
|
|
|
# Save to group_vars/all.yml
|
|
with open('group_vars/all.yml', 'w') as f:
|
|
yaml.dump(group_vars, f, sort_keys=False, default_flow_style=False)
|