100 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| defaults = {
 | |
|     'apt': {
 | |
|         'packages': {
 | |
|             'linux-image-amd64': {
 | |
|                 'installed': False,
 | |
|             },
 | |
|             'proxmox-default-kernel': {},
 | |
|             # after reboot
 | |
|             'proxmox-ve': {},
 | |
|             'postfix': {},
 | |
|             'open-iscsi': {},
 | |
|             'chrony': {},
 | |
|             'os-prober': {
 | |
|                 'installed': False,
 | |
|             },
 | |
|             'dnsmasq-base': {},
 | |
|         },
 | |
|         'sources': {
 | |
|             'proxmox-ve': {
 | |
|                 'options': {
 | |
|                     'aarch': 'amd64',
 | |
|                 },
 | |
|                 'urls': {
 | |
|                     'http://download.proxmox.com/debian/pve',
 | |
|                 },
 | |
|                 'suites': {
 | |
|                     '{codename}',
 | |
|                 },
 | |
|                 'components': {
 | |
|                     'pve-no-subscription',
 | |
|                 },
 | |
|                 'key': 'proxmox-ve-{codename}',
 | |
|             },
 | |
|         },
 | |
|     },
 | |
|     # 'nftables': {
 | |
|     #     'input': {
 | |
|     #         'tcp dport 8006 accept',
 | |
|     #     },
 | |
|     # },
 | |
|     'zfs': {
 | |
|         'datasets': {
 | |
|             'tank/proxmox-ve': {
 | |
|                 'mountpoint': '/var/lib/proxmox-ve',
 | |
|             },
 | |
|         }
 | |
|     }
 | |
| }
 | |
| 
 | |
| 
 | |
| # @metadata_reactor.provides(
 | |
| #     'systemd',
 | |
| # )
 | |
| # def bridge(metadata):
 | |
| #     return {
 | |
| #         'systemd': {
 | |
| #             'units': {
 | |
| #                 # f'internal.network': {
 | |
| #                 #     'Network': {
 | |
| #                 #         'Bridge': 'br0',
 | |
| #                 #     },
 | |
| #                 # },
 | |
| #                 'br0.netdev': {
 | |
| #                     'NetDev': {
 | |
| #                         'Name': 'br0',
 | |
| #                         'Kind': 'bridge'
 | |
| #                     },
 | |
| #                 },
 | |
| #                 'br0.network': {
 | |
| #                     'Match': {
 | |
| #                         'Name': 'br0',
 | |
| #                     },
 | |
| #                     'Network': {
 | |
| #                         'Unmanaged': 'yes'
 | |
| #                     },
 | |
| #                 },
 | |
| #             },
 | |
| #         },
 | |
| #     }
 | |
| 
 | |
| 
 | |
| @metadata_reactor.provides(
 | |
|     'nginx/has_websockets',
 | |
|     'nginx/vhosts',
 | |
| )
 | |
| def nginx(metadata):
 | |
|     return {
 | |
|         'nginx': {
 | |
|             'has_websockets': True,
 | |
|             'vhosts': {
 | |
|                 metadata.get('proxmox-ve/domain'): {
 | |
|                     'content': 'nginx/proxy_pass.conf',
 | |
|                     'context': {
 | |
|                         'target': 'https://localhost:8006',
 | |
|                         'websockets': True,
 | |
|                     }
 | |
|                 },
 | |
|             },
 | |
|         },
 | |
|     }
 |