From aeb33afe99ad9c718887a8f277082ad1c5d69ec8 Mon Sep 17 00:00:00 2001 From: Julia March <101819212+juliamrch@users.noreply.github.com> Date: Tue, 21 Jan 2025 23:00:14 +0900 Subject: [PATCH 1/4] doc: troubleshooting sozu default timeouts (#502) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Describe your PR New section in the doc to inform users about default timeouts (often asked on the Support chat) and ways to eventually bypass them. ## Checklist - [x] My PR is related to an opened issue : #223 - [x] I've read the [contributing guidelines](/CleverCloud/documentation/blob/main/CONTRIBUTING.md) ## Reviewers _Who should review these changes?_ @CleverCloud/reviewers --------- Co-authored-by: Eloi Démolis <43861898+Wonshtrum@users.noreply.github.com> --- .../styles/config/vocabularies/Doc/accept.txt | 1 + content/doc/find-help/troubleshooting.md | 27 ++++++++++++++++--- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/.github/styles/config/vocabularies/Doc/accept.txt b/.github/styles/config/vocabularies/Doc/accept.txt index 3312a011..a0aebdc1 100644 --- a/.github/styles/config/vocabularies/Doc/accept.txt +++ b/.github/styles/config/vocabularies/Doc/accept.txt @@ -29,6 +29,7 @@ Gemfile Glassfish Gradle gradle +Grafana healthcheck Heptapod Hextra diff --git a/content/doc/find-help/troubleshooting.md b/content/doc/find-help/troubleshooting.md index edc7888a..bf07d355 100644 --- a/content/doc/find-help/troubleshooting.md +++ b/content/doc/find-help/troubleshooting.md @@ -27,7 +27,7 @@ For most of Cloud providers, the use of the file system is not a good practice. Follow the [File System buckets documentation page]({{< ref "doc/addons/fs-bucket" >}}) to set up an FS Bucket for your application. {{% /details %}} -{{% details title="Troubleshooting empty repository git error" closed="true" %}} +{{% details title="Empty repository git error" closed="true" %}} In some cases, git may display this type of error message: @@ -67,7 +67,7 @@ git push clever production:master {{% /details %}} -{{% details title="Troubleshooting 'Not a git repository' error" closed="true" %}} +{{% details title="'Not a git repository' error" closed="true" %}} ```text fatal: Not a git repository (or any of the parent directories) @@ -79,7 +79,7 @@ You can add all your files with `$ git add .`, then you need to commit the files You will finally push your code with `$ git push clever master`. {{% /details %}} -{{% details title="Troubleshooting 'fatal: 'clever' does not appear to be a git repository'" closed="true" %}} +{{% details title="'fatal: 'clever' does not appear to be a git repository'" closed="true" %}} "clever" is a name used in our examples to represent the Clever Cloud servers. In order to be able to use the same name for yourself, you will need to create a git remote named clever like this: @@ -155,6 +155,27 @@ You have to pay all of your pending invoices to recover your data. {{% /details %}} +## Network + +{{% details title="Backend Timeout Limits" closed="true" %}} + +Clever Cloud uses [Sōzu](https://www.sozu.io) as its load balancer and reverse proxy. Sōzu enforces a 180-second timeout for all backend operations to prevent resource exhaustion from hanging requests. + +For operations that may exceed the 180-second limit, implement one of these approaches: + +1. Use long polling to send periodic status checks from the client +2. Create an asynchronous worker system: move long-running tasks to a background [worker]({{< ref "doc/develop/workers/" >}} "workers") +3. [Purchase a custom load balancer from Clever Cloud](https://www.clever-cloud.com/fr/contact/) with different timeouts + +##### Additional considerations: + +- Design your application architecture to handle timeouts gracefully +- Break up long-running operations into smaller tasks + +Use your embedded [Grafana]({{< ref "doc/metrics/">}} "Grafana on Clever Cloud") to monitor resource usage when implementing any of these solutions. + +{{% /details %}} + ## Others issues {{% details title="Missing GitHub organization on the application creation page" closed="true" %}} From 63e323c2b4b721361ea14c64c4ece5d006bbc866 Mon Sep 17 00:00:00 2001 From: Corentin BARAULT <74433435+Kirbeerus@users.noreply.github.com> Date: Tue, 21 Jan 2025 17:24:16 +0100 Subject: [PATCH 2/4] Add Migration explanation to add-on doc (#497) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Describe your PR I added a shortcodes to explain how to upgrade to a higher plan and how migration work. The shortcodes has been added to MySQL, PG, Redis and MongoDB Also explained how migrating to the same plan allow to redeploy add-on on an instances with the most recent patch. ## Checklist - [x] My PR is related to an opened issue : # - [x] I've read the [contributing guidelines](/CleverCloud/documentation/blob/main/CONTRIBUTING.md) ## Reviewers _Who should review these changes?_ @CleverCloud/reviewers --------- Co-authored-by: David Legrand <1110600+davlgd@users.noreply.github.com> Co-authored-by: Clément Nivolle --- content/doc/addons/mongodb/_index.md | 2 ++ content/doc/addons/mysql/_index.md | 2 ++ content/doc/addons/postgresql/_index.md | 2 ++ content/doc/addons/redis.md | 2 ++ layouts/shortcodes/content/dbMigration.md | 10 ++++++++++ 5 files changed, 18 insertions(+) create mode 100644 layouts/shortcodes/content/dbMigration.md diff --git a/content/doc/addons/mongodb/_index.md b/content/doc/addons/mongodb/_index.md index afb8ea4c..edf8e570 100644 --- a/content/doc/addons/mongodb/_index.md +++ b/content/doc/addons/mongodb/_index.md @@ -60,6 +60,8 @@ The process consists in three steps: Encryption at rest is available on MongoDB. You can have more information on the [dedicated page]({{< ref "doc/administrate/encryption-at-rest.md" >}}) +{{% content/dbMigration %}} + ## Can I use Mongo Ops Manager on Clever Cloud? To be able to use [Mongo Ops Manager](https://www.mongodb.com/products/ops-manager), you'll need a valid MongoDB Enterprise Advanced subscription and to deploy a [Linux version of their manager solution](https://www.mongodb.com/try/download/ops-manager). If you haven't purchased any license from MongoDB and you are using the Community version, you might be looking for a similar service for your databases. diff --git a/content/doc/addons/mysql/_index.md b/content/doc/addons/mysql/_index.md index 551be715..da5788cc 100644 --- a/content/doc/addons/mysql/_index.md +++ b/content/doc/addons/mysql/_index.md @@ -36,6 +36,8 @@ If you want to import your **SQL** dump, you can use several methods: If you need to import a very large dump, contact [Clever Cloud Support](https://console.clever-cloud.com/ticket-center-choice). +{{% content/dbMigration %}} + ## Direct access {{< callout type="warning">}} diff --git a/content/doc/addons/postgresql/_index.md b/content/doc/addons/postgresql/_index.md index 6c2be641..50e606d2 100644 --- a/content/doc/addons/postgresql/_index.md +++ b/content/doc/addons/postgresql/_index.md @@ -34,6 +34,8 @@ Some applications require a non-empty database to run properly. If you want to i 2. Command line tool for PostgreSQL administration like `psql` 3. Any PostgreSQL client such as [pgAdmin](https://www.pgadmin.org/) +{{% content/dbMigration %}} + ## Direct access A proxy serves all dedicated PostgreSQL databases. In some cases, this can add some latency between applications and their database. If this is an issue, you can generate a direct hostname and port for the add-on to bypass the proxy, using the "Generate direct hostname and port" button in the add-on dashboard. diff --git a/content/doc/addons/redis.md b/content/doc/addons/redis.md index ce08ce47..5f6e05e8 100644 --- a/content/doc/addons/redis.md +++ b/content/doc/addons/redis.md @@ -28,6 +28,8 @@ The version currently installed by the add-on are the following : A backup is a `tar.gz` archive containing both the `.rdb` and `.aof` files. You can extract this archive and run `redis-server` in the extracted folder to access data. +{{% content/dbMigration %}} + ## Leader / follower topology By default, all redis add-ons are configured as leaders. You can set up a redis add-on as a follower from the add-on panel (in the "Add-on information" tab). You need to set the leader diff --git a/layouts/shortcodes/content/dbMigration.md b/layouts/shortcodes/content/dbMigration.md new file mode 100644 index 00000000..dc7d8c54 --- /dev/null +++ b/layouts/shortcodes/content/dbMigration.md @@ -0,0 +1,10 @@ +## Migrate your database + +Clever Cloud provides an add-on Migration/Upgrade tool. You can access it from the [Console](https://console.clever-cloud.com), in the left menu when an add-on is selected. It allows to choose a higher plan, a new version or another deployment zone. + +A migration process creates new instances, moves your data into it and stops the old ones if the process ended correctly. In case of a failure during migration, new instances are deleted and you go back to the original ones. +The duration may vary depending on how much data your add-on has. Your database becomes read only for the entire duration. + +If you want to restart your add-on or update to the last supported version of the current branch, migrate it to the same plan, version, zone. + +- [More Clever Cloud Tips and Tricks](/developers/doc/best-practices/tips_and_tricks/) From 546f469790a097eadec6d7ac9cbcb42722b1c5d1 Mon Sep 17 00:00:00 2001 From: "Pierre L. / Peyo" <166715564+PLhuillery@users.noreply.github.com> Date: Tue, 21 Jan 2025 17:36:30 +0100 Subject: [PATCH 3/4] Deleted dead link in Docker (#503) ## Describe your PR Deleted a dead link that used to point to a Haskell dockerized example. ## Checklist - [x] My PR is related to an opened issue : #494 - [x] I've read the [contributing guidelines](/CleverCloud/documentation/blob/main/CONTRIBUTING.md) ## Reviewers _Who should review these changes?_ @CleverCloud/reviewers --- content/doc/applications/docker/_index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/content/doc/applications/docker/_index.md b/content/doc/applications/docker/_index.md index 1dea4e8e..45f01311 100644 --- a/content/doc/applications/docker/_index.md +++ b/content/doc/applications/docker/_index.md @@ -204,7 +204,6 @@ CMD ["sudo","/root/start.sh"] We provide a few examples of dockerized applications on Clever Cloud. * [Elixir App](https://GitHub.com/CleverCloud/demo-docker-elixir/blob/master/Dockerfile) -* [Haskell App](https://GitHub.com/CleverCloud/demo-haskell) * [Hack / HHVM App](https://GitHub.com/CleverCloud/demo-hhvm) * [Seaside / Smalltalk App](https://GitHub.com/CleverCloud/demo-seaside) * [Rust App](https://GitHub.com/CleverCloud/demo-rust) From 414942f951aac4a348737eedaa11a493205878df Mon Sep 17 00:00:00 2001 From: David Legrand <1110600+davlgd@users.noreply.github.com> Date: Wed, 22 Jan 2025 11:02:48 +0100 Subject: [PATCH 4/4] fix: feature image URL (#501) ## Describe your PR Fix the URL of the feature image (shared on social networks) after domain update Co-authored-by: Julia March <101819212+juliamrch@users.noreply.github.com> --- hugo.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hugo.yaml b/hugo.yaml index c5c36d1f..5db18f8b 100644 --- a/hugo.yaml +++ b/hugo.yaml @@ -47,7 +47,7 @@ languages: params: description: Clever Cloud is a Platform-as-a-Service (PaaS) cloud provider, an automated hosting platform for developers. Deploy your app easily and launch dependencies without having to worry about the infrastructure set up images: - - /images/feature.png + - images/feature.png navbar: displayTitle: false displayLogo: true