forked from ungleich-public/cdist
		
	
		
			
				
	
	
		
			49 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| An alternative / complementary approach to notifications: triggers (or actions?)
 | |
| 
 | |
| A type may support various actions by creating files in its subdirectory
 | |
| "actions". Other types can trigger an action of a different type or object
 | |
| by calling them (indirectly?):
 | |
| 
 | |
| 
 | |
| if grep "__file/etc/nginx/conf.d/.*:copy" "$__notifications"; then
 | |
| 
 | |
|     # Call action from a type
 | |
|     cdist trigger __nginx/reload
 | |
| fi
 | |
| 
 | |
| 
 | |
| Not sure whether this approach (calling "actions" of other types) is sane,
 | |
| as nginx should probably better know if it should be restarted "itself".
 | |
| 
 | |
| 
 | |
| --------------------------------------------------------------------------------
 | |
| 
 | |
| Alternate approach:
 | |
| 
 | |
| __nginx_vhost www.some-domain.ch --custom << eof
 | |
| some custom code for __nginx_vhost inclusion
 | |
| eof
 | |
| 
 | |
| __nginx_vhost:
 | |
| 
 | |
|     manifest:
 | |
|         # __nginx_vhost requires __nginx: creates directories
 | |
| 
 | |
|         require"$__object_name" __nginx --require-only
 | |
|         
 | |
|         # Do WE or __file ... depend on nginx?
 | |
|         cdist require __nginx
 | |
| 
 | |
|         # Create file that contains the giving code
 | |
|         __file /etc/nginx/conf.d/www.some-domain.ch
 | |
| 
 | |
|         require="__nginx" __file /etc/nginx/conf.d/www.some-domain.ch
 | |
| 
 | |
| __nginx:
 | |
|     manifest:
 | |
|         __package nginx --state present
 | |
| 
 | |
|         __file some-custom-files
 | |
| 
 | |
|     gencode-remote:
 | |
|         if first_install or file changed:
 |