Commit 3d9319e7 authored by Marco Mariani's avatar Marco Mariani

resdemo: minimal relient profile

parent 09ae5919
...@@ -11,23 +11,21 @@ extends = {{templateapache}} ...@@ -11,23 +11,21 @@ extends = {{templateapache}}
{{templatepbsreadyexport}} {{templatepbsreadyexport}}
parts += parts +=
{{ parts.replicate("mariadb", "3") }}
# Repeating parts from instance-apache-php.
# XXX-Cedric: how to simplify this?
certificate-authority certificate-authority
ca-stunnel
logrotate logrotate
logrotate-entry-apache
logrotate-entry-stunnel
cron cron
cron-entry-logrotate
promise
frontend-promise
content-promise
publish-connection-informations 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 # Nothing to do for the exporter. This wrapper is intended
# to produce the "dump" files that have to be backed up. # to produce the "dump" files that have to be backed up.
...@@ -51,8 +49,3 @@ path = ${directory:www} ...@@ -51,8 +49,3 @@ path = ${directory:www}
# parameters of the requested instance. Requirement: aggregated publish. # parameters of the requested instance. Requirement: aggregated publish.
<= resilient-publish-connection-parameter <= 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
[buildout] [buildout]
extends = ${custom-application-deployment:path} #extends = ${custom-application-deployment:path}
parts = parts =
certificate-authority certificate-authority
ca-stunnel
logrotate logrotate
logrotate-entry-apache
logrotate-entry-stunnel
cron cron
cron-entry-logrotate cron-entry-logrotate
promise
frontend-promise
content-promise
publish-connection-informations
${custom-application-deployment:part-list}
eggs-directory = ${buildout:eggs-directory} eggs-directory = ${buildout:eggs-directory}
...@@ -87,6 +80,7 @@ wrapper = $${rootdirectory:bin}/cron_simplelogger ...@@ -87,6 +80,7 @@ wrapper = $${rootdirectory:bin}/cron_simplelogger
log = $${basedirectory:log}/crond.log log = $${basedirectory:log}/crond.log
#---------------- #----------------
#-- #--
#-- Deploy logrotate. #-- Deploy logrotate.
...@@ -112,38 +106,6 @@ backup = $${directory:logrotate-backup} ...@@ -112,38 +106,6 @@ backup = $${directory:logrotate-backup}
state-file = $${rootdirectory:srv}/logrotate.status 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. #-- Certificate stuff.
...@@ -168,155 +130,5 @@ key-file = $${stunnel:key-file} ...@@ -168,155 +130,5 @@ key-file = $${stunnel:key-file}
cert-file = $${stunnel:cert-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 =
...@@ -3,31 +3,28 @@ ...@@ -3,31 +3,28 @@
ignore-existing = true ignore-existing = true
parts = parts =
git
slapos-cookbook slapos-cookbook
apache-php slapos.cookbook-repository
mariadb slapos.toolbox-repository
mydumper
mysql-python
rdiff-backup rdiff-backup
dropbear dropbear
eggs eggs
instance instance
instance-apache-php 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 #Contains the importer and exporter recipes for apache
instance-apache-import instance-apache-import
instance-apache-export instance-apache-export
develop =
${:parts-directory}/slapos.cookbook-repository
${:parts-directory}/slapos.toolbox-repository
extends = extends =
../../component/apache-php/buildout.cfg
../../component/apache/buildout.cfg
../../component/curl/buildout.cfg ../../component/curl/buildout.cfg
../../component/dash/buildout.cfg ../../component/dash/buildout.cfg
../../component/dcron/buildout.cfg ../../component/dcron/buildout.cfg
...@@ -37,21 +34,29 @@ extends = ...@@ -37,21 +34,29 @@ extends =
../../component/gzip/buildout.cfg ../../component/gzip/buildout.cfg
../../component/logrotate/buildout.cfg ../../component/logrotate/buildout.cfg
../../component/lxml-python/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/rdiff-backup/buildout.cfg
../../component/sqlite3/buildout.cfg ../../component/sqlite3/buildout.cfg
../../component/stunnel/buildout.cfg
../../component/zlib/buildout.cfg ../../component/zlib/buildout.cfg
../../stack/resilient/buildout.cfg ../../stack/resilient/buildout.cfg
../../stack/slapos.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] [application]
recipe = hexagonit.recipe.download recipe = hexagonit.recipe.download
...@@ -66,14 +71,14 @@ strip-top-level-dir = true ...@@ -66,14 +71,14 @@ strip-top-level-dir = true
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg.in url = ${:_profile_base_location_}/instance.cfg.in
output = ${buildout:directory}/instance.cfg output = ${buildout:directory}/instance.cfg
md5sum = 650cd2527158734fd6ccd9ec374b5e69 md5sum = 7c43cd86aace6a0df1375ae1f68c2fb6
mode = 0644 mode = 0644
[instance-apache-php] [instance-apache-php]
recipe = slapos.recipe.template recipe = slapos.recipe.template
url = ${:_profile_base_location_}/apache/instance-apache-php.cfg.in url = ${:_profile_base_location_}/apache/instance-apache-php.cfg.in
output = ${buildout:directory}/instance-apache-php.cfg output = ${buildout:directory}/instance-apache-php.cfg
md5sum = 3e2d71d3684aac3e52d2f55794df96bf md5sum = a878630d4aca0815144541c2ed26af66
mode = 0644 mode = 0644
[instance-apache-import] [instance-apache-import]
...@@ -94,7 +99,7 @@ context = key templateapache instance-apache-php:output ...@@ -94,7 +99,7 @@ context = key templateapache instance-apache-php:output
import-list = file parts template-parts:destination import-list = file parts template-parts:destination
file replicated template-replicated:destination file replicated template-replicated:destination
md5sum = 24c5d0db063e5343a3cb0db9d5fbc738 md5sum = 0df9f940fcdb50d9697a9e59cdee566c
mode = 0644 mode = 0644
[instance-resilient] [instance-resilient]
...@@ -109,43 +114,9 @@ context = key buildout buildout:bin-directory ...@@ -109,43 +114,9 @@ context = key buildout buildout:bin-directory
import-list = file parts template-parts:destination import-list = file parts template-parts:destination
file replicated template-replicated:destination file replicated template-replicated:destination
md5sum = f6dc9290194ad1fbe1ced553f5668922 md5sum = e8ad60d4b62c754c5d6730fbf9a64f00
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
mode = 0644 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 #-- Dummy parts in case no application configuration file is needed
...@@ -311,87 +282,90 @@ signature-certificate-list = ...@@ -311,87 +282,90 @@ signature-certificate-list =
[versions] [versions]
Jinja2 = 2.6 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.recipe.template = 2.4.2
slapos.toolbox = 0.34.0 slapos.cookbook =
smmap = 0.8.2 slapos.toolbox =
# Required by: #MySQL-python = 1.2.4
# slapos.core==0.35.1 #Werkzeug = 0.8.3
# slapos.toolbox==0.34.0 #apache-libcloud = 0.12.3
Flask = 0.9 #async = 0.6.1
#buildout-versions = 1.7
# Required by: #gitdb = 0.5.4
# slapos.toolbox==0.34.0 #hexagonit.recipe.cmmi = 1.6
GitPython = 0.3.2.RC1 #inotifyx = 0.2.0-1
#lxml = 3.1.1
# Required by: #meld3 = 0.6.10
# slapos.toolbox==0.34.0 #netaddr = 0.7.10
atomize = 0.1.1 #pycrypto = 2.6
#pytz = 2013b
# Required by: #rdiff-backup = 1.0.5
# slapos.toolbox==0.34.0 #slapos.cookbook = 0.78.0
feedparser = 5.1.3 #slapos.recipe.build = 0.11.6
#slapos.recipe.download = 1.0.dev-r4053
# Required by: #slapos.toolbox = 0.34.0
# slapos.core==0.35.1 #smmap = 0.8.2
netifaces = 0.8-1 #
## Required by:
# Required by: ## slapos.core==0.35.1
# slapos.toolbox==0.34.0 ## slapos.toolbox==0.34.0
paramiko = 1.10.0 #Flask = 0.9
#
# Required by: ## Required by:
# slapos.toolbox==0.34.0 ## slapos.toolbox==0.34.0
psutil = 0.6.2 #GitPython = 0.3.2.RC1
#
# Required by: ## Required by:
# slapos.core==0.35.1 ## slapos.toolbox==0.34.0
pyflakes = 0.6.1 #atomize = 0.1.1
#
# Required by: ## Required by:
# hexagonit.recipe.download==1.6nxd002 ## slapos.toolbox==0.34.0
# slapos.cookbook==0.78.0 #feedparser = 5.1.3
# slapos.core==0.35.1 #
# slapos.toolbox==0.34.0 ## Required by:
# supervisor==3.0b1 ## slapos.core==0.35.1
# zc.buildout==1.6.0-dev-SlapOS-010 #netifaces = 0.8-1
# zope.interface==4.0.5 #
setuptools = 0.6c12dev-r88846 ## Required by:
## slapos.toolbox==0.34.0
# Required by: #paramiko = 1.10.0
# slapos.toolbox==0.34.0 #
slapos.core = 0.35.1 ## Required by:
## slapos.toolbox==0.34.0
# Required by: #psutil = 0.6.2
# slapos.core==0.35.1 #
supervisor = 3.0b1 ## Required by:
## slapos.core==0.35.1
# Required by: #pyflakes = 0.6.1
# slapos.core==0.35.1 #
unittest2 = 0.5.1 ## Required by:
## hexagonit.recipe.download==1.6nxd002
# Required by: ## slapos.cookbook==0.78.0
# slapos.toolbox==0.34.0 ## slapos.core==0.35.1
xml-marshaller = 0.9.7 ## slapos.toolbox==0.34.0
## supervisor==3.0b1
# Required by: ## zc.buildout==1.6.0-dev-SlapOS-010
# slapos.core==0.35.1 ## zope.interface==4.0.5
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
...@@ -17,31 +17,16 @@ parts += ...@@ -17,31 +17,16 @@ parts +=
# Bubble up the parameters # Bubble up the parameters
[request-apache] [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 # 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 = domain number authorized-key notify ip-list namebase
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 = ${slap-parameter:domain} config-domain = ${slap-parameter:domain}
[publish-connection-informations] [publish-connection-informations]
recipe = slapos.cookbook:publish recipe = slapos.cookbook:publish
backend_url = ${request-apache:connection-backend_url} #backend_url = ${request-apache:connection-backend_url}
url = ${request-apache:connection-url} #url = ${request-apache:connection-url}
[slap-parameter] [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. # XXX-Cedric: Hardcoded parameters. Should be dynamically generated.
domain = domain =
...@@ -11,9 +11,6 @@ offline = true ...@@ -11,9 +11,6 @@ offline = true
recipe = slapos.cookbook:softwaretype recipe = slapos.cookbook:softwaretype
default = ${instance-apache-php:output} default = ${instance-apache-php:output}
resilient = ${instance-resilient:rendered} 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-import = ${instance-apache-import:output}
apache-export = ${instance-apache-export:rendered} apache-export = ${instance-apache-export:rendered}
......
[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
[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
[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 =
...@@ -2,18 +2,18 @@ ...@@ -2,18 +2,18 @@
extends = extends =
buildout.cfg buildout.cfg
[application] #[application]
url = http://wordpress.org/wordpress-3.5.1.tar.gz #url = http://wordpress.org/wordpress-3.5.1.tar.gz
md5sum = 409889c98b13cbdbb9fd121df859ae3e #md5sum = 409889c98b13cbdbb9fd121df859ae3e
[application-template] #[application-template]
recipe = slapos.recipe.download #recipe = slapos.recipe.download
url = ${:_profile_base_location_}/wp-config.php.in #url = ${:_profile_base_location_}/wp-config.php.in
md5sum = 0d62b28125ca3c780db0b547199953f2 #md5sum = 0d62b28125ca3c780db0b547199953f2
download-only = True #download-only = True
filename = template.in #filename = template.in
mode = 0644 #mode = 0644
location = ${buildout:parts-directory}/${:_buildout_section_name_} #location = ${buildout:parts-directory}/${:_buildout_section_name_}
[application-configuration] #[application-configuration]
location = wp-config.php #location = wp-config.php
<?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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment