diff --git a/certbot.cf b/certbot.cf index b07eda3..394d0bf 100644 --- a/certbot.cf +++ b/certbot.cf @@ -63,10 +63,14 @@ bundle agent certbot_cert(site,webroot) vars: "domain" string => "$(site[domain])"; + + "ds" slist => {"$(site[domain])"}; + + "domains" slist => sort(mergedata(@(ds),getvalues(@(site[aliases])))); "site_json" string => storejson(@(site)); "args" string => string_mustache( - "-d {{domain}} {{#aliases}} -d {{.}} {{/aliases}}", + "--cert-name {{domain}} -d {{domain}} {{#aliases}} -d {{.}} {{/aliases}}", @(site) ); @@ -108,6 +112,7 @@ commands: args => "certonly --agree-tos -n $(webroot_arg) --expand --email $(site[email]) $(args)"; reports: +# "DOMAINS FOR: $(site[domain]) $(domains)"; } diff --git a/vimbadmin.cf b/vimbadmin.cf new file mode 100644 index 0000000..12fc9b4 --- /dev/null +++ b/vimbadmin.cf @@ -0,0 +1,142 @@ +# +# +# + +bundle agent vimbadmin(cfg) +{ +vars: + "r" int => randomint(1,5), + handle => "rand_assigned"; + + + "vsettings[resources.doctrine2.connection.options.driver]" string => "'$(cfg[db_driver])'"; + "vsettings[resources.doctrine2.connection.options.dbname]" string => "'$(cfg[db_name])'"; + "vsettings[resources.doctrine2.connection.options.user]" string => "'$(cfg[db_user])'"; + "vsettings[resources.doctrine2.connection.options.password]" string => "'$(cfg[db_pass])'"; + "vsettings[resources.doctrine2.connection.options.host]" string => "'$(cfg[db_host])'"; + "vsettings[securitysalt]" string => "'$(cfg[security_salt])'"; + "vsettings[resources.auth.oss.rememberme.salt]" string => "'$(cfg[rememberme_salt])'"; + "vsettings[defaults.mailbox.password_salt]" string => "'$(cfg[password_salt])'"; + "vsettings[skipInstallPingback]" string => "1"; +classes: + "vimbadmin_checked_out" expression => fileexists("$(cfg[dst_dir])/.git"); + "pull_it" expression => eval("1 == $(r)","class","infix"), + depends_on => {"rand_assigned"}; + + + "vimbadmin_reconfigure" expression => + or( + not(fileexists("$(sys.workdir)/data/agent/vimbadmin/configured.txt")), + not(fileexists("$(cfg[install_dir])/public")) + ); +vars: + "clone_cmd" string => "$(git.exe) clone $(cfg[clone_args]) $(cfg[src]) $(cfg[dst_dir])"; + + +files: + + "$(sys.workdir)/data/public/." + create => "true", + perms => m(755), + handle => "vimbadmin_workdir_created"; + + "$(sys.workdir)/data/public/vimbadmin.tgz" + copy_from => sync_cp("$(cfg[src_tgz])","$(sys.policy_hub)"), + handle => "vimbadmin_tgz_copied", + depends_on => {"vimbadmin_workdir_created"}, + perms => m(644), + classes => if_repaired(vimbadmin_reconfigure); + + + + "$(cfg[install_dir])/public/.htaccess" + copy_from => local_cp("$(cfg[install_dir])/public/.htaccess.dist"), + perms => mog("644","root","root"), + depends_on => {"vimbadmin_untarred"}, + handle => "vimbadmin_htaccess_copied"; + + + "$(cfg[install_dir])/application/configs/application.ini" + copy_from => seed_cp("$(cfg[install_dir])/application/configs/application.ini.dist"), + perms => mog("644","root","root"), + depends_on => {"vimbadmin_untarred"}, + handle => "vimbadmin_appini_copied"; + + + + "$(cfg[install_dir])/application/configs/application.ini" + edit_line => set_variable_values("vimbadmin.vsettings"), + handle => "vimbadmin_appini_edited", + depends_on => { "vimbadmin_appini_copied" }; + + + + vimbadmin_reconfigure:: + "$(sys.workdir)/data/agent/vimbadmin/configured.txt" + depends_on => { "vimbadmin_tgz_copied" }, + delete => tidy; + + "$(sys.workdir)/data/agent/vimbadmin/configured.txt" + depends_on => { "vimbadmin_composed" }, + create => "true", + content => "ok"; + + + +commands: + + "!mysql_$(cfg[db_name])_admin_exists":: + "cd $(cfg[install_dir]) && ./bin/doctrine2-cli.php orm:schema-tool:create " + contain => wmde_cmd_useshell, + depends_on => {"vimbadmin_appini_edited"}; + + + vimbadmin_reconfigure:: + "/bin/sh" + args => "-c '/usr/bin/tar xf $(sys.workdir)/data/public/vimbadmin.tgz --strip-components=1 -C $(cfg[install_dir])'", + handle => "vimbadmin_untarred", + contain => vimbadmin_cmd; + + "/bin/sh" +# args => "-c 'cd $(cfg[install_dir]) && $(php_composer.exe) -q -n create-project --prefer-dist --no-dev opensolutions/vimbadmin'", + args => "-c 'cd $(cfg[install_dir]) && $(php_composer.exe) install -q --prefer-dist --no-dev", + handle => "vimbadmin_composed", + contain => vimbadmin_cmd; + + #"/bin/sh" + #args => '-c $(php + + !vimbadmin_reconfigure:: + "/bin/true" + inform => "false", + handle => "vimbadmin_untarred"; + + + +methods: + "any" usebundle => php_composer; + "any" usebundle => mysql_table_exists(@(cfg),"admin"); + +reports: + + + "mysql_$(cfg[db_name])_admin_exists":: + "VIMBADMIN TABLE ADMIN ALREADY EXISTS"; + + vimbadmin_reconfigure:: + "DO RECONFIGURE"; + + !vimbadmin_reconfigure:: + "VIMADMIN UNTARRED" depends_on => {"vimbadmin_untarred"}; + + "Hello not econf"; + +} + + +body contain vimbadmin_cmd +{ + + exec_owner => "www-data"; + exec_group => "www-data"; +}