Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
moodle_rebase10.1.2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dmitry Blinov
moodle_rebase10.1.2
Commits
d75a24be
Commit
d75a24be
authored
Oct 27, 2020
by
Łukasz Nowak
Browse files
Options
Browse Files
Download
Plain Diff
Fix Caddy Frontend Scalability 202010
See merge request
nexedi/slapos!844
parents
b04a4fdf
c8dcff3c
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
18 additions
and
32 deletions
+18
-32
software/caddy-frontend/buildout.hash.cfg
software/caddy-frontend/buildout.hash.cfg
+2
-6
software/caddy-frontend/instance-apache-replicate.cfg.in
software/caddy-frontend/instance-apache-replicate.cfg.in
+4
-3
software/caddy-frontend/software.cfg
software/caddy-frontend/software.cfg
+0
-7
software/caddy-frontend/templates/apache-custom-slave-list.cfg.in
.../caddy-frontend/templates/apache-custom-slave-list.cfg.in
+12
-12
software/caddy-frontend/templates/caddy-backend-url-validator.in
...e/caddy-frontend/templates/caddy-backend-url-validator.in
+0
-4
No files found.
software/caddy-frontend/buildout.hash.cfg
View file @
d75a24be
...
@@ -26,11 +26,11 @@ md5sum = e7d7e1448b6420657e953026573311ca
...
@@ -26,11 +26,11 @@ md5sum = e7d7e1448b6420657e953026573311ca
[profile-caddy-replicate]
[profile-caddy-replicate]
filename = instance-apache-replicate.cfg.in
filename = instance-apache-replicate.cfg.in
md5sum =
59f3a67999f5fb3e595486e2b801af08
md5sum =
b70f9ce80dd927ead51b4526997b75ed
[profile-slave-list]
[profile-slave-list]
_update_hash_filename_ = templates/apache-custom-slave-list.cfg.in
_update_hash_filename_ = templates/apache-custom-slave-list.cfg.in
md5sum =
64d57678c12f539247fe2532c5b8d6b8
md5sum =
ab143bfa2e20725aa35940c9033fa0ee
[profile-replicate-publish-slave-information]
[profile-replicate-publish-slave-information]
_update_hash_filename_ = templates/replicate-publish-slave-information.cfg.in
_update_hash_filename_ = templates/replicate-publish-slave-information.cfg.in
...
@@ -40,10 +40,6 @@ md5sum = de268251dafa5ad83ebf5b20636365d9
...
@@ -40,10 +40,6 @@ md5sum = de268251dafa5ad83ebf5b20636365d9
_update_hash_filename_ = templates/Caddyfile.in
_update_hash_filename_ = templates/Caddyfile.in
md5sum = 2503056e35463e045db3329bb8b6fae8
md5sum = 2503056e35463e045db3329bb8b6fae8
[caddy-backend-url-validator]
filename = templates/caddy-backend-url-validator.in
md5sum = 0979a03476e86bf038516c9565dadc17
[template-not-found-html]
[template-not-found-html]
_update_hash_filename_ = templates/notfound.html
_update_hash_filename_ = templates/notfound.html
md5sum = 88af61e7abbf30dc99a1a2526161128d
md5sum = 88af61e7abbf30dc99a1a2526161128d
...
...
software/caddy-frontend/instance-apache-replicate.cfg.in
View file @
d75a24be
...
@@ -164,7 +164,7 @@ context =
...
@@ -164,7 +164,7 @@ context =
{% for url_key in ['url', 'https-url'] %}
{% for url_key in ['url', 'https-url'] %}
{% if url_key in slave %}
{% if url_key in slave %}
{% set url = (slave[url_key] or '').strip() %}
{% set url = (slave[url_key] or '').strip() %}
{% if
subprocess_module.call([software_parameter_dict['caddy_backend_url_validator'], url]) == 1 or
not validators.url(url) %}
{% if not validators.url(url) %}
{% do slave_error_list.append('slave %s %r invalid' % (url_key, url)) %}
{% do slave_error_list.append('slave %s %r invalid' % (url_key, url)) %}
{% elif url != slave[url_key] %}
{% elif url != slave[url_key] %}
{% do slave_warning_list.append('slave %s %r has been converted to %r' % (url_key, slave[url_key], url)) %}
{% do slave_warning_list.append('slave %s %r has been converted to %r' % (url_key, slave[url_key], url)) %}
...
@@ -769,8 +769,9 @@ recipe = plone.recipe.command
...
@@ -769,8 +769,9 @@ recipe = plone.recipe.command
{#- Can be stopped on error, as does not rely on self provided service #}
{#- Can be stopped on error, as does not rely on self provided service #}
stop-on-error = True
stop-on-error = True
file = ${directory:var}/nginx-rejected.htpasswd
file = ${directory:var}/nginx-rejected.htpasswd
command = {{ software_parameter_dict['htpasswd'] }} -cb ${:file} ${rejected-slave-password:user} ${rejected-slave-password:passwd}
{#- update-command is not needed, as if the ${:password} would change, the whole part will be recalculated #}
update-command = ${:command}
password = ${rejected-slave-password:passwd}
command = {{ software_parameter_dict['htpasswd'] }} -cb ${:file} ${rejected-slave-password:user} ${:password}
[rejected-slave-template]
[rejected-slave-template]
recipe = slapos.recipe.template:jinja2
recipe = slapos.recipe.template:jinja2
...
...
software/caddy-frontend/software.cfg
View file @
d75a24be
...
@@ -115,7 +115,6 @@ template_trafficserver_records_config = ${template-trafficserver-records-config:
...
@@ -115,7 +115,6 @@ template_trafficserver_records_config = ${template-trafficserver-records-config:
template_trafficserver_storage_config = ${template-trafficserver-storage-config:target}
template_trafficserver_storage_config = ${template-trafficserver-storage-config:target}
template_validate_script = ${template-validate-script:target}
template_validate_script = ${template-validate-script:target}
template_wrapper = ${template-wrapper:output}
template_wrapper = ${template-wrapper:output}
caddy_backend_url_validator = ${caddy-backend-url-validator:output}
# directories
# directories
bin_directory = ${buildout:bin-directory}
bin_directory = ${buildout:bin-directory}
...
@@ -154,12 +153,6 @@ recipe = slapos.recipe.build:download
...
@@ -154,12 +153,6 @@ recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-apache-frontend.cfg.in
url = ${:_profile_base_location_}/instance-apache-frontend.cfg.in
mode = 0644
mode = 0644
[caddy-backend-url-validator]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:directory}/caddy-backend-url-validator
mode = 0750
[profile-caddy-replicate]
[profile-caddy-replicate]
recipe = slapos.recipe.build:download
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/instance-apache-replicate.cfg.in
url = ${:_profile_base_location_}/instance-apache-replicate.cfg.in
...
...
software/caddy-frontend/templates/apache-custom-slave-list.cfg.in
View file @
d75a24be
...
@@ -95,12 +95,13 @@ context =
...
@@ -95,12 +95,13 @@ context =
{%- set slave_publish_dict = {} %}
{%- set slave_publish_dict = {} %}
{%- set slave_configuration_section_name = 'slave-instance-%s-configuration' % slave_reference %}
{%- set slave_configuration_section_name = 'slave-instance-%s-configuration' % slave_reference %}
{%- set slave_logrotate_section = slave_reference + "-logs" %}
{%- set slave_logrotate_section = slave_reference + "-logs" %}
{%- set slave_log_directory_section = slave_reference + "-log-directory" %}
{%- set slave_password_section = slave_reference + "-password" %}
{%- set slave_password_section = slave_reference + "-password" %}
{%- set slave_htpasswd_section = slave_reference + "-htpasswd" %}
{%- set slave_htpasswd_section = slave_reference + "-htpasswd" %}
{%- set slave_ln_section = slave_reference + "-ln" %}
{%- set slave_ln_section = slave_reference + "-ln" %}
{#- extend parts #}
{#- extend parts #}
{%- do part_list.extend([slave_ln_section]) %}
{%- do part_list.extend([slave_ln_section]) %}
{%- do part_list.extend([slave_
logrotate_section, slave_
section_title]) %}
{%- do part_list.extend([slave_section_title]) %}
{%- set slave_log_folder = '${logrotate-directory:logrotate-backup}/' + slave_reference + "-logs" %}
{%- set slave_log_folder = '${logrotate-directory:logrotate-backup}/' + slave_reference + "-logs" %}
{#- Pass HTTP2 switch #}
{#- Pass HTTP2 switch #}
{%- do slave_instance.__setitem__('enable_http2_by_default', configuration['enable-http2-by-default']) %}
{%- do slave_instance.__setitem__('enable_http2_by_default', configuration['enable-http2-by-default']) %}
...
@@ -151,11 +152,15 @@ context =
...
@@ -151,11 +152,15 @@ context =
{{ slave_reference }} = {{ '${' + slave_htpasswd_section + ':file}' }}
{{ slave_reference }} = {{ '${' + slave_htpasswd_section + ':file}' }}
{#- Set slave logrotate entry #}
{#- Set slave logrotate entry #}
[{{slave_log_directory_section}}]
recipe = slapos.cookbook:mkdirectory
log-directory = {{ '${slave-log-directory-dict:' + slave_reference.lower() + '}' }}
[{{slave_logrotate_section}}]
[{{slave_logrotate_section}}]
<= logrotate-entry-base
<= logrotate-entry-base
name = ${:_buildout_section_name_}
name = ${:_buildout_section_name_}
log = {{slave_parameter_dict.get('access_log')}} {{slave_parameter_dict.get('error_log')}} {{slave_parameter_dict.get('backend_log')}}
log = {{slave_parameter_dict.get('access_log')}} {{slave_parameter_dict.get('error_log')}} {{slave_parameter_dict.get('backend_log')}}
backup = {{
slave_log_folder
}}
backup = {{
'${' + slave_log_directory_section + ':log-directory}'
}}
rotate-num = {{ dumps('' ~ configuration['rotate-num']) }}
rotate-num = {{ dumps('' ~ configuration['rotate-num']) }}
# disable delayed compression, as log filenames shall be stable
# disable delayed compression, as log filenames shall be stable
delaycompress =
delaycompress =
...
@@ -165,8 +170,8 @@ delaycompress =
...
@@ -165,8 +170,8 @@ delaycompress =
[{{slave_ln_section}}]
[{{slave_ln_section}}]
recipe = plone.recipe.command
recipe = plone.recipe.command
stop-on-error = false
stop-on-error = false
update-command = ${:command
}
log-directory = {{ '${' + slave_logrotate_section + ':backup}' }
}
command = ln -sf {{slave_parameter_dict.get('error_log')}}
{{ slave_log_folder }}/error.log && ln -sf {{slave_parameter_dict.get('access_log')}} {{ slave_log_folder }}/access.log && ln -sf {{slave_parameter_dict.get('backend_log')}} {{ slave_log_folder }
}/backend.log
command = ln -sf {{slave_parameter_dict.get('error_log')}}
${:log-directory}/error.log && ln -sf {{slave_parameter_dict.get('access_log')}} ${:log-directory}/access.log && ln -sf {{slave_parameter_dict.get('backend_log')}} ${:log-directory
}/backend.log
{#- Set password for slave #}
{#- Set password for slave #}
...
@@ -180,8 +185,9 @@ recipe = plone.recipe.command
...
@@ -180,8 +185,9 @@ recipe = plone.recipe.command
{#- Can be stopped on error, as does not rely on self provided service #}
{#- Can be stopped on error, as does not rely on self provided service #}
stop-on-error = True
stop-on-error = True
file = {{ caddy_configuration_directory }}/.{{ slave_reference }}.htpasswd
file = {{ caddy_configuration_directory }}/.{{ slave_reference }}.htpasswd
command = {{ software_parameter_dict['htpasswd'] }} -cb ${:file} {{ slave_reference.lower() }} {{ '${' + slave_password_section + ':passwd}' }}
{#- update-command is not needed, as if the ${:password} would change, the whole part will be recalculated #}
update-command = ${:command}
password = {{ '${' + slave_password_section + ':passwd}' }}
command = {{ software_parameter_dict['htpasswd'] }} -cb ${:file} {{ slave_reference.lower() }} ${:password}
{#- ################################################## #}
{#- ################################################## #}
{#- Set Slave Certificates if needed #}
{#- Set Slave Certificates if needed #}
...
@@ -301,12 +307,6 @@ recipe = slapos.cookbook:publish
...
@@ -301,12 +307,6 @@ recipe = slapos.cookbook:publish
{%- endif %}
{%- endif %}
{%- endfor %} {# Slave iteration ends for slave_instance in slave_instance_list #}
{%- endfor %} {# Slave iteration ends for slave_instance in slave_instance_list #}
[slave-log-directories]
<= slave-log-directory-dict
recipe = slapos.cookbook:mkdirectory
{%- do part_list.append('slave-log-directories') %}
{%- do part_list.append('caddy-log-access') %}
{%- do part_list.append('caddy-log-access') %}
{%- do part_list.append('slave-introspection') %}
{%- do part_list.append('slave-introspection') %}
{#- ############################################## #}
{#- ############################################## #}
...
...
software/caddy-frontend/templates/caddy-backend-url-validator.in
deleted
100644 → 0
View file @
b04a4fdf
#!${dash:location}/bin/dash
config="https://example.com {\n proxy / $1 {\n }\n}"
echo -e $config | ${caddy:output} -conf stdin -validate > /dev/null 2>&1
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment