Compare commits
	
		
			1 commit
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 2518cb6864 | 
					 2 changed files with 67 additions and 0 deletions
				
			
		
							
								
								
									
										14
									
								
								bundles/icingadb/items.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								bundles/icingadb/items.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | |||
| import yaml, json | ||||
| from bundlewrap.metadata import MetadataJSONEncoder | ||||
| 
 | ||||
| files = { | ||||
|     '/etc/icingadb/config.yml': { | ||||
|         'content': yaml.dump( | ||||
|             json.loads( | ||||
|                 json.dumps(node.metadata.get('icingadb'), sort_keys=True, cls=MetadataJSONEncoder) | ||||
|             ), | ||||
|         ), | ||||
|         'mode': '0640', | ||||
|         'owner': 'icingadb', | ||||
|     }, | ||||
| } | ||||
							
								
								
									
										53
									
								
								bundles/icingadb/metadata.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								bundles/icingadb/metadata.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,53 @@ | |||
| defaults = { | ||||
|     'apt': { | ||||
|         'packages': { | ||||
|             'icingadb': {}, | ||||
|             'icingadb-redis': {}, | ||||
|             'icingadb-web': {}, | ||||
|         }, | ||||
|         'sources': { | ||||
|             'deb https://packages.icinga.com/debian icinga-{release} main', | ||||
|             'deb https://packages.icinga.com/debian icinga-{release}-snapshots main', | ||||
|         }, | ||||
|     }, | ||||
|     'postgresql': { | ||||
|         'databases': { | ||||
|             'icingadb': { | ||||
|                 'owner': 'icingadb', | ||||
|             }, | ||||
|         }, | ||||
|         'roles': { | ||||
|             'icingadb': { | ||||
|                 'password': repo.vault.password_for(f'psql icingadb on {node.name}'), | ||||
|             }, | ||||
|         }, | ||||
|     }, | ||||
|     'redis': { | ||||
|         'icingadb': { | ||||
|             'port': '6381', | ||||
|         }, | ||||
|     }, | ||||
| } | ||||
| 
 | ||||
| @metadata_reactor.provides( | ||||
|     'icingadb', | ||||
| ) | ||||
| def config(metadata): | ||||
|     return { | ||||
|         'icingadb': { | ||||
|             'database': { | ||||
|                 'type': 'postgresql', | ||||
|                 'host': 'localhost', | ||||
|                 'port': 3306, | ||||
|                 'database': 'icingadb', | ||||
|                 'user': 'icingadb', | ||||
|                 'password': metadata.get('postgresql/roles/icingadb/password'), | ||||
|             }, | ||||
|             'redis': { | ||||
|                 'address': 'localhost:6380', | ||||
|             }, | ||||
|             'logging': { | ||||
|                 'level': 'info', | ||||
|             }, | ||||
|         }, | ||||
|     } | ||||
		Loading…
	
		Reference in a new issue