Skip to content

Commit e0f5faf

Browse files
authored
Merge branch 'master' into patch-1
2 parents 47a7ccf + efd12d7 commit e0f5faf

86 files changed

Lines changed: 1753 additions & 1028 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@ pub
77
.ssh
88
.vscode
99
*.css.map
10+
*.br
1011
deployment-report.json
1112
build/

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
## Generating new docs
44

55
```bash
6-
DOC_URL=https://support.hypernode.com/en/ecommerce/magento-1/how-to-enable-mysql-query-logging-for-magento-1-x
6+
DOC_URL=https://docs.hypernode.com/en/ecommerce/magento-1/how-to-enable-mysql-query-logging-for-magento-1-x
77
bin/download_doc --output-dir=docs/ecommerce-applications $DOC_URL
88
```
99

deploy.php

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,7 @@
44

55
namespace Hypernode\DeployConfiguration;
66

7-
use function Deployer\after;
8-
use function Deployer\run;
9-
use function Deployer\task;
10-
use function Deployer\test;
7+
use function Deployer\{run, task, test, within, set};
118

129
$DOCKER_HOST = '172.17.0.2';
1310
$DOCKER_WEBROOT = sprintf('/data/web/apps/%s/current/pub', $DOCKER_HOST);
@@ -43,7 +40,7 @@
4340

4441
# Build the documentation
4542
task('python:build_documentation', static function () {
46-
run('source .venv/bin/activate && bin/build_docs');
43+
run('.venv/bin/sphinx-build -b html docs docs/_build/html');
4744
run('ln -sf docs/_build/html pub');
4845
});
4946

@@ -74,12 +71,29 @@
7471
run('cp {{release_path}}/etc/nginx/server.redirects.conf /data/web/nginx/server.redirects.conf');
7572
});
7673

74+
// This will pre-compress files using brotli compression so we can serve them directly from nginx
75+
// without needing to compress them on-the-fly.
76+
task('build:compress:brotli', function () {
77+
set('brotli_compression_level', 11);
78+
79+
run('apt update && apt install brotli -y');
80+
within('{{release_or_current_path}}/docs/_build/html', function () {
81+
run('find . -name "*.html" -type f -exec brotli -f -q {{brotli_compression_level}} {} \\;');
82+
run('find . -name "*.css" -type f -exec brotli -f -q {{brotli_compression_level}} {} \\;');
83+
run('find . -name "*.js" -type f -exec brotli -f -q {{brotli_compression_level}} {} \\;');
84+
run('find . -name "*.svg" -type f -exec brotli -f -q {{brotli_compression_level}} {} \\;');
85+
run('find . -name "*.png" -type f -exec brotli -f -q {{brotli_compression_level}} {} \\;');
86+
run('find . -name "*.jpg" -type f -exec brotli -f -q {{brotli_compression_level}} {} \\;');
87+
});
88+
});
89+
7790
$configuration = new Configuration();
7891
$configuration->addBuildTask('node:build:scss');
7992
$configuration->addBuildTask('python:venv:create');
8093
$configuration->addBuildTask('python:venv:requirements');
8194
$configuration->addBuildTask('python:build_documentation');
8295
$configuration->addBuildTask('python:generate_redirects');
96+
$configuration->addBuildTask('build:compress:brotli');
8397
$configuration->addDeployTask('deploy:disable_public');
8498
$configuration->addDeployTask('deploy:hmv_docker');
8599
$configuration->addDeployTask('deploy:docs_vhost:acceptance');

docs/_static/css/main.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
.DocSearch-Button {
2-
background: white;
2+
background-color: #fff;
3+
border-radius: 9999px;
4+
5+
&:hover {
6+
background-color: #fff;
7+
}
38
}

docs/_templates/layout.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@
8989
})(window,document,'script','dataLayer','{{ theme_analytics_id }}');</script>
9090
<script src="{{ pathto('_static/js/cookieconsent.js', 1) }}" defer></script>
9191
<script src="{{ pathto('_static/js/cookieconsent-init.js', 1) }}" defer></script>
92+
<link rel="stylesheet" href="{{ pathto('_static/cookieconsent.css', 1) }}"/>
9293
{%- endif %}
9394

