diff --git a/software/resdemo/apache/instance-apache-export.cfg.jinja2 b/software/resdemo/apache/instance-apache-export.cfg.jinja2 index 594faa18e9f9b684140d2c07db7bb39e3a65ef48..9e04d4b6e6a3c2e852a6e833a7a1bec143ea3f8f 100644 --- a/software/resdemo/apache/instance-apache-export.cfg.jinja2 +++ b/software/resdemo/apache/instance-apache-export.cfg.jinja2 @@ -11,23 +11,21 @@ extends = {{templateapache}} {{templatepbsreadyexport}} parts += - {{ parts.replicate("mariadb", "3") }} - -# Repeating parts from instance-apache-php. -# XXX-Cedric: how to simplify this? certificate-authority - ca-stunnel logrotate - logrotate-entry-apache - logrotate-entry-stunnel cron - cron-entry-logrotate - promise - frontend-promise - content-promise publish-connection-informations + cron-entry-backup + + +# Repeating parts from instance-apache-php. +# XXX-Cedric: how to simplify this? +# logrotate-entry-apache +# cron-entry-logrotate +# promise +# frontend-promise +# content-promise -{{ replicated.replicate("mariadb", "3", "mariadb-export", "mariadb-import") }} # Nothing to do for the exporter. This wrapper is intended # to produce the "dump" files that have to be backed up. @@ -51,8 +49,3 @@ path = ${directory:www} # parameters of the requested instance. Requirement: aggregated publish. <= resilient-publish-connection-parameter -# XXX-Cedric: resilient overwrites what's returned from request-mariadb -# XXX-Cedric: change the request method to return everything from -# getConnectionParameterDict() -[request-mariadb] -return = ssh-public-key ssh-url notification-id ip url diff --git a/software/resdemo/apache/instance-apache-php.cfg.in b/software/resdemo/apache/instance-apache-php.cfg.in index d994aef8c718538d27e7f1b03f0b8f9e326e286e..804eabeae93e70a03f950c6fb47114ab13cbab12 100644 --- a/software/resdemo/apache/instance-apache-php.cfg.in +++ b/software/resdemo/apache/instance-apache-php.cfg.in @@ -1,20 +1,13 @@ [buildout] -extends = ${custom-application-deployment:path} +#extends = ${custom-application-deployment:path} + parts = certificate-authority - ca-stunnel logrotate - logrotate-entry-apache - logrotate-entry-stunnel cron cron-entry-logrotate - promise - frontend-promise - content-promise - publish-connection-informations - ${custom-application-deployment:part-list} eggs-directory = ${buildout:eggs-directory} @@ -87,6 +80,7 @@ wrapper = $${rootdirectory:bin}/cron_simplelogger log = $${basedirectory:log}/crond.log + #---------------- #-- #-- Deploy logrotate. @@ -112,38 +106,6 @@ backup = $${directory:logrotate-backup} state-file = $${rootdirectory:srv}/logrotate.status -#---------------- -#-- -#-- Deploy stunnel. - -[stunnel] -recipe = slapos.cookbook:stunnel -client = true -stunnel-binary = ${stunnel:location}/bin/stunnel -remote-host = $${mariadb-urlparse:host} -remote-port = $${mariadb-urlparse:port} -local-host = $${slap-network-information:local-ipv4} -local-port = 3306 -log-file = $${basedirectory:log}/stunnel.log -config-file = $${directory:stunnel-conf}/stunnel.conf -key-file = $${directory:stunnel-conf}/stunnel.key -cert-file = $${directory:stunnel-conf}/stunnel.crt -pid-file = $${basedirectory:run}/stunnel.pid -wrapper = $${rootdirectory:bin}/raw_stunnel -post-rotate-script = $${rootdirectory:bin}/stunnel_post_rotate - -[logrotate-entry-stunnel] -<= logrotate -recipe = slapos.cookbook:logrotate.d -name = stunnel -log = $${stunnel:log-file} -frequency = daily -rotate-num = 30 -notifempty = true -create = true -post = $${stunnel:post-rotate-script} - - #---------------- #-- #-- Certificate stuff. @@ -168,155 +130,5 @@ key-file = $${stunnel:key-file} cert-file = $${stunnel:cert-file} -#---------------- -#-- -#-- Request MariaDB instance and parse its URL. - -[request-mariadb] -<= slap-connection -recipe = slapos.cookbook:request -name = MariaDB -software-url = $${slap-connection:software-release-url} -software-type = mariadb -return = url -sla = computer_guid -sla-computer_guid = $${slap-connection:computer-id} - -[mariadb-urlparse] -recipe = slapos.cookbook:urlparse -url = $${request-mariadb:connection-url} - - - -#---------------- -#-- -#-- Common network parameters -[apache-network-configuration] -listening-ip = $${slap-network-information:global-ipv6} -listening-port = 8080 - - -#---------------- -#-- -#-- Deploy Apache + PHP application. - -[apache-php] -recipe = slapos.cookbook:apachephp -source = ${application:location} -template = ${application-template:location}/${application-template:filename} -configuration = ${application-configuration:location} - -htdocs = $${directory:www} -pid-file = $${basedirectory:run}/apache.pid -lock-file = $${basedirectory:run}/apache.lock -ip = $${apache-network-configuration:listening-ip} -port = $${apache-network-configuration:listening-port} -url = http://[$${:ip}]:$${:port}/ -error-log = $${directory:httpd-log}/error.log -access-log = $${directory:httpd-log}/access.log -php-ini-dir = $${directory:php-ini-dir} -tmp-dir = $${directory:tmp-php} -httpd-conf = $${rootdirectory:etc}/apache.conf -wrapper = $${basedirectory:services}/apache - -httpd-binary = ${apache:location}/bin/httpd - -mysql-username = $${mariadb-urlparse:username} -mysql-password = $${mariadb-urlparse:password} -mysql-database = $${mariadb-urlparse:path} -mysql-host = $${stunnel:local-host} -mysql-port = $${stunnel:local-port} - -[logrotate-entry-apache] -<= logrotate -recipe = slapos.cookbook:logrotate.d -name = apache -log = $${apache-php:error-log} $${apache-php:access-log} -frequency = daily -rotate-num = 30 -sharedscripts = true -notifempty = true -create = true - - -#---------------- -#-- -#-- Request frontend. - -[request-frontend] -<= slap-connection -recipe = slapos.cookbook:requestoptional -name = Frontend -# XXX We have hardcoded SR URL here. -software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg -slave = true -config = url custom_domain -config-url = http://[$${apache-network-configuration:listening-ip}]:$${apache-network-configuration:listening-port}/ -return = site_url -config-custom_domain = $${slap-parameter:domain} - - -#---------------- -#-- -#-- Deploy slapmonitor. - -#[slapmonitor] -#recipe = slapos.cookbook:slapmonitor -#pid-file = $${basedirectory:run}/apache.pid -#database-path = $${basedirectory:log}/slapmonitor.db -#slapmonitor-path = ${buildout:bin-directory}/slapmonitor -#path = $${basedirectory:services}/slapmonitor -# -#[slapmonitor-xml] -#recipe = slapos.cookbook:slapmonitor-xml -#database-path = $${basedirectory:log}/slapmonitor.db -#slapmonitor-xml-path = ${buildout:bin-directory}/slapmonitor-xml -#path = $${directory:report}/slapmonitor-xml - - -#---------------- -#-- -#-- Publish instance parameters. - -[publish-connection-informations] -recipe = slapos.cookbook:publish -backend_url = $${apache-php:url} -url = $${request-frontend:connection-site_url} - - -#---------------- -#-- -#-- Deploy promises scripts. - -[promise] -recipe = slapos.cookbook:check_port_listening -path = $${basedirectory:promises}/apache -hostname = $${apache-php:ip} -port = $${apache-php:port} - -[frontend-promise] -recipe = slapos.cookbook:check_url_available -path = $${basedirectory:promises}/frontend -url = $${request-frontend:connection-site_url} -dash_path = ${dash:location}/bin/dash -curl_path = ${curl:location}/bin/curl - -[content-promise] -recipe = slapos.cookbook:check_page_content -path = $${basedirectory:promises}/content -url = $${request-frontend:connection-site_url} -dash_path = ${dash:location}/bin/dash -curl_path = ${curl:location}/bin/curl - - - -[slap-parameter] -# Default value if no domain is specified -domain = -# Default value if no ssh parameter is specified -logbox-ip = -logbox-port = -logbox-user = -logbox-passwd = diff --git a/software/resdemo/buildout.cfg b/software/resdemo/buildout.cfg index fd9a20026becaa0c45fefcd486f638e33f2814e9..16d777681d761cc737f2af7c7c8a9290c5ccd376 100644 --- a/software/resdemo/buildout.cfg +++ b/software/resdemo/buildout.cfg @@ -3,31 +3,28 @@ ignore-existing = true parts = + git slapos-cookbook - apache-php - mariadb - mydumper - mysql-python + slapos.cookbook-repository + slapos.toolbox-repository rdiff-backup dropbear eggs instance instance-apache-php - instance-mariadb - -#Contains the importer and exporter recipes for mariadb - instance-mariadb-import - instance-mariadb-export #Contains the importer and exporter recipes for apache instance-apache-import instance-apache-export +develop = + ${:parts-directory}/slapos.cookbook-repository + ${:parts-directory}/slapos.toolbox-repository + + extends = - ../../component/apache-php/buildout.cfg - ../../component/apache/buildout.cfg ../../component/curl/buildout.cfg ../../component/dash/buildout.cfg ../../component/dcron/buildout.cfg @@ -37,21 +34,29 @@ extends = ../../component/gzip/buildout.cfg ../../component/logrotate/buildout.cfg ../../component/lxml-python/buildout.cfg - ../../component/mariadb/buildout.cfg - ../../component/mydumper/buildout.cfg - ../../component/mysql-python/buildout.cfg - ../../component/perl/buildout.cfg ../../component/rdiff-backup/buildout.cfg ../../component/sqlite3/buildout.cfg - ../../component/stunnel/buildout.cfg ../../component/zlib/buildout.cfg ../../stack/resilient/buildout.cfg ../../stack/slapos.cfg -[mariadb] -# Compile dir is for plugins, there's no plugin in LAMP -keep-compile-dir = false + + +[slapos.cookbook-repository] +recipe = slapos.recipe.build:gitclone +repository = http://git.erp5.org/repos/slapos.git +branch = cygwin-resstack +git-executable = ${git:location}/bin/git + + +[slapos.toolbox-repository] +recipe = slapos.recipe.build:gitclone +repository = http://git.erp5.org/repos/slapos.toolbox.git +branch = cygwin-resdemo +git-executable = ${git:location}/bin/git + + [application] recipe = hexagonit.recipe.download @@ -66,14 +71,14 @@ strip-top-level-dir = true recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance.cfg.in output = ${buildout:directory}/instance.cfg -md5sum = 650cd2527158734fd6ccd9ec374b5e69 +md5sum = 7c43cd86aace6a0df1375ae1f68c2fb6 mode = 0644 [instance-apache-php] recipe = slapos.recipe.template url = ${:_profile_base_location_}/apache/instance-apache-php.cfg.in output = ${buildout:directory}/instance-apache-php.cfg -md5sum = 3e2d71d3684aac3e52d2f55794df96bf +md5sum = a878630d4aca0815144541c2ed26af66 mode = 0644 [instance-apache-import] @@ -94,7 +99,7 @@ context = key templateapache instance-apache-php:output import-list = file parts template-parts:destination file replicated template-replicated:destination -md5sum = 24c5d0db063e5343a3cb0db9d5fbc738 +md5sum = 0df9f940fcdb50d9697a9e59cdee566c mode = 0644 [instance-resilient] @@ -109,43 +114,9 @@ context = key buildout buildout:bin-directory import-list = file parts template-parts:destination file replicated template-replicated:destination -md5sum = f6dc9290194ad1fbe1ced553f5668922 -mode = 0644 - -[instance-mariadb] -recipe = slapos.recipe.template -url = ${:_profile_base_location_}/mariadb/instance-mariadb.cfg.in -output = ${buildout:directory}/instance-mariadb.cfg -md5sum = c328d11f76373f8c5928afedf2178afd +md5sum = e8ad60d4b62c754c5d6730fbf9a64f00 mode = 0644 -[instance-mariadb-import] -recipe = slapos.recipe.template -url = ${:_profile_base_location_}/mariadb/instance-mariadb-import.cfg.in -output = ${buildout:directory}/instance-mariadb-import.cfg -md5sum = faf5826f4b27e362f34ad17db54b8c9a -mode = 0644 - -[instance-mariadb-export] -recipe = slapos.recipe.template -url = ${:_profile_base_location_}/mariadb/instance-mariadb-export.cfg.in -output = ${buildout:directory}/instance-mariadb-export.cfg -md5sum = 0352896921ca1766b64f0b54f0f8c27e -mode = 0644 - - -#---------------- -#-- -#-- Optional part allowing applications using this stack to run a custom -#-- instance.cfg at the end of Apache/PHP instance deployment. -#-- To use it in your application, just override those two parameters, like: - -[custom-application-deployment] -# path = /path/to/instance-custom.cfg -# part-list = part1 part2 -# See software/maarch/software.cfg for an example. -path = -part-list = #---------------- #-- Dummy parts in case no application configuration file is needed @@ -311,87 +282,90 @@ signature-certificate-list = [versions] Jinja2 = 2.6 -MySQL-python = 1.2.4 -Werkzeug = 0.8.3 -apache-libcloud = 0.12.3 -async = 0.6.1 -buildout-versions = 1.7 -gitdb = 0.5.4 -hexagonit.recipe.cmmi = 1.6 -inotifyx = 0.2.0-1 -lxml = 3.1.1 -meld3 = 0.6.10 -netaddr = 0.7.10 -pycrypto = 2.6 -pytz = 2013b -rdiff-backup = 1.0.5 -slapos.cookbook = 0.78.0 -slapos.recipe.build = 0.11.6 -slapos.recipe.download = 1.0.dev-r4053 slapos.recipe.template = 2.4.2 -slapos.toolbox = 0.34.0 -smmap = 0.8.2 - -# Required by: -# slapos.core==0.35.1 -# slapos.toolbox==0.34.0 -Flask = 0.9 - -# Required by: -# slapos.toolbox==0.34.0 -GitPython = 0.3.2.RC1 - -# Required by: -# slapos.toolbox==0.34.0 -atomize = 0.1.1 - -# Required by: -# slapos.toolbox==0.34.0 -feedparser = 5.1.3 - -# Required by: -# slapos.core==0.35.1 -netifaces = 0.8-1 - -# Required by: -# slapos.toolbox==0.34.0 -paramiko = 1.10.0 - -# Required by: -# slapos.toolbox==0.34.0 -psutil = 0.6.2 - -# Required by: -# slapos.core==0.35.1 -pyflakes = 0.6.1 - -# Required by: -# hexagonit.recipe.download==1.6nxd002 -# slapos.cookbook==0.78.0 -# slapos.core==0.35.1 -# slapos.toolbox==0.34.0 -# supervisor==3.0b1 -# zc.buildout==1.6.0-dev-SlapOS-010 -# zope.interface==4.0.5 -setuptools = 0.6c12dev-r88846 - -# Required by: -# slapos.toolbox==0.34.0 -slapos.core = 0.35.1 - -# Required by: -# slapos.core==0.35.1 -supervisor = 3.0b1 - -# Required by: -# slapos.core==0.35.1 -unittest2 = 0.5.1 - -# Required by: -# slapos.toolbox==0.34.0 -xml-marshaller = 0.9.7 - -# Required by: -# slapos.core==0.35.1 -zope.interface = 4.0.5 +slapos.cookbook = +slapos.toolbox = + +#MySQL-python = 1.2.4 +#Werkzeug = 0.8.3 +#apache-libcloud = 0.12.3 +#async = 0.6.1 +#buildout-versions = 1.7 +#gitdb = 0.5.4 +#hexagonit.recipe.cmmi = 1.6 +#inotifyx = 0.2.0-1 +#lxml = 3.1.1 +#meld3 = 0.6.10 +#netaddr = 0.7.10 +#pycrypto = 2.6 +#pytz = 2013b +#rdiff-backup = 1.0.5 +#slapos.cookbook = 0.78.0 +#slapos.recipe.build = 0.11.6 +#slapos.recipe.download = 1.0.dev-r4053 +#slapos.toolbox = 0.34.0 +#smmap = 0.8.2 +# +## Required by: +## slapos.core==0.35.1 +## slapos.toolbox==0.34.0 +#Flask = 0.9 +# +## Required by: +## slapos.toolbox==0.34.0 +#GitPython = 0.3.2.RC1 +# +## Required by: +## slapos.toolbox==0.34.0 +#atomize = 0.1.1 +# +## Required by: +## slapos.toolbox==0.34.0 +#feedparser = 5.1.3 +# +## Required by: +## slapos.core==0.35.1 +#netifaces = 0.8-1 +# +## Required by: +## slapos.toolbox==0.34.0 +#paramiko = 1.10.0 +# +## Required by: +## slapos.toolbox==0.34.0 +#psutil = 0.6.2 +# +## Required by: +## slapos.core==0.35.1 +#pyflakes = 0.6.1 +# +## Required by: +## hexagonit.recipe.download==1.6nxd002 +## slapos.cookbook==0.78.0 +## slapos.core==0.35.1 +## slapos.toolbox==0.34.0 +## supervisor==3.0b1 +## zc.buildout==1.6.0-dev-SlapOS-010 +## zope.interface==4.0.5 +#setuptools = 0.6c12dev-r88846 +# +## Required by: +## slapos.toolbox==0.34.0 +#slapos.core = 0.35.1 +# +## Required by: +## slapos.core==0.35.1 +#supervisor = 3.0b1 +# +## Required by: +## slapos.core==0.35.1 +#unittest2 = 0.5.1 +# +## Required by: +## slapos.toolbox==0.34.0 +#xml-marshaller = 0.9.7 +# +## Required by: +## slapos.core==0.35.1 +#zope.interface = 4.0.5 diff --git a/software/resdemo/instance-resilient.cfg.jinja2 b/software/resdemo/instance-resilient.cfg.jinja2 index 3eb7ffe40444a597cc68eef053f61145b0be27b4..ee842ec6f8a869b4ba672ebfbeb054fba7b6e4ed 100644 --- a/software/resdemo/instance-resilient.cfg.jinja2 +++ b/software/resdemo/instance-resilient.cfg.jinja2 @@ -17,31 +17,16 @@ parts += # Bubble up the parameters [request-apache] -return = url ssh-public-key ssh-url notification-id ip url backend_url +return = ssh-public-key ssh-url notification-id ip # XXX: hardcoded values -config = domain number authorized-key notify ip-list namebase mariadb1-computer-guid pbs-mariadb1-computer-guid mariadb2-computer-guid pbs-mariadb2-computer-guid mariadb3-computer-guid pbs-mariadb3-computer-guid -config-mariadb1-computer-guid = ${slap-parameter:mariadb1-computer-guid} -config-pbs-mariadb1-computer-guid = ${slap-parameter:pbs-mariadb1-computer-guid} -config-mariadb2-computer-guid = ${slap-parameter:mariadb2-computer-guid} -config-pbs-mariadb2-computer-guid = ${slap-parameter:pbs-mariadb2-computer-guid} -config-mariadb3-computer-guid = ${slap-parameter:mariadb3-computer-guid} -config-pbs-mariadb3-computer-guid = ${slap-parameter:pbs-mariadb3-computer-guid} +config = domain number authorized-key notify ip-list namebase config-domain = ${slap-parameter:domain} [publish-connection-informations] recipe = slapos.cookbook:publish -backend_url = ${request-apache:connection-backend_url} -url = ${request-apache:connection-url} +#backend_url = ${request-apache:connection-backend_url} +#url = ${request-apache:connection-url} [slap-parameter] -# Default parameters for distributed deployment -# I.e state "backup1 of maria should go there, ..." -# XXX-Cedric: Hardcoded number of backups. Should be dynamically generated. -mariadb1-computer-guid = -pbs-mariadb1-computer-guid = -mariadb2-computer-guid = -pbs-mariadb2-computer-guid = -mariadb3-computer-guid = -pbs-mariadb3-computer-guid = # XXX-Cedric: Hardcoded parameters. Should be dynamically generated. domain = diff --git a/software/resdemo/instance.cfg.in b/software/resdemo/instance.cfg.in index 8902f73c8875443dc304f43cc063726b6fc382ed..f3bb3e98c0f2ca56f9c57320349c2f6f52ef9ba7 100644 --- a/software/resdemo/instance.cfg.in +++ b/software/resdemo/instance.cfg.in @@ -11,9 +11,6 @@ offline = true recipe = slapos.cookbook:softwaretype default = ${instance-apache-php:output} resilient = ${instance-resilient:rendered} -mariadb = ${instance-mariadb:output} -mariadb-import = ${instance-mariadb-import:output} -mariadb-export = ${instance-mariadb-export:output} apache-import = ${instance-apache-import:output} apache-export = ${instance-apache-export:rendered} diff --git a/software/resdemo/mariadb/instance-mariadb-export.cfg.in b/software/resdemo/mariadb/instance-mariadb-export.cfg.in deleted file mode 100644 index 9ee112de4dd377f4a58c2f0d524efc7d66dfa124..0000000000000000000000000000000000000000 --- a/software/resdemo/mariadb/instance-mariadb-export.cfg.in +++ /dev/null @@ -1,34 +0,0 @@ -[buildout] -extends = ${instance-mariadb:output} - ${pbsready-export:output} - -# Repeating parts from instance-mariadb. -parts += - urls - mariadb - stunnel - certificate-authority - ca-stunnel - logrotate - logrotate-entry-mariadb - logrotate-entry-stunnel - logrotate-entry-cron - cron - cron-entry-logrotate - slapmonitor - slapmonitor-xml - -# Define exporter strategy -[exporter] -recipe = slapos.cookbook:mydumper -wrapper = $${rootdirectory:bin}/$${slap-parameter:namebase}-exporter -backup-directory = $${directory:backup} -socket = $${mariadb:socket} -user = root -mydumper-binary = ${mydumper:location}/bin/mydumper -database = $${mariadb:database} -import = false - -# Extends publish section with resilient parameters -[urls] -<= resilient-publish-connection-parameter \ No newline at end of file diff --git a/software/resdemo/mariadb/instance-mariadb-import.cfg.in b/software/resdemo/mariadb/instance-mariadb-import.cfg.in deleted file mode 100644 index 4596f25ae7b7280262c171424610c311dcd0f3fd..0000000000000000000000000000000000000000 --- a/software/resdemo/mariadb/instance-mariadb-import.cfg.in +++ /dev/null @@ -1,13 +0,0 @@ -[buildout] -extends = ${instance-mariadb:output} - ${pbsready-import:output} - -[importer] -recipe = slapos.cookbook:mydumper -wrapper = $${rootdirectory:bin}/myloader -backup-directory = $${directory:backup} -socket = $${mariadb:socket} -user = root -myloader-binary = ${mydumper:location}/bin/myloader -database = $${mariadb:database} -import = true diff --git a/software/resdemo/mariadb/instance-mariadb.cfg.in b/software/resdemo/mariadb/instance-mariadb.cfg.in deleted file mode 100644 index a6944a1ba04710dfc267a60b87ddb0bd9c3b6dd9..0000000000000000000000000000000000000000 --- a/software/resdemo/mariadb/instance-mariadb.cfg.in +++ /dev/null @@ -1,259 +0,0 @@ -[buildout] -parts = - urls - mariadb - stunnel - certificate-authority - ca-stunnel - logrotate - logrotate-entry-mariadb - logrotate-entry-stunnel - logrotate-entry-cron - cron - cron-entry-logrotate - slapmonitor - slapmonitor-xml - -# Define egg directories to be the one from Software Release -# (/opt/slapgrid/...) -eggs-directory = ${buildout:eggs-directory} -develop-eggs-directory = ${buildout:develop-eggs-directory} -offline = true - - -#---------------- -#-- -#-- Creation of all needed directories. - -[rootdirectory] -recipe = slapos.cookbook:mkdirectory -etc = $${buildout:directory}/etc -var = $${buildout:directory}/var -srv = $${buildout:directory}/srv -bin = $${buildout:directory}/bin - -[basedirectory] -recipe = slapos.cookbook:mkdirectory -log = $${rootdirectory:var}/log -services = $${rootdirectory:etc}/service -run = $${rootdirectory:var}/run -script = $${rootdirectory:etc}/script -backup = $${rootdirectory:srv}/backup -promises = $${rootdirectory:etc}/promise - -[directory] -recipe = slapos.cookbook:mkdirectory -cron-entries = $${rootdirectory:etc}/cron.d -crontabs = $${rootdirectory:etc}/crontabs -cronstamps = $${rootdirectory:etc}/cronstamps -ca-dir = $${rootdirectory:srv}/ssl -mariadb-data = $${rootdirectory:srv}/mariadb -logrotate-entries = $${rootdirectory:etc}/logrotate.d -logrotate-backup = $${basedirectory:backup}/logrotate -report = $${rootdirectory:etc}/report -stunnel-conf = $${rootdirectory:etc}/stunnel -xml-report = $${rootdirectory:var}/xml_report - - -#---------------- -#-- -#-- Deploy cron. - -[cron] -recipe = slapos.cookbook:cron -dcrond-binary = ${dcron:location}/sbin/crond -cron-entries = $${directory:cron-entries} -crontabs = $${directory:crontabs} -cronstamps = $${directory:cronstamps} -catcher = $${cron-simplelogger:wrapper} -binary = $${basedirectory:services}/crond - -[cron-simplelogger] -recipe = slapos.cookbook:simplelogger -wrapper = $${rootdirectory:bin}/cron_simplelogger -log = $${basedirectory:log}/crond.log - - -#---------------- -#-- -#-- Deploy logrotate. - -[cron-entry-logrotate] -<= cron -recipe = slapos.cookbook:cron.d -name = logrotate -frequency = 0 0 * * * -command = $${logrotate:wrapper} - -[logrotate] -recipe = slapos.cookbook:logrotate -# Binaries -logrotate-binary = ${logrotate:location}/usr/sbin/logrotate -gzip-binary = ${gzip:location}/bin/gzip -gunzip-binary = ${gzip:location}/bin/gunzip -# Directories -wrapper = $${rootdirectory:bin}/logrotate -conf = $${rootdirectory:etc}/logrotate.conf -logrotate-entries = $${directory:logrotate-entries} -backup = $${directory:logrotate-backup} -state-file = $${rootdirectory:srv}/logrotate.status - -[logrotate-entry-mariadb] -<= logrotate -recipe = slapos.cookbook:logrotate.d -name = mariadb -log = $${mariadb:error-log} -frequency = daily -rotate-num = 30 -post = $${mariadb:logrotate-post} -sharedscripts = true -notifempty = true -create = true - -[logrotate-entry-stunnel] -<= logrotate -recipe = slapos.cookbook:logrotate.d -name = stunnel -log = $${stunnel:log-file} -frequency = daily -rotate-num = 30 -notifempty = true -create = true -post = $${stunnel:post-rotate-script} - -[logrotate-entry-cron] -<= logrotate -recipe =slapos.cookbook:logrotate.d -name = crond -log = $${cron-simplelogger:log} -frequency = daily -rotate-num = 30 -notifempty = true -create = true - -#---------------- -#-- -#-- Deploy stunnel. - -[stunnel] -recipe = slapos.cookbook:stunnel -stunnel-binary = ${stunnel:location}/bin/stunnel -wrapper = $${rootdirectory:bin}/stunnel -log-file = $${basedirectory:log}/stunnel.log -config-file = $${directory:stunnel-conf}/stunnel.conf -key-file = $${directory:stunnel-conf}/stunnel.key -cert-file = $${directory:stunnel-conf}/stunnel.crt -pid-file = $${basedirectory:run}/stunnel.pid -local-host = $${mariadb:ip} -local-port = $${mariadb:port} -remote-host = $${slap-network-information:global-ipv6} -remote-port = 6446 -client = false -post-rotate-script = $${rootdirectory:bin}/stunnel_post_rotate - - -#---------------- -#-- -#-- Certificate stuff. - -[certificate-authority] -recipe = slapos.cookbook:certificate_authority -openssl-binary = ${openssl:location}/bin/openssl -ca-dir = $${directory:ca-dir} -requests-directory = $${cadirectory:requests} -wrapper = $${basedirectory:services}/ca -ca-private = $${cadirectory:private} -ca-certs = $${cadirectory:certs} -ca-newcerts = $${cadirectory:newcerts} -ca-crl = $${cadirectory:crl} - -[cadirectory] -recipe = slapos.cookbook:mkdirectory -requests = $${directory:ca-dir}/requests/ -private = $${directory:ca-dir}/private/ -certs = $${directory:ca-dir}/certs/ -newcerts = $${directory:ca-dir}/newcerts/ -crl = $${directory:ca-dir}/crl/ - -[ca-stunnel] -<= certificate-authority -recipe = slapos.cookbook:certificate_authority.request -executable = $${stunnel:wrapper} -wrapper = $${basedirectory:services}/stunnel -key-file = $${stunnel:key-file} -cert-file = $${stunnel:cert-file} - - -#---------------- -#-- -#-- Creates a MariaDB configuration file, and a database. - -[mariadb] -recipe = slapos.cookbook:mysql - -# Options -recovering = false -user = user -password = $${mysql-password:passwd} -port = 33060 -ip = $${slap-network-information:local-ipv4} -database = db - -# Paths -wrapper = $${basedirectory:services}/mariadb -update-wrapper = $${basedirectory:services}/mariadb_update -logrotate-post = $${rootdirectory:bin}/mariadb_post_logrotate -data-directory = $${directory:mariadb-data} -pid-file = $${basedirectory:run}/mariadb.pid -socket = $${basedirectory:run}/mariadb.sock -error-log = $${basedirectory:log}/mariadb_error.log -conf-file = $${rootdirectory:etc}/mariadb.cnf -promise = $${basedirectory:promises}/mysql - -# Binary information -mysql-base-directory = ${mariadb:location} -mysql-binary = ${mariadb:location}/bin/mysql -mysql-install-binary = ${mariadb:location}/scripts/mysql_install_db -mysql-upgrade-binary = ${mariadb:location}/bin/mysql_upgrade -mysqld-binary = ${mariadb:location}/bin/mysqld - -[mysql-password] -recipe = slapos.cookbook:generate.password -storage-path = $${rootdirectory:etc}/.passwd -bytes = 4 - - -#---------------- -#-- -#-- Deploy slapmonitor. - -[slapmonitor] -recipe = slapos.cookbook:slapmonitor -pid-file = $${basedirectory:run}/mariadb.pid -database-path = $${basedirectory:log}/slapmonitor.db -slapmonitor-path = ${buildout:bin-directory}/slapmonitor -path = $${basedirectory:services}/slapmonitor - -[slapmonitor-xml] -recipe = slapos.cookbook:slapmonitor-xml -database-path = $${basedirectory:log}/slapmonitor.db -slapmonitor-xml-path = ${buildout:bin-directory}/slapmonitor-xml -path = $${directory:report}/slapmonitor-xml - - -#---------------- -#-- -#-- Publish instance parameters. - -[urls] -recipe = slapos.cookbook:publish -url = mysqls://$${mariadb:user}:$${mariadb:password}@[$${stunnel:remote-host}]:$${stunnel:remote-port}/$${mariadb:database} -ip = $${slap-network-information:global-ipv6} - - -[slap-parameter] -#Default value if no ssh parameters specified -logbox-ip = -logbox-port = -logbox-user = -logbox-passwd = diff --git a/software/resdemo/software.cfg b/software/resdemo/software.cfg index ebc620a75921fb7ac2bcaa90de4a2832e8873d22..2adf27894bde98ca6e4f7ee2ef171f127622ab50 100644 --- a/software/resdemo/software.cfg +++ b/software/resdemo/software.cfg @@ -2,18 +2,18 @@ extends = buildout.cfg -[application] -url = http://wordpress.org/wordpress-3.5.1.tar.gz -md5sum = 409889c98b13cbdbb9fd121df859ae3e +#[application] +#url = http://wordpress.org/wordpress-3.5.1.tar.gz +#md5sum = 409889c98b13cbdbb9fd121df859ae3e -[application-template] -recipe = slapos.recipe.download -url = ${:_profile_base_location_}/wp-config.php.in -md5sum = 0d62b28125ca3c780db0b547199953f2 -download-only = True -filename = template.in -mode = 0644 -location = ${buildout:parts-directory}/${:_buildout_section_name_} +#[application-template] +#recipe = slapos.recipe.download +#url = ${:_profile_base_location_}/wp-config.php.in +#md5sum = 0d62b28125ca3c780db0b547199953f2 +#download-only = True +#filename = template.in +#mode = 0644 +#location = ${buildout:parts-directory}/${:_buildout_section_name_} -[application-configuration] -location = wp-config.php +#[application-configuration] +#location = wp-config.php diff --git a/software/resdemo/wp-config.php.in b/software/resdemo/wp-config.php.in deleted file mode 100644 index 69b10723b3980b86ca5892ca12542e810281efd8..0000000000000000000000000000000000000000 --- a/software/resdemo/wp-config.php.in +++ /dev/null @@ -1,92 +0,0 @@ -<?php -/** - * The base configurations of the WordPress. - * - * This file has the following configurations: MySQL settings, Table Prefix, - * Secret Keys, WordPress Language, and ABSPATH. You can find more information - * by visiting {@link http://codex.wordpress.org/Editing_wp-config.php Editing - * wp-config.php} Codex page. You can get the MySQL settings from your web host. - * - * This file is used by the wp-config.php creation script during the - * installation. You don't have to use the web site, you can just copy this file - * to "wp-config.php" and fill in the values. - * - * @package WordPress - */ - -// ** MySQL settings - You can get this info from your web host ** // -/** The name of the database for WordPress */ -define('DB_NAME', '%(mysql_database)s'); - -/** MySQL database username */ -define('DB_USER', '%(mysql_user)s'); - -/** MySQL database password */ -define('DB_PASSWORD', '%(mysql_password)s'); - -/** MySQL hostname */ -define('DB_HOST', '%(mysql_host)s'); - -/** Database Charset to use in creating database tables. */ -define('DB_CHARSET', 'utf8'); - -/** The Database Collate type. Don't change this if in doubt. */ -define('DB_COLLATE', ''); - -/**#@+ - * Authentication Unique Keys and Salts. - * - * Change these to different unique phrases! - * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service} - * You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again. - * - * @since 2.6.0 - */ -define('AUTH_KEY', '%(secret_key)s'); -define('SECURE_AUTH_KEY', '%(secret_key)s'); -define('LOGGED_IN_KEY', '%(secret_key)s'); -define('NONCE_KEY', '%(secret_key)s'); -define('AUTH_SALT', '%(secret_key)s'); -define('SECURE_AUTH_SALT', '%(secret_key)s'); -define('LOGGED_IN_SALT', '%(secret_key)s'); -define('NONCE_SALT', '%(secret_key)s'); - -/**#@-*/ - -/** - * WordPress Database Table prefix. - * - * You can have multiple installations in one database if you give each a unique - * prefix. Only numbers, letters, and underscores please! - */ -$table_prefix = 'wp_'; - -/** - * WordPress Localized Language, defaults to English. - * - * Change this to localize WordPress. A corresponding MO file for the chosen - * language must be installed to wp-content/languages. For example, install - * de_DE.mo to wp-content/languages and set WPLANG to 'de_DE' to enable German - * language support. - */ -define('WPLANG', ''); - -/** - * For developers: WordPress debugging mode. - * - * Change this to true to enable the display of notices during development. - * It is strongly recommended that plugin and theme developers use WP_DEBUG - * in their development environments. - */ -define('WP_DEBUG', false); - -/* That's all, stop editing! Happy blogging. */ - -/** Absolute path to the WordPress directory. */ -if ( !defined('ABSPATH') ) - define('ABSPATH', dirname(__FILE__) . '/'); - -/** Sets up WordPress vars and included files. */ -require_once(ABSPATH . 'wp-settings.php'); - -remove_action( 'template_redirect', 'redirect_canonical' ); \ No newline at end of file