Commit 7865ba89 authored by Alain Takoudjou's avatar Alain Takoudjou

stack/lamp: make the stack more configurable

parent e3a2eb2e
......@@ -82,4 +82,7 @@ LoadModule rewrite_module modules/mod_rewrite.so
LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so
LoadModule php_module modules/libphp.so
LoadModule php{{ '_module modules/libphp' if parameter_dict['enable-php8'] else '7_module modules/libphp7' }}.so
{% for module in parameter_dict['php-module-list'].split('\n') -%}
LoadModule {{ module.strip() }}
{% endfor -%}
......@@ -64,6 +64,8 @@ part-list =
# database information
db-name = lamp
db-user = lamp
# Publish default lamp slave frontend url
default-frontend = True
#----------------
#-- Instance-level buildout profiles.
......@@ -115,6 +117,7 @@ context =
key custom_application_template custom-application-deployment:path
key db_name custom-application-deployment:db-name
key db_user custom-application-deployment:db-user
key default_frontend custom-application-deployment:default-frontend
key lamp_apache_httpd template-apache-httpd:target
[instance-apache-php]
......
......@@ -14,19 +14,19 @@
# not need these here).
[lamp-instance]
filename = instance.cfg.in
md5sum = 5b0d577a3105d9dceff8bec95a37a411
md5sum = 0fa7f628756b7ba10b651fe5549def89
[instance-apache-php]
filename = instance-apache-php.cfg.in
md5sum = 0ddf9b4615d330813d87ac1d1a6f6cee
md5sum = dc50394f5ae5642551cda266e3597a16
[instance-lamp]
filename = instance-lamp.cfg.jinja2.in
md5sum = 347ddf1516bf2ddb5f6fb23539382847
md5sum = de1f450a80547d12334b712016138078
[template-apache.conf]
filename = apache.conf.in
md5sum = e49410f0a4bf28993a56bb28aff0a6f0
md5sum = fe63dd5039428f4ee451bef98ccfaa2e
[template-php.ini]
filename = php.ini.in
......
......@@ -154,7 +154,7 @@ context =
[apache-php-conf]
recipe = slapos.recipe.template:jinja2
url = {{ parameter_dict['template-apache-conf'] }}
output = ${directory:etc}/apache.confgraceful
output = ${directory:etc}/apache.conf
context =
section parameter_dict apache-php-configuration
extensions = jinja2.ext.do
......@@ -233,6 +233,27 @@ command-line = ${instance-parameter:php-bin} -c ${php.ini-conf:output}
<= monitor-publish
recipe = slapos.cookbook:publish.serialised
backend-url = ${apache-php-configuration:url}
{% if parameter_dict['publish-frontend'] -%}
url = ${lamp-frontend-promise:url}
{% endif -%}
[request-frontend]
<= slap-connection
recipe = slapos.cookbook:requestoptional
name = Instance 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
shared = true
config-url = ${apache-php-configuration:url}
config-https-only = true
return = domain secure_access
[lamp-frontend-promise]
<= monitor-promise-base
promise = check_url_available
name = lamp-http-frontend.py
url = ${request-frontend:connection-secure_access}
config-url = ${:url}
#----------------
......
......@@ -30,11 +30,13 @@ config-{{ key }} = {{ dumps(value) }}
config-monitor-passwd = ${monitor-instance-parameter:password}
config-database-list = ${request-mariadb:connection-database-list}
return =
url
backend-url
monitor-base-url
{% do part_list.append('request-apache') -%}
{% do publish_dict.__setitem__('backend-url', '${request-apache:connection-backend-url}') -%}
{% do publish_dict.__setitem__('url', '${request-apache:connection-url}') -%}
{% do monitor_base_url_dict.__setitem__('apache', '${request-apache:connection-monitor-base-url}') -%}
[request-mariadb]
......@@ -59,27 +61,6 @@ return =
{% do publish_dict.__setitem__('mariadb-url-list', '${request-mariadb:connection-database-list}') -%}
{% do monitor_base_url_dict.__setitem__('mariadb', '${request-mariadb:connection-monitor-base-url}') -%}
[request-frontend]
<= slap-connection
recipe = slapos.cookbook:requestoptional
name = Instance 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
shared = true
config-url = ${request-apache:connection-backend-url}
config-https-only = true
return = domain secure_access
[lamp-frontend-promise]
<= monitor-promise-base
promise = check_url_available
name = lamp-http-frontend.py
url = ${request-frontend:connection-secure_access}
config-url = ${:url}
config-custom-domain = {{ slapparameter_dict.get('custom-domain', '') }}
{% do publish_dict.__setitem__('url', '${lamp-frontend-promise:url}') -%}
[publish-early]
recipe = slapos.cookbook:publish-early
-init =
......
......@@ -68,6 +68,7 @@ template-apache-conf = {{ template_apache_conf }}
apache-location = {{ apache_location }}
apache-php-location = {{ apache_php_location }}
template-php-ini = {{ template_php_ini }}
publish-frontend = !py!{{ default_frontend }}
# XXX no failure if `custom_application_template` is empty
[application-parameters]
......
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