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: |