diff options
Diffstat (limited to 'content/documentation')
15 files changed, 27 insertions, 27 deletions
diff --git a/content/documentation/connect/apps.md b/content/documentation/connect/apps.md index 37e57f3..82af8a6 100644 --- a/content/documentation/connect/apps.md +++ b/content/documentation/connect/apps.md @@ -71,7 +71,7 @@ To test your new configuration, just reload your Nextcloud webpage and start sen **From the GUI.** Activate the "External storage support" app from the "Applications" page (click on your account icon on the top right corner of your screen to display the menu). Go to your parameters page (also located below your account icon). Click on external storage (or the corresponding translation in your language). -[![Screenshot of the External Storage form](./cli-nextcloud-gui.png)](./cli-nextcloud-gui.png) +[![Screenshot of the External Storage form](../cli-nextcloud-gui.png)](../cli-nextcloud-gui.png) *Click on the picture to zoom* Add a new external storage. Put what you want in "folder name" (eg. "shared"). Select "Amazon S3". Keep "Access Key" for the Authentication field. @@ -258,7 +258,7 @@ Make sure you (will) have a corresponding DNS entry for them. Now we will configure a reverse proxy in front of Garage. This is required as we have no other way to serve CORS headers yet. -Check the [Configuring a reverse proxy](/cookbook/reverse_proxy.html) section to know how. +Check the [Configuring a reverse proxy](/documentation/cookbook/reverse-proxy/) section to know how. Now make sure that your 2 dns entries are pointing to your reverse proxy. diff --git a/content/documentation/connect/cli-nextcloud-gui.png b/content/documentation/connect/cli-nextcloud-gui.png Binary files differnew file mode 100644 index 0000000..7a58a3a --- /dev/null +++ b/content/documentation/connect/cli-nextcloud-gui.png diff --git a/content/documentation/connect/fs.md b/content/documentation/connect/fs.md index eb1405f..7f10b60 100644 --- a/content/documentation/connect/fs.md +++ b/content/documentation/connect/fs.md @@ -16,7 +16,7 @@ Ideally, avoid these solutions at all for any serious or production use. ## rclone mount -rclone uses the same configuration when used [in CLI](/connect/cli.html) and mount mode. +rclone uses the same configuration when used [in CLI](/documentation/connect/cli/) and mount mode. We suppose you have the following entry in your `rclone.ini` (mine is located in `~/.config/rclone/rclone.conf`): ```toml diff --git a/content/documentation/connect/repositories.md b/content/documentation/connect/repositories.md index 52d27f3..53e3a51 100644 --- a/content/documentation/connect/repositories.md +++ b/content/documentation/connect/repositories.md @@ -94,8 +94,8 @@ garage bucket website nix.example.com --allow ``` If you need more information about exposing buckets as websites on Garage, -check [Exposing buckets as websites](/cookbook/exposing_websites.html) - and [Configuring a reverse proxy](/cookbook/reverse_proxy.html). +check [Exposing buckets as websites](/documentation/cookbook/exposing-websites/) + and [Configuring a reverse proxy](/documentation/cookbook/reverse-proxy/). Next, we want to check that our bucket works: diff --git a/content/documentation/connect/websites.md b/content/documentation/connect/websites.md index 1dd9170..6710e91 100644 --- a/content/documentation/connect/websites.md +++ b/content/documentation/connect/websites.md @@ -55,7 +55,7 @@ Currently, the proposed workaround is to deploy your website manually: - Click on Get website files - You need to synchronize the output folder you see in your file explorer, we will use minio client. -Be sure that you [configured minio client](cli.html#minio-client-recommended). +Be sure that you [configured minio client](/documentation/connect/cli/#minio-client-recommended). Then copy this output folder @@ -68,7 +68,7 @@ mc mirror --overwrite output garage/my-site Some tools do not support sending to a S3 backend but output a compiled folder on your system. We can then use any CLI tool to upload this content to our S3 target. -First, start by [configuring minio client](cli.html#minio-client-recommended). +First, start by [configuring minio client](/documentation/connect/cli/#minio-client-recommended). Then build your website: diff --git a/content/documentation/cookbook/exposing_websites.md b/content/documentation/cookbook/exposing_websites.md index e592e6c..91ade7d 100644 --- a/content/documentation/cookbook/exposing_websites.md +++ b/content/documentation/cookbook/exposing_websites.md @@ -16,11 +16,11 @@ Now it will be **publicly** exposed on the web endpoint (by default listening on Our website serving logic is as follow: - Supports only static websites (no support for PHP or other languages) - Does not support directory listing - - The index is defined in your `garage.toml`. ([ref](/reference_manual/configuration.html#index)) + - The index is defined in your `garage.toml`. ([ref](/documentation/reference-manual/configuration/#garage-configuration-file-format-reference)) Now we need to infer the URL of your website through your bucket name. Let assume: - - we set `root_domain = ".web.example.com"` in `garage.toml` ([ref](/reference_manual/configuration.html#root_domain)) + - we set `root_domain = ".web.example.com"` in `garage.toml` ([ref](/documentation/reference-manual/configuration/#garage-configuration-file-format-reference)) - our bucket name is `garagehq.deuxfleurs.fr`. Our bucket will be served if the Host field matches one of these 2 values (the port is ignored): @@ -48,6 +48,6 @@ Now that you understand how website logic works on Garage, you can: - make the website endpoint listens on port 80 (instead of 3902) - use iptables to redirect the port 80 to the port 3902: `iptables -t nat -A PREROUTING -p tcp -dport 80 -j REDIRECT -to-port 3902` - - or configure a [reverse proxy](reverse_proxy.html) in front of Garage to add TLS (HTTPS), CORS support, etc. + - or configure a [reverse proxy](/documentation/cookbook/reverse-proxy/) in front of Garage to add TLS (HTTPS), CORS support, etc. -You can also take a look at [Website Integration](/connect/websites.html) to see how you can add Garage to your workflow. +You can also take a look at [Website Integration](/documentation/connect/websites/) to see how you can add Garage to your workflow. diff --git a/content/documentation/cookbook/real_world.md b/content/documentation/cookbook/real_world.md index 049a54a..a010d29 100644 --- a/content/documentation/cookbook/real_world.md +++ b/content/documentation/cookbook/real_world.md @@ -9,7 +9,7 @@ To run Garage in cluster mode, we recommend having at least 3 nodes. This will allow you to setup Garage for three-way replication of your data, the safest and most available mode proposed by Garage. -We recommend first following the [quick start guide](../quick_start/index.md) in order +We recommend first following the [quick start guide](/documentation/quick-start/) in order to get familiar with Garage's command line and usage patterns. @@ -28,7 +28,7 @@ To run a real-world deployment, make sure the following conditions are met: to drastically reduce Garage's response times. - This guide will assume you are using Docker containers to deploy Garage on each node. - Garage can also be run independently, for instance as a [Systemd service](systemd.md). + Garage can also be run independently, for instance as a [Systemd service](/documentation/cookbook/systemd/). You can also use an orchestrator such as Nomad or Kubernetes to automatically manage Docker containers on a fleet of nodes. @@ -283,15 +283,15 @@ garage layout apply ``` **WARNING:** if you want to use the layout modification commands in a script, -make sure to read [this page](/reference_manual/layout.html) first. +make sure to read [this page](/documentation/reference-manual/) first. ## Using your Garage cluster Creating buckets and managing keys is done using the `garage` CLI, -and is covered in the [quick start guide](../quick_start/index.md). +and is covered in the [quick start guide](/documentation/quick-start/). Remember also that the CLI is self-documented thanks to the `--help` flag and the `help` subcommand (e.g. `garage help`, `garage key --help`). Configuring S3-compatible applicatiosn to interact with Garage -is covered in the [Integrations](/connect/index.html) section. +is covered in the [Integrations](/documentation/connect/) section. diff --git a/content/documentation/cookbook/reverse_proxy.md b/content/documentation/cookbook/reverse_proxy.md index 36b9ea3..7fca5e6 100644 --- a/content/documentation/cookbook/reverse_proxy.md +++ b/content/documentation/cookbook/reverse_proxy.md @@ -123,7 +123,7 @@ server { ### Exposing the web endpoint The web endpoint is a bit more complicated to configure as it listens on many different `Host` fields. -To better understand the logic involved, you can refer to the [Exposing buckets as websites](/cookbook/exposing_websites.html) section. +To better understand the logic involved, you can refer to the [Exposing buckets as websites](/documentation/cookbook/exposing-websites/) section. Also, for some applications, you may need to serve CORS headers: Garage can not serve them directly but we show how we can use nginx to serve them. You can use the following example as your starting point: diff --git a/content/documentation/design/benchmarks.md b/content/documentation/design/benchmarks.md index 7829de4..62e8480 100644 --- a/content/documentation/design/benchmarks.md +++ b/content/documentation/design/benchmarks.md @@ -30,7 +30,7 @@ We selected 5 standard endpoints that are often in the critical path: ListBucket In this first benchmark, we consider 5 instances that are located in a different place each. To simulate the distance, we configure mknet with a RTT between each node of 100 ms +/- 20 ms of jitter. We get the following graph, where the colored bars represent the mean latency while the error bars the minimum and maximum one: -![Comparison of endpoints latency for minio and garage](./img/endpoint-latency.png) +![Comparison of endpoints latency for minio and garage](../endpoint-latency.png) Compared to garage, minio latency drastically increases on 3 endpoints: GetObject, PutObject, RemoveObject. @@ -48,7 +48,7 @@ We consider that intra-DC communications are now very cheap with a latency of 0. The inter-DC remains costly with the same value as before (100ms +/- 20ms of jitter). We plot a similar graph as before: -![Comparison of endpoints latency for minio and garage with 6 nodes in 3 DC](./img/endpoint-latency-dc.png) +![Comparison of endpoints latency for minio and garage with 6 nodes in 3 DC](../endpoint-latency-dc.png) This new graph is very similar to the one before, neither minio or garage seems to benefit from this new topology, but they also do not suffer from it. diff --git a/content/documentation/design/img/endpoint-latency-dc.png b/content/documentation/design/endpoint-latency-dc.png Binary files differindex 7c7411c..7c7411c 100644 --- a/content/documentation/design/img/endpoint-latency-dc.png +++ b/content/documentation/design/endpoint-latency-dc.png diff --git a/content/documentation/design/img/endpoint-latency.png b/content/documentation/design/endpoint-latency.png Binary files differindex 741539a..741539a 100644 --- a/content/documentation/design/img/endpoint-latency.png +++ b/content/documentation/design/endpoint-latency.png diff --git a/content/documentation/development/scripts.md b/content/documentation/development/scripts.md index a6db23c..a3871eb 100644 --- a/content/documentation/development/scripts.md +++ b/content/documentation/development/scripts.md @@ -36,7 +36,7 @@ You can inspect the detailed configuration, including ports, by inspecting `/tmp This script also spawns a simple HTTPS reverse proxy through `socat` for the S3 endpoint that listens on port `4443`. Some libraries might require a TLS endpoint to work, refer to our issue [#64](https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/64) for more detailed information on this subject. -This script covers the [Launching the garage server](/quick_start/index.html#launching-the-garage-server) section of our Quick start page. +This script covers the [Launching the garage server](/documentation/quick-start/overview/#launching-the-garage-server) section of our Quick start page. ### 2. Make them join the cluster @@ -46,7 +46,7 @@ This script covers the [Launching the garage server](/quick_start/index.html#lau This script will configure each instance by assigning them a zone (`dc1`) and a weight (`1`). -This script covers the [Configuring your Garage node](/quick_start/index.html#configuring-your-garage-node) section of our Quick start page. +This script covers the [Configuring your Garage node](/documentation/quick-start/overview/) section of our Quick start page. ### 3. Create a key and a bucket @@ -57,7 +57,7 @@ This script covers the [Configuring your Garage node](/quick_start/index.html#co This script will create a bucket named `eprouvette` with a key having read and write rights on this bucket. The key is stored in a filed named `/tmp/garage.s3` and can be used by the following tools to pre-configure them. -This script covers the [Creating buckets and keys](/quick_start/index.html#creating-buckets-and-keys) section of our Quick start page. +This script covers the [Creating buckets and keys](/documentation/quick-start/overview/#creating-buckets-and-keys) section of our Quick start page. ## Handlers for generic tools diff --git a/content/documentation/quick-start/overview.md b/content/documentation/quick-start/overview.md index f09d748..478e033 100644 --- a/content/documentation/quick-start/overview.md +++ b/content/documentation/quick-start/overview.md @@ -11,7 +11,7 @@ and how to interact with it. Our goal is to introduce you to Garage's workflows. Following this guide is recommended before moving on to -[configuring a multi-node cluster](../cookbook/real_world.md). +[configuring a multi-node cluster](/documentation/cookbook/real-world/). Note that this kind of deployment should not be used in production, as it provides no redundancy for your data! @@ -28,7 +28,7 @@ or in `~/.local/bin`). If a binary of the last version is not available for your architecture, or if you want a build customized for your system, -you can [build Garage from source](../cookbook/from_source.md). +you can [build Garage from source](/documentation/cookbook/from-source/). ## Writing a first configuration file @@ -280,5 +280,5 @@ The following tools can also be used to send and recieve files from/to Garage: - [Cyberduck](https://cyberduck.io/) - [`s3cmd`](https://s3tools.org/s3cmd) -Refer to the ["Integrations" section](../connect/index.md) to learn how to +Refer to the ["Integrations" section](/documentation/connect/) to learn how to configure application and command line utilities to integrate with Garage. diff --git a/content/documentation/reference-manual/configuration.md b/content/documentation/reference-manual/configuration.md index c9ebee2..1b3782c 100644 --- a/content/documentation/reference-manual/configuration.md +++ b/content/documentation/reference-manual/configuration.md @@ -62,7 +62,7 @@ Store this folder on a fast SSD drive if possible to maximize Garage's performan The directory in which Garage will store the data blocks of objects. This folder can be placed on an HDD. The space available for `data_dir` should be counted to determine a node's capacity -when [configuring it](../getting_started/05_cluster.md). +when [configuring it](/documentation/reference-manual/layout/). #### `block_size` diff --git a/content/documentation/reference-manual/layout.md b/content/documentation/reference-manual/layout.md index 32706d0..79afccf 100644 --- a/content/documentation/reference-manual/layout.md +++ b/content/documentation/reference-manual/layout.md @@ -9,7 +9,7 @@ The cluster layout in Garage is a table that assigns to each node a role in the cluster. The role of a node in Garage can either be a storage node with a certain capacity, or a gateway node that does not store data and is only used as an API entry point for faster cluster access. -An introduction to building cluster layouts can be found in the [production deployment](/cookbook/real_world.md) page. +An introduction to building cluster layouts can be found in the [production deployment](/documentation/cookbook/real-world/) page. ## How cluster layouts work in Garage |