From aebd04452d6a536f0e1c8c3bd3a0e1bb5d7214a3 Mon Sep 17 00:00:00 2001 From: jul-dan Date: Thu, 7 Dec 2023 12:55:47 +0000 Subject: [PATCH] deploy: 5b68b7090041b751eb650e659f9d4a142e246b0d --- 404.html | 4 ++-- community/index.html | 4 ++-- components/index.html | 4 ++-- contact/index.html | 4 ++-- d3437d81.62b35a38.js | 2 -- d3437d81.d1005116.js | 2 ++ ...ENSE.txt => d3437d81.d1005116.js.LICENSE.txt | 0 docs/getting-started/basic-concepts/index.html | 4 ++-- docs/getting-started/deploy-my-app/index.html | 4 ++-- .../getting-started/how-qovery-works/index.html | 4 ++-- docs/getting-started/index.html | 4 ++-- docs/getting-started/install-qovery/index.html | 4 ++-- docs/getting-started/what-is-qovery/index.html | 4 ++-- docs/getting-started/whats-next/index.html | 4 ++-- docs/index.html | 4 ++-- .../backup-and-restore/index.html | 4 ++-- .../encryption/index.html | 4 ++-- docs/security-and-compliance/gdpr/index.html | 4 ++-- docs/security-and-compliance/index.html | 4 ++-- docs/security-and-compliance/soc2/index.html | 4 ++-- docs/useful-resources/faq/index.html | 4 ++-- .../help-and-support/index.html | 4 ++-- docs/using-qovery/audit-logs/index.html | 4 ++-- .../configuration/advanced-settings/index.html | 4 ++-- .../application-health-checks/index.html | 4 ++-- .../configuration/application/index.html | 4 ++-- .../amazon-web-services/index.html | 4 ++-- .../digital-ocean/index.html | 4 ++-- .../google-cloud-platform/index.html | 4 ++-- .../cloud-service-provider/index.html | 4 ++-- .../microsoft-azure/index.html | 4 ++-- .../other-csps/index.html | 4 ++-- .../cloud-service-provider/scaleway/index.html | 12 ++++++------ .../cluster-advanced-settings/index.html | 4 ++-- .../configuration/clusters/index.html | 4 ++-- .../configuration/cronjob/index.html | 4 ++-- .../configuration/database/index.html | 4 ++-- .../configuration/database/mongodb/index.html | 4 ++-- .../configuration/database/mysql/index.html | 4 ++-- .../database/postgresql/index.html | 4 ++-- .../configuration/database/redis/index.html | 4 ++-- .../configuration/deployment-rule/index.html | 4 ++-- .../environment-variable/index.html | 4 ++-- .../configuration/environment/index.html | 4 ++-- docs/using-qovery/configuration/index.html | 4 ++-- .../configuration/lifecycle-job/index.html | 4 ++-- .../configuration/object-storage/index.html | 4 ++-- .../organization/api-token/index.html | 4 ++-- .../organization/container-registry/index.html | 4 ++-- .../git-repository-access/index.html | 4 ++-- .../configuration/organization/index.html | 4 ++-- .../organization/members-rbac/index.html | 4 ++-- .../configuration/project/index.html | 4 ++-- .../configuration/provider/index.html | 4 ++-- .../provider/kubernetes/index.html | 4 ++-- .../service-health-checks/index.html | 4 ++-- .../configuration/user-account/index.html | 4 ++-- .../deploying-with-auto-deploy/index.html | 4 ++-- .../deployment/deploying-with-ci-cd/index.html | 4 ++-- .../deployment/deployment-actions/index.html | 4 ++-- .../deployment/deployment-history/index.html | 4 ++-- .../deployment/deployment-pipeline/index.html | 4 ++-- .../deployment/deployment-strategies/index.html | 4 ++-- .../deployment/image-mirroring/index.html | 4 ++-- docs/using-qovery/deployment/index.html | 4 ++-- docs/using-qovery/deployment/logs/index.html | 4 ++-- .../running-and-deployment-statuses/index.html | 4 ++-- docs/using-qovery/index.html | 4 ++-- .../integration/api-integration/index.html | 4 ++-- .../integration/container-registry/index.html | 4 ++-- .../continuous-integration/circle-ci/index.html | 4 ++-- .../github-actions/index.html | 4 ++-- .../continuous-integration/gitlab-ci/index.html | 4 ++-- .../continuous-integration/index.html | 4 ++-- .../continuous-integration/jenkins/index.html | 4 ++-- .../integration/git-repository/index.html | 4 ++-- docs/using-qovery/integration/index.html | 4 ++-- .../integration/monitoring/datadog/index.html | 4 ++-- .../integration/monitoring/index.html | 4 ++-- .../integration/monitoring/new-relic/index.html | 4 ++-- .../aws-secrets-manager/index.html | 4 ++-- .../secret-manager/doppler/index.html | 4 ++-- .../integration/secret-manager/index.html | 4 ++-- docs/using-qovery/integration/slack/index.html | 4 ++-- .../integration/terraform/index.html | 4 ++-- .../using-qovery/integration/webhook/index.html | 4 ++-- docs/using-qovery/interface/cli/index.html | 4 ++-- docs/using-qovery/interface/index.html | 4 ++-- docs/using-qovery/interface/rest-api/index.html | 4 ++-- .../interface/terraform-interface/index.html | 4 ++-- .../interface/web-interface/index.html | 4 ++-- docs/using-qovery/maintenance/index.html | 4 ++-- .../application-troubleshoot/index.html | 4 ++-- .../cluster-troubleshoot/index.html | 4 ++-- .../database-troubleshoot/index.html | 4 ++-- docs/using-qovery/troubleshoot/index.html | 4 ++-- .../lifecycle-troubleshoot/index.html | 4 ++-- .../advanced/continuous-integration/index.html | 4 ++-- guides/advanced/costs-control/index.html | 4 ++-- guides/advanced/deploy-api-gateway/index.html | 4 ++-- guides/advanced/deploy-aws-services/index.html | 4 ++-- .../deploy-external-services/index.html | 4 ++-- guides/advanced/deploy-frontend/index.html | 4 ++-- guides/advanced/helm-chart/index.html | 4 ++-- guides/advanced/index.html | 4 ++-- guides/advanced/microservices/index.html | 4 ++-- guides/advanced/migration/index.html | 4 ++-- guides/advanced/monitoring/index.html | 4 ++-- guides/advanced/monorepository/index.html | 4 ++-- guides/advanced/production/index.html | 4 ++-- guides/advanced/seed-database/index.html | 4 ++-- guides/advanced/terraform/index.html | 4 ++-- .../use-preview-environments/index.html | 4 ++-- .../guide-amazon-web-services/index.html | 4 ++-- .../guide-google-cloud-platform/index.html | 4 ++-- .../guide-microsoft-azure/index.html | 4 ++-- guides/cloud-provider/guide-scaleway/index.html | 4 ++-- guides/cloud-provider/index.html | 4 ++-- .../create-a-database/index.html | 4 ++-- guides/getting-started/debugging/index.html | 4 ++-- .../deploy-your-first-application/index.html | 4 ++-- guides/getting-started/index.html | 4 ++-- .../managing-environment-variables/index.html | 4 ++-- .../setting-custom-domain/index.html | 4 ++-- guides/index.html | 4 ++-- guides/provider/guide-kubernetes/index.html | 4 ++-- guides/provider/index.html | 4 ++-- guides/tags/cloud-provider-aws/index.html | 4 ++-- guides/tags/cloud-provider-azure/index.html | 4 ++-- guides/tags/cloud-provider-gcp/index.html | 4 ++-- guides/tags/cloud-provider-scaleway/index.html | 4 ++-- guides/tags/database-postgresql/index.html | 4 ++-- guides/tags/framework-rails/index.html | 4 ++-- guides/tags/index.html | 4 ++-- guides/tags/language-javascript/index.html | 4 ++-- guides/tags/language-kotlin/index.html | 4 ++-- guides/tags/language-ruby/index.html | 4 ++-- guides/tags/language-rust/index.html | 4 ++-- guides/tags/provider-kubernetes/index.html | 4 ++-- guides/tags/technology-docker/index.html | 4 ++-- guides/tags/technology-github/index.html | 4 ++-- guides/tags/technology-helm/index.html | 4 ++-- guides/tags/technology-qovery/index.html | 4 ++-- guides/tags/technology-terraform/index.html | 4 ++-- guides/tags/type-guide/index.html | 4 ++-- guides/tags/type-tutorial/index.html | 4 ++-- .../aws-sqs-lambda-with-qovery/index.html | 4 ++-- .../aws-vpc-peering-with-qovery/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../tutorial/cloudwatch-integration/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../data-seeding-in-postgres/index.html | 4 ++-- .../index.html | 4 ++-- .../deploy-temporal-on-kubernetes/index.html | 4 ++-- .../generate-qovery-api-client/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- guides/tutorial/grafana-install/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../how-to-deploy-helm-charts/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../how-to-write-a-dockerfile/index.html | 4 ++-- .../index.html | 4 ++-- guides/tutorial/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../url-shortener-api-with-kotlin/index.html | 4 ++-- .../index.html | 4 ++-- .../use-aws-iam-roles-with-qovery/index.html | 4 ++-- .../working-with-git-submodules/index.html | 4 ++-- img/scw-api-key/scw_organization_id.png | Bin 0 -> 56109 bytes index.html | 4 ++-- mailing_list/index.html | 4 ++-- ...main.d7e83400.js => runtime~main.977401e5.js | 2 +- server.bundle.js | 4 ++-- 192 files changed, 381 insertions(+), 381 deletions(-) delete mode 100644 d3437d81.62b35a38.js create mode 100644 d3437d81.d1005116.js rename d3437d81.62b35a38.js.LICENSE.txt => d3437d81.d1005116.js.LICENSE.txt (100%) create mode 100644 img/scw-api-key/scw_organization_id.png rename runtime~main.d7e83400.js => runtime~main.977401e5.js (99%) diff --git a/404.html b/404.html index fd1f12739e..f487fb0f21 100644 --- a/404.html +++ b/404.html @@ -26,7 +26,7 @@ - + @@ -39,7 +39,7 @@ - + diff --git a/community/index.html b/community/index.html index 84a31dc192..f5188ab98a 100644 --- a/community/index.html +++ b/community/index.html @@ -26,7 +26,7 @@ - + @@ -47,7 +47,7 @@ - + diff --git a/components/index.html b/components/index.html index b682b189b5..92cc895a66 100644 --- a/components/index.html +++ b/components/index.html @@ -26,7 +26,7 @@ - + @@ -47,7 +47,7 @@ - + diff --git a/contact/index.html b/contact/index.html index af78c18fcc..7cb516e909 100644 --- a/contact/index.html +++ b/contact/index.html @@ -26,7 +26,7 @@ - + @@ -47,7 +47,7 @@ - + diff --git a/d3437d81.62b35a38.js b/d3437d81.62b35a38.js deleted file mode 100644 index 812f5c6564..0000000000 --- a/d3437d81.62b35a38.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see d3437d81.62b35a38.js.LICENSE.txt */ -(window.webpackJsonp=window.webpackJsonp||[]).push([[218],{370:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return u})),n.d(t,"rightToc",(function(){return b})),n.d(t,"default",(function(){return d}));var a=n(1),r=n(9),o=(n(0),n(422)),c=n(431),i=n(421),l=n(426),s={last_modified_on:"2023-11-29",title:"Scaleway (SCW)",description:"Learn how to configure and plug your Scaleway (SCW) account"},u={id:"using-qovery/configuration/cloud-service-provider/scaleway",title:"Scaleway (SCW)",description:"Learn how to configure and plug your Scaleway (SCW) account",source:"@site/docs/using-qovery/configuration/cloud-service-provider/scaleway.md",permalink:"/docs/using-qovery/configuration/cloud-service-provider/scaleway",sidebar:"docs",previous:{title:"Microsoft Azure",permalink:"/docs/using-qovery/configuration/cloud-service-provider/microsoft-azure"},next:{title:"Other Cloud Service Provider",permalink:"/docs/using-qovery/configuration/cloud-service-provider/other-csps"}},b=[{value:"Getting started",id:"getting-started",children:[{value:"Connect your Scaleway account",id:"connect-your-scaleway-account",children:[]},{value:"Install a new cluster on Qovery",id:"install-a-new-cluster-on-qovery",children:[]},{value:"Remove your Scaleway account",id:"remove-your-scaleway-account",children:[]},{value:"Delete Qovery from your Scaleway account",id:"delete-qovery-from-your-scaleway-account",children:[]}]},{value:"Regions",id:"regions",children:[]},{value:"How Qovery works on Scaleway",id:"how-qovery-works-on-scaleway",children:[{value:"Kubernetes",id:"kubernetes",children:[]},{value:"Managed services",id:"managed-services",children:[]},{value:"Security and compliance",id:"security-and-compliance",children:[]}]},{value:"FAQ",id:"faq",children:[{value:"How to choose a region?",id:"how-to-choose-a-region",children:[]},{value:"I don't find a region that is provided by Scaleway",id:"i-dont-find-a-region-that-is-provided-by-scaleway",children:[]},{value:"Migrate between Cloud providers and regions",id:"migrate-between-cloud-providers-and-regions",children:[]}]}],p={rightToc:b};function d(e){var t=e.components,n=Object(r.a)(e,["components"]);return Object(o.b)("wrapper",Object(a.a)({},p,n,{components:t,mdxType:"MDXLayout"}),Object(o.b)(i.a,{type:"info",mdxType:"Alert"},Object(o.b)("p",null,"Please refer to ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/provider/kubernetes/"}),"this page")," if you want to install Qovery on your own Kubernetes cluster (BYOK).")),Object(o.b)("p",null,"Qovery lets you quickly deploy applications to your ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://www.scaleway.com"}),"Scaleway (Scaleway)")," account. No knowledge needed, and it takes less than 10 minutes to install Qovery on your Scaleway account."),Object(o.b)("h2",{id:"getting-started"},"Getting started"),Object(o.b)(l.a,{mdxType:"Assumptions"},Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},"You have a ",Object(o.b)("a",Object(a.a)({parentName:"li"},{href:"/docs/using-qovery/interface/"}),"Qovery")," account"),Object(o.b)("li",{parentName:"ul"},"You have created an ",Object(o.b)("a",Object(a.a)({parentName:"li"},{href:"/docs/using-qovery/configuration/organization/"}),"Organization")),Object(o.b)("li",{parentName:"ul"},"You have a Scaleway account"))),Object(o.b)("h3",{id:"connect-your-scaleway-account"},"Connect your Scaleway account"),Object(o.b)("p",null,"To link your Scaleway account to Qovery you need to provide a Scaleway ",Object(o.b)("inlineCode",{parentName:"p"},"access key id"),", ",Object(o.b)("inlineCode",{parentName:"p"},"secret access key")," and a ",Object(o.b)("inlineCode",{parentName:"p"},"project id"),"."),Object(o.b)(i.a,{type:"warning",mdxType:"Alert"},Object(o.b)("p",null,'If your Scaleway account is new, you need to open a ticket to Scaleway support to unlock your quota. You can post the following message:\n"Hello, I am going to deploy my applications on Scaleway with Qovery. Can you increase my quota for current Kubernetes nodes type, to 10 please? Thanks"')),Object(o.b)(i.a,{type:"info",mdxType:"Alert"},Object(o.b)("p",null,"You can link more than one Scaleway account. Qovery also support multiple Cloud providers within the same Organization. Meaning, you can balance your workload on different Cloud providers. ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/guides/advanced/"}),"Read more"),".")),Object(o.b)("h4",{id:"create-your-scaleway-credentials---access-key-id-secret-access-key-and-project-id"},"Create your Scaleway credentials - ",Object(o.b)("inlineCode",{parentName:"h4"},"access key id"),", ",Object(o.b)("inlineCode",{parentName:"h4"},"secret access key")," and ",Object(o.b)("inlineCode",{parentName:"h4"},"project id"),"."),Object(o.b)(c.a,{headingDepth:3,mdxType:"Steps"},Object(o.b)("ol",null,Object(o.b)("li",null,Object(o.b)("p",null,Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://console.scaleway.com"}),"Connect to your Scaleway console"))),Object(o.b)("li",null,Object(o.b)("p",null,"Go to ",Object(o.b)("inlineCode",{parentName:"p"},"IAM")),Object(o.b)("img",{src:"/img/scw-api-key/scw_IAM.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Go to ",Object(o.b)("inlineCode",{parentName:"p"},"Applications")),Object(o.b)("img",{src:"/img/scw-api-key/scw_applications.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Create a new application for your project"),Object(o.b)("img",{src:"/img/scw-api-key/scw_create_app.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Generate your new API key from your application view"),Object(o.b)("img",{src:"/img/scw-api-key/scw_create_key_1.png"}),"Set up the the preferred `Project` for `Object Storage` with your Scaleway Project",Object(o.b)("img",{src:"/img/scw-api-key/scw_create_key_2.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Save the generated ",Object(o.b)("inlineCode",{parentName:"p"},"access key id")," and ",Object(o.b)("inlineCode",{parentName:"p"},"secret access key"),"."),Object(o.b)("img",{src:"/img/scw-api-key/scw_creds.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Go to ",Object(o.b)("inlineCode",{parentName:"p"},"Policies")),Object(o.b)("img",{src:"/img/scw-api-key/scw_policies.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Create a new policy with ",Object(o.b)("inlineCode",{parentName:"p"},"Principal")," linked to the application you just created."),Object(o.b)("img",{src:"/img/scw-api-key/scw_create_policy.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Set the scope of the policy to your project"),Object(o.b)("img",{src:"/img/scw-api-key/scw_policy_scope.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Select the following rules for your policy"),Object(o.b)("ul",null,Object(o.b)("li",null,"Containers permissions",Object(o.b)("br",null),Object(o.b)("img",{src:"/img/scw-api-key/scw_perms_containers.png"})),Object(o.b)("li",null,"Network Service permissions",Object(o.b)("br",null),Object(o.b)("img",{src:"/img/scw-api-key/scw_perms_network.png"})),Object(o.b)("li",null,"Compute permissions",Object(o.b)("br",null),Object(o.b)("img",{src:"/img/scw-api-key/scw_perms_compute.png"})),Object(o.b)("li",null,"Storage permissions",Object(o.b)("br",null),Object(o.b)("img",{src:"/img/scw-api-key/scw_perms_storage.png"})),Object(o.b)("li",null,"VPC permissions",Object(o.b)("br",null),Object(o.b)("img",{src:"/img/scw-api-key/scw_perms_vpc.png"})))),Object(o.b)("li",null,Object(o.b)("p",null,"Create your policy"),Object(o.b)("img",{src:"/img/scw-api-key/scw_apply_policy.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Get you ",Object(o.b)("inlineCode",{parentName:"p"},"project id")," on your project dashboard"),Object(o.b)("img",{src:"/img/scw-api-key/scw_project_id.png"})))),Object(o.b)("p",null,"Well done!! You now have your Scaleway ",Object(o.b)("inlineCode",{parentName:"p"},"access key id"),", ",Object(o.b)("inlineCode",{parentName:"p"},"secret access key")," and ",Object(o.b)("inlineCode",{parentName:"p"},"project id"),"; It is time to connect Qovery to your Scaleway account."),Object(o.b)("h3",{id:"install-a-new-cluster-on-qovery"},"Install a new cluster on Qovery"),Object(o.b)("p",null,"You will be able to use the credentials you just generated when creating a cluster via the Qovery console. This cluster will be linked to your Qovery organization.\nFollow ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/clusters/#creating-a-cluster"}),"this documentation")," to create a new cluster on your organization."),Object(o.b)("h3",{id:"remove-your-scaleway-account"},"Remove your Scaleway account"),Object(o.b)("p",null,Object(o.b)("em",{parentName:"p"},"this section is under development - ",Object(o.b)("a",Object(a.a)({parentName:"em"},{href:"https://discord.qovery.com"}),"join us")," and be part of the first to try it")),Object(o.b)("h3",{id:"delete-qovery-from-your-scaleway-account"},"Delete Qovery from your Scaleway account"),Object(o.b)(i.a,{type:"warning",mdxType:"Alert"},Object(o.b)("p",null,"Your applications and your data will be deleted.")),Object(o.b)("p",null,"To delete Qovery from your Scaleway account you must be the owner of the Organization.\nOnce your Scaleway account removed from Qovery, everything configured (VPC, Kubernetes, databases, ...) by Qovery will be deleted forever."),Object(o.b)("h2",{id:"regions"},"Regions"),Object(o.b)("p",null,"Qovery supports the following Scalewav regions:"),Object(o.b)("table",null,Object(o.b)("thead",{parentName:"table"},Object(o.b)("tr",{parentName:"thead"},Object(o.b)("th",Object(a.a)({parentName:"tr"},{align:null})),Object(o.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"name"),Object(o.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"description"))),Object(o.b)("tbody",{parentName:"table"},Object(o.b)("tr",{parentName:"tbody"},Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\ud83c\uddeb\ud83c\uddf7"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"fr-par-1"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Paris DC1 (France)")),Object(o.b)("tr",{parentName:"tbody"},Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\ud83c\uddeb\ud83c\uddf7"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"fr-par-2"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Paris DC2 (France)")),Object(o.b)("tr",{parentName:"tbody"},Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\ud83c\uddeb\ud83c\uddf7"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"fr-par-3"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Paris DC3 (France)")),Object(o.b)("tr",{parentName:"tbody"},Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\ud83c\uddf3\ud83c\uddf1"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"nl-ams-1"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Amsterdam DC1 (Netherlands)")),Object(o.b)("tr",{parentName:"tbody"},Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\ud83c\uddf5\ud83c\uddf1"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"pl-waw-1"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Warsaw DC1 (Poland)")))),Object(o.b)("p",null,"Qovery supports regions where ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://www.scaleway.com/en/kubernetes-kapsule/"}),"Scaleway Kubernetes (Kapsule)")," is supported."),Object(o.b)("h2",{id:"how-qovery-works-on-scaleway"},"How Qovery works on Scaleway"),Object(o.b)("p",null,"Qovery is an abstraction layer on top of Scaleway and Kubernetes. Qovery manages the configuration of Scaleway account, and helps you to deploy production ready apps in seconds.\nTo make it works, Qovery rely on Kubernetes for stateless apps (containers), and Scaleway for stateful apps (databases, storage...)."),Object(o.b)("p",null,Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/getting-started/how-qovery-works/"}),"Read more")," on how Qovery works behind the scene."),Object(o.b)("h3",{id:"kubernetes"},"Kubernetes"),Object(o.b)("p",null,"The first time you set up your Scaleway account, Qovery creates a Kubernetes cluster in your chosen region. Qovery managed it for you - no action required. It takes ~15 minutes to configure and bootstrap a Kubernetes cluster. Once bootstrapped, your Kubernetes cluster runs the Qovery app and is ready to deploy your applications."),Object(o.b)("h3",{id:"managed-services"},"Managed services"),Object(o.b)("p",null,"Scaleway provides managed services for ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/database/postgresql/"}),"PostgreSQL"),", ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/database/mysql/"}),"MySQL"),", ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/database/redis/"}),"Redis"),", ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/database/mongodb/"}),"MongoDB"),". Qovery gives you access to those services when you set the ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/deployment-rule/#environment-deployment-rules"}),"environment mode")," to ",Object(o.b)("inlineCode",{parentName:"p"},"Production"),". In ",Object(o.b)("inlineCode",{parentName:"p"},"Development")," mode, Qovery provides containers equivalent, which is cheaper and faster to start."),Object(o.b)("h3",{id:"security-and-compliance"},"Security and compliance"),Object(o.b)("p",null,"Qovery runs your Kubernetes cluster and is autonomous to manage your applications, which means:"),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},"Your configuration are stored on your Scaleway account."),Object(o.b)("li",{parentName:"ul"},"Your configuration is encrypted on your Scaleway account."),Object(o.b)("li",{parentName:"ul"},"Qovery can't access to your data."),Object(o.b)("li",{parentName:"ul"},"Suppose Qovery stops to run, your applications are not impacted.")),Object(o.b)("h2",{id:"faq"},"FAQ"),Object(o.b)("h3",{id:"how-to-choose-a-region"},"How to choose a region?"),Object(o.b)("p",null,"Different datacenters are located in different geographic areas, and you may want to keep your site physically close to the bulk of your user base for reduced latency."),Object(o.b)("h3",{id:"i-dont-find-a-region-that-is-provided-by-scaleway"},"I don't find a region that is provided by Scaleway"),Object(o.b)("p",null,"We are probably testing the support of this region, please ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://www.qovery.com/contact"}),"contact us")," to know what's the status"),Object(o.b)("h3",{id:"migrate-between-cloud-providers-and-regions"},"Migrate between Cloud providers and regions"),Object(o.b)("p",null,"Today, you can't migrate an environment from one region to another after it has been created. Vote ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://roadmap.qovery.com/"}),"here")," if you need this feature."))}d.isMDXComponent=!0},420:function(e,t,n){var a;!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var e=[],t=0;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=r.a.createContext({}),u=function(e){var t=r.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i({},t,{},e)),n},b=function(e){var t=u(e.components);return r.a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=Object(a.forwardRef)((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),b=u(n),d=a,y=b["".concat(c,".").concat(d)]||b[d]||p[d]||o;return n?r.a.createElement(y,i({ref:t},s,{components:n})):r.a.createElement(y,i({ref:t},s))}));function y(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,c=new Array(o);c[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,c[1]=i;for(var s=2;s1?arguments[1]:void 0,n),l=c>2?arguments[2]:void 0,s=void 0===l?n:r(l,n);s>i;)t[i++]=e;return t}},425:function(e,t,n){var a=n(28).f,r=Function.prototype,o=/^\s*function ([^ (]*)/;"name"in r||n(10)&&a(r,"name",{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(e){return""}}})},426:function(e,t,n){"use strict";n(425);var a=n(0),r=n.n(a),o=n(421);t.a=function(e){var t=e.children,n=e.name;return r.a.createElement(o.a,{type:"info",fill:!0,icon:!1,rounded:!0,className:"list--icons list--icons--arrow list--tight list--indent margin-bottom--lg"},r.a.createElement("p",{class:"text--lg margin-bottom--sm",style:{marginTop:"-0.25em"}},"Before you begin, this ",n||"page"," assumes the following:"),t)}},428:function(e,t,n){"use strict";var a=n(432),r=n(51);function o(e,t){return t.encode?t.strict?a(e):encodeURIComponent(e):e}t.extract=function(e){return e.split("?")[1]||""},t.parse=function(e,t){var n=function(e){var t;switch(e.arrayFormat){case"index":return function(e,n,a){t=/\[(\d*)\]$/.exec(e),e=e.replace(/\[\d*\]$/,""),t?(void 0===a[e]&&(a[e]={}),a[e][t[1]]=n):a[e]=n};case"bracket":return function(e,n,a){t=/(\[\])$/.exec(e),e=e.replace(/\[\]$/,""),t?void 0!==a[e]?a[e]=[].concat(a[e],n):a[e]=[n]:a[e]=n};default:return function(e,t,n){void 0!==n[e]?n[e]=[].concat(n[e],t):n[e]=t}}}(t=r({arrayFormat:"none"},t)),a=Object.create(null);return"string"!=typeof e?a:(e=e.trim().replace(/^(\?|#|&)/,""))?(e.split("&").forEach((function(e){var t=e.replace(/\+/g," ").split("="),r=t.shift(),o=t.length>0?t.join("="):void 0;o=void 0===o?null:decodeURIComponent(o),n(decodeURIComponent(r),o,a)})),Object.keys(a).sort().reduce((function(e,t){var n=a[t];return Boolean(n)&&"object"==typeof n&&!Array.isArray(n)?e[t]=function e(t){return Array.isArray(t)?t.sort():"object"==typeof t?e(Object.keys(t)).sort((function(e,t){return Number(e)-Number(t)})).map((function(e){return t[e]})):t}(n):e[t]=n,e}),Object.create(null))):a},t.stringify=function(e,t){var n=function(e){switch(e.arrayFormat){case"index":return function(t,n,a){return null===n?[o(t,e),"[",a,"]"].join(""):[o(t,e),"[",o(a,e),"]=",o(n,e)].join("")};case"bracket":return function(t,n){return null===n?o(t,e):[o(t,e),"[]=",o(n,e)].join("")};default:return function(t,n){return null===n?o(t,e):[o(t,e),"=",o(n,e)].join("")}}}(t=r({encode:!0,strict:!0,arrayFormat:"none"},t));return e?Object.keys(e).sort().map((function(a){var r=e[a];if(void 0===r)return"";if(null===r)return o(a,t);if(Array.isArray(r)){var c=[];return r.slice().forEach((function(e){void 0!==e&&c.push(n(a,e,c.length))})),c.join("&")}return o(a,t)+"="+o(r,t)})).filter((function(e){return e.length>0})).join("&"):""}},431:function(e,t,n){"use strict";var a=n(0),r=n.n(a),o=(n(420),n(428)),c=n.n(o);n(134);t.a=function(e){var t=e.children,n=e.headingDepth,o=e.hideFeedbackQuestion,i="undefined"!=typeof window?window.location:null,l={title:"Tutorial on "+i+" failed",body:"The tutorial on:\n\n"+i+"\n\nHere's what went wrong:\n\n\x3c!-- Insert command output and details. Thank you for reporting! :) --\x3e"},s="https://github.com/qovery/documentation/issues/new?"+c.a.stringify(l),u=Object(a.useState)(null),b=u[0],p=u[1];return r.a.createElement("div",{className:"steps steps--h"+n},t,!o&&!b&&r.a.createElement("div",{className:"steps--feedback"},"How was it? Did this tutorial work?\xa0\xa0",r.a.createElement("span",{className:"button button--sm button--primary",onClick:function(){return p("yes")}},"Yes"),"\xa0\xa0",r.a.createElement("a",{href:s,target:"_blank",className:"button button--sm button--primary"},"No")),"yes"==b&&r.a.createElement("div",{className:"steps--feedback steps--feedback--success"},"Thanks! If you're enjoying Qovery please consider ",r.a.createElement("a",{href:"https://github.com/qovery/documentation/",target:"_blank"},"starring our Github repo"),"."))}},432:function(e,t,n){"use strict";e.exports=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}}}]); \ No newline at end of file diff --git a/d3437d81.d1005116.js b/d3437d81.d1005116.js new file mode 100644 index 0000000000..92e030b9ac --- /dev/null +++ b/d3437d81.d1005116.js @@ -0,0 +1,2 @@ +/*! For license information please see d3437d81.d1005116.js.LICENSE.txt */ +(window.webpackJsonp=window.webpackJsonp||[]).push([[218],{370:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return s})),n.d(t,"metadata",(function(){return u})),n.d(t,"rightToc",(function(){return b})),n.d(t,"default",(function(){return d}));var a=n(1),r=n(9),o=(n(0),n(422)),c=n(431),i=n(421),l=n(426),s={last_modified_on:"2023-12-06",title:"Scaleway (SCW)",description:"Learn how to configure and plug your Scaleway (SCW) account"},u={id:"using-qovery/configuration/cloud-service-provider/scaleway",title:"Scaleway (SCW)",description:"Learn how to configure and plug your Scaleway (SCW) account",source:"@site/docs/using-qovery/configuration/cloud-service-provider/scaleway.md",permalink:"/docs/using-qovery/configuration/cloud-service-provider/scaleway",sidebar:"docs",previous:{title:"Microsoft Azure",permalink:"/docs/using-qovery/configuration/cloud-service-provider/microsoft-azure"},next:{title:"Other Cloud Service Provider",permalink:"/docs/using-qovery/configuration/cloud-service-provider/other-csps"}},b=[{value:"Getting started",id:"getting-started",children:[{value:"Connect your Scaleway account",id:"connect-your-scaleway-account",children:[]},{value:"Install a new cluster on Qovery",id:"install-a-new-cluster-on-qovery",children:[]},{value:"Remove your Scaleway account",id:"remove-your-scaleway-account",children:[]},{value:"Delete Qovery from your Scaleway account",id:"delete-qovery-from-your-scaleway-account",children:[]}]},{value:"Regions",id:"regions",children:[]},{value:"How Qovery works on Scaleway",id:"how-qovery-works-on-scaleway",children:[{value:"Kubernetes",id:"kubernetes",children:[]},{value:"Managed services",id:"managed-services",children:[]},{value:"Security and compliance",id:"security-and-compliance",children:[]}]},{value:"FAQ",id:"faq",children:[{value:"How to choose a region?",id:"how-to-choose-a-region",children:[]},{value:"I don't find a region that is provided by Scaleway",id:"i-dont-find-a-region-that-is-provided-by-scaleway",children:[]},{value:"Migrate between Cloud providers and regions",id:"migrate-between-cloud-providers-and-regions",children:[]}]}],p={rightToc:b};function d(e){var t=e.components,n=Object(r.a)(e,["components"]);return Object(o.b)("wrapper",Object(a.a)({},p,n,{components:t,mdxType:"MDXLayout"}),Object(o.b)(i.a,{type:"info",mdxType:"Alert"},Object(o.b)("p",null,"Please refer to ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/provider/kubernetes/"}),"this page")," if you want to install Qovery on your own Kubernetes cluster (BYOK).")),Object(o.b)("p",null,"Qovery lets you quickly deploy applications to your ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://www.scaleway.com"}),"Scaleway (Scaleway)")," account. No knowledge needed, and it takes less than 10 minutes to install Qovery on your Scaleway account."),Object(o.b)("h2",{id:"getting-started"},"Getting started"),Object(o.b)(l.a,{mdxType:"Assumptions"},Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},"You have a ",Object(o.b)("a",Object(a.a)({parentName:"li"},{href:"/docs/using-qovery/interface/"}),"Qovery")," account"),Object(o.b)("li",{parentName:"ul"},"You have created an ",Object(o.b)("a",Object(a.a)({parentName:"li"},{href:"/docs/using-qovery/configuration/organization/"}),"Organization")),Object(o.b)("li",{parentName:"ul"},"You have a Scaleway account"))),Object(o.b)("h3",{id:"connect-your-scaleway-account"},"Connect your Scaleway account"),Object(o.b)("p",null,"To link your Scaleway account to Qovery you need to provide a Scaleway ",Object(o.b)("inlineCode",{parentName:"p"},"access key id"),", ",Object(o.b)("inlineCode",{parentName:"p"},"secret access key"),", ",Object(o.b)("inlineCode",{parentName:"p"},"organization id")," and a ",Object(o.b)("inlineCode",{parentName:"p"},"project id"),"."),Object(o.b)(i.a,{type:"warning",mdxType:"Alert"},Object(o.b)("p",null,'If your Scaleway account is new, you need to open a ticket to Scaleway support to unlock your quota. You can post the following message:\n"Hello, I am going to deploy my applications on Scaleway with Qovery. Can you increase my quota for current Kubernetes nodes type, to 10 please? Thanks"')),Object(o.b)(i.a,{type:"info",mdxType:"Alert"},Object(o.b)("p",null,"You can link more than one Scaleway account. Qovery also support multiple Cloud providers within the same Organization. Meaning, you can balance your workload on different Cloud providers. ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/guides/advanced/"}),"Read more"),".")),Object(o.b)("h4",{id:"create-your-scaleway-credentials---access-key-id-secret-access-key-organization-id-and-project-id"},"Create your Scaleway credentials - ",Object(o.b)("inlineCode",{parentName:"h4"},"access key id"),", ",Object(o.b)("inlineCode",{parentName:"h4"},"secret access key"),", ",Object(o.b)("inlineCode",{parentName:"h4"},"organization id")," and ",Object(o.b)("inlineCode",{parentName:"h4"},"project id"),"."),Object(o.b)(c.a,{headingDepth:3,mdxType:"Steps"},Object(o.b)("ol",null,Object(o.b)("li",null,Object(o.b)("p",null,Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://console.scaleway.com"}),"Connect to your Scaleway console"))),Object(o.b)("li",null,Object(o.b)("p",null,"Go to ",Object(o.b)("inlineCode",{parentName:"p"},"IAM")),Object(o.b)("img",{src:"/img/scw-api-key/scw_IAM.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Go to ",Object(o.b)("inlineCode",{parentName:"p"},"Applications")),Object(o.b)("img",{src:"/img/scw-api-key/scw_applications.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Create a new application for your project"),Object(o.b)("img",{src:"/img/scw-api-key/scw_create_app.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Generate your new API key from your application view"),Object(o.b)("img",{src:"/img/scw-api-key/scw_create_key_1.png"}),"Set up the the preferred `Project` for `Object Storage` with your Scaleway Project",Object(o.b)("img",{src:"/img/scw-api-key/scw_create_key_2.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Save the generated ",Object(o.b)("inlineCode",{parentName:"p"},"access key id")," and ",Object(o.b)("inlineCode",{parentName:"p"},"secret access key"),"."),Object(o.b)("img",{src:"/img/scw-api-key/scw_creds.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Go to ",Object(o.b)("inlineCode",{parentName:"p"},"Policies")),Object(o.b)("img",{src:"/img/scw-api-key/scw_policies.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Create a new policy with ",Object(o.b)("inlineCode",{parentName:"p"},"Principal")," linked to the application you just created."),Object(o.b)("img",{src:"/img/scw-api-key/scw_create_policy.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Set the scope of the policy to your project"),Object(o.b)("img",{src:"/img/scw-api-key/scw_policy_scope.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Select the following rules for your policy"),Object(o.b)("ul",null,Object(o.b)("li",null,"Containers permissions",Object(o.b)("br",null),Object(o.b)("img",{src:"/img/scw-api-key/scw_perms_containers.png"})),Object(o.b)("li",null,"Network Service permissions",Object(o.b)("br",null),Object(o.b)("img",{src:"/img/scw-api-key/scw_perms_network.png"})),Object(o.b)("li",null,"Compute permissions",Object(o.b)("br",null),Object(o.b)("img",{src:"/img/scw-api-key/scw_perms_compute.png"})),Object(o.b)("li",null,"Storage permissions",Object(o.b)("br",null),Object(o.b)("img",{src:"/img/scw-api-key/scw_perms_storage.png"})),Object(o.b)("li",null,"VPC permissions",Object(o.b)("br",null),Object(o.b)("img",{src:"/img/scw-api-key/scw_perms_vpc.png"})))),Object(o.b)("li",null,Object(o.b)("p",null,"Create your policy"),Object(o.b)("img",{src:"/img/scw-api-key/scw_apply_policy.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Get your ",Object(o.b)("inlineCode",{parentName:"p"},"organization id")," in your ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://console.scaleway.com/organization/settings"}),"organization settings")),Object(o.b)("img",{src:"/img/scw-api-key/scw_organization_id.png"})),Object(o.b)("li",null,Object(o.b)("p",null,"Get your ",Object(o.b)("inlineCode",{parentName:"p"},"project id")," on your project dashboard"),Object(o.b)("img",{src:"/img/scw-api-key/scw_project_id.png"})))),Object(o.b)("p",null,"Well done!! You now have your Scaleway ",Object(o.b)("inlineCode",{parentName:"p"},"access key id"),", ",Object(o.b)("inlineCode",{parentName:"p"},"secret access key")," and ",Object(o.b)("inlineCode",{parentName:"p"},"project id"),"; It is time to connect Qovery to your Scaleway account."),Object(o.b)("h3",{id:"install-a-new-cluster-on-qovery"},"Install a new cluster on Qovery"),Object(o.b)("p",null,"You will be able to use the credentials you just generated when creating a cluster via the Qovery console. This cluster will be linked to your Qovery organization.\nFollow ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/clusters/#creating-a-cluster"}),"this documentation")," to create a new cluster on your organization."),Object(o.b)("h3",{id:"remove-your-scaleway-account"},"Remove your Scaleway account"),Object(o.b)("p",null,Object(o.b)("em",{parentName:"p"},"this section is under development - ",Object(o.b)("a",Object(a.a)({parentName:"em"},{href:"https://discord.qovery.com"}),"join us")," and be part of the first to try it")),Object(o.b)("h3",{id:"delete-qovery-from-your-scaleway-account"},"Delete Qovery from your Scaleway account"),Object(o.b)(i.a,{type:"warning",mdxType:"Alert"},Object(o.b)("p",null,"Your applications and your data will be deleted.")),Object(o.b)("p",null,"To delete Qovery from your Scaleway account you must be the owner of the Organization.\nOnce your Scaleway account removed from Qovery, everything configured (VPC, Kubernetes, databases, ...) by Qovery will be deleted forever."),Object(o.b)("h2",{id:"regions"},"Regions"),Object(o.b)("p",null,"Qovery supports the following Scalewav regions:"),Object(o.b)("table",null,Object(o.b)("thead",{parentName:"table"},Object(o.b)("tr",{parentName:"thead"},Object(o.b)("th",Object(a.a)({parentName:"tr"},{align:null})),Object(o.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"name"),Object(o.b)("th",Object(a.a)({parentName:"tr"},{align:null}),"description"))),Object(o.b)("tbody",{parentName:"table"},Object(o.b)("tr",{parentName:"tbody"},Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\ud83c\uddeb\ud83c\uddf7"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"fr-par-1"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Paris DC1 (France)")),Object(o.b)("tr",{parentName:"tbody"},Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\ud83c\uddeb\ud83c\uddf7"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"fr-par-2"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Paris DC2 (France)")),Object(o.b)("tr",{parentName:"tbody"},Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\ud83c\uddeb\ud83c\uddf7"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"fr-par-3"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Paris DC3 (France)")),Object(o.b)("tr",{parentName:"tbody"},Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\ud83c\uddf3\ud83c\uddf1"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"nl-ams-1"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Amsterdam DC1 (Netherlands)")),Object(o.b)("tr",{parentName:"tbody"},Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"\ud83c\uddf5\ud83c\uddf1"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"pl-waw-1"),Object(o.b)("td",Object(a.a)({parentName:"tr"},{align:null}),"Warsaw DC1 (Poland)")))),Object(o.b)("p",null,"Qovery supports regions where ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://www.scaleway.com/en/kubernetes-kapsule/"}),"Scaleway Kubernetes (Kapsule)")," is supported."),Object(o.b)("h2",{id:"how-qovery-works-on-scaleway"},"How Qovery works on Scaleway"),Object(o.b)("p",null,"Qovery is an abstraction layer on top of Scaleway and Kubernetes. Qovery manages the configuration of Scaleway account, and helps you to deploy production ready apps in seconds.\nTo make it works, Qovery rely on Kubernetes for stateless apps (containers), and Scaleway for stateful apps (databases, storage...)."),Object(o.b)("p",null,Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/getting-started/how-qovery-works/"}),"Read more")," on how Qovery works behind the scene."),Object(o.b)("h3",{id:"kubernetes"},"Kubernetes"),Object(o.b)("p",null,"The first time you set up your Scaleway account, Qovery creates a Kubernetes cluster in your chosen region. Qovery managed it for you - no action required. It takes ~15 minutes to configure and bootstrap a Kubernetes cluster. Once bootstrapped, your Kubernetes cluster runs the Qovery app and is ready to deploy your applications."),Object(o.b)("h3",{id:"managed-services"},"Managed services"),Object(o.b)("p",null,"Scaleway provides managed services for ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/database/postgresql/"}),"PostgreSQL"),", ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/database/mysql/"}),"MySQL"),", ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/database/redis/"}),"Redis"),", ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/database/mongodb/"}),"MongoDB"),". Qovery gives you access to those services when you set the ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/deployment-rule/#environment-deployment-rules"}),"environment mode")," to ",Object(o.b)("inlineCode",{parentName:"p"},"Production"),". In ",Object(o.b)("inlineCode",{parentName:"p"},"Development")," mode, Qovery provides containers equivalent, which is cheaper and faster to start."),Object(o.b)("h3",{id:"security-and-compliance"},"Security and compliance"),Object(o.b)("p",null,"Qovery runs your Kubernetes cluster and is autonomous to manage your applications, which means:"),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},"Your configuration are stored on your Scaleway account."),Object(o.b)("li",{parentName:"ul"},"Your configuration is encrypted on your Scaleway account."),Object(o.b)("li",{parentName:"ul"},"Qovery can't access to your data."),Object(o.b)("li",{parentName:"ul"},"Suppose Qovery stops to run, your applications are not impacted.")),Object(o.b)("h2",{id:"faq"},"FAQ"),Object(o.b)("h3",{id:"how-to-choose-a-region"},"How to choose a region?"),Object(o.b)("p",null,"Different datacenters are located in different geographic areas, and you may want to keep your site physically close to the bulk of your user base for reduced latency."),Object(o.b)("h3",{id:"i-dont-find-a-region-that-is-provided-by-scaleway"},"I don't find a region that is provided by Scaleway"),Object(o.b)("p",null,"We are probably testing the support of this region, please ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://www.qovery.com/contact"}),"contact us")," to know what's the status"),Object(o.b)("h3",{id:"migrate-between-cloud-providers-and-regions"},"Migrate between Cloud providers and regions"),Object(o.b)("p",null,"Today, you can't migrate an environment from one region to another after it has been created. Vote ",Object(o.b)("a",Object(a.a)({parentName:"p"},{href:"https://roadmap.qovery.com/"}),"here")," if you need this feature."))}d.isMDXComponent=!0},420:function(e,t,n){var a;!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var e=[],t=0;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=r.a.createContext({}),u=function(e){var t=r.a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i({},t,{},e)),n},b=function(e){var t=u(e.components);return r.a.createElement(s.Provider,{value:t},e.children)},p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},d=Object(a.forwardRef)((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),b=u(n),d=a,y=b["".concat(c,".").concat(d)]||b[d]||p[d]||o;return n?r.a.createElement(y,i({ref:t},s,{components:n})):r.a.createElement(y,i({ref:t},s))}));function y(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,c=new Array(o);c[0]=d;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i.mdxType="string"==typeof e?e:a,c[1]=i;for(var s=2;s1?arguments[1]:void 0,n),l=c>2?arguments[2]:void 0,s=void 0===l?n:r(l,n);s>i;)t[i++]=e;return t}},425:function(e,t,n){var a=n(28).f,r=Function.prototype,o=/^\s*function ([^ (]*)/;"name"in r||n(10)&&a(r,"name",{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(e){return""}}})},426:function(e,t,n){"use strict";n(425);var a=n(0),r=n.n(a),o=n(421);t.a=function(e){var t=e.children,n=e.name;return r.a.createElement(o.a,{type:"info",fill:!0,icon:!1,rounded:!0,className:"list--icons list--icons--arrow list--tight list--indent margin-bottom--lg"},r.a.createElement("p",{class:"text--lg margin-bottom--sm",style:{marginTop:"-0.25em"}},"Before you begin, this ",n||"page"," assumes the following:"),t)}},428:function(e,t,n){"use strict";var a=n(432),r=n(51);function o(e,t){return t.encode?t.strict?a(e):encodeURIComponent(e):e}t.extract=function(e){return e.split("?")[1]||""},t.parse=function(e,t){var n=function(e){var t;switch(e.arrayFormat){case"index":return function(e,n,a){t=/\[(\d*)\]$/.exec(e),e=e.replace(/\[\d*\]$/,""),t?(void 0===a[e]&&(a[e]={}),a[e][t[1]]=n):a[e]=n};case"bracket":return function(e,n,a){t=/(\[\])$/.exec(e),e=e.replace(/\[\]$/,""),t?void 0!==a[e]?a[e]=[].concat(a[e],n):a[e]=[n]:a[e]=n};default:return function(e,t,n){void 0!==n[e]?n[e]=[].concat(n[e],t):n[e]=t}}}(t=r({arrayFormat:"none"},t)),a=Object.create(null);return"string"!=typeof e?a:(e=e.trim().replace(/^(\?|#|&)/,""))?(e.split("&").forEach((function(e){var t=e.replace(/\+/g," ").split("="),r=t.shift(),o=t.length>0?t.join("="):void 0;o=void 0===o?null:decodeURIComponent(o),n(decodeURIComponent(r),o,a)})),Object.keys(a).sort().reduce((function(e,t){var n=a[t];return Boolean(n)&&"object"==typeof n&&!Array.isArray(n)?e[t]=function e(t){return Array.isArray(t)?t.sort():"object"==typeof t?e(Object.keys(t)).sort((function(e,t){return Number(e)-Number(t)})).map((function(e){return t[e]})):t}(n):e[t]=n,e}),Object.create(null))):a},t.stringify=function(e,t){var n=function(e){switch(e.arrayFormat){case"index":return function(t,n,a){return null===n?[o(t,e),"[",a,"]"].join(""):[o(t,e),"[",o(a,e),"]=",o(n,e)].join("")};case"bracket":return function(t,n){return null===n?o(t,e):[o(t,e),"[]=",o(n,e)].join("")};default:return function(t,n){return null===n?o(t,e):[o(t,e),"=",o(n,e)].join("")}}}(t=r({encode:!0,strict:!0,arrayFormat:"none"},t));return e?Object.keys(e).sort().map((function(a){var r=e[a];if(void 0===r)return"";if(null===r)return o(a,t);if(Array.isArray(r)){var c=[];return r.slice().forEach((function(e){void 0!==e&&c.push(n(a,e,c.length))})),c.join("&")}return o(a,t)+"="+o(r,t)})).filter((function(e){return e.length>0})).join("&"):""}},431:function(e,t,n){"use strict";var a=n(0),r=n.n(a),o=(n(420),n(428)),c=n.n(o);n(134);t.a=function(e){var t=e.children,n=e.headingDepth,o=e.hideFeedbackQuestion,i="undefined"!=typeof window?window.location:null,l={title:"Tutorial on "+i+" failed",body:"The tutorial on:\n\n"+i+"\n\nHere's what went wrong:\n\n\x3c!-- Insert command output and details. Thank you for reporting! :) --\x3e"},s="https://github.com/qovery/documentation/issues/new?"+c.a.stringify(l),u=Object(a.useState)(null),b=u[0],p=u[1];return r.a.createElement("div",{className:"steps steps--h"+n},t,!o&&!b&&r.a.createElement("div",{className:"steps--feedback"},"How was it? Did this tutorial work?\xa0\xa0",r.a.createElement("span",{className:"button button--sm button--primary",onClick:function(){return p("yes")}},"Yes"),"\xa0\xa0",r.a.createElement("a",{href:s,target:"_blank",className:"button button--sm button--primary"},"No")),"yes"==b&&r.a.createElement("div",{className:"steps--feedback steps--feedback--success"},"Thanks! If you're enjoying Qovery please consider ",r.a.createElement("a",{href:"https://github.com/qovery/documentation/",target:"_blank"},"starring our Github repo"),"."))}},432:function(e,t,n){"use strict";e.exports=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}}}]); \ No newline at end of file diff --git a/d3437d81.62b35a38.js.LICENSE.txt b/d3437d81.d1005116.js.LICENSE.txt similarity index 100% rename from d3437d81.62b35a38.js.LICENSE.txt rename to d3437d81.d1005116.js.LICENSE.txt diff --git a/docs/getting-started/basic-concepts/index.html b/docs/getting-started/basic-concepts/index.html index b45adf3583..90b8fc1094 100644 --- a/docs/getting-started/basic-concepts/index.html +++ b/docs/getting-started/basic-concepts/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/deploy-my-app/index.html b/docs/getting-started/deploy-my-app/index.html index 69dd6d0af3..96db39f206 100644 --- a/docs/getting-started/deploy-my-app/index.html +++ b/docs/getting-started/deploy-my-app/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/how-qovery-works/index.html b/docs/getting-started/how-qovery-works/index.html index caa02817d7..236ab3d5e3 100644 --- a/docs/getting-started/how-qovery-works/index.html +++ b/docs/getting-started/how-qovery-works/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/index.html b/docs/getting-started/index.html index d6880961ba..c8aab0495d 100644 --- a/docs/getting-started/index.html +++ b/docs/getting-started/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/index.html b/docs/getting-started/install-qovery/index.html index d4ee8a3a2d..792d0f3212 100644 --- a/docs/getting-started/install-qovery/index.html +++ b/docs/getting-started/install-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/what-is-qovery/index.html b/docs/getting-started/what-is-qovery/index.html index 55fca50a4d..9a00718d78 100644 --- a/docs/getting-started/what-is-qovery/index.html +++ b/docs/getting-started/what-is-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/whats-next/index.html b/docs/getting-started/whats-next/index.html index 74e32e248b..fd536ca723 100644 --- a/docs/getting-started/whats-next/index.html +++ b/docs/getting-started/whats-next/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/docs/index.html b/docs/index.html index c80b368b28..baa16a40ed 100644 --- a/docs/index.html +++ b/docs/index.html @@ -22,7 +22,7 @@ - + @@ -37,7 +37,7 @@ - + diff --git a/docs/security-and-compliance/backup-and-restore/index.html b/docs/security-and-compliance/backup-and-restore/index.html index 1de90b0647..1af8da979e 100644 --- a/docs/security-and-compliance/backup-and-restore/index.html +++ b/docs/security-and-compliance/backup-and-restore/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/security-and-compliance/encryption/index.html b/docs/security-and-compliance/encryption/index.html index 682fee4173..73e03c4477 100644 --- a/docs/security-and-compliance/encryption/index.html +++ b/docs/security-and-compliance/encryption/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/security-and-compliance/gdpr/index.html b/docs/security-and-compliance/gdpr/index.html index 3d57eae560..ba8a418d32 100644 --- a/docs/security-and-compliance/gdpr/index.html +++ b/docs/security-and-compliance/gdpr/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/security-and-compliance/index.html b/docs/security-and-compliance/index.html index fc688fd512..ae843ab2e7 100644 --- a/docs/security-and-compliance/index.html +++ b/docs/security-and-compliance/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/security-and-compliance/soc2/index.html b/docs/security-and-compliance/soc2/index.html index 2158bbe605..531171aed1 100644 --- a/docs/security-and-compliance/soc2/index.html +++ b/docs/security-and-compliance/soc2/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/docs/useful-resources/faq/index.html b/docs/useful-resources/faq/index.html index 5668aeb3b7..1417766106 100644 --- a/docs/useful-resources/faq/index.html +++ b/docs/useful-resources/faq/index.html @@ -26,7 +26,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/docs/useful-resources/help-and-support/index.html b/docs/useful-resources/help-and-support/index.html index 2d88f557e8..e441087fea 100644 --- a/docs/useful-resources/help-and-support/index.html +++ b/docs/useful-resources/help-and-support/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/audit-logs/index.html b/docs/using-qovery/audit-logs/index.html index b4eb3d4b77..c683f897ea 100644 --- a/docs/using-qovery/audit-logs/index.html +++ b/docs/using-qovery/audit-logs/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/advanced-settings/index.html b/docs/using-qovery/configuration/advanced-settings/index.html index 601930c5f1..21dca73e28 100644 --- a/docs/using-qovery/configuration/advanced-settings/index.html +++ b/docs/using-qovery/configuration/advanced-settings/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/application-health-checks/index.html b/docs/using-qovery/configuration/application-health-checks/index.html index 7b9c9d2d72..79cf89673c 100644 --- a/docs/using-qovery/configuration/application-health-checks/index.html +++ b/docs/using-qovery/configuration/application-health-checks/index.html @@ -26,7 +26,7 @@ - + @@ -59,7 +59,7 @@ - + diff --git a/docs/using-qovery/configuration/application/index.html b/docs/using-qovery/configuration/application/index.html index 15fe364dfe..4290be11b4 100644 --- a/docs/using-qovery/configuration/application/index.html +++ b/docs/using-qovery/configuration/application/index.html @@ -26,7 +26,7 @@ - + @@ -62,7 +62,7 @@ - + diff --git a/docs/using-qovery/configuration/cloud-service-provider/amazon-web-services/index.html b/docs/using-qovery/configuration/cloud-service-provider/amazon-web-services/index.html index 11561f2969..841b9bbc43 100644 --- a/docs/using-qovery/configuration/cloud-service-provider/amazon-web-services/index.html +++ b/docs/using-qovery/configuration/cloud-service-provider/amazon-web-services/index.html @@ -26,7 +26,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/docs/using-qovery/configuration/cloud-service-provider/digital-ocean/index.html b/docs/using-qovery/configuration/cloud-service-provider/digital-ocean/index.html index 15e1eaecea..ad02afa452 100644 --- a/docs/using-qovery/configuration/cloud-service-provider/digital-ocean/index.html +++ b/docs/using-qovery/configuration/cloud-service-provider/digital-ocean/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/cloud-service-provider/google-cloud-platform/index.html b/docs/using-qovery/configuration/cloud-service-provider/google-cloud-platform/index.html index e07d545247..695f532ebc 100644 --- a/docs/using-qovery/configuration/cloud-service-provider/google-cloud-platform/index.html +++ b/docs/using-qovery/configuration/cloud-service-provider/google-cloud-platform/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/cloud-service-provider/index.html b/docs/using-qovery/configuration/cloud-service-provider/index.html index da354628b3..c86ed44c70 100644 --- a/docs/using-qovery/configuration/cloud-service-provider/index.html +++ b/docs/using-qovery/configuration/cloud-service-provider/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/cloud-service-provider/microsoft-azure/index.html b/docs/using-qovery/configuration/cloud-service-provider/microsoft-azure/index.html index 07abce571d..067f3a7905 100644 --- a/docs/using-qovery/configuration/cloud-service-provider/microsoft-azure/index.html +++ b/docs/using-qovery/configuration/cloud-service-provider/microsoft-azure/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/cloud-service-provider/other-csps/index.html b/docs/using-qovery/configuration/cloud-service-provider/other-csps/index.html index 92901cde81..256f50ad78 100644 --- a/docs/using-qovery/configuration/cloud-service-provider/other-csps/index.html +++ b/docs/using-qovery/configuration/cloud-service-provider/other-csps/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/cloud-service-provider/scaleway/index.html b/docs/using-qovery/configuration/cloud-service-provider/scaleway/index.html index e4992ffa59..a574b46ff9 100644 --- a/docs/using-qovery/configuration/cloud-service-provider/scaleway/index.html +++ b/docs/using-qovery/configuration/cloud-service-provider/scaleway/index.html @@ -26,7 +26,7 @@ - + @@ -44,14 +44,14 @@ - +
-

Scaleway (SCW)

Qovery lets you quickly deploy applications to your Scaleway (Scaleway) account. No knowledge needed, and it takes less than 10 minutes to install Qovery on your Scaleway account.

Getting started

Connect your Scaleway account

To link your Scaleway account to Qovery you need to provide a Scaleway access key id, secret access key and a project id.

Create your Scaleway credentials - access key id, secret access key and project id.

  1. Connect to your Scaleway console

  2. Go to IAM

  3. Go to Applications

  4. Create a new application for your project

  5. Generate your new API key from your application view

    Set up the the preferred `Project` for `Object Storage` with your Scaleway Project
  6. Save the generated access key id and secret access key.

  7. Go to Policies

  8. Create a new policy with Principal linked to the application you just created.

  9. Set the scope of the policy to your project

  10. Select the following rules for your policy

    • Containers permissions
    • Network Service permissions
    • Compute permissions
    • Storage permissions
    • VPC permissions
  11. Create your policy

  12. Get you project id on your project dashboard

Well done!! You now have your Scaleway access key id, secret access key and project id; It is time to connect Qovery to your Scaleway account.

Install a new cluster on Qovery

You will be able to use the credentials you just generated when creating a cluster via the Qovery console. This cluster will be linked to your Qovery organization. +

Scaleway (SCW)

Qovery lets you quickly deploy applications to your Scaleway (Scaleway) account. No knowledge needed, and it takes less than 10 minutes to install Qovery on your Scaleway account.

Getting started

Connect your Scaleway account

To link your Scaleway account to Qovery you need to provide a Scaleway access key id, secret access key, organization id and a project id.

Create your Scaleway credentials - access key id, secret access key, organization id and project id.

  1. Connect to your Scaleway console

  2. Go to IAM

  3. Go to Applications

  4. Create a new application for your project

  5. Generate your new API key from your application view

    Set up the the preferred `Project` for `Object Storage` with your Scaleway Project
  6. Save the generated access key id and secret access key.

  7. Go to Policies

  8. Create a new policy with Principal linked to the application you just created.

  9. Set the scope of the policy to your project

  10. Select the following rules for your policy

    • Containers permissions
    • Network Service permissions
    • Compute permissions
    • Storage permissions
    • VPC permissions
  11. Create your policy

  12. Get your organization id in your organization settings

  13. Get your project id on your project dashboard

Well done!! You now have your Scaleway access key id, secret access key and project id; It is time to connect Qovery to your Scaleway account.

Install a new cluster on Qovery

You will be able to use the credentials you just generated when creating a cluster via the Qovery console. This cluster will be linked to your Qovery organization. Follow this documentation to create a new cluster on your organization.

Remove your Scaleway account

this section is under development - join us and be part of the first to try it

Delete Qovery from your Scaleway account

To delete Qovery from your Scaleway account you must be the owner of the Organization. Once your Scaleway account removed from Qovery, everything configured (VPC, Kubernetes, databases, ...) by Qovery will be deleted forever.

Regions

Qovery supports the following Scalewav regions:

namedescription
🇫🇷fr-par-1Paris DC1 (France)
🇫🇷fr-par-2Paris DC2 (France)
🇫🇷fr-par-3Paris DC3 (France)
🇳🇱nl-ams-1Amsterdam DC1 (Netherlands)
🇵🇱pl-waw-1Warsaw DC1 (Poland)

Qovery supports regions where Scaleway Kubernetes (Kapsule) is supported.

How Qovery works on Scaleway

Qovery is an abstraction layer on top of Scaleway and Kubernetes. Qovery manages the configuration of Scaleway account, and helps you to deploy production ready apps in seconds. To make it works, Qovery rely on Kubernetes for stateless apps (containers), and Scaleway for stateful apps (databases, storage...).

Read more on how Qovery works behind the scene.

Kubernetes

The first time you set up your Scaleway account, Qovery creates a Kubernetes cluster in your chosen region. Qovery managed it for you - no action required. It takes ~15 minutes to configure and bootstrap a Kubernetes cluster. Once bootstrapped, your Kubernetes cluster runs the Qovery app and is ready to deploy your applications.

Managed services

Scaleway provides managed services for PostgreSQL, MySQL, Redis, MongoDB. Qovery gives you access to those services when you set the environment mode to Production. In Development mode, Qovery provides containers equivalent, which is cheaper and faster to start.

Security and compliance

Qovery runs your Kubernetes cluster and is autonomous to manage your applications, which means:

  • Your configuration are stored on your Scaleway account.
  • Your configuration is encrypted on your Scaleway account.
  • Qovery can't access to your data.
  • Suppose Qovery stops to run, your applications are not impacted.

FAQ

How to choose a region?

Different datacenters are located in different geographic areas, and you may want to keep your site physically close to the bulk of your user base for reduced latency.

I don't find a region that is provided by Scaleway

We are probably testing the support of this region, please contact us to know what's the status

Migrate between Cloud providers and regions

Today, you can't migrate an environment from one region to another after it has been created. Vote here if you need this feature.

@@ -59,7 +59,7 @@ - + @@ -77,7 +77,7 @@ - + diff --git a/docs/using-qovery/configuration/cluster-advanced-settings/index.html b/docs/using-qovery/configuration/cluster-advanced-settings/index.html index ddb4704844..899c23a4fd 100644 --- a/docs/using-qovery/configuration/cluster-advanced-settings/index.html +++ b/docs/using-qovery/configuration/cluster-advanced-settings/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/clusters/index.html b/docs/using-qovery/configuration/clusters/index.html index 06b0685c57..ae12755d49 100644 --- a/docs/using-qovery/configuration/clusters/index.html +++ b/docs/using-qovery/configuration/clusters/index.html @@ -26,7 +26,7 @@ - + @@ -61,7 +61,7 @@ - + diff --git a/docs/using-qovery/configuration/cronjob/index.html b/docs/using-qovery/configuration/cronjob/index.html index 56f543dfbc..c3136b8ce0 100644 --- a/docs/using-qovery/configuration/cronjob/index.html +++ b/docs/using-qovery/configuration/cronjob/index.html @@ -26,7 +26,7 @@ - + @@ -59,7 +59,7 @@ - + diff --git a/docs/using-qovery/configuration/database/index.html b/docs/using-qovery/configuration/database/index.html index ae3643579c..4767a2b1e1 100644 --- a/docs/using-qovery/configuration/database/index.html +++ b/docs/using-qovery/configuration/database/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/docs/using-qovery/configuration/database/mongodb/index.html b/docs/using-qovery/configuration/database/mongodb/index.html index 864f2d6309..ec90f93c3b 100644 --- a/docs/using-qovery/configuration/database/mongodb/index.html +++ b/docs/using-qovery/configuration/database/mongodb/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/database/mysql/index.html b/docs/using-qovery/configuration/database/mysql/index.html index e56ba29485..ecf07e512d 100644 --- a/docs/using-qovery/configuration/database/mysql/index.html +++ b/docs/using-qovery/configuration/database/mysql/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/database/postgresql/index.html b/docs/using-qovery/configuration/database/postgresql/index.html index b20c77ebc4..9ac7024daf 100644 --- a/docs/using-qovery/configuration/database/postgresql/index.html +++ b/docs/using-qovery/configuration/database/postgresql/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/database/redis/index.html b/docs/using-qovery/configuration/database/redis/index.html index eeaf9ceeaf..d1fd67264c 100644 --- a/docs/using-qovery/configuration/database/redis/index.html +++ b/docs/using-qovery/configuration/database/redis/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/deployment-rule/index.html b/docs/using-qovery/configuration/deployment-rule/index.html index 8263f4b0fc..88108723ec 100644 --- a/docs/using-qovery/configuration/deployment-rule/index.html +++ b/docs/using-qovery/configuration/deployment-rule/index.html @@ -26,7 +26,7 @@ - + @@ -63,7 +63,7 @@ - + diff --git a/docs/using-qovery/configuration/environment-variable/index.html b/docs/using-qovery/configuration/environment-variable/index.html index f66ae10f65..f476e4afa5 100644 --- a/docs/using-qovery/configuration/environment-variable/index.html +++ b/docs/using-qovery/configuration/environment-variable/index.html @@ -26,7 +26,7 @@ - + @@ -67,7 +67,7 @@ - + diff --git a/docs/using-qovery/configuration/environment/index.html b/docs/using-qovery/configuration/environment/index.html index 5d32862344..3202d39d2c 100644 --- a/docs/using-qovery/configuration/environment/index.html +++ b/docs/using-qovery/configuration/environment/index.html @@ -26,7 +26,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/docs/using-qovery/configuration/index.html b/docs/using-qovery/configuration/index.html index 3c004edd1a..95700bfa4e 100644 --- a/docs/using-qovery/configuration/index.html +++ b/docs/using-qovery/configuration/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/lifecycle-job/index.html b/docs/using-qovery/configuration/lifecycle-job/index.html index 8a40d14a49..2b781abe0b 100644 --- a/docs/using-qovery/configuration/lifecycle-job/index.html +++ b/docs/using-qovery/configuration/lifecycle-job/index.html @@ -26,7 +26,7 @@ - + @@ -61,7 +61,7 @@ - + diff --git a/docs/using-qovery/configuration/object-storage/index.html b/docs/using-qovery/configuration/object-storage/index.html index 59f1212e6e..799cafa2a4 100644 --- a/docs/using-qovery/configuration/object-storage/index.html +++ b/docs/using-qovery/configuration/object-storage/index.html @@ -26,7 +26,7 @@ - + @@ -66,7 +66,7 @@ - + diff --git a/docs/using-qovery/configuration/organization/api-token/index.html b/docs/using-qovery/configuration/organization/api-token/index.html index eedf8ac58b..4394240eb9 100644 --- a/docs/using-qovery/configuration/organization/api-token/index.html +++ b/docs/using-qovery/configuration/organization/api-token/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/organization/container-registry/index.html b/docs/using-qovery/configuration/organization/container-registry/index.html index a5c5015da0..7f84eaa201 100644 --- a/docs/using-qovery/configuration/organization/container-registry/index.html +++ b/docs/using-qovery/configuration/organization/container-registry/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/docs/using-qovery/configuration/organization/git-repository-access/index.html b/docs/using-qovery/configuration/organization/git-repository-access/index.html index 93d998ebd7..20c191a8af 100644 --- a/docs/using-qovery/configuration/organization/git-repository-access/index.html +++ b/docs/using-qovery/configuration/organization/git-repository-access/index.html @@ -26,7 +26,7 @@ - + @@ -60,7 +60,7 @@ - + diff --git a/docs/using-qovery/configuration/organization/index.html b/docs/using-qovery/configuration/organization/index.html index de616ddb11..6714032108 100644 --- a/docs/using-qovery/configuration/organization/index.html +++ b/docs/using-qovery/configuration/organization/index.html @@ -26,7 +26,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/docs/using-qovery/configuration/organization/members-rbac/index.html b/docs/using-qovery/configuration/organization/members-rbac/index.html index b928b4996d..5526c33ac3 100644 --- a/docs/using-qovery/configuration/organization/members-rbac/index.html +++ b/docs/using-qovery/configuration/organization/members-rbac/index.html @@ -26,7 +26,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/docs/using-qovery/configuration/project/index.html b/docs/using-qovery/configuration/project/index.html index 1cdd9b0b11..c40a1264b7 100644 --- a/docs/using-qovery/configuration/project/index.html +++ b/docs/using-qovery/configuration/project/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/provider/index.html b/docs/using-qovery/configuration/provider/index.html index 07c6bd7c06..a69e1d9c6f 100644 --- a/docs/using-qovery/configuration/provider/index.html +++ b/docs/using-qovery/configuration/provider/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/configuration/provider/kubernetes/index.html b/docs/using-qovery/configuration/provider/kubernetes/index.html index 4d51216565..4fcb117841 100644 --- a/docs/using-qovery/configuration/provider/kubernetes/index.html +++ b/docs/using-qovery/configuration/provider/kubernetes/index.html @@ -26,7 +26,7 @@ - + @@ -61,7 +61,7 @@ - + diff --git a/docs/using-qovery/configuration/service-health-checks/index.html b/docs/using-qovery/configuration/service-health-checks/index.html index 7daa96490b..2a6bc151b0 100644 --- a/docs/using-qovery/configuration/service-health-checks/index.html +++ b/docs/using-qovery/configuration/service-health-checks/index.html @@ -26,7 +26,7 @@ - + @@ -59,7 +59,7 @@ - + diff --git a/docs/using-qovery/configuration/user-account/index.html b/docs/using-qovery/configuration/user-account/index.html index fa3bce21aa..143811a8ca 100644 --- a/docs/using-qovery/configuration/user-account/index.html +++ b/docs/using-qovery/configuration/user-account/index.html @@ -26,7 +26,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/docs/using-qovery/deployment/deploying-with-auto-deploy/index.html b/docs/using-qovery/deployment/deploying-with-auto-deploy/index.html index 7543205095..191af5561d 100644 --- a/docs/using-qovery/deployment/deploying-with-auto-deploy/index.html +++ b/docs/using-qovery/deployment/deploying-with-auto-deploy/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/deployment/deploying-with-ci-cd/index.html b/docs/using-qovery/deployment/deploying-with-ci-cd/index.html index 761a1dd2eb..ae5863b61b 100644 --- a/docs/using-qovery/deployment/deploying-with-ci-cd/index.html +++ b/docs/using-qovery/deployment/deploying-with-ci-cd/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/deployment/deployment-actions/index.html b/docs/using-qovery/deployment/deployment-actions/index.html index e3bc439e02..27f69b833e 100644 --- a/docs/using-qovery/deployment/deployment-actions/index.html +++ b/docs/using-qovery/deployment/deployment-actions/index.html @@ -26,7 +26,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/docs/using-qovery/deployment/deployment-history/index.html b/docs/using-qovery/deployment/deployment-history/index.html index 0dee1378c4..69a4d85333 100644 --- a/docs/using-qovery/deployment/deployment-history/index.html +++ b/docs/using-qovery/deployment/deployment-history/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/deployment/deployment-pipeline/index.html b/docs/using-qovery/deployment/deployment-pipeline/index.html index de3d25f3a7..09464a4b05 100644 --- a/docs/using-qovery/deployment/deployment-pipeline/index.html +++ b/docs/using-qovery/deployment/deployment-pipeline/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/docs/using-qovery/deployment/deployment-strategies/index.html b/docs/using-qovery/deployment/deployment-strategies/index.html index cc3183a6d6..e71707d1e6 100644 --- a/docs/using-qovery/deployment/deployment-strategies/index.html +++ b/docs/using-qovery/deployment/deployment-strategies/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/deployment/image-mirroring/index.html b/docs/using-qovery/deployment/image-mirroring/index.html index 4d3858aefa..2885cec396 100644 --- a/docs/using-qovery/deployment/image-mirroring/index.html +++ b/docs/using-qovery/deployment/image-mirroring/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/deployment/index.html b/docs/using-qovery/deployment/index.html index be014f824c..d5a3e96d79 100644 --- a/docs/using-qovery/deployment/index.html +++ b/docs/using-qovery/deployment/index.html @@ -26,7 +26,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/docs/using-qovery/deployment/logs/index.html b/docs/using-qovery/deployment/logs/index.html index 7470c5343c..a4ee86c04c 100644 --- a/docs/using-qovery/deployment/logs/index.html +++ b/docs/using-qovery/deployment/logs/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/deployment/running-and-deployment-statuses/index.html b/docs/using-qovery/deployment/running-and-deployment-statuses/index.html index 59d0c19036..3d16f4ca79 100644 --- a/docs/using-qovery/deployment/running-and-deployment-statuses/index.html +++ b/docs/using-qovery/deployment/running-and-deployment-statuses/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/index.html b/docs/using-qovery/index.html index 26480ca80a..1b9c89de34 100644 --- a/docs/using-qovery/index.html +++ b/docs/using-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/api-integration/index.html b/docs/using-qovery/integration/api-integration/index.html index e7e59429d1..dd04d0a3e4 100644 --- a/docs/using-qovery/integration/api-integration/index.html +++ b/docs/using-qovery/integration/api-integration/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/container-registry/index.html b/docs/using-qovery/integration/container-registry/index.html index 684ba067cb..99db0381d3 100644 --- a/docs/using-qovery/integration/container-registry/index.html +++ b/docs/using-qovery/integration/container-registry/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/continuous-integration/circle-ci/index.html b/docs/using-qovery/integration/continuous-integration/circle-ci/index.html index 2f00c67430..41d8f8422e 100644 --- a/docs/using-qovery/integration/continuous-integration/circle-ci/index.html +++ b/docs/using-qovery/integration/continuous-integration/circle-ci/index.html @@ -26,7 +26,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/docs/using-qovery/integration/continuous-integration/github-actions/index.html b/docs/using-qovery/integration/continuous-integration/github-actions/index.html index 97be10f561..e9d8d60778 100644 --- a/docs/using-qovery/integration/continuous-integration/github-actions/index.html +++ b/docs/using-qovery/integration/continuous-integration/github-actions/index.html @@ -26,7 +26,7 @@ - + @@ -66,7 +66,7 @@ - + diff --git a/docs/using-qovery/integration/continuous-integration/gitlab-ci/index.html b/docs/using-qovery/integration/continuous-integration/gitlab-ci/index.html index bcc33cbbca..80aba0f9a1 100644 --- a/docs/using-qovery/integration/continuous-integration/gitlab-ci/index.html +++ b/docs/using-qovery/integration/continuous-integration/gitlab-ci/index.html @@ -26,7 +26,7 @@ - + @@ -61,7 +61,7 @@ - + diff --git a/docs/using-qovery/integration/continuous-integration/index.html b/docs/using-qovery/integration/continuous-integration/index.html index 944fe0e217..2379744194 100644 --- a/docs/using-qovery/integration/continuous-integration/index.html +++ b/docs/using-qovery/integration/continuous-integration/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/continuous-integration/jenkins/index.html b/docs/using-qovery/integration/continuous-integration/jenkins/index.html index 2553f2254a..4e212e87f2 100644 --- a/docs/using-qovery/integration/continuous-integration/jenkins/index.html +++ b/docs/using-qovery/integration/continuous-integration/jenkins/index.html @@ -26,7 +26,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/docs/using-qovery/integration/git-repository/index.html b/docs/using-qovery/integration/git-repository/index.html index af8314e69a..6628df6d15 100644 --- a/docs/using-qovery/integration/git-repository/index.html +++ b/docs/using-qovery/integration/git-repository/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/index.html b/docs/using-qovery/integration/index.html index 9abf36fac3..9da34b4bac 100644 --- a/docs/using-qovery/integration/index.html +++ b/docs/using-qovery/integration/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/monitoring/datadog/index.html b/docs/using-qovery/integration/monitoring/datadog/index.html index ffc4f9c637..cc16798efe 100644 --- a/docs/using-qovery/integration/monitoring/datadog/index.html +++ b/docs/using-qovery/integration/monitoring/datadog/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/docs/using-qovery/integration/monitoring/index.html b/docs/using-qovery/integration/monitoring/index.html index f8a4163116..bf1c48c6e6 100644 --- a/docs/using-qovery/integration/monitoring/index.html +++ b/docs/using-qovery/integration/monitoring/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/monitoring/new-relic/index.html b/docs/using-qovery/integration/monitoring/new-relic/index.html index 4826bbd642..849038c8a1 100644 --- a/docs/using-qovery/integration/monitoring/new-relic/index.html +++ b/docs/using-qovery/integration/monitoring/new-relic/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/secret-manager/aws-secrets-manager/index.html b/docs/using-qovery/integration/secret-manager/aws-secrets-manager/index.html index 1dbe824d8b..bca7808238 100644 --- a/docs/using-qovery/integration/secret-manager/aws-secrets-manager/index.html +++ b/docs/using-qovery/integration/secret-manager/aws-secrets-manager/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/secret-manager/doppler/index.html b/docs/using-qovery/integration/secret-manager/doppler/index.html index 8cc17b9b1c..fc7500d775 100644 --- a/docs/using-qovery/integration/secret-manager/doppler/index.html +++ b/docs/using-qovery/integration/secret-manager/doppler/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/secret-manager/index.html b/docs/using-qovery/integration/secret-manager/index.html index 19f88457c2..b2ef3968a0 100644 --- a/docs/using-qovery/integration/secret-manager/index.html +++ b/docs/using-qovery/integration/secret-manager/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/slack/index.html b/docs/using-qovery/integration/slack/index.html index ee87b1f561..79363f100b 100644 --- a/docs/using-qovery/integration/slack/index.html +++ b/docs/using-qovery/integration/slack/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/terraform/index.html b/docs/using-qovery/integration/terraform/index.html index 5fea78f61c..b7e6cf09f1 100644 --- a/docs/using-qovery/integration/terraform/index.html +++ b/docs/using-qovery/integration/terraform/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/docs/using-qovery/integration/webhook/index.html b/docs/using-qovery/integration/webhook/index.html index 01e6d3957a..d4f5bf7bfb 100644 --- a/docs/using-qovery/integration/webhook/index.html +++ b/docs/using-qovery/integration/webhook/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/interface/cli/index.html b/docs/using-qovery/interface/cli/index.html index 5dcb39a515..1f9943d622 100644 --- a/docs/using-qovery/interface/cli/index.html +++ b/docs/using-qovery/interface/cli/index.html @@ -26,7 +26,7 @@ - + @@ -82,7 +82,7 @@ - + diff --git a/docs/using-qovery/interface/index.html b/docs/using-qovery/interface/index.html index ce2b2d92e3..9124c93f93 100644 --- a/docs/using-qovery/interface/index.html +++ b/docs/using-qovery/interface/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/interface/rest-api/index.html b/docs/using-qovery/interface/rest-api/index.html index 3d8c662514..99f899c584 100644 --- a/docs/using-qovery/interface/rest-api/index.html +++ b/docs/using-qovery/interface/rest-api/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/interface/terraform-interface/index.html b/docs/using-qovery/interface/terraform-interface/index.html index 121d6f49ed..c1bfc54a62 100644 --- a/docs/using-qovery/interface/terraform-interface/index.html +++ b/docs/using-qovery/interface/terraform-interface/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/interface/web-interface/index.html b/docs/using-qovery/interface/web-interface/index.html index d46f023423..db47afa8cb 100644 --- a/docs/using-qovery/interface/web-interface/index.html +++ b/docs/using-qovery/interface/web-interface/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/maintenance/index.html b/docs/using-qovery/maintenance/index.html index 33bd83194b..4d4dae5d1f 100644 --- a/docs/using-qovery/maintenance/index.html +++ b/docs/using-qovery/maintenance/index.html @@ -26,7 +26,7 @@ - + @@ -71,7 +71,7 @@ - + diff --git a/docs/using-qovery/troubleshoot/application-troubleshoot/index.html b/docs/using-qovery/troubleshoot/application-troubleshoot/index.html index 31895d9178..082f6f88a2 100644 --- a/docs/using-qovery/troubleshoot/application-troubleshoot/index.html +++ b/docs/using-qovery/troubleshoot/application-troubleshoot/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/docs/using-qovery/troubleshoot/cluster-troubleshoot/index.html b/docs/using-qovery/troubleshoot/cluster-troubleshoot/index.html index 1e48b8bc4c..bc24765dce 100644 --- a/docs/using-qovery/troubleshoot/cluster-troubleshoot/index.html +++ b/docs/using-qovery/troubleshoot/cluster-troubleshoot/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/troubleshoot/database-troubleshoot/index.html b/docs/using-qovery/troubleshoot/database-troubleshoot/index.html index 42c8537b0e..170d60340f 100644 --- a/docs/using-qovery/troubleshoot/database-troubleshoot/index.html +++ b/docs/using-qovery/troubleshoot/database-troubleshoot/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/troubleshoot/index.html b/docs/using-qovery/troubleshoot/index.html index 31bd472da4..19ef783234 100644 --- a/docs/using-qovery/troubleshoot/index.html +++ b/docs/using-qovery/troubleshoot/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/troubleshoot/lifecycle-troubleshoot/index.html b/docs/using-qovery/troubleshoot/lifecycle-troubleshoot/index.html index 7570b57a68..7897901565 100644 --- a/docs/using-qovery/troubleshoot/lifecycle-troubleshoot/index.html +++ b/docs/using-qovery/troubleshoot/lifecycle-troubleshoot/index.html @@ -26,7 +26,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/guides/advanced/continuous-integration/index.html b/guides/advanced/continuous-integration/index.html index 62161cedc9..e0aed02928 100644 --- a/guides/advanced/continuous-integration/index.html +++ b/guides/advanced/continuous-integration/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/advanced/costs-control/index.html b/guides/advanced/costs-control/index.html index c18f5b5959..8ce1c013ec 100644 --- a/guides/advanced/costs-control/index.html +++ b/guides/advanced/costs-control/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/advanced/deploy-api-gateway/index.html b/guides/advanced/deploy-api-gateway/index.html index 3c3a7e43ef..104e5bd4d4 100644 --- a/guides/advanced/deploy-api-gateway/index.html +++ b/guides/advanced/deploy-api-gateway/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/advanced/deploy-aws-services/index.html b/guides/advanced/deploy-aws-services/index.html index 10a526129f..f47eaf3cd7 100644 --- a/guides/advanced/deploy-aws-services/index.html +++ b/guides/advanced/deploy-aws-services/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/advanced/deploy-external-services/index.html b/guides/advanced/deploy-external-services/index.html index d4a19e4157..8f61aff28a 100644 --- a/guides/advanced/deploy-external-services/index.html +++ b/guides/advanced/deploy-external-services/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/advanced/deploy-frontend/index.html b/guides/advanced/deploy-frontend/index.html index b067f5a37f..8b46724804 100644 --- a/guides/advanced/deploy-frontend/index.html +++ b/guides/advanced/deploy-frontend/index.html @@ -26,7 +26,7 @@ - + @@ -53,7 +53,7 @@ - + diff --git a/guides/advanced/helm-chart/index.html b/guides/advanced/helm-chart/index.html index 18db6e4fa1..bea4f24bb8 100644 --- a/guides/advanced/helm-chart/index.html +++ b/guides/advanced/helm-chart/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/advanced/index.html b/guides/advanced/index.html index 44497ebe14..04ba69894c 100644 --- a/guides/advanced/index.html +++ b/guides/advanced/index.html @@ -26,7 +26,7 @@ - + @@ -79,7 +79,7 @@ - + diff --git a/guides/advanced/microservices/index.html b/guides/advanced/microservices/index.html index 7a92a040b4..6976b18ebf 100644 --- a/guides/advanced/microservices/index.html +++ b/guides/advanced/microservices/index.html @@ -26,7 +26,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/guides/advanced/migration/index.html b/guides/advanced/migration/index.html index ee527c55cc..99f85e9a86 100644 --- a/guides/advanced/migration/index.html +++ b/guides/advanced/migration/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/advanced/monitoring/index.html b/guides/advanced/monitoring/index.html index 4b0fcd6920..a52a156759 100644 --- a/guides/advanced/monitoring/index.html +++ b/guides/advanced/monitoring/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/advanced/monorepository/index.html b/guides/advanced/monorepository/index.html index 71dd8d8d59..77664487bf 100644 --- a/guides/advanced/monorepository/index.html +++ b/guides/advanced/monorepository/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/advanced/production/index.html b/guides/advanced/production/index.html index cf4dd0e9f4..517e67d2db 100644 --- a/guides/advanced/production/index.html +++ b/guides/advanced/production/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/advanced/seed-database/index.html b/guides/advanced/seed-database/index.html index 11f04fecb3..9edc1c0339 100644 --- a/guides/advanced/seed-database/index.html +++ b/guides/advanced/seed-database/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/advanced/terraform/index.html b/guides/advanced/terraform/index.html index 6d07edc589..db8c98a4c7 100644 --- a/guides/advanced/terraform/index.html +++ b/guides/advanced/terraform/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/advanced/use-preview-environments/index.html b/guides/advanced/use-preview-environments/index.html index 604348429a..a85ea62d87 100644 --- a/guides/advanced/use-preview-environments/index.html +++ b/guides/advanced/use-preview-environments/index.html @@ -26,7 +26,7 @@ - + @@ -52,7 +52,7 @@ - + diff --git a/guides/cloud-provider/guide-amazon-web-services/index.html b/guides/cloud-provider/guide-amazon-web-services/index.html index 92256336e4..751541de15 100644 --- a/guides/cloud-provider/guide-amazon-web-services/index.html +++ b/guides/cloud-provider/guide-amazon-web-services/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/cloud-provider/guide-google-cloud-platform/index.html b/guides/cloud-provider/guide-google-cloud-platform/index.html index f41be9e618..6bc7ac84e5 100644 --- a/guides/cloud-provider/guide-google-cloud-platform/index.html +++ b/guides/cloud-provider/guide-google-cloud-platform/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/cloud-provider/guide-microsoft-azure/index.html b/guides/cloud-provider/guide-microsoft-azure/index.html index def43db08a..03ad980d6a 100644 --- a/guides/cloud-provider/guide-microsoft-azure/index.html +++ b/guides/cloud-provider/guide-microsoft-azure/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/cloud-provider/guide-scaleway/index.html b/guides/cloud-provider/guide-scaleway/index.html index 58a6e8a2d5..95399ccb75 100644 --- a/guides/cloud-provider/guide-scaleway/index.html +++ b/guides/cloud-provider/guide-scaleway/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/cloud-provider/index.html b/guides/cloud-provider/index.html index 54f4389f78..d91a7919b4 100644 --- a/guides/cloud-provider/index.html +++ b/guides/cloud-provider/index.html @@ -26,7 +26,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/guides/getting-started/create-a-database/index.html b/guides/getting-started/create-a-database/index.html index 001e4ba562..4ae19a4387 100644 --- a/guides/getting-started/create-a-database/index.html +++ b/guides/getting-started/create-a-database/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/guides/getting-started/debugging/index.html b/guides/getting-started/debugging/index.html index e42d3542f5..4956b07a56 100644 --- a/guides/getting-started/debugging/index.html +++ b/guides/getting-started/debugging/index.html @@ -26,7 +26,7 @@ - + @@ -52,7 +52,7 @@ - + diff --git a/guides/getting-started/deploy-your-first-application/index.html b/guides/getting-started/deploy-your-first-application/index.html index 5e8da8065b..480406f639 100644 --- a/guides/getting-started/deploy-your-first-application/index.html +++ b/guides/getting-started/deploy-your-first-application/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/getting-started/index.html b/guides/getting-started/index.html index 2be32ffba9..fa1f6a024b 100644 --- a/guides/getting-started/index.html +++ b/guides/getting-started/index.html @@ -26,7 +26,7 @@ - + @@ -59,7 +59,7 @@ - + diff --git a/guides/getting-started/managing-environment-variables/index.html b/guides/getting-started/managing-environment-variables/index.html index 3cd350f462..2f34911bf8 100644 --- a/guides/getting-started/managing-environment-variables/index.html +++ b/guides/getting-started/managing-environment-variables/index.html @@ -26,7 +26,7 @@ - + @@ -60,7 +60,7 @@ - + diff --git a/guides/getting-started/setting-custom-domain/index.html b/guides/getting-started/setting-custom-domain/index.html index cac8f2a2b7..158337468e 100644 --- a/guides/getting-started/setting-custom-domain/index.html +++ b/guides/getting-started/setting-custom-domain/index.html @@ -26,7 +26,7 @@ - + @@ -52,7 +52,7 @@ - + diff --git a/guides/index.html b/guides/index.html index 9cfee07ead..2d676c4c7f 100644 --- a/guides/index.html +++ b/guides/index.html @@ -26,7 +26,7 @@ - + @@ -181,7 +181,7 @@ - + diff --git a/guides/provider/guide-kubernetes/index.html b/guides/provider/guide-kubernetes/index.html index 66ad6dd46d..e48ebd49d3 100644 --- a/guides/provider/guide-kubernetes/index.html +++ b/guides/provider/guide-kubernetes/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/provider/index.html b/guides/provider/index.html index d209cf3f44..85ba40142c 100644 --- a/guides/provider/index.html +++ b/guides/provider/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/cloud-provider-aws/index.html b/guides/tags/cloud-provider-aws/index.html index 0a4836c11a..bd2fa34d7e 100644 --- a/guides/tags/cloud-provider-aws/index.html +++ b/guides/tags/cloud-provider-aws/index.html @@ -26,7 +26,7 @@ - + @@ -75,7 +75,7 @@ - + diff --git a/guides/tags/cloud-provider-azure/index.html b/guides/tags/cloud-provider-azure/index.html index 986451167c..faef5ffd80 100644 --- a/guides/tags/cloud-provider-azure/index.html +++ b/guides/tags/cloud-provider-azure/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/cloud-provider-gcp/index.html b/guides/tags/cloud-provider-gcp/index.html index 889f08c3d0..ecd7680b78 100644 --- a/guides/tags/cloud-provider-gcp/index.html +++ b/guides/tags/cloud-provider-gcp/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/cloud-provider-scaleway/index.html b/guides/tags/cloud-provider-scaleway/index.html index cea20a5a7e..549d49df9f 100644 --- a/guides/tags/cloud-provider-scaleway/index.html +++ b/guides/tags/cloud-provider-scaleway/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/database-postgresql/index.html b/guides/tags/database-postgresql/index.html index 0f14223425..8cedace999 100644 --- a/guides/tags/database-postgresql/index.html +++ b/guides/tags/database-postgresql/index.html @@ -26,7 +26,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/guides/tags/framework-rails/index.html b/guides/tags/framework-rails/index.html index 7f6a8ebe49..e5cab59a4f 100644 --- a/guides/tags/framework-rails/index.html +++ b/guides/tags/framework-rails/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/index.html b/guides/tags/index.html index 63c7021d66..89eb577547 100644 --- a/guides/tags/index.html +++ b/guides/tags/index.html @@ -26,7 +26,7 @@ - + @@ -49,7 +49,7 @@ - + diff --git a/guides/tags/language-javascript/index.html b/guides/tags/language-javascript/index.html index 1a88aea468..d6900c644a 100644 --- a/guides/tags/language-javascript/index.html +++ b/guides/tags/language-javascript/index.html @@ -26,7 +26,7 @@ - + @@ -53,7 +53,7 @@ - + diff --git a/guides/tags/language-kotlin/index.html b/guides/tags/language-kotlin/index.html index 59d398f169..9978ad18f1 100644 --- a/guides/tags/language-kotlin/index.html +++ b/guides/tags/language-kotlin/index.html @@ -26,7 +26,7 @@ - + @@ -53,7 +53,7 @@ - + diff --git a/guides/tags/language-ruby/index.html b/guides/tags/language-ruby/index.html index b4514f79f6..945f1d6169 100644 --- a/guides/tags/language-ruby/index.html +++ b/guides/tags/language-ruby/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/language-rust/index.html b/guides/tags/language-rust/index.html index 2bf2d0be8e..e9861065f4 100644 --- a/guides/tags/language-rust/index.html +++ b/guides/tags/language-rust/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/guides/tags/provider-kubernetes/index.html b/guides/tags/provider-kubernetes/index.html index 82b8f3f93d..3c8fb3f100 100644 --- a/guides/tags/provider-kubernetes/index.html +++ b/guides/tags/provider-kubernetes/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/technology-docker/index.html b/guides/tags/technology-docker/index.html index 7b4cd30383..d1fb406227 100644 --- a/guides/tags/technology-docker/index.html +++ b/guides/tags/technology-docker/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/technology-github/index.html b/guides/tags/technology-github/index.html index 082944724b..a56b6b7d20 100644 --- a/guides/tags/technology-github/index.html +++ b/guides/tags/technology-github/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/technology-helm/index.html b/guides/tags/technology-helm/index.html index 5af4f484e4..d9a43eb334 100644 --- a/guides/tags/technology-helm/index.html +++ b/guides/tags/technology-helm/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/technology-qovery/index.html b/guides/tags/technology-qovery/index.html index a90c2ea949..12cbd51519 100644 --- a/guides/tags/technology-qovery/index.html +++ b/guides/tags/technology-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -129,7 +129,7 @@ - + diff --git a/guides/tags/technology-terraform/index.html b/guides/tags/technology-terraform/index.html index 788bc407fd..447d829a0a 100644 --- a/guides/tags/technology-terraform/index.html +++ b/guides/tags/technology-terraform/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/type-guide/index.html b/guides/tags/type-guide/index.html index 55f1ca86bd..79674cb371 100644 --- a/guides/tags/type-guide/index.html +++ b/guides/tags/type-guide/index.html @@ -26,7 +26,7 @@ - + @@ -99,7 +99,7 @@ - + diff --git a/guides/tags/type-tutorial/index.html b/guides/tags/type-tutorial/index.html index f94b527593..7801e549cb 100644 --- a/guides/tags/type-tutorial/index.html +++ b/guides/tags/type-tutorial/index.html @@ -26,7 +26,7 @@ - + @@ -131,7 +131,7 @@ - + diff --git a/guides/tutorial/aws-sqs-lambda-with-qovery/index.html b/guides/tutorial/aws-sqs-lambda-with-qovery/index.html index ea51beb5b2..c961148c97 100644 --- a/guides/tutorial/aws-sqs-lambda-with-qovery/index.html +++ b/guides/tutorial/aws-sqs-lambda-with-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/tutorial/aws-vpc-peering-with-qovery/index.html b/guides/tutorial/aws-vpc-peering-with-qovery/index.html index d24b0104f5..d7e7019210 100644 --- a/guides/tutorial/aws-vpc-peering-with-qovery/index.html +++ b/guides/tutorial/aws-vpc-peering-with-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/guides/tutorial/blazingly-fast-preview-environments-for-nextjs-nodejs-and-mongodb-on-aws/index.html b/guides/tutorial/blazingly-fast-preview-environments-for-nextjs-nodejs-and-mongodb-on-aws/index.html index 344ecabf06..3f15d68833 100644 --- a/guides/tutorial/blazingly-fast-preview-environments-for-nextjs-nodejs-and-mongodb-on-aws/index.html +++ b/guides/tutorial/blazingly-fast-preview-environments-for-nextjs-nodejs-and-mongodb-on-aws/index.html @@ -26,7 +26,7 @@ - + @@ -59,7 +59,7 @@ - + diff --git a/guides/tutorial/build-e2e-testing-ephemeral-environments/index.html b/guides/tutorial/build-e2e-testing-ephemeral-environments/index.html index 2e9504f30e..ddbe236783 100644 --- a/guides/tutorial/build-e2e-testing-ephemeral-environments/index.html +++ b/guides/tutorial/build-e2e-testing-ephemeral-environments/index.html @@ -26,7 +26,7 @@ - + @@ -81,7 +81,7 @@ - + diff --git a/guides/tutorial/cloudwatch-integration/index.html b/guides/tutorial/cloudwatch-integration/index.html index 3b7a9a9469..a1185a55eb 100644 --- a/guides/tutorial/cloudwatch-integration/index.html +++ b/guides/tutorial/cloudwatch-integration/index.html @@ -26,7 +26,7 @@ - + @@ -54,7 +54,7 @@ - + diff --git a/guides/tutorial/create-a-blazingly-fast-api-in-rust-part-1/index.html b/guides/tutorial/create-a-blazingly-fast-api-in-rust-part-1/index.html index d7f9b8933e..12d431a70e 100644 --- a/guides/tutorial/create-a-blazingly-fast-api-in-rust-part-1/index.html +++ b/guides/tutorial/create-a-blazingly-fast-api-in-rust-part-1/index.html @@ -26,7 +26,7 @@ - + @@ -69,7 +69,7 @@ - + diff --git a/guides/tutorial/create-a-playground-environment-on-aws/index.html b/guides/tutorial/create-a-playground-environment-on-aws/index.html index 5fbb9a2031..0ff8267861 100644 --- a/guides/tutorial/create-a-playground-environment-on-aws/index.html +++ b/guides/tutorial/create-a-playground-environment-on-aws/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/tutorial/create-your-staging-environment-from-your-production-environment-on-aws/index.html b/guides/tutorial/create-your-staging-environment-from-your-production-environment-on-aws/index.html index 86ce17aeb1..3d0ce132f4 100644 --- a/guides/tutorial/create-your-staging-environment-from-your-production-environment-on-aws/index.html +++ b/guides/tutorial/create-your-staging-environment-from-your-production-environment-on-aws/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/tutorial/customizing-preview-url-with-qovery-cli/index.html b/guides/tutorial/customizing-preview-url-with-qovery-cli/index.html index 981ac37f05..793c1a5232 100644 --- a/guides/tutorial/customizing-preview-url-with-qovery-cli/index.html +++ b/guides/tutorial/customizing-preview-url-with-qovery-cli/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tutorial/data-seeding-in-postgres/index.html b/guides/tutorial/data-seeding-in-postgres/index.html index d8eb99ee66..3f41356a7f 100644 --- a/guides/tutorial/data-seeding-in-postgres/index.html +++ b/guides/tutorial/data-seeding-in-postgres/index.html @@ -26,7 +26,7 @@ - + @@ -64,7 +64,7 @@ - + diff --git a/guides/tutorial/deploy-rails-with-postgresql-and-sidekiq/index.html b/guides/tutorial/deploy-rails-with-postgresql-and-sidekiq/index.html index 58d5a95f9b..9f968d39d6 100644 --- a/guides/tutorial/deploy-rails-with-postgresql-and-sidekiq/index.html +++ b/guides/tutorial/deploy-rails-with-postgresql-and-sidekiq/index.html @@ -26,7 +26,7 @@ - + @@ -104,7 +104,7 @@ - + diff --git a/guides/tutorial/deploy-temporal-on-kubernetes/index.html b/guides/tutorial/deploy-temporal-on-kubernetes/index.html index fe6928418d..5dc15671b5 100644 --- a/guides/tutorial/deploy-temporal-on-kubernetes/index.html +++ b/guides/tutorial/deploy-temporal-on-kubernetes/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/guides/tutorial/generate-qovery-api-client/index.html b/guides/tutorial/generate-qovery-api-client/index.html index 4cf9ace49b..a6f41d2ee9 100644 --- a/guides/tutorial/generate-qovery-api-client/index.html +++ b/guides/tutorial/generate-qovery-api-client/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/guides/tutorial/getting-started-with-preview-environments-on-aws-for-beginners/index.html b/guides/tutorial/getting-started-with-preview-environments-on-aws-for-beginners/index.html index 0c7c92dcd8..634d10488b 100644 --- a/guides/tutorial/getting-started-with-preview-environments-on-aws-for-beginners/index.html +++ b/guides/tutorial/getting-started-with-preview-environments-on-aws-for-beginners/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/tutorial/github-organization-repository-access/index.html b/guides/tutorial/github-organization-repository-access/index.html index 25486d8211..da204e18ee 100644 --- a/guides/tutorial/github-organization-repository-access/index.html +++ b/guides/tutorial/github-organization-repository-access/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tutorial/grafana-install/index.html b/guides/tutorial/grafana-install/index.html index 275522055c..38179d5a0d 100644 --- a/guides/tutorial/grafana-install/index.html +++ b/guides/tutorial/grafana-install/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tutorial/how-to-activate-sso-to-connect-to-your-eks-cluster/index.html b/guides/tutorial/how-to-activate-sso-to-connect-to-your-eks-cluster/index.html index ce508914fe..ea2f64ea83 100644 --- a/guides/tutorial/how-to-activate-sso-to-connect-to-your-eks-cluster/index.html +++ b/guides/tutorial/how-to-activate-sso-to-connect-to-your-eks-cluster/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/guides/tutorial/how-to-build-a-cloud-version-of-your-open-source-software-part-1/index.html b/guides/tutorial/how-to-build-a-cloud-version-of-your-open-source-software-part-1/index.html index 2e826586ca..86f00121ec 100644 --- a/guides/tutorial/how-to-build-a-cloud-version-of-your-open-source-software-part-1/index.html +++ b/guides/tutorial/how-to-build-a-cloud-version-of-your-open-source-software-part-1/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/tutorial/how-to-build-a-cloud-version-of-your-open-source-software-part-2/index.html b/guides/tutorial/how-to-build-a-cloud-version-of-your-open-source-software-part-2/index.html index df887edfda..d27317cfa8 100644 --- a/guides/tutorial/how-to-build-a-cloud-version-of-your-open-source-software-part-2/index.html +++ b/guides/tutorial/how-to-build-a-cloud-version-of-your-open-source-software-part-2/index.html @@ -26,7 +26,7 @@ - + @@ -53,7 +53,7 @@ - + diff --git a/guides/tutorial/how-to-build-a-cloud-version-of-your-open-source-software-part-3/index.html b/guides/tutorial/how-to-build-a-cloud-version-of-your-open-source-software-part-3/index.html index ac20757480..0ce0b19028 100644 --- a/guides/tutorial/how-to-build-a-cloud-version-of-your-open-source-software-part-3/index.html +++ b/guides/tutorial/how-to-build-a-cloud-version-of-your-open-source-software-part-3/index.html @@ -26,7 +26,7 @@ - + @@ -67,7 +67,7 @@ - + diff --git a/guides/tutorial/how-to-connect-to-a-managed-mongodb-instance-on-aws/index.html b/guides/tutorial/how-to-connect-to-a-managed-mongodb-instance-on-aws/index.html index 3a96bfaf25..19ebc189f1 100644 --- a/guides/tutorial/how-to-connect-to-a-managed-mongodb-instance-on-aws/index.html +++ b/guides/tutorial/how-to-connect-to-a-managed-mongodb-instance-on-aws/index.html @@ -26,7 +26,7 @@ - + @@ -53,7 +53,7 @@ - + diff --git a/guides/tutorial/how-to-connect-to-your-eks-cluster-with-kubectl/index.html b/guides/tutorial/how-to-connect-to-your-eks-cluster-with-kubectl/index.html index 9707221163..761fe322cd 100644 --- a/guides/tutorial/how-to-connect-to-your-eks-cluster-with-kubectl/index.html +++ b/guides/tutorial/how-to-connect-to-your-eks-cluster-with-kubectl/index.html @@ -26,7 +26,7 @@ - + @@ -53,7 +53,7 @@ - + diff --git a/guides/tutorial/how-to-create-an-rds-instance-through-aws-console/index.html b/guides/tutorial/how-to-create-an-rds-instance-through-aws-console/index.html index 7ee5279d39..fc9e0ae834 100644 --- a/guides/tutorial/how-to-create-an-rds-instance-through-aws-console/index.html +++ b/guides/tutorial/how-to-create-an-rds-instance-through-aws-console/index.html @@ -26,7 +26,7 @@ - + @@ -52,7 +52,7 @@ - + diff --git a/guides/tutorial/how-to-deploy-a-rust-rest-api-application-on-aws-with-ease/index.html b/guides/tutorial/how-to-deploy-a-rust-rest-api-application-on-aws-with-ease/index.html index ec9e9c0270..557a7e40dc 100644 --- a/guides/tutorial/how-to-deploy-a-rust-rest-api-application-on-aws-with-ease/index.html +++ b/guides/tutorial/how-to-deploy-a-rust-rest-api-application-on-aws-with-ease/index.html @@ -26,7 +26,7 @@ - + @@ -75,7 +75,7 @@ - + diff --git a/guides/tutorial/how-to-deploy-helm-charts/index.html b/guides/tutorial/how-to-deploy-helm-charts/index.html index 83b18b3b74..868bf9516b 100644 --- a/guides/tutorial/how-to-deploy-helm-charts/index.html +++ b/guides/tutorial/how-to-deploy-helm-charts/index.html @@ -26,7 +26,7 @@ - + @@ -54,7 +54,7 @@ - + diff --git a/guides/tutorial/how-to-deploy-your-application-on-aws-in-30-minutes/index.html b/guides/tutorial/how-to-deploy-your-application-on-aws-in-30-minutes/index.html index d4f0eec294..d13b0758f3 100644 --- a/guides/tutorial/how-to-deploy-your-application-on-aws-in-30-minutes/index.html +++ b/guides/tutorial/how-to-deploy-your-application-on-aws-in-30-minutes/index.html @@ -26,7 +26,7 @@ - + @@ -53,7 +53,7 @@ - + diff --git a/guides/tutorial/how-to-integrate-qovery-with-github-actions/index.html b/guides/tutorial/how-to-integrate-qovery-with-github-actions/index.html index 9a8865cf4a..f12970339f 100644 --- a/guides/tutorial/how-to-integrate-qovery-with-github-actions/index.html +++ b/guides/tutorial/how-to-integrate-qovery-with-github-actions/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/guides/tutorial/how-to-run-commands-at-application-startup/index.html b/guides/tutorial/how-to-run-commands-at-application-startup/index.html index 5ee2f5eedc..237f150b55 100644 --- a/guides/tutorial/how-to-run-commands-at-application-startup/index.html +++ b/guides/tutorial/how-to-run-commands-at-application-startup/index.html @@ -26,7 +26,7 @@ - + @@ -59,7 +59,7 @@ - + diff --git a/guides/tutorial/how-to-use-cloudfront-with-react-frontend-application-on-qovery/index.html b/guides/tutorial/how-to-use-cloudfront-with-react-frontend-application-on-qovery/index.html index c5d5bc08a0..6d9f07c3a7 100644 --- a/guides/tutorial/how-to-use-cloudfront-with-react-frontend-application-on-qovery/index.html +++ b/guides/tutorial/how-to-use-cloudfront-with-react-frontend-application-on-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -52,7 +52,7 @@ - + diff --git a/guides/tutorial/how-to-use-lifecycle-job-to-deploy-any-kind-of-resources/index.html b/guides/tutorial/how-to-use-lifecycle-job-to-deploy-any-kind-of-resources/index.html index 773dc6d966..16b054cb2e 100644 --- a/guides/tutorial/how-to-use-lifecycle-job-to-deploy-any-kind-of-resources/index.html +++ b/guides/tutorial/how-to-use-lifecycle-job-to-deploy-any-kind-of-resources/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tutorial/how-to-write-a-dockerfile/index.html b/guides/tutorial/how-to-write-a-dockerfile/index.html index 318a5cd67b..f1de9a837e 100644 --- a/guides/tutorial/how-to-write-a-dockerfile/index.html +++ b/guides/tutorial/how-to-write-a-dockerfile/index.html @@ -26,7 +26,7 @@ - + @@ -49,7 +49,7 @@ - + diff --git a/guides/tutorial/import-your-environment-variables-with-the-qovery-cli/index.html b/guides/tutorial/import-your-environment-variables-with-the-qovery-cli/index.html index af93c991cc..203dd6b0e9 100644 --- a/guides/tutorial/import-your-environment-variables-with-the-qovery-cli/index.html +++ b/guides/tutorial/import-your-environment-variables-with-the-qovery-cli/index.html @@ -26,7 +26,7 @@ - + @@ -54,7 +54,7 @@ - + diff --git a/guides/tutorial/index.html b/guides/tutorial/index.html index 97f7f92523..af4caed75d 100644 --- a/guides/tutorial/index.html +++ b/guides/tutorial/index.html @@ -26,7 +26,7 @@ - + @@ -131,7 +131,7 @@ - + diff --git a/guides/tutorial/kubernetes-observability-and-monitoring-with-datadog/index.html b/guides/tutorial/kubernetes-observability-and-monitoring-with-datadog/index.html index 9af319356f..7ae4709ea4 100644 --- a/guides/tutorial/kubernetes-observability-and-monitoring-with-datadog/index.html +++ b/guides/tutorial/kubernetes-observability-and-monitoring-with-datadog/index.html @@ -26,7 +26,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/guides/tutorial/managing-env-variables-in-create-react-app/index.html b/guides/tutorial/managing-env-variables-in-create-react-app/index.html index 9d0455a821..03b3d90b1b 100644 --- a/guides/tutorial/managing-env-variables-in-create-react-app/index.html +++ b/guides/tutorial/managing-env-variables-in-create-react-app/index.html @@ -26,7 +26,7 @@ - + @@ -59,7 +59,7 @@ - + diff --git a/guides/tutorial/migrate-your-application-from-heroku-to-aws/index.html b/guides/tutorial/migrate-your-application-from-heroku-to-aws/index.html index 21fd7ed823..d6259be71a 100644 --- a/guides/tutorial/migrate-your-application-from-heroku-to-aws/index.html +++ b/guides/tutorial/migrate-your-application-from-heroku-to-aws/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/guides/tutorial/setting-up-cloudflare-and-custom-domain-on-qovery/index.html b/guides/tutorial/setting-up-cloudflare-and-custom-domain-on-qovery/index.html index e489c35ab1..b2907cd273 100644 --- a/guides/tutorial/setting-up-cloudflare-and-custom-domain-on-qovery/index.html +++ b/guides/tutorial/setting-up-cloudflare-and-custom-domain-on-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -49,7 +49,7 @@ - + diff --git a/guides/tutorial/url-shortener-api-with-kotlin/index.html b/guides/tutorial/url-shortener-api-with-kotlin/index.html index b01fdaa6e0..377435c5b1 100644 --- a/guides/tutorial/url-shortener-api-with-kotlin/index.html +++ b/guides/tutorial/url-shortener-api-with-kotlin/index.html @@ -26,7 +26,7 @@ - + @@ -82,7 +82,7 @@ - + diff --git a/guides/tutorial/use-an-api-gateway-in-front-of-multiple-services/index.html b/guides/tutorial/use-an-api-gateway-in-front-of-multiple-services/index.html index 854a2b9f4a..59fc40771f 100644 --- a/guides/tutorial/use-an-api-gateway-in-front-of-multiple-services/index.html +++ b/guides/tutorial/use-an-api-gateway-in-front-of-multiple-services/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/guides/tutorial/use-aws-iam-roles-with-qovery/index.html b/guides/tutorial/use-aws-iam-roles-with-qovery/index.html index 84169b8525..a4b169e6f7 100644 --- a/guides/tutorial/use-aws-iam-roles-with-qovery/index.html +++ b/guides/tutorial/use-aws-iam-roles-with-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/tutorial/working-with-git-submodules/index.html b/guides/tutorial/working-with-git-submodules/index.html index 034206df57..508382d7c6 100644 --- a/guides/tutorial/working-with-git-submodules/index.html +++ b/guides/tutorial/working-with-git-submodules/index.html @@ -26,7 +26,7 @@ - + @@ -53,7 +53,7 @@ - + diff --git a/img/scw-api-key/scw_organization_id.png b/img/scw-api-key/scw_organization_id.png new file mode 100644 index 0000000000000000000000000000000000000000..2046bbea0685bc7175b133bb253bf7ebd0792367 GIT binary patch literal 56109 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 P9}d?A8);YGaCrPb#o7iw literal 0 HcmV?d00001 diff --git a/index.html b/index.html index d521552a10..48251bb374 100644 --- a/index.html +++ b/index.html @@ -26,7 +26,7 @@ - + @@ -47,7 +47,7 @@ - + diff --git a/mailing_list/index.html b/mailing_list/index.html index c945351e7f..ca95baf383 100644 --- a/mailing_list/index.html +++ b/mailing_list/index.html @@ -22,7 +22,7 @@ - + @@ -37,7 +37,7 @@ - + diff --git a/runtime~main.d7e83400.js b/runtime~main.977401e5.js similarity index 99% rename from runtime~main.d7e83400.js rename to runtime~main.977401e5.js index d75394b39e..115ba8f025 100644 --- a/runtime~main.d7e83400.js +++ b/runtime~main.977401e5.js @@ -1 +1 @@ -!function(e){function c(c){for(var f,a,r=c[0],n=c[1],o=c[2],u=0,i=[];ufunction MDXDefaultShortcode(props){console.warn("Component "+name+" was not imported, exported, or provided by MDXProvider as global scope");return Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("div",props);};const layoutProps={rightToc};const MDXLayout="wrapper";function MDXContent({components,...props}){return Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])(MDXLayout,Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({},layoutProps,props,{components:components,mdxType:"MDXLayout"}),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])(_site_src_components_Alert__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"],{type:"info",mdxType:"Alert"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Please refer to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"/docs/using-qovery/configuration/provider/kubernetes/"}),`this page`),` if you want to install Qovery on your own Kubernetes cluster (BYOK).`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Qovery lets you quickly deploy applications to your `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"https://www.scaleway.com"}),`Scaleway (Scaleway)`),` account. No knowledge needed, and it takes less than 10 minutes to install Qovery on your Scaleway account.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h2",{"id":"getting-started"},`Getting started`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])(_site_src_components_Assumptions__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"],{mdxType:"Assumptions"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("ul",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},`You have a `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"li"},{"href":"/docs/using-qovery/interface/"}),`Qovery`),` account`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},`You have created an `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"li"},{"href":"/docs/using-qovery/configuration/organization/"}),`Organization`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},`You have a Scaleway account`))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"connect-your-scaleway-account"},`Connect your Scaleway account`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`To link your Scaleway account to Qovery you need to provide a Scaleway `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`access key id`),`, `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`secret access key`),` and a `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`project id`),`.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])(_site_src_components_Alert__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"],{type:"warning",mdxType:"Alert"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`If your Scaleway account is new, you need to open a ticket to Scaleway support to unlock your quota. You can post the following message: -"Hello, I am going to deploy my applications on Scaleway with Qovery. Can you increase my quota for current Kubernetes nodes type, to 10 please? Thanks"`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])(_site_src_components_Alert__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"],{type:"info",mdxType:"Alert"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`You can link more than one Scaleway account. Qovery also support multiple Cloud providers within the same Organization. Meaning, you can balance your workload on different Cloud providers. `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"/guides/advanced/"}),`Read more`),`.`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h4",{"id":"create-your-scaleway-credentials---access-key-id-secret-access-key-and-project-id"},`Create your Scaleway credentials - `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"h4"},`access key id`),`, `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"h4"},`secret access key`),` and `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"h4"},`project id`),`.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])(_site_src_components_Steps__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"],{headingDepth:3,mdxType:"Steps"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("ol",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"https://console.scaleway.com"}),`Connect to your Scaleway console`))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Go to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`IAM`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_IAM.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Go to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`Applications`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_applications.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Create a new application for your project`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_create_app.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Generate your new API key from your application view`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_create_key_1.png"}),"Set up the the preferred `Project` for `Object Storage` with your Scaleway Project",Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_create_key_2.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Save the generated `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`access key id`),` and `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`secret access key`),`.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_creds.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Go to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`Policies`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_policies.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Create a new policy with `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`Principal`),` linked to the application you just created.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_create_policy.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Set the scope of the policy to your project`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_policy_scope.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Select the following rules for your policy`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("ul",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,"Containers permissions",Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("br",null),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_perms_containers.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,"Network Service permissions",Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("br",null),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_perms_network.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,"Compute permissions",Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("br",null),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_perms_compute.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,"Storage permissions",Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("br",null),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_perms_storage.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,"VPC permissions",Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("br",null),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_perms_vpc.png"})))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Create your policy`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_apply_policy.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Get you `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`project id`),` on your project dashboard`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_project_id.png"})))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Well done!! You now have your Scaleway `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`access key id`),`, `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`secret access key`),` and `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`project id`),`; It is time to connect Qovery to your Scaleway account.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"install-a-new-cluster-on-qovery"},`Install a new cluster on Qovery`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`You will be able to use the credentials you just generated when creating a cluster via the Qovery console. This cluster will be linked to your Qovery organization. +const frontMatter={last_modified_on:'2023-12-06',title:'Scaleway (SCW)',description:'Learn how to configure and plug your Scaleway (SCW) account'};const metadata={"id":"using-qovery/configuration/cloud-service-provider/scaleway","title":"Scaleway (SCW)","description":"Learn how to configure and plug your Scaleway (SCW) account","source":"@site/docs/using-qovery/configuration/cloud-service-provider/scaleway.md","permalink":"/docs/using-qovery/configuration/cloud-service-provider/scaleway","sidebar":"docs","previous":{"title":"Microsoft Azure","permalink":"/docs/using-qovery/configuration/cloud-service-provider/microsoft-azure"},"next":{"title":"Other Cloud Service Provider","permalink":"/docs/using-qovery/configuration/cloud-service-provider/other-csps"}};/* @jsx mdx */const rightToc=[{value:'Getting started',id:'getting-started',children:[{value:'Connect your Scaleway account',id:'connect-your-scaleway-account',children:[]},{value:'Install a new cluster on Qovery',id:'install-a-new-cluster-on-qovery',children:[]},{value:'Remove your Scaleway account',id:'remove-your-scaleway-account',children:[]},{value:'Delete Qovery from your Scaleway account',id:'delete-qovery-from-your-scaleway-account',children:[]}]},{value:'Regions',id:'regions',children:[]},{value:'How Qovery works on Scaleway',id:'how-qovery-works-on-scaleway',children:[{value:'Kubernetes',id:'kubernetes',children:[]},{value:'Managed services',id:'managed-services',children:[]},{value:'Security and compliance',id:'security-and-compliance',children:[]}]},{value:'FAQ',id:'faq',children:[{value:'How to choose a region?',id:'how-to-choose-a-region',children:[]},{value:'I don't find a region that is provided by Scaleway',id:'i-dont-find-a-region-that-is-provided-by-scaleway',children:[]},{value:'Migrate between Cloud providers and regions',id:'migrate-between-cloud-providers-and-regions',children:[]}]}];const makeShortcode=name=>function MDXDefaultShortcode(props){console.warn("Component "+name+" was not imported, exported, or provided by MDXProvider as global scope");return Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("div",props);};const layoutProps={rightToc};const MDXLayout="wrapper";function MDXContent({components,...props}){return Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])(MDXLayout,Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({},layoutProps,props,{components:components,mdxType:"MDXLayout"}),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])(_site_src_components_Alert__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"],{type:"info",mdxType:"Alert"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Please refer to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"/docs/using-qovery/configuration/provider/kubernetes/"}),`this page`),` if you want to install Qovery on your own Kubernetes cluster (BYOK).`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Qovery lets you quickly deploy applications to your `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"https://www.scaleway.com"}),`Scaleway (Scaleway)`),` account. No knowledge needed, and it takes less than 10 minutes to install Qovery on your Scaleway account.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h2",{"id":"getting-started"},`Getting started`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])(_site_src_components_Assumptions__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"],{mdxType:"Assumptions"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("ul",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},`You have a `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"li"},{"href":"/docs/using-qovery/interface/"}),`Qovery`),` account`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},`You have created an `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"li"},{"href":"/docs/using-qovery/configuration/organization/"}),`Organization`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},`You have a Scaleway account`))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"connect-your-scaleway-account"},`Connect your Scaleway account`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`To link your Scaleway account to Qovery you need to provide a Scaleway `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`access key id`),`, `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`secret access key`),`, `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`organization id`),` and a `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`project id`),`.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])(_site_src_components_Alert__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"],{type:"warning",mdxType:"Alert"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`If your Scaleway account is new, you need to open a ticket to Scaleway support to unlock your quota. You can post the following message: +"Hello, I am going to deploy my applications on Scaleway with Qovery. Can you increase my quota for current Kubernetes nodes type, to 10 please? Thanks"`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])(_site_src_components_Alert__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"],{type:"info",mdxType:"Alert"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`You can link more than one Scaleway account. Qovery also support multiple Cloud providers within the same Organization. Meaning, you can balance your workload on different Cloud providers. `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"/guides/advanced/"}),`Read more`),`.`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h4",{"id":"create-your-scaleway-credentials---access-key-id-secret-access-key-organization-id-and-project-id"},`Create your Scaleway credentials - `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"h4"},`access key id`),`, `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"h4"},`secret access key`),`, `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"h4"},`organization id`),` and `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"h4"},`project id`),`.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])(_site_src_components_Steps__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"],{headingDepth:3,mdxType:"Steps"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("ol",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"https://console.scaleway.com"}),`Connect to your Scaleway console`))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Go to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`IAM`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_IAM.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Go to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`Applications`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_applications.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Create a new application for your project`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_create_app.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Generate your new API key from your application view`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_create_key_1.png"}),"Set up the the preferred `Project` for `Object Storage` with your Scaleway Project",Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_create_key_2.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Save the generated `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`access key id`),` and `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`secret access key`),`.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_creds.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Go to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`Policies`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_policies.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Create a new policy with `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`Principal`),` linked to the application you just created.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_create_policy.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Set the scope of the policy to your project`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_policy_scope.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Select the following rules for your policy`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("ul",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,"Containers permissions",Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("br",null),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_perms_containers.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,"Network Service permissions",Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("br",null),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_perms_network.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,"Compute permissions",Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("br",null),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_perms_compute.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,"Storage permissions",Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("br",null),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_perms_storage.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,"VPC permissions",Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("br",null),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_perms_vpc.png"})))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Create your policy`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_apply_policy.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Get your `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`organization id`),` in your `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"https://console.scaleway.com/organization/settings"}),`organization settings`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_organization_id.png"})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Get your `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`project id`),` on your project dashboard`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",{src:"/img/scw-api-key/scw_project_id.png"})))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Well done!! You now have your Scaleway `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`access key id`),`, `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`secret access key`),` and `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`project id`),`; It is time to connect Qovery to your Scaleway account.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"install-a-new-cluster-on-qovery"},`Install a new cluster on Qovery`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`You will be able to use the credentials you just generated when creating a cluster via the Qovery console. This cluster will be linked to your Qovery organization. Follow `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"/docs/using-qovery/configuration/clusters/#creating-a-cluster"}),`this documentation`),` to create a new cluster on your organization.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"remove-your-scaleway-account"},`Remove your Scaleway account`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("em",{parentName:"p"},`this section is under development - `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"em"},{"href":"https://discord.qovery.com"}),`join us`),` and be part of the first to try it`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"delete-qovery-from-your-scaleway-account"},`Delete Qovery from your Scaleway account`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])(_site_src_components_Alert__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"],{type:"warning",mdxType:"Alert"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Your applications and your data will be deleted.`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`To delete Qovery from your Scaleway account you must be the owner of the Organization. Once your Scaleway account removed from Qovery, everything configured (VPC, Kubernetes, databases, ...) by Qovery will be deleted forever.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h2",{"id":"regions"},`Regions`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Qovery supports the following Scalewav regions:`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("table",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("thead",{parentName:"table"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("tr",{parentName:"thead"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("th",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null})),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("th",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`name`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("th",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`description`))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("tbody",{parentName:"table"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("tr",{parentName:"tbody"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("td",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`🇫🇷`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("td",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`fr-par-1`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("td",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`Paris DC1 (France)`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("tr",{parentName:"tbody"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("td",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`🇫🇷`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("td",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`fr-par-2`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("td",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`Paris DC2 (France)`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("tr",{parentName:"tbody"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("td",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`🇫🇷`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("td",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`fr-par-3`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("td",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`Paris DC3 (France)`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("tr",{parentName:"tbody"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("td",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`🇳🇱`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("td",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`nl-ams-1`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("td",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`Amsterdam DC1 (Netherlands)`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("tr",{parentName:"tbody"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("td",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`🇵🇱`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("td",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`pl-waw-1`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("td",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"tr"},{"align":null}),`Warsaw DC1 (Poland)`)))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Qovery supports regions where `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"https://www.scaleway.com/en/kubernetes-kapsule/"}),`Scaleway Kubernetes (Kapsule)`),` is supported.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h2",{"id":"how-qovery-works-on-scaleway"},`How Qovery works on Scaleway`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Qovery is an abstraction layer on top of Scaleway and Kubernetes. Qovery manages the configuration of Scaleway account, and helps you to deploy production ready apps in seconds. To make it works, Qovery rely on Kubernetes for stateless apps (containers), and Scaleway for stateful apps (databases, storage...).`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"/docs/getting-started/how-qovery-works/"}),`Read more`),` on how Qovery works behind the scene.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"kubernetes"},`Kubernetes`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`The first time you set up your Scaleway account, Qovery creates a Kubernetes cluster in your chosen region. Qovery managed it for you - no action required. It takes ~15 minutes to configure and bootstrap a Kubernetes cluster. Once bootstrapped, your Kubernetes cluster runs the Qovery app and is ready to deploy your applications.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"managed-services"},`Managed services`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Scaleway provides managed services for `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"/docs/using-qovery/configuration/database/postgresql/"}),`PostgreSQL`),`, `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"/docs/using-qovery/configuration/database/mysql/"}),`MySQL`),`, `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"/docs/using-qovery/configuration/database/redis/"}),`Redis`),`, `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"/docs/using-qovery/configuration/database/mongodb/"}),`MongoDB`),`. Qovery gives you access to those services when you set the `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"/docs/using-qovery/configuration/deployment-rule/#environment-deployment-rules"}),`environment mode`),` to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`Production`),`. In `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`Development`),` mode, Qovery provides containers equivalent, which is cheaper and faster to start.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"security-and-compliance"},`Security and compliance`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Qovery runs your Kubernetes cluster and is autonomous to manage your applications, which means:`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("ul",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},`Your configuration are stored on your Scaleway account.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},`Your configuration is encrypted on your Scaleway account.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},`Qovery can't access to your data.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},`Suppose Qovery stops to run, your applications are not impacted.`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h2",{"id":"faq"},`FAQ`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"how-to-choose-a-region"},`How to choose a region?`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Different datacenters are located in different geographic areas, and you may want to keep your site physically close to the bulk of your user base for reduced latency.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"i-dont-find-a-region-that-is-provided-by-scaleway"},`I don't find a region that is provided by Scaleway`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`We are probably testing the support of this region, please `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"https://www.qovery.com/contact"}),`contact us`),` to know what's the status`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"migrate-between-cloud-providers-and-regions"},`Migrate between Cloud providers and regions`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Today, you can't migrate an environment from one region to another after it has been created. Vote `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("a",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"href":"https://roadmap.qovery.com/"}),`here`),` if you need this feature.`));};MDXContent.isMDXComponent=true;