9495
{%- if not embedded %}
@@ -272,7 +273,7 @@
272273
<div class="aside-tile__content">
273274
<img src="https://static.hypernode.com/img/berend/logo.svg">
274275
<h4>Need support?</h4>
275-
<p><a class="ahref-orange" href="https://www.hypernode.com/contact/#contact" target="_blank">Submit a ticket</a></p>
276+
<p><a class="ahref-orange" href="https://support.hypernode.com/?ref=docs" target="_blank">Visit our Support Portal</a></p>
276277
</div>
277278
</div>
278279
<div class="aside-tile__container aside-tile__feedback">

docs/about-hypernode/about-hypernode/upgrade-to-debian-buster-technical-implications.md

Lines changed: 0 additions & 117 deletions
This file was deleted.
384 KB
Loading

docs/about-hypernode/billing/how-to-cancel-your-plan.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,15 @@ You never want to accidentally delete a domain name. Because this causes many pr
7171
#### Cancelling Foreign Domains
7272

7373
If you cancel a foreign domain name, Hypernode will let it expire automatically after the contract date has expired. It is therefore possible that your domain name is still available for some time after you have canceled the domain. After the domain expires, your domain may go into quarantine. In this status, only you can register the domain name again, and usually only via Hypernode. Only after the quarantine period has expired is your domain name completely free and can it be registered by everyone.
74+
75+
### How to cancel Hypernode Insights
76+
77+
If Insights isn’t the right fit for you right now, canceling is simple:
78+
79+
1. Log in to your **[Control Panel](https://auth.hypernode.com/login)**.
80+
1. Open the **Settings** of the Hypernode where Insights is active.
81+
1. In the **Cancellation** section, find *Hypernode Insights* and click **Cancel Insights**.
82+
83+
- ![Cancel Hypernode Insights Screenshot](_res/cancel-insights.png)
84+
85+
Your cancellation will be processed automatically and will take effect on the **first day of the following month**.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
myst:
3+
html_meta:
4+
description: Hypernode's policy for customers that wish to run a pentest on their
5+
website
6+
title: Penetration Testing Policy | Security | Hypernode
7+
---
8+
9+
# Customer Pentest Policy
10+
11+
```{important}
12+
This policy is for customers that wish to perform an external penetration test on their own hosting environment. For Unaffiliated third-parties that wish to test the Hypernode platform itself, we have a separate [Responsible Disclosure Policy](responsible-disclosure-policy.md).
13+
```
14+
15+
At Hypernode, we support responsible security testing practices that help customers improve the safety and resilience of their hosted application, and our platform. Customers may conduct penetration tests on their own hosting environments under the following conditions and guidelines.
16+
17+
## Scope of Testing
18+
19+
Penetration testing is only permitted on the customer's *own* hosting space. Testing must not extend to, or affect, any other part of the platform or infrastructure managed by either Hypernode, or other Hypernode customers..
20+
21+
## Requirements
22+
23+
Penetration testing is allowed under the following conditions:
24+
25+
- All pentests must be performed by a reputable, experienced, party.
26+
- You will [inform us](https://www.hypernode.com/en/support/) at least 72 hours ahead of time, and let us know the time, source IP(s) and target of the pentest.
27+
- If the pentest causes, or discovers, any server side issues, you will share the full report of the pentest with us afterwards. You will keep these findings confidential, until we've had the opportunity to assess and address the issue.
28+
29+
We do not allow pentests that:
30+
31+
- Rely on Social Engineering.
32+
- Perform Brute Force testing.
33+
- Test (D)DoS protection or -resilience.
34+
- Test Physical Security of Datacenters, Offices, etc.
35+
- May cause permanent damage to hardware or equipment.
36+
37+
You may wish to add the source IP's of the pentest to the [Hypernode WAF allowlist](./../../best-practices/firewall/ftp-waf-database-allowlist.md), to prevent our automated systems from affecting the test.
38+
39+
## Security Waivers
40+
41+
Hypernode explicitly gives its customers permission to test their own Hypernode hosting environment. If your penetration testing partner still requires a signed waiver, please [contact us](https://www.hypernode.com/en/support/).
42+
43+
# Hypernode's Own Pentest Policy
44+
45+
Hypernode performs regular penetration tests of both the Hypernode hosting platform, and its internal applications like the Hypernode Control Panel. Details about these penetration tests are available for customers [upon request](https://www.hypernode.com/en/support/).

0 commit comments

Comments
 (0)