Initial commit
This commit is contained in:
		
							parent
							
								
									af5efbe26f
								
							
						
					
					
						commit
						f4beec8622
					
				|  | @ -0,0 +1,94 @@ | ||||||
|  | # | ||||||
|  | # Create SSL certificates using Letsencrypt | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | bundle agent certbot | ||||||
|  | { | ||||||
|  | vars: | ||||||
|  | 	"webroot" string => "$(wr)"; | ||||||
|  | 	"renew" string => "$(rn)"; | ||||||
|  | 
 | ||||||
|  | 	freebsd:: | ||||||
|  | 		"certbot_dir" string => "/usr/local/etc/letsencrypt"; | ||||||
|  | 		"exe" string => "/usr/local/bin/certbot"; | ||||||
|  | 		"pkg" string => "py39-certbot"; | ||||||
|  | 	debian:: | ||||||
|  | 		"certbot_dir" string => "/etc/letsencrypt"; | ||||||
|  | 		"exe" string => "/usr/bin/certbot"; | ||||||
|  | 		"pkg" string => "certbot"; | ||||||
|  | 
 | ||||||
|  | defaults: | ||||||
|  | 	 "wr" string => "standalone"; | ||||||
|  | 	 "rn" string => ""; | ||||||
|  | 
 | ||||||
|  | reports: | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | bundle agent install_certbot | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  | packages: | ||||||
|  | 
 | ||||||
|  | 	freebsd:: | ||||||
|  | 		"$(certbot.pkg)" | ||||||
|  | 			policy => "present", | ||||||
|  | 			package_module => pkg, | ||||||
|  | 			handle => "certbot_installed"; | ||||||
|  | 	debian:: | ||||||
|  | 		"$(certbot.pkg)" | ||||||
|  | 			policy => "present", | ||||||
|  | 			package_module => apt_get, | ||||||
|  | 			handle => "certbot_installed"; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | bundle agent certbot_cert(site,webroot,domain) | ||||||
|  | { | ||||||
|  | 
 | ||||||
|  | vars: | ||||||
|  | 	"site_json" string => storejson(@(site)); | ||||||
|  | 	"args" string => string_mustache( | ||||||
|  | 			"-d {{domain}} {{#aliases}} -d {{.}} {{/aliases}}", | ||||||
|  | 			@(site) | ||||||
|  | 			); | ||||||
|  | 
 | ||||||
|  | 	"webroot_arg" string => ifelse( strcmp("$(webroot)","standalone"),  | ||||||
|  | 			"--standalone", | ||||||
|  |                         "--webroot -w $(webroot)"); | ||||||
|  | 
 | ||||||
|  | files: | ||||||
|  | 	"$(sys.workdir)/data/certbot/$(site[domain])-cert-created" | ||||||
|  | 		create => "true", | ||||||
|  | 		content => "$(args)", | ||||||
|  | 		classes => if_repaired(certbot_repaired); | ||||||
|  | 
 | ||||||
|  | classes: | ||||||
|  | 	"no_cert_file" | ||||||
|  | 	comment => "run certbot because no cert dir exists", | ||||||
|  | 	not => fileexists("$(certbot.certbot_dir)/live/$(site[domain])"); | ||||||
|  | 
 | ||||||
|  | 	"run_certbot" | ||||||
|  | 	or => {no_cert_file, certbot_repaired}; | ||||||
|  | 
 | ||||||
|  | defaults: | ||||||
|  | 	 "webroot" string => "standalone"; | ||||||
|  | 
 | ||||||
|  | methods: | ||||||
|  | 	"any" usebundle => install_certbot; | ||||||
|  | 
 | ||||||
|  | commands: | ||||||
|  | 	run_certbot:: | ||||||
|  | 		"$(certbot.exe)" | ||||||
|  | 		depends_on => {"certbot_installed"}, | ||||||
|  | 		handle => "certbot_dry_run_ok", | ||||||
|  | 		args => "certonly --dry-run --agree-tos -n $(webroot_arg) --expand --email $(site[email]) $(args)"; | ||||||
|  | 
 | ||||||
|  | 	run_certbot:: | ||||||
|  | 		"$(certbot.exe)" | ||||||
|  | 		depends_on => {"certbot_installed","certbot_dry_run_ok"}, | ||||||
|  | 		args => "certonly --agree-tos -n $(webroot_arg) --expand --email $(site[email]) $(args)"; | ||||||
|  | 
 | ||||||
|  | reports: | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
		Loading…
	
		Reference in New Issue