diff --git a/doc/book/README b/doc/book/README new file mode 100644 index 00000000..2a543888 --- /dev/null +++ b/doc/book/README @@ -0,0 +1,3 @@ +These are the sources for the documentation but not the whole website. +The website templates and other things are in garage_website, which +uses this as a submodule. diff --git a/doc/book/book.toml b/doc/book/book.toml deleted file mode 100644 index 3e163990..00000000 --- a/doc/book/book.toml +++ /dev/null @@ -1,6 +0,0 @@ -[book] -authors = ["Quentin Dufour"] -language = "en" -multilingual = false -src = "src" -title = "Garage Documentation" diff --git a/doc/book/src/connect/index.md b/doc/book/connect/_index.md similarity index 95% rename from doc/book/src/connect/index.md rename to doc/book/connect/_index.md index 60a3b03b..c6a46aea 100644 --- a/doc/book/src/connect/index.md +++ b/doc/book/connect/_index.md @@ -1,4 +1,10 @@ -# Integrations ++++ +title = "Integrations" +weight = 3 +sort_by = "weight" +template = "documentation.html" ++++ + Garage implements the Amazon S3 protocol, which makes it compatible with many existing software programs. diff --git a/doc/book/src/connect/apps.md b/doc/book/connect/apps.md similarity index 99% rename from doc/book/src/connect/apps.md rename to doc/book/connect/apps.md index 14d69ef8..65b97dfe 100644 --- a/doc/book/src/connect/apps.md +++ b/doc/book/connect/apps.md @@ -1,4 +1,7 @@ -# Apps (Nextcloud, Peertube...) ++++ +title = "Apps (Nextcloud, Peertube...)" +weight = 5 ++++ In this section, we cover the following software: [Nextcloud](#nextcloud), [Peertube](#peertube), [Mastodon](#mastodon), [Matrix](#matrix) diff --git a/doc/book/src/connect/backup.md b/doc/book/connect/backup.md similarity index 95% rename from doc/book/src/connect/backup.md rename to doc/book/connect/backup.md index a0af3833..878660fc 100644 --- a/doc/book/src/connect/backup.md +++ b/doc/book/connect/backup.md @@ -1,4 +1,8 @@ -# Backups (restic, duplicity...) ++++ +title = "Backups (restic, duplicity...)" +weight = 25 ++++ + Backups are essential for disaster recovery but they are not trivial to manage. Using Garage as your backup target will enable you to scale your storage as needed while ensuring high availability. diff --git a/doc/book/src/connect/cli-nextcloud-gui.png b/doc/book/connect/cli-nextcloud-gui.png similarity index 100% rename from doc/book/src/connect/cli-nextcloud-gui.png rename to doc/book/connect/cli-nextcloud-gui.png diff --git a/doc/book/src/connect/cli.md b/doc/book/connect/cli.md similarity index 98% rename from doc/book/src/connect/cli.md rename to doc/book/connect/cli.md index f7e0b22f..a62594a7 100644 --- a/doc/book/src/connect/cli.md +++ b/doc/book/connect/cli.md @@ -1,4 +1,7 @@ -# CLI tools ++++ +title = "CLI tools" +weight = 20 ++++ CLI tools allow you to query the S3 API without too many abstractions. These tools are particularly suitable for debug, backups, website deployments or any scripted task that need to handle data. diff --git a/doc/book/src/connect/code.md b/doc/book/connect/code.md similarity index 98% rename from doc/book/src/connect/code.md rename to doc/book/connect/code.md index 3d7acd58..4b2c4cb0 100644 --- a/doc/book/src/connect/code.md +++ b/doc/book/connect/code.md @@ -1,4 +1,7 @@ -# Your code (PHP, JS, Go...) ++++ +title = "Your code (PHP, JS, Go...)" +weight = 30 ++++ If you are developping a new application, you may want to use Garage to store your user's media. diff --git a/doc/book/src/connect/fs.md b/doc/book/connect/fs.md similarity index 96% rename from doc/book/src/connect/fs.md rename to doc/book/connect/fs.md index be8a3402..60a60c7f 100644 --- a/doc/book/src/connect/fs.md +++ b/doc/book/connect/fs.md @@ -1,4 +1,7 @@ -# FUSE (s3fs, goofys, s3backer...) ++++ +title = "FUSE (s3fs, goofys, s3backer...)" +weight = 25 ++++ **WARNING! Garage is not POSIX compatible. Mounting S3 buckets as filesystems will not provide POSIX compatibility. diff --git a/doc/book/src/connect/repositories.md b/doc/book/connect/repositories.md similarity index 98% rename from doc/book/src/connect/repositories.md rename to doc/book/connect/repositories.md index 8a3dce14..1b06385c 100644 --- a/doc/book/src/connect/repositories.md +++ b/doc/book/connect/repositories.md @@ -1,4 +1,7 @@ -# Repositories (Docker, Nix, Git...) ++++ +title = "Repositories (Docker, Nix, Git...)" +weight = 15 ++++ Whether you need to store and serve binary packages or source code, you may want to deploy a tool referred as a repository or registry. Garage can also help you serve this content. diff --git a/doc/book/src/connect/websites.md b/doc/book/connect/websites.md similarity index 97% rename from doc/book/src/connect/websites.md rename to doc/book/connect/websites.md index 6f66c8d0..1ef50463 100644 --- a/doc/book/src/connect/websites.md +++ b/doc/book/connect/websites.md @@ -1,4 +1,7 @@ -# Websites (Hugo, Jekyll, Publii...) ++++ +title = "Websites (Hugo, Jekyll, Publii...)" +weight = 10 ++++ Garage is also suitable to host static websites. While they can be deployed with traditional CLI tools, some static website generators have integrated options to ease your workflow. diff --git a/doc/book/src/cookbook/index.md b/doc/book/cookbook/_index.md similarity index 94% rename from doc/book/src/cookbook/index.md rename to doc/book/cookbook/_index.md index 792a5e6e..72c32687 100644 --- a/doc/book/src/cookbook/index.md +++ b/doc/book/cookbook/_index.md @@ -1,4 +1,9 @@ -# Cookbook ++++ +title="Cookbook" +template = "documentation.html" +weight = 2 +sort_by = "weight" ++++ A cookbook, when you cook, is a collection of recipes. Similarly, Garage's cookbook contains a collection of recipes that are known to works well! diff --git a/doc/book/src/cookbook/exposing_websites.md b/doc/book/cookbook/exposing_websites.md similarity index 97% rename from doc/book/src/cookbook/exposing_websites.md rename to doc/book/cookbook/exposing_websites.md index 0cbb1150..dcb56d36 100644 --- a/doc/book/src/cookbook/exposing_websites.md +++ b/doc/book/cookbook/exposing_websites.md @@ -1,4 +1,7 @@ -# Exposing buckets as websites ++++ +title = "Exposing buckets as websites" +weight = 25 ++++ You can expose your bucket as a website with this simple command: diff --git a/doc/book/src/cookbook/from_source.md b/doc/book/cookbook/from_source.md similarity index 95% rename from doc/book/src/cookbook/from_source.md rename to doc/book/cookbook/from_source.md index 167f01db..84c0d514 100644 --- a/doc/book/src/cookbook/from_source.md +++ b/doc/book/cookbook/from_source.md @@ -1,4 +1,7 @@ -# Compiling Garage from source ++++ +title = "Compiling Garage from source" +weight = 10 ++++ Garage is a standard Rust project. diff --git a/doc/book/src/cookbook/gateways.md b/doc/book/cookbook/gateways.md similarity index 96% rename from doc/book/src/cookbook/gateways.md rename to doc/book/cookbook/gateways.md index f03671a4..0cec4c53 100644 --- a/doc/book/src/cookbook/gateways.md +++ b/doc/book/cookbook/gateways.md @@ -1,4 +1,7 @@ -# Gateways ++++ +title = "Configuring a gateway node" +weight = 20 ++++ Gateways allow you to expose Garage endpoints (S3 API and websites) without storing data on the node. diff --git a/doc/book/src/cookbook/real_world.md b/doc/book/cookbook/real_world.md similarity index 99% rename from doc/book/src/cookbook/real_world.md rename to doc/book/cookbook/real_world.md index 906fe31f..788c80a9 100644 --- a/doc/book/src/cookbook/real_world.md +++ b/doc/book/cookbook/real_world.md @@ -1,4 +1,7 @@ -# Deploying Garage on a real-world cluster ++++ +title = "Deployment on a cluster" +weight = 5 ++++ 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, diff --git a/doc/book/src/cookbook/recovering.md b/doc/book/cookbook/recovering.md similarity index 98% rename from doc/book/src/cookbook/recovering.md rename to doc/book/cookbook/recovering.md index 279d574c..d826ca6c 100644 --- a/doc/book/src/cookbook/recovering.md +++ b/doc/book/cookbook/recovering.md @@ -1,4 +1,7 @@ -# Recovering from failures ++++ +title = "Recovering from failures" +weight = 35 ++++ Garage is meant to work on old, second-hand hardware. In particular, this makes it likely that some of your drives will fail, and some manual intervention will be needed. diff --git a/doc/book/src/cookbook/reverse_proxy.md b/doc/book/cookbook/reverse_proxy.md similarity index 98% rename from doc/book/src/cookbook/reverse_proxy.md rename to doc/book/cookbook/reverse_proxy.md index 14633ae8..55a2e9b1 100644 --- a/doc/book/src/cookbook/reverse_proxy.md +++ b/doc/book/cookbook/reverse_proxy.md @@ -1,4 +1,7 @@ -# Configuring a reverse proxy ++++ +title = "Configuring a reverse proxy" +weight = 30 ++++ The main reason to add a reverse proxy in front of Garage is to provide TLS to your users. diff --git a/doc/book/src/cookbook/systemd.md b/doc/book/cookbook/systemd.md similarity index 96% rename from doc/book/src/cookbook/systemd.md rename to doc/book/cookbook/systemd.md index ff3541f5..b271010b 100644 --- a/doc/book/src/cookbook/systemd.md +++ b/doc/book/cookbook/systemd.md @@ -1,4 +1,7 @@ -# Starting Garage with systemd ++++ +title = "Starting Garage with systemd" +weight = 15 ++++ We make some assumptions for this systemd deployment. diff --git a/doc/book/src/design/index.md b/doc/book/design/_index.md similarity index 94% rename from doc/book/src/design/index.md rename to doc/book/design/_index.md index 2e3b5fd9..93b7a27c 100644 --- a/doc/book/src/design/index.md +++ b/doc/book/design/_index.md @@ -1,4 +1,9 @@ -# Design ++++ +title = "Design" +weight = 5 +sort_by = "weight" +template = "documentation.html" ++++ The design section helps you to see Garage from a "big picture" perspective. It will allow you to understand if Garage is a good fit for diff --git a/doc/book/src/design/benchmarks.md b/doc/book/design/benchmarks.md similarity index 100% rename from doc/book/src/design/benchmarks.md rename to doc/book/design/benchmarks.md diff --git a/doc/book/src/design/goals.md b/doc/book/design/goals.md similarity index 98% rename from doc/book/src/design/goals.md rename to doc/book/design/goals.md index 10ef6a8f..dea1d2c8 100644 --- a/doc/book/src/design/goals.md +++ b/doc/book/design/goals.md @@ -1,4 +1,7 @@ -# Goals and use cases ++++ +title = "Goals and use cases" +weight = 5 ++++ ## Goals and non-goals diff --git a/doc/book/src/design/img/endpoint-latency-dc.png b/doc/book/design/img/endpoint-latency-dc.png similarity index 100% rename from doc/book/src/design/img/endpoint-latency-dc.png rename to doc/book/design/img/endpoint-latency-dc.png diff --git a/doc/book/src/design/img/endpoint-latency.png b/doc/book/design/img/endpoint-latency.png similarity index 100% rename from doc/book/src/design/img/endpoint-latency.png rename to doc/book/design/img/endpoint-latency.png diff --git a/doc/book/src/design/internals.md b/doc/book/design/internals.md similarity index 99% rename from doc/book/src/design/internals.md rename to doc/book/design/internals.md index 0b31584c..be531e97 100644 --- a/doc/book/src/design/internals.md +++ b/doc/book/design/internals.md @@ -1,4 +1,7 @@ -# Internals ++++ +title = "Internals" +weight = 20 ++++ ## Overview diff --git a/doc/book/src/design/related_work.md b/doc/book/design/related_work.md similarity index 99% rename from doc/book/src/design/related_work.md rename to doc/book/design/related_work.md index da3f807e..da883c06 100644 --- a/doc/book/src/design/related_work.md +++ b/doc/book/design/related_work.md @@ -1,4 +1,7 @@ -# Related work ++++ +title = "Related work" +weight = 15 ++++ ## Context diff --git a/doc/book/src/development/index.md b/doc/book/development/_index.md similarity index 91% rename from doc/book/src/development/index.md rename to doc/book/development/_index.md index 09147ece..662ec358 100644 --- a/doc/book/src/development/index.md +++ b/doc/book/development/_index.md @@ -1,4 +1,9 @@ -# Development ++++ +title = "Development" +weight = 6 +sort_by = "weight" +template = "documentation.html" ++++ Now that you are a Garage expert, you want to enhance it, you are in the right place! We discuss here how to hack on Garage, how we manage its development, etc. diff --git a/doc/book/src/development/devenv.md b/doc/book/development/devenv.md similarity index 98% rename from doc/book/src/development/devenv.md rename to doc/book/development/devenv.md index 78affa48..c2ef4e7d 100644 --- a/doc/book/src/development/devenv.md +++ b/doc/book/development/devenv.md @@ -1,4 +1,7 @@ -# Setup your development environment ++++ +title = "Setup your environment" +weight = 5 ++++ Depending on your tastes, you can bootstrap your development environment in a traditional Rust way or through Nix. diff --git a/doc/book/src/development/miscellaneous_notes.md b/doc/book/development/miscellaneous_notes.md similarity index 98% rename from doc/book/src/development/miscellaneous_notes.md rename to doc/book/development/miscellaneous_notes.md index 1adc5744..f0083ae5 100644 --- a/doc/book/src/development/miscellaneous_notes.md +++ b/doc/book/development/miscellaneous_notes.md @@ -1,4 +1,7 @@ -# Miscellaneous Notes ++++ +title = "Miscellaneous notes" +weight = 20 ++++ ## Quirks about cargo2nix/rust in Nix diff --git a/doc/book/src/development/release_process.md b/doc/book/development/release_process.md similarity index 99% rename from doc/book/src/development/release_process.md rename to doc/book/development/release_process.md index e6f9e608..e8d29ad8 100644 --- a/doc/book/src/development/release_process.md +++ b/doc/book/development/release_process.md @@ -1,4 +1,7 @@ -# Release process ++++ +title = "Release process" +weight = 15 ++++ Before releasing a new version of Garage, our code pass through a succession of checks and transformations. We define them as our release process. diff --git a/doc/book/src/development/scripts.md b/doc/book/development/scripts.md similarity index 98% rename from doc/book/src/development/scripts.md rename to doc/book/development/scripts.md index 387cb349..25f2ce0e 100644 --- a/doc/book/src/development/scripts.md +++ b/doc/book/development/scripts.md @@ -1,4 +1,7 @@ -# Development scripts ++++ +title = "Development scripts" +weight = 10 ++++ We maintain a `script/` folder that contains some useful script to ease testing on Garage. diff --git a/doc/book/src/quick_start/index.md b/doc/book/quick-start/_index.md similarity index 98% rename from doc/book/src/quick_start/index.md rename to doc/book/quick-start/_index.md index ffb3ebbe..9c3f7315 100644 --- a/doc/book/src/quick_start/index.md +++ b/doc/book/quick-start/_index.md @@ -1,4 +1,9 @@ -# Quick Start ++++ +title = "Quick Start" +weight = 0 +sort_by = "weight" +template = "documentation.html" ++++ Let's start your Garage journey! In this chapter, we explain how to deploy Garage as a single-node server diff --git a/doc/book/src/reference_manual/index.md b/doc/book/reference-manual/_index.md similarity index 74% rename from doc/book/src/reference_manual/index.md rename to doc/book/reference-manual/_index.md index 0d4bd6f3..62716df8 100644 --- a/doc/book/src/reference_manual/index.md +++ b/doc/book/reference-manual/_index.md @@ -1,4 +1,9 @@ -# Reference Manual ++++ +title = "Reference Manual" +weight = 4 +sort_by = "weight" +template = "documentation.html" ++++ A reference manual contains some extensive descriptions about the features and the behaviour of the software. Reading of this chapter is recommended once you have a good knowledge/understanding of Garage. diff --git a/doc/book/src/reference_manual/cli.md b/doc/book/reference-manual/cli.md similarity index 76% rename from doc/book/src/reference_manual/cli.md rename to doc/book/reference-manual/cli.md index 80789b9d..43a0c823 100644 --- a/doc/book/src/reference_manual/cli.md +++ b/doc/book/reference-manual/cli.md @@ -1,4 +1,7 @@ -# Garage CLI ++++ +title = "Garage CLI" +weight = 15 ++++ The Garage CLI is mostly self-documented. Make use of the `help` subcommand and the `--help` flag to discover all available options. diff --git a/doc/book/src/reference_manual/configuration.md b/doc/book/reference-manual/configuration.md similarity index 99% rename from doc/book/src/reference_manual/configuration.md rename to doc/book/reference-manual/configuration.md index 9f88b232..b9c093aa 100644 --- a/doc/book/src/reference_manual/configuration.md +++ b/doc/book/reference-manual/configuration.md @@ -1,4 +1,7 @@ -# Garage configuration file format reference ++++ +title = "Configuration file format" +weight = 5 ++++ Here is an example `garage.toml` configuration file that illustrates all of the possible options: diff --git a/doc/book/src/reference_manual/layout.md b/doc/book/reference-manual/layout.md similarity index 98% rename from doc/book/src/reference_manual/layout.md rename to doc/book/reference-manual/layout.md index 80c71d60..3f818b62 100644 --- a/doc/book/src/reference_manual/layout.md +++ b/doc/book/reference-manual/layout.md @@ -1,4 +1,7 @@ -# Creating and updating a cluster layout ++++ +title = "Cluster layout management" +weight = 10 ++++ 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 diff --git a/doc/book/src/reference_manual/s3_compatibility.md b/doc/book/reference-manual/s3_compatibility.md similarity index 98% rename from doc/book/src/reference_manual/s3_compatibility.md rename to doc/book/reference-manual/s3_compatibility.md index e6f32f6a..fdac06ab 100644 --- a/doc/book/src/reference_manual/s3_compatibility.md +++ b/doc/book/reference-manual/s3_compatibility.md @@ -1,4 +1,7 @@ -# S3 Compatibility status ++++ +title = "S3 Compatibility status" +weight = 20 ++++ ## Global S3 features diff --git a/doc/book/src/SUMMARY.md b/doc/book/src/SUMMARY.md deleted file mode 100644 index d9b76e96..00000000 --- a/doc/book/src/SUMMARY.md +++ /dev/null @@ -1,49 +0,0 @@ -# Summary - -[The Garage Data Store](./intro.md) - -- [Quick start](./quick_start/index.md) - -- [Cookbook](./cookbook/index.md) - - [Multi-node deployment](./cookbook/real_world.md) - - [Building from source](./cookbook/from_source.md) - - [Integration with systemd](./cookbook/systemd.md) - - [Configuring a gateway node](./cookbook/gateways.md) - - [Exposing buckets as websites](./cookbook/exposing_websites.md) - - [Configuring a reverse proxy](./cookbook/reverse_proxy.md) - - [Recovering from failures](./cookbook/recovering.md) - -- [Integrations](./connect/index.md) - - [Apps (Nextcloud, Peertube...)](./connect/apps.md) - - [Websites (Hugo, Jekyll, Publii...)](./connect/websites.md) - - [Repositories (Docker, Nix, Git...)](./connect/repositories.md) - - [CLI tools (rclone, awscli, mc...)](./connect/cli.md) - - [Backups (restic, duplicity...)](./connect/backup.md) - - [Your code (PHP, JS, Go...)](./connect/code.md) - - [FUSE (s3fs, goofys, s3backer...)](./connect/fs.md) - - -- [Reference Manual](./reference_manual/index.md) - - [Garage configuration file](./reference_manual/configuration.md) - - [Cluster layout management](./reference_manual/layout.md) - - [Garage CLI](./reference_manual/cli.md) - - [S3 compatibility status](./reference_manual/s3_compatibility.md) - -- [Design](./design/index.md) - - [Goals and use Cases](./design/goals.md) - - [Benchmarks](./design/benchmarks.md) - - [Related work](./design/related_work.md) - - [Internals](./design/internals.md) - -- [Development](./development/index.md) - - [Setup your environment](./development/devenv.md) - - [Development scripts](./development/scripts.md) - - [Release process](./development/release_process.md) - - [Miscellaneous notes](./development/miscellaneous_notes.md) - -- [Working Documents](./working_documents/index.md) - - [S3 compatibility target](./working_documents/compatibility_target.md) - - [Load balancing data](./working_documents/load_balancing.md) - - [Migrating from 0.5 to 0.6](./working_documents/migration_06.md) - - [Migrating from 0.3 to 0.4](./working_documents/migration_04.md) - - [Design draft](./working_documents/design_draft.md) diff --git a/doc/book/src/cookbook/website.md b/doc/book/src/cookbook/website.md deleted file mode 100644 index 53488ac4..00000000 --- a/doc/book/src/cookbook/website.md +++ /dev/null @@ -1,3 +0,0 @@ -# Hosting a website - -TODO diff --git a/doc/book/src/img/eu-flag-logo.png b/doc/book/src/img/eu-flag-logo.png deleted file mode 100644 index eab9e833..00000000 Binary files a/doc/book/src/img/eu-flag-logo.png and /dev/null differ diff --git a/doc/book/src/img/logo.svg b/doc/book/src/img/logo.svg deleted file mode 100644 index fb02c40b..00000000 --- a/doc/book/src/img/logo.svg +++ /dev/null @@ -1,44 +0,0 @@ - - diff --git a/doc/book/src/img/map.svg b/doc/book/src/img/map.svg deleted file mode 100644 index 7b38b2d8..00000000 --- a/doc/book/src/img/map.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/doc/book/src/img/ngi-logo.png b/doc/book/src/img/ngi-logo.png deleted file mode 100644 index ee0f0c29..00000000 Binary files a/doc/book/src/img/ngi-logo.png and /dev/null differ diff --git a/doc/book/src/img/software.svg b/doc/book/src/img/software.svg deleted file mode 100644 index 178c5810..00000000 --- a/doc/book/src/img/software.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/doc/book/src/img/usage.svg b/doc/book/src/img/usage.svg deleted file mode 100644 index c861f6ac..00000000 --- a/doc/book/src/img/usage.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/doc/book/src/intro.md b/doc/book/src/intro.md deleted file mode 100644 index 5d6e2cf0..00000000 --- a/doc/book/src/intro.md +++ /dev/null @@ -1,101 +0,0 @@ -
-
-
-
-
- [ Download - | Git repository - | Matrix channel - | Drone CI - ] -
- - -# Data resiliency for everyone - -Garage is an **open-source** distributed **storage service** you can **self-host** to fullfill many needs: - -
-
-
-⮞ learn more about use cases ⮜ -
- -Garage implements the **[Amazon S3 API](https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html)** and thus is already **compatible** with many applications: - -
-
-
-⮞ learn more about integrations ⮜ -
- - -Garage provides **data resiliency** by **replicating** data 3x over **distant** servers: - -
-
-