Commit 9de8dcb4 authored by Ludvig Bohlin's avatar Ludvig Bohlin

Removed some underscores to please the big search engine...

parent 5b1d468d
Pipeline #9786 failed with stage
in 36 seconds
/.idea
/_site
/venv
.bundle/
Gemfile.lock
*.DS_Store
......@@ -45,7 +45,7 @@ name for your new request, and accept. The new request is active now and you can
![Insomnia image](images/insomnia-1.jpg)
Now just paste the `curl` text you want to run. In the example below we use a command to [clean cache](https://docs.accelerator.shimmercat.com/api/clean_cache/). Insomnia will parse and split
Now just paste the `curl` text you want to run. In the example below we use a command to [clean cache](https://docs.accelerator.shimmercat.com/api/clean-cache/). Insomnia will parse and split
the `curl` command line in digestible bits, as shown in the next figure:
**Figure 2: After pasting `curl`**
......
......@@ -3,22 +3,22 @@
:numbered:
:caption: Getting Started
getting_started/getting_started.md
getting-started/getting-started.md
.. toctree::
:maxdepth: 1
:numbered:
:caption: Tutorials
tutorials/setup_with_ansible.md
tutorials/setup_with_docker_ansible.md
tutorials/setup_scpack.md
tutorials/setup-with-ansible.md
tutorials/setup-with-docker-ansible.md
tutorials/setup-scpack.md
tutorials/woocommerce.md
tutorials/django.md
tutorials/nodejs.md
tutorials/php.md
tutorials/magento.md
tutorials/magento_external_domain.md
tutorials/magento-external-domain.md
.. toctree::
......@@ -26,69 +26,68 @@
:numbered:
:caption: How-to guides
how_to_guides/push.md
how_to_guides/bot_blocking.md
how_to_guides/add-deployment.md
how_to_guides/running_application.md
how_to_guides/onboarding_customer_website_checks.md
how_to_guides/onboarding_customer_technical_checks.md
how_to_guides/deployment_metadata.md
how_to_guides/certificates_with_letsencrypt.md
how-to-guides/push.md
how-to-guides/bot-blocking.md
how-to-guides/add-deployment.md
how-to-guides/running-application.md
how-to-guides/onboarding-customer-website-checks.md
how-to-guides/onboarding-customer-technical-checks.md
how-to-guides/deployment-metadata.md
how-to-guides/certificates-with-letsencrypt.md
.. toctree::
:maxdepth: 3
:numbered:
:caption: Explanation
explanation/accelerator/accelerator_intro.md
explanation/accelerator/edge_server.md
explanation/accelerator/install_sc_pack.md
explanation/accelerator/deployment_sites_and_domains.md
explanation/accelerator/changelist_agent.md
explanation/accelerator/accelerator-intro.md
explanation/accelerator/edge-server.md
explanation/accelerator/install-sc-pack.md
explanation/accelerator/deployment-sites-and-domains.md
explanation/accelerator/changelist-agent.md
explanation/accelerator/kubernetes.md
explanation/accelerator/properties.md
explanation/accelerator/ports.md
explanation/accelerator/image_service.md
explanation/accelerator/image-service.md
explanation/sc_pack/intro_sc_pack.md
explanation/sc_pack/using_sc_pack.md
explanation/sc_pack/bot_blocking.md
explanation/sc_pack/certificates.md
explanation/sc_pack/troubleshooting.md
explanation/sc-pack/intro-sc-pack.md
explanation/sc-pack/using-sc-pack.md
explanation/sc-pack/bot-blocking.md
explanation/sc-pack/certificates.md
explanation/sc-pack/troubleshooting.md
explanation/shimmercat_qs/shimmercatqs_intro.md
explanation/shimmercat_qs/rewrite_engine.md
explanation/shimmercat_qs/about_http2_push.md
explanation/shimmercat_qs/calm_maps.md
explanation/shimmercat_qs/fetch-backends.md
explanation/shimmercat_qs/changelist-format.md
explanation/shimmercat_qs/views_and_devlove.md
explanation/shimmercat_qs/error_pages.md
explanation/shimmercat_qs/cache_scripts.md
explanation/shimmercat_qs/http11-for-statics.md
explanation/shimmercat_qs/HTTPS-and-pooling.md
explanation/shimmercat_qs/structuring-apps.md
explanation/shimmercat_qs/content-disposition.md
explanation/shimmercat_qs/haps.md
explanation/shimmercat_qs/socks5-swift.md
explanation/shimmercat_qs/lua-env.md
explanation/shimmercat_qs/network-performance.md
explanation/shimmercat_qs/connections-and-ddos.md
explanation/shimmercat_qs/certificates.md
explanation/shimmercat_qs/haps.md
explanation/shimmercat_qs/logging.md
explanation/shimmercat_qs/scratch_folder.md
explanation/shimmercat_qs/js_agent.md
explanation/shimmercat_qs/configuration_reference.md
explanation/shimmercat-qs/shimmercatqs-intro.md
explanation/shimmercat-qs/rewrite-engine.md
explanation/shimmercat-qs/about-http2-push.md
explanation/shimmercat-qs/calm-maps.md
explanation/shimmercat-qs/fetch-backends.md
explanation/shimmercat-qs/changelist-format.md
explanation/shimmercat-qs/views-and-devlove.md
explanation/shimmercat-qs/error-pages.md
explanation/shimmercat-qs/cache-scripts.md
explanation/shimmercat-qs/http11-for-statics.md
explanation/shimmercat-qs/HTTPS-and-pooling.md
explanation/shimmercat-qs/structuring-apps.md
explanation/shimmercat-qs/content-disposition.md
explanation/shimmercat-qs/haps.md
explanation/shimmercat-qs/socks5-swift.md
explanation/shimmercat-qs/lua-env.md
explanation/shimmercat-qs/network-performance.md
explanation/shimmercat-qs/connections-and-ddos.md
explanation/shimmercat-qs/certificates.md
explanation/shimmercat-qs/logging.md
explanation/shimmercat-qs/scratch-folder.md
explanation/shimmercat-qs/js-agent.md
explanation/shimmercat-qs/configuration-reference.md
.. toctree::
:maxdepth: 1
:numbered:
:caption: API Reference
api/getting_started_api.md
api/getting-started-api.md
api/bots.md
api/clean_cache.md
api/clean-cache.md
api/api.md
.. toctree::
......@@ -97,4 +96,4 @@
:caption: FAQ
faq/faq.md
faq/scpack_troubleshooting.md
faq/scpack-troubleshooting.md
# Create deployment sites and domains
A `DeploymentSite` represents a site where `sc_pack` has been [deployed](../sc_pack/using_sc_pack.md), and it is the root of the tree to configure everything else.
A `DeploymentSite` represents a site where `sc_pack` has been [deployed](../sc-pack/using-sc-pack.md), and it is the root of the tree to configure everything else.
![Overview](img/deployments_and_edge_servers.svg)
*Example of a setup using two edge servers for redundancy, with a DeploymentSite on each server.*
......
......@@ -133,9 +133,9 @@ Here is how it goes:
Rsync (Remote Sync) is a most commonly used command for copying and synchronizing files and directories remotely as well as locally in Linux/Unix systems. With the help of rsync command you can copy and synchronize your data remotely and locally across directories, across disks and networks, perform data backups and mirroring between two Linux machines.
With this command you can make copies local to local, local to server and server to local. Suppose you have the project running originally on a server whose ip 'your.ip', and in the folder /var/www/html/my_projects, in addition, in your new server, you have created two volumes, through docker-portainer-stack, in which will reside a copy of your project and another the project itself, which will be served by Shimmercat, e.g. /var/lib/docker/volumes/<client_id>-web_backing-files/_data/html and /var/lib/docker/volumes/<client_id>-web_website-files/_data/html.
With this command you can make copies local to local, local to server and server to local. Suppose you have the project running originally on a server whose ip 'your.ip', and in the folder /var/www/html/my_projects, in addition, in your new server, you have created two volumes, through docker-portainer-stack, in which will reside a copy of your project and another the project itself, which will be served by Shimmercat, e.g. `/var/lib/docker/volumes/<client_id>-web_backing-files/_data/html and /var/lib/docker/volumes/<client_id>-web_website-files/_data/html`.
So first make a copy to <client_id>-web_backing-files and then to <client_id>-web_website-files:
So first make a copy to `<client_id>-web_backing-files` and then to `<client_id>-web_website-files`:
rsync -avh root@your.ip:/var/www/html/my_projects /var/lib/docker/volumes/<client_id>-web_backing-files/_data/html
......@@ -143,7 +143,7 @@ So first make a copy to <client_id>-web_backing-files and then to <client_id>-we
rsync -avh /var/lib/docker/volumes/<client_id>-web_backing-files/_data/html /var/lib/docker/volumes/<client_id>-web_website-files/_data/html
If, for example, your project uses mariadb, as a database server and you have created a volume for that purpose, via docker-portainer-stack, the database can be copied to /var/lib/docker/volumes/client_id-web_mariadb-files/_data:
If, for example, your project uses mariadb, as a database server and you have created a volume for that purpose, via docker-portainer-stack, the database can be copied to `/var/lib/docker/volumes/client_id-web_mariadb-files/_data`:
rsync -avh root@your.ip:/your_db_files /var/lib/docker/volumes/<client_id>- web_mariadb-files/_data
......@@ -178,12 +178,12 @@ To copy, use the rsync command:
rsync /mnt/old_disk/var/lib/docker/volumes/maker-doer_files/_data/site/ /var/lib/docker/volumes/XXXX/_data/html/
where XXX is the name of the backing-files volumes (this is the name that docker generates by prepending a customer and stack specific prefix to `backing-files').
where XXX is the name of the backing-files volumes (this is the name that docker generates by prepending a customer and stack specific prefix to `backing-files`).
A similar procedure can be used to import the database, by copying the files in the relevant volumes.
Finally, do umount /mnt/old_disk, and detach and delete the disk that you used to transfer the files.
**Tip:**
- Make sure that the directory and the files below /var/lib/docker/volumes/<client_id>-web_website-files/_data/html belong to the user and the www-reader group.
- Configure the file /srv-data/devlove.yaml so that shimmercat can serve your project.
- Make sure that the directory and the files below `/var/lib/docker/volumes/<client_id>-web_website-files/_data/html` belong to the user and the `www-reader` group.
- Configure the file `/srv-data/devlove.yaml` so that shimmercat can serve your project.
......@@ -2,7 +2,7 @@
The part where files and visitors are served happens in what we call an *"edge server"*. The goal is to separate clearly the runnings of ShimmerCat Accelerator from the runnings of the backend application, so that we can find more easily culprits of performance issues.
On that sever we install and have a *"pack"* of programs, [sc_pack](../sc_pack/intro_sc_pack.md), that helps manage the edge servers running ShimmerCat Accelerator. It includes and configures the following programs:
On that sever we install and have a *"pack"* of programs, [sc_pack](../sc-pack/intro-sc-pack.md), that helps manage the edge servers running ShimmerCat Accelerator. It includes and configures the following programs:
- `ShimmerCat QS`: the program actually serving files.
......@@ -34,7 +34,7 @@ In Unix, each process has a parent, and here is how it looks for `sc_pack`:
everything under a single directory.
There is no single optimal way for all users to deploy this set of programs and `sc_pack` introduces one, which is kind of [*siloed deployments*](../sc_pack/using_sc_pack.md).
There is no single optimal way for all users to deploy this set of programs and `sc_pack` introduces one, which is kind of [*siloed deployments*](../sc-pack/using-sc-pack.md).
In this modality, all the programs and their data directories (which include their logs) are installed under a single hierarchy of directories. This goes against traditional Unix conventions for handling filesystem paths, but it makes
things easier for developers and sysadmin: they know where all the files are.
......
......@@ -70,4 +70,4 @@ This policy enables the following:
*with the same pixel size* than the original images.
We describe how the image sizes are deduced from the URLs in the
[HAPs page](/explanation/shimmercat_qs/haps/).
[HAPs page](/explanation/shimmercat-qs/haps/).
......@@ -84,7 +84,7 @@ Note that you need to change `<your_deployment_id>` to make sure that the domain
{"id":<your_domain_id>,"name":"example-accelerator.shimmercat.com","sub_domains":[]}
```
If you would like to add more deployment sites to your domain, see more information on [Adding a new deployment for an existing domain](../how_to_guides/add-deployment.md). You are now ready to serve a website with ShimmerCat.
If you would like to add more deployment sites to your domain, see more information on [Adding a new deployment for an existing domain](../../how-to-guides/add-deployment.md). You are now ready to serve a website with ShimmerCat.
- - -
......@@ -95,7 +95,7 @@ The programs need a directory as the top of the hierarchy, and some information
### The configuration file
All configuration is structured in a YAML file, called `sc_pack.conf.yaml`, which has nesting levels.
Below is an example of the configuration file, copy the content and create a file with extension `.yaml`, called `sc_pack.conf.yaml`. You can find more details about all the fields [here](/explanation/accelerator/install_sc_pack/#2-prepare-the-configuration-file-and-the-directory-hierarchy).
Below is an example of the configuration file, copy the content and create a file with extension `.yaml`, called `sc_pack.conf.yaml`. You can find more details about all the fields [here](/explanation/accelerator/install-sc-pack/#2-prepare-the-configuration-file-and-the-directory-hierarchy).
* We recommend creating a user especially to work with `sc_pack`, let's call it `shimmercat`. So run `$ sudo adduser shimmercat` . The user that runs the sc_pack should be on the sudo group, to do that just run: `$ sudo usermod -aG sudo shimmercat`
......@@ -156,7 +156,7 @@ $ su shimmercat
$ cd <install_dir>
```
The `sc_pack create` command also creates an example `devlove.yaml` file, which is ShimmerCat's configuration file with domains and such. You will edit this file in the coming steps, and for more info regarding the file you can [check here](/explanation/shimmercat_qs/configuration_reference).
The `sc_pack create` command also creates an example `devlove.yaml` file, which is ShimmerCat's configuration file with domains and such. You will edit this file in the coming steps, and for more info regarding the file you can [check here](/explanation/shimmercat-qs/configuration-reference).
You can double check that the directories are properly created:
......@@ -196,4 +196,4 @@ Inside every service directory there is a directory named `data`, where the logs
## 4. Deploy and setup `sc_pack`
You are now ready to setup and deploy your `sc_pack` configuration, see [using sc_pack](../sc_pack/using_sc_pack.md)
You are now ready to setup and deploy your `sc_pack` configuration, see [using sc_pack](../sc-pack/using-sc-pack.md)
......@@ -37,4 +37,4 @@ That's because we want to always compare how well we are doing with respect with
Just now, the only thing the accelerator does is to activate HTTP2 Push and explicit priorities.
See how to [corroborate HTTP/2 Push is happening](/how_to_guides/push/#how-to-check-that-http2-push-is-working).
See how to [corroborate HTTP/2 Push is happening](/how-to-guides/push/#how-to-check-that-http2-push-is-working).
......@@ -8,7 +8,7 @@ And also you should add the domain to the reCAPTCHA site those credentials belon
- Create the consultant part for the bots on the devlove.yaml. The consultant key must be `bots` e.g:
``` yml
```
shimmercat-devlove:
domains:
......@@ -19,7 +19,7 @@ And also you should add the domain to the reCAPTCHA site those credentials belon
connect-to: 127.0.0.1:8088
application-protocol: http
```
Note that the current configuration is just an example file, for more details please [see here.](../shimmercat_qs/devlove-mode.md)
Note that the current configuration is just an example file, for more details please [see here.](../shimmercat-qs/devlove-mode.md)
- Run the `create` command to build the bots blocking infrastructure:
......
......@@ -57,7 +57,7 @@ For a video on how to create and spread LetsEncrypt certificates in a group of l
## Obtaining the CA root certificate
After creating a successfull deployment with the TLS certificates, you can now get the CA root certificate.
For more information about how ShimmerCat generate certificates and how to obtain the CA root certificate you can refer to [ShimmerCat QS documentation](https://docs.accelerator.shimmercat.com/explanation/shimmercat_qs/certificates/)
For more information about how ShimmerCat generate certificates and how to obtain the CA root certificate you can refer to [ShimmerCat QS documentation](https://docs.accelerator.shimmercat.com/explanation/shimmercat-qs/certificates/)
## Import certificates
......
......@@ -33,8 +33,8 @@ In Unix, each process has a parent, and here is how it looks for `sc_pack`:
-- sc_pack's update
```
To learn more about how to setup your `sc_pack` configuration, see [setup sc_pack](/tutorials/setup_scpack)
To learn more about how to setup your `sc_pack` configuration, see [setup sc_pack](/tutorials/setup-scpack)
## Install `sc_pack`
To install `sc_pack`, please see the information on [Install sc_pack](../accelerator/install_sc_pack.md).
To install `sc_pack`, please see the information on [Install sc_pack](../accelerator/install-sc-pack.md).
......@@ -3,7 +3,7 @@
This document contains technical details about our HTTP/2 implementation, for a hands-on
introduction on how to enable HTTP/2 push in `sc_pack` deployments,
[check our guide on HTTP/2 push](/how_to_guides/push).
[check our guide on HTTP/2 push](/how-to-guides/push).
## Priorities on pushed streams
......@@ -22,7 +22,7 @@ the HTTP/2 connection as soon as they are available.
HTTP/2 Push is optimized by the accelerator service, and the output of the accelerator service
is what we call "push lists": a list of resources to push.
These are YAML files with the relative locations of the assets to push for a given
[view](views_and_devlove.md).
[view](views-and-devlove.md).
They live in a file with `.push-list` extension that looks like this one:
......@@ -39,7 +39,7 @@ In the example above, ShimmerCat will push the files with URL paths
though for the later it will also use the provided query string.
The `.push-list` files are not limited to pushed assets, but can also contain so
called [calm maps](calm_maps.md).
called [calm maps](calm-maps.md).
## Works for all browsers
......
......@@ -28,7 +28,7 @@ the same regarding static assets.
## Where .cache-script files go?
Cache scripts are associated with [views](views_and_devlove.md).
Cache scripts are associated with [views](views-and-devlove.md).
Whenever there is a view, there can be a matching cache script, and the
naming convention is as follows:
......@@ -45,7 +45,7 @@ to derive a key which is then used to fetch push rules and priorities.
In the accelerator, `.cache-script` files can be set in one of two ways:
1. They can be created by hand in the views dir, and
"pushed" (with [`sc_pack push`](/explanation/sc_pack/using_sc_pack/) ) to the accelerator.
"pushed" (with [`sc_pack push`](/explanation/sc-pack/using-sc-pack/) ) to the accelerator.
This is the best way to go if you know best which query strings end up making the
page render differently. Or
......
......@@ -17,7 +17,7 @@ and also the internal cache that the server keeps.
For the back-end application
(which ShimmerCat serves
[API domains](/en/info/articles/structuring-apps/#api-domains) ),
[API domains](structuring-apps.md#api-domains) ),
it's up to the application
to set the caching headers that make more sense for
its dynamic content.
......@@ -32,7 +32,7 @@ Here is a detailed explanation of the issue:
Say that the browser receives the following headers in a response:
```http
```
cache-control: max-age=172800
date: Mon, 21 Mar 2016 10:43:56 +0000
etag: "A3_ar0tAu4rs-0"
......
......@@ -11,7 +11,7 @@ that ultimately depends of the particular page where they happen.
To fine-tune the workings of the accelerator to each particular situation, we have
introduced so called *calm maps*.
A calm map is part of a [.push-list](about_http2_push.md) file, and it's used to tweak, server-side, the
A calm map is part of a [.push-list](about-http2-push.md) file, and it's used to tweak, server-side, the
default priority that ShimmerCat uses for sending assets to the browser inside the
same HTTP/2 connection.
......
......@@ -8,12 +8,12 @@ and private keys, just as other web servers.
ShimmerCat will use certificate and private keys in two locations:
- In a domain-named subdirectory of [`<scratch-folder>/sni-certs`](/explanation/shimmercat_qs/scratch_folder#certificates).
- Or just immediately under the [scratch folder](/explanation/shimmercat_qs/scratch_folder#certificates).
- In a domain-named subdirectory of [`<scratch-folder>/sni-certs`](/explanation/shimmercat-qs/scratch-folder#certificates).
- Or just immediately under the [scratch folder](/explanation/shimmercat-qs/scratch-folder#certificates).
If when ShimmerCat starts there are no usable certificates, ShimmerCat will create or use a starting
Certification Authority in the local server, and use it to sign a certificate for all domains defined
in the [devlove file](/explanation/shimmercat_qs/configuration_reference/#the-devloveyaml-file).
in the [devlove file](/explanation/shimmercat-qs/configuration-reference/#the-devloveyaml-file).
## The start CA
......@@ -103,7 +103,7 @@ $ curl http://<address-of-your-server>:8080/.well-known/mousebox/ca-root.pem
Now you have your own CA root certificate, which you can install in your development
browser.
After that, you should be able to connect to `www.example.com` served by ShimmerCat
either directly or through ShimmerCat's built-in [SOCKS5 proxy](/explanation/shimmercat_qs/socks5-swift/).
either directly or through ShimmerCat's built-in [SOCKS5 proxy](/explanation/shimmercat-qs/socks5-swift/).
### Next step: acquire a real certificate
......@@ -118,7 +118,7 @@ you need to take good care of said private key.
An alternative way to get certificates issued is through LetsEncrypt.
We support LetsEncrypt directly via `sc_pack`, where domain ownership can be validated for an entire
[ShimmerCat CDN network](/explanation/sc_pack/certificates/), or if you already have something setup
[ShimmerCat CDN network](/explanation/sc-pack/certificates/), or if you already have something setup
through `certbot`, via a special [certificate
installation command in `sc_pack`](/explanation/sc_pack/certificates/#import-certificates).
......@@ -131,7 +131,7 @@ However, ShimmerCat implements the bits needed to verify domain ownership using
["http-01" challenge](https://tools.ietf.org/html/rfc8555#section-8.3) and the
["tls-alpn-01" challenge](https://tools.ietf.org/html/draft-ietf-acme-tls-alpn-05).
To use it, just place specially named files in
the [scratch-folder](/explanation/shimmercat_qs/scratch_folder/#certificates).
the [scratch-folder](/explanation/shimmercat-qs/scratch-folder/#certificates).
## Certificates in the origin server
......
......@@ -233,7 +233,7 @@ This is a string denoting a directory with static assets to serve on the domai
Or an object, describing [an equivalent mean](fetch-backends.md) to obtain the assets.
ShimmerCat QS, being a caching server, will just read the files
from this place as they are requested by website visitors and copy-and-process them to
its internal cache in the [scratch folder](scratch_folder.md).
its internal cache in the [scratch folder](scratch-folder.md).
This means that you can mount a high latency filesystem and use it as your `root-dir`, and
still obtain a very fast website.
......@@ -242,7 +242,7 @@ object.
### The views-dir
This is where [views](views_and_devlove.md) are expected to be.
This is where [views](views-and-devlove.md) are expected to be.
If left unspecified and `root-dir` is a string, then the `root-dir` will be used.
Note that view files are expected to be in a local filesystem, since at best
they are just cached for a few seconds.
......
......@@ -382,7 +382,7 @@ we also have a few additional facilities:
Here is an example from our test suite that exercises the rules above.
Provided that the backend returns the following JSON:
```JSON
```
{
'salute': '()',
'nested': {
......
......@@ -66,7 +66,7 @@ For example, for the `devlove.yaml` file in our
ShimmerCat will generate a
certificate for the domain `www.hello.com`.
The certificate itself is stored on the project directory where you
run ShimmerCat, inside [ShimmerCat's scratch folder](scratch_folder.md).
run ShimmerCat, inside [ShimmerCat's scratch folder](scratch-folder.md).
Those are development certificates, and they are signed with a CA certificate
which is also generated for you.
......
......@@ -15,7 +15,7 @@ when the application backend returns a 404 code ShimmerCat
relays that 404 response from the aplication backend to the client.
In `internet` mode, ShimmerCat tries to find a `__404.html` file,
which is looked up exactly as `__index.html` [files would in the views
directory](views_and_devlove.md).
directory](views-and-devlove.md).
The rationale is that 404 and other error situations should consume resources from ShimmerCat
and be served with cacheable and cached assets,
......@@ -34,7 +34,7 @@ an internal one.
Of course, there are situations when it's desirable to instead return the error pages
from the backend.
This can be done via a [stacked setting](views_and_devlove.md#stacked-settings) `forward-error-pages`
This can be done via a [stacked setting](views-and-devlove.md#stacked-settings) `forward-error-pages`
set in either a particular view or for the entire backend.
```
......
......@@ -97,11 +97,11 @@ ShimmerCat separates dynamic and static assets in the following ways:
declaring the asset missing.
The exception to the rules above is "generated" assets, whose syntax is explained in more detail
in the chapter about the [rewrite engine](rewrite_engine.md).
in the chapter about the [rewrite engine](rewrite-engine.md).
The following applies to them:
- Generated assets require a view, and they are fetched using a consultant, possibly designated in
their [view](views_and_devlove.md).
their [view](views-and-devlove.md).
- Generated assets are cached, just like ordinary static assets.
Their lifetime in the cache follows the same rules than static assets, except for the
fact that they can't be designated in a changelist.
......
......@@ -21,7 +21,7 @@ We call this subsystem HAPs, for "Heavy Asset Pipelines".
## Enabling and disabling HAPs
HAPs need to be enabled in the [`tweaks.yaml` at the scratch folder](scratch_folder.md) file, like this:
HAPs need to be enabled in the [`tweaks.yaml` at the scratch folder](scratch-folder.md) file, like this:
```
hapsSettings:
......@@ -225,7 +225,7 @@ In any case, additional instructions to the usher can be returned in an `adjustm
Here is a summary about adjustments:
- Adjustments can be used both for resources which are resolved to a file-path under `root-dir`,
or for [generated assets](/explanation/shimmercat_qs/rewrite_engine/#handling-dynamically-generated-static-assets).
or for [generated assets](/explanation/shimmercat-qs/rewrite-engine/#handling-dynamically-generated-static-assets).
- The adjuster's code is only run when the file is brought to the cache.
Thereafter, the assets are cached based on the URL path that the rewrite rule created, i.e. the value of
`url_path_after_rewrite`. This value can not be changed from Lua.
......
# Introduction
### Why a separate Internet mode
ShimmerCat has two top modes, "devlove", and "Internet".
Devlove mode is always available, and Internet mode is available
by request.
The mode is a mandatory argument of the command line, and
it allows the user to state his intention when running the
software.
Devlove mode should support developers while
they code and test their applications, and internet mode should make easy
and secure to deploy websites on the Internet.
```
$ shimmercat internet -h
A master mode for monitoring workers and running in the Internet
```
The two use cases have sometimes contradictory goals.
When an application is being developed, developers need to see as much
information as possible, even when that information is presented in
the webpage being served.
Think about pages with status code 404 and 500 reported from Django
for example.
However, the same information can prove to be too sensitive for
public eyes, which are likely to access the site through Internet
mode.
In this documentation page, we detail the features of Internet
mode in ShimmerCat.
### Breaking with tradition
Unix has a long tradition of running services on the Internet.
For that purpose, the most sophisticated and used variant of Unix
is Linux, whose latest editions come with some fantastical features.
These modern features often do things different, and we think that's
for the better.
As a rule, we have embraced the new ways of doing things,
and in this article we explain what we mean.