From 5554f5290389154ed3222e02e047bbfae2dcb960 Mon Sep 17 00:00:00 2001 From: deimosfr Date: Fri, 15 Nov 2024 12:44:38 +0000 Subject: [PATCH] deploy: cbb8d992b8f27af7f325b001fd65343b5ae215e0 --- 404.html | 4 ++-- cf490432.5ebd6bd8.js | 2 -- cf490432.e0e3551f.js | 2 ++ ....LICENSE.txt => cf490432.e0e3551f.js.LICENSE.txt | 0 community/index.html | 4 ++-- components/index.html | 4 ++-- contact/index.html | 4 ++-- docs/getting-started/basic-concepts/index.html | 4 ++-- docs/getting-started/deploy-my-app/index.html | 4 ++-- docs/getting-started/how-qovery-works/index.html | 4 ++-- docs/getting-started/index.html | 4 ++-- .../create-credentials/index.html | 4 ++-- .../aws/cluster-managed-by-qovery/faq/index.html | 4 ++-- .../aws/cluster-managed-by-qovery/index.html | 4 ++-- .../infrastructure/index.html | 4 ++-- .../cluster-managed-by-qovery/quickstart/index.html | 4 ++-- docs/getting-started/install-qovery/aws/index.html | 4 ++-- .../aws/self-managed-cluster/index.html | 4 ++-- .../azure/cluster-managed-by-qovery/index.html | 4 ++-- .../cluster-managed-by-qovery/quickstart/index.html | 4 ++-- .../getting-started/install-qovery/azure/index.html | 4 ++-- .../azure/self-managed-cluster/index.html | 4 ++-- .../create-credentials/index.html | 4 ++-- .../gcp/cluster-managed-by-qovery/index.html | 4 ++-- .../cluster-managed-by-qovery/quickstart/index.html | 4 ++-- docs/getting-started/install-qovery/gcp/index.html | 4 ++-- .../gcp/self-managed-cluster/index.html | 4 ++-- docs/getting-started/install-qovery/index.html | 4 ++-- .../kubernetes/byok-config/index.html | 4 ++-- .../install-qovery/kubernetes/faq/index.html | 4 ++-- .../install-qovery/kubernetes/index.html | 4 ++-- .../install-qovery/kubernetes/quickstart/index.html | 4 ++-- .../kubernetes/validate-installation/index.html | 4 ++-- .../getting-started/install-qovery/local/index.html | 4 ++-- .../create-credentials/index.html | 4 ++-- .../cluster-managed-by-qovery/faq/index.html | 4 ++-- .../scaleway/cluster-managed-by-qovery/index.html | 4 ++-- .../cluster-managed-by-qovery/quickstart/index.html | 4 ++-- .../install-qovery/scaleway/index.html | 4 ++-- .../scaleway/self-managed-cluster/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 ++-- docs/security-and-compliance/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 | 12 ++++++------ docs/useful-resources/faq/index.html | 4 ++-- docs/useful-resources/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 ++-- .../configuration/cloud-service-provider/index.html | 4 ++-- .../cluster-advanced-settings/index.html | 4 ++-- docs/using-qovery/configuration/clusters/index.html | 4 ++-- docs/using-qovery/configuration/cronjob/index.html | 4 ++-- docs/using-qovery/configuration/database/index.html | 4 ++-- .../configuration/database/mongodb/index.html | 4 ++-- .../configuration/database/mysql/index.html | 4 ++-- .../configuration/database/postgresql/index.html | 4 ++-- .../configuration/database/redis/index.html | 4 ++-- .../configuration/deployment-rule/index.html | 4 ++-- .../configuration/environment-variable/index.html | 4 ++-- .../configuration/environment/index.html | 4 ++-- docs/using-qovery/configuration/helm/index.html | 4 ++-- docs/using-qovery/configuration/index.html | 4 ++-- .../configuration/lifecycle-job/index.html | 4 ++-- .../configuration/object-storage/index.html | 4 ++-- .../configuration/organization/api-token/index.html | 4 ++-- .../organization/container-registry/index.html | 4 ++-- .../organization/git-repository-access/index.html | 4 ++-- .../organization/helm-repository/index.html | 4 ++-- .../configuration/organization/index.html | 4 ++-- .../organization/labels-annotations/index.html | 4 ++-- .../organization/members-rbac/index.html | 4 ++-- docs/using-qovery/configuration/project/index.html | 4 ++-- docs/using-qovery/configuration/provider/index.html | 4 ++-- .../configuration/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 ++-- .../integration/continuous-integration/index.html | 4 ++-- .../continuous-integration/jenkins/index.html | 4 ++-- .../integration/git-repository/index.html | 4 ++-- .../integration/helm-repository/index.html | 4 ++-- .../integration/iac/cloudformation/index.html | 4 ++-- docs/using-qovery/integration/iac/index.html | 4 ++-- docs/using-qovery/integration/iac/other/index.html | 4 ++-- .../integration/iac/terraform/index.html | 4 ++-- docs/using-qovery/integration/index.html | 4 ++-- .../integration/monitoring/datadog/index.html | 4 ++-- docs/using-qovery/integration/monitoring/index.html | 4 ++-- .../integration/monitoring/new-relic/index.html | 4 ++-- .../secret-manager/aws-secrets-manager/index.html | 4 ++-- .../integration/secret-manager/doppler/index.html | 4 ++-- .../integration/secret-manager/index.html | 4 ++-- docs/using-qovery/integration/slack/index.html | 4 ++-- .../integration/terraform-provider/index.html | 4 ++-- docs/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 ++-- .../using-qovery/interface/web-interface/index.html | 4 ++-- docs/using-qovery/maintenance/index.html | 4 ++-- .../troubleshoot/cluster-troubleshoot/index.html | 4 ++-- docs/using-qovery/troubleshoot/index.html | 4 ++-- .../service-deployment-troubleshoot/index.html | 4 ++-- .../service-run-troubleshoot/index.html | 4 ++-- .../adding-multi-region-backup-rds/index.html | 4 ++-- guides/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-daemonset-with-karpenter/index.html | 4 ++-- guides/advanced/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 ++-- guides/advanced/upgrading-rds-instance/index.html | 4 ++-- guides/advanced/use-preview-environments/index.html | 4 ++-- guides/getting-started/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 ++-- .../guide-amazon-web-services/index.html | 4 ++-- .../guide-google-cloud-platform/index.html | 4 ++-- .../installation-guide/guide-kubernetes/index.html | 4 ++-- .../guide-microsoft-azure/index.html | 4 ++-- guides/installation-guide/guide-scaleway/index.html | 4 ++-- guides/installation-guide/index.html | 4 ++-- guides/tags/database-postgresql/index.html | 4 ++-- guides/tags/database-rds/index.html | 4 ++-- guides/tags/domain-operations/index.html | 4 ++-- guides/tags/framework-rails/index.html | 4 ++-- guides/tags/index.html | 4 ++-- guides/tags/installation-guide-aws/index.html | 4 ++-- guides/tags/installation-guide-azure/index.html | 4 ++-- guides/tags/installation-guide-gcp/index.html | 4 ++-- .../tags/installation-guide-kubernetes/index.html | 4 ++-- guides/tags/installation-guide-scaleway/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/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 ++-- .../tutorial/aws-sqs-lambda-with-qovery/index.html | 4 ++-- .../tutorial/aws-vpc-peering-with-qovery/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- guides/tutorial/cloudwatch-integration/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- guides/tutorial/data-seeding-in-postgres/index.html | 4 ++-- guides/tutorial/deploy-jupyterhub-qovery/index.html | 4 ++-- .../index.html | 4 ++-- .../deploy-temporal-on-kubernetes/index.html | 4 ++-- .../tutorial/generate-qovery-api-client/index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- guides/tutorial/gitops-with-qovery/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 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../index.html | 4 ++-- .../tutorial/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 ++-- .../index.html | 4 ++-- .../url-shortener-api-with-kotlin/index.html | 4 ++-- .../index.html | 4 ++-- .../use-aws-iam-roles-with-qovery/index.html | 4 ++-- .../tutorial/working-with-git-submodules/index.html | 4 ++-- img/{ => compliances}/compliance_logo.png | Bin img/compliances/qovery_soc2_schema.svg | 10 ++++++++++ index.html | 4 ++-- mailing_list/index.html | 4 ++-- ...ime~main.155d86b7.js => runtime~main.2067b7fd.js | 2 +- server.bundle.js | 4 ++-- 227 files changed, 459 insertions(+), 449 deletions(-) delete mode 100644 cf490432.5ebd6bd8.js create mode 100644 cf490432.e0e3551f.js rename cf490432.5ebd6bd8.js.LICENSE.txt => cf490432.e0e3551f.js.LICENSE.txt (100%) rename img/{ => compliances}/compliance_logo.png (100%) create mode 100644 img/compliances/qovery_soc2_schema.svg rename runtime~main.155d86b7.js => runtime~main.2067b7fd.js (99%) diff --git a/404.html b/404.html index d867e3e7a9..125df9cbf3 100644 --- a/404.html +++ b/404.html @@ -26,7 +26,7 @@ - + @@ -39,7 +39,7 @@ - + diff --git a/cf490432.5ebd6bd8.js b/cf490432.5ebd6bd8.js deleted file mode 100644 index c94186d321..0000000000 --- a/cf490432.5ebd6bd8.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see cf490432.5ebd6bd8.js.LICENSE.txt */ -(window.webpackJsonp=window.webpackJsonp||[]).push([[251],{403:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return s})),a.d(t,"metadata",(function(){return l})),a.d(t,"rightToc",(function(){return o})),a.d(t,"default",(function(){return u}));var n=a(1),i=a(9),r=(a(0),a(461)),c=a(460),s={last_modified_on:"2024-10-25",title:"SOC2",description:"Systems and Organizations Controls 2"},l={id:"security-and-compliance/soc2",title:"SOC2",description:"Systems and Organizations Controls 2",source:"@site/docs/security-and-compliance/soc2.md",permalink:"/docs/security-and-compliance/soc2",sidebar:"docs",previous:{title:"GDPR",permalink:"/docs/security-and-compliance/gdpr"},next:{title:"FAQ",permalink:"/docs/useful-resources/faq"}},o=[{value:"Cluster advanced settings",id:"cluster-advanced-settings",children:[{value:"AWS CloudWatch ",id:"aws-cloudwatch",children:[]},{value:"Application Logs Retention ",id:"application-logs-retention",children:[]},{value:"VPC flow logs ",id:"vpc-flow-logs",children:[]},{value:"Databases access ",id:"databases-access",children:[]},{value:"Kubernetes API access ",id:"kubernetes-api-access",children:[]},{value:"Container images retention time ",id:"container-images-retention-time",children:[]},{value:"AWS EC2 metadata access ",id:"aws-ec2-metadata-access",children:[]}]}],b={rightToc:o};function u(e){var t=e.components,a=Object(i.a)(e,["components"]);return Object(r.b)("wrapper",Object(n.a)({},b,a,{components:t,mdxType:"MDXLayout"}),Object(r.b)("p",null,Object(r.b)("img",Object(n.a)({parentName:"p"},{src:"/img/compliance_logo.png",alt:null}))),Object(r.b)("p",null,"Qovery infrastructure and processes comply with SOC2 (Systems and Organizations Controls 2) best practices. By default, Qovery integrates numerous security features into your applications, clusters, and databases,\nensuring alignment with SOC2\u2019s stringent security standards. For more information, visit the ",Object(r.b)("a",Object(n.a)({parentName:"p"},{href:"https://trust.qovery.com/"}),"Qovery trust page"),"."),Object(r.b)("p",null,"All customers using Qovery benefit from a SOC2-compliant infrastructure, significantly reducing the time required for compliance readiness."),Object(r.b)("p",null,"This documentation outlines configuration settings for achieving SOC2 compliance and additional recommended security measures."),Object(r.b)("h2",{id:"cluster-advanced-settings"},"Cluster advanced settings"),Object(r.b)("p",null,"In the ",Object(r.b)("a",Object(n.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/cluster-advanced-settings/"}),"Cluster Advanced Settings"),", you will find several configurable options to enhance compliance with SOC2. Here are the key settings:"),Object(r.b)("h3",{id:"aws-cloudwatch"},"AWS CloudWatch ",Object(r.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/aws.svg",alt:null}))),Object(r.b)("p",null,"To meet SOC2 retention requirements, set the ",Object(r.b)("inlineCode",{parentName:"p"},"aws.cloudwatch.eks_logs_retention_days")," to at least 365 days."),Object(r.b)("h3",{id:"application-logs-retention"},"Application Logs Retention ",Object(r.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/aws.svg",alt:null}))," ",Object(r.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/scaleway.svg",alt:null}))," ",Object(r.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/gcp.svg",alt:null}))),Object(r.b)("p",null,"To meet SOC2 retention requirements, and store applications/containers logs in the object storage used by Loki, set the ",Object(r.b)("inlineCode",{parentName:"p"},"loki.log_retention_in_week")," to at least 365 days."),Object(r.b)("h3",{id:"vpc-flow-logs"},"VPC flow logs ",Object(r.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/aws.svg",alt:null}))," ",Object(r.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/gcp.svg",alt:null}))),Object(r.b)("p",null,"Enable VPC flow logs to monitor and maintain network traffic visibility:"),Object(r.b)("p",null,"On AWS:"),Object(r.b)("ul",null,Object(r.b)("li",{parentName:"ul"},"Set ",Object(r.b)("inlineCode",{parentName:"li"},"aws.vpc.enable_s3_flow_logs")," to ",Object(r.b)("inlineCode",{parentName:"li"},"true"),"."),Object(r.b)("li",{parentName:"ul"},"Specify ",Object(r.b)("inlineCode",{parentName:"li"},"aws.vpc.flow_logs_retention_days")," to ",Object(r.b)("inlineCode",{parentName:"li"},"365")," days or more to ensure compliance.")),Object(r.b)("p",null,"On GCP:"),Object(r.b)("ul",null,Object(r.b)("li",{parentName:"ul"},"Set ",Object(r.b)("inlineCode",{parentName:"li"},"gcp.vpc.enable_flow_logs")," to ",Object(r.b)("inlineCode",{parentName:"li"},"true"),"."),Object(r.b)("li",{parentName:"ul"},"Set ",Object(r.b)("inlineCode",{parentName:"li"},"gcp.vpc.flow_logs_sampling")," to ",Object(r.b)("inlineCode",{parentName:"li"},"1.0")," to capture all network traffic.")),Object(r.b)("h3",{id:"databases-access"},"Databases access ",Object(r.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/aws.svg",alt:null}))," ",Object(r.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/scaleway.svg",alt:null}))," ",Object(r.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/gcp.svg",alt:null}))),Object(r.b)("p",null,"Qovery allows databases to be publicly accessible for convenience; however, to comply with SOC2, it\u2019s recommended to ",Object(r.b)("a",Object(n.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/cluster-advanced-settings/#database-access"}),"restrict this access")," to secure your databases by changing the value of those settings:"),Object(r.b)("ul",null,Object(r.b)("li",{parentName:"ul"},Object(r.b)("inlineCode",{parentName:"li"},"database..deny_public_access"),": set the CIDR ranges permitted to access the database."),Object(r.b)("li",{parentName:"ul"},Object(r.b)("inlineCode",{parentName:"li"},"database..allowed_cidrs"),": limit access to only your VPC CIDR or other specified IP ranges.")),Object(r.b)("h3",{id:"kubernetes-api-access"},"Kubernetes API access ",Object(r.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/aws.svg",alt:null}))," ",Object(r.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/gcp.svg",alt:null}))),Object(r.b)("p",null,"By default, cloud providers allow public access to the Kubernetes API, which is secured by TLS certificates. AWS and GCP provide an added layer of security by requiring account-based dual authentication."),Object(r.b)("p",null,"SOC2 compliance, however, mandates restricted access to the Kubernetes API. To achieve this:"),Object(r.b)("ul",null,Object(r.b)("li",{parentName:"ul"},Object(r.b)("inlineCode",{parentName:"li"},"qovery.static_ip_mode"),": limit access to Qovery\u2019s designated IPs. Qovery needs this access to perform infrastructure maintenance and application deployment."),Object(r.b)("li",{parentName:"ul"},Object(r.b)("inlineCode",{parentName:"li"},"k8s.api.allowed_public_access_cidrs"),": optional, define any additional CIDRs that require access to the Kubernetes API, thus limiting external access further.")),Object(r.b)(c.a,{type:"info",mdxType:"Alert"},Object(r.b)("p",null,"Please refer to the ",Object(r.b)("a",Object(n.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/cluster-advanced-settings/#qoverystatic_ip_mode"}),"dedicated documentation section"),", you have to create a Dockerhub account and link it to Qovery to avoid rate limit.")),Object(r.b)("h3",{id:"container-images-retention-time"},"Container images retention time ",Object(r.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/aws.svg",alt:null}))," ",Object(r.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/scaleway.svg",alt:null}))," ",Object(r.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/gcp.svg",alt:null}))),Object(r.b)("p",null,"SOC2 requires that images be retained for a minimum of 365 days. To meet this requirement, set the ",Object(r.b)("inlineCode",{parentName:"p"},"registry.image_retention_time")," to at least 365 days."),Object(r.b)("h3",{id:"aws-ec2-metadata-access"},"AWS EC2 metadata access ",Object(r.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/aws.svg",alt:null}))),Object(r.b)("p",null,"To comply with SOC2, restrict access to the AWS EC2 metadata service."),Object(r.b)("p",null,"Set ",Object(r.b)("inlineCode",{parentName:"p"},"aws.eks.ec2.metadata_imds")," to ",Object(r.b)("inlineCode",{parentName:"p"},"required")," to prevent unauthorized access to the metadata service."))}u.isMDXComponent=!0},459:function(e,t,a){var n;!function(){"use strict";var a={}.hasOwnProperty;function i(){for(var e=[],t=0;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var o=i.a.createContext({}),b=function(e){var t=i.a.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):s({},t,{},e)),a},u=function(e){var t=b(e.components);return i.a.createElement(o.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},p=Object(n.forwardRef)((function(e,t){var a=e.components,n=e.mdxType,r=e.originalType,c=e.parentName,o=l(e,["components","mdxType","originalType","parentName"]),u=b(a),p=n,m=u["".concat(c,".").concat(p)]||u[p]||d[p]||r;return a?i.a.createElement(m,s({ref:t},o,{components:a})):i.a.createElement(m,s({ref:t},o))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=a.length,c=new Array(r);c[0]=p;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:n,c[1]=s;for(var o=2;o1?arguments[1]:void 0,a),l=c>2?arguments[2]:void 0,o=void 0===l?a:i(l,a);o>s;)t[s++]=e;return t}}}]); \ No newline at end of file diff --git a/cf490432.e0e3551f.js b/cf490432.e0e3551f.js new file mode 100644 index 0000000000..3527d6f0b2 --- /dev/null +++ b/cf490432.e0e3551f.js @@ -0,0 +1,2 @@ +/*! For license information please see cf490432.e0e3551f.js.LICENSE.txt */ +(window.webpackJsonp=window.webpackJsonp||[]).push([[251],{403:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return s})),a.d(t,"metadata",(function(){return l})),a.d(t,"rightToc",(function(){return o})),a.d(t,"default",(function(){return u}));var n=a(1),c=a(9),i=(a(0),a(461)),r=a(460),s={last_modified_on:"2024-11-15",title:"SOC2",description:"Systems and Organizations Controls 2"},l={id:"security-and-compliance/soc2",title:"SOC2",description:"Systems and Organizations Controls 2",source:"@site/docs/security-and-compliance/soc2.md",permalink:"/docs/security-and-compliance/soc2",sidebar:"docs",previous:{title:"GDPR",permalink:"/docs/security-and-compliance/gdpr"},next:{title:"FAQ",permalink:"/docs/useful-resources/faq"}},o=[{value:"Cluster advanced settings",id:"cluster-advanced-settings",children:[{value:"AWS CloudWatch ",id:"aws-cloudwatch",children:[]},{value:"Application Logs Retention ",id:"application-logs-retention",children:[]},{value:"VPC flow logs ",id:"vpc-flow-logs",children:[]},{value:"Databases access ",id:"databases-access",children:[]},{value:"Kubernetes API access ",id:"kubernetes-api-access",children:[]},{value:"Container images retention time ",id:"container-images-retention-time",children:[]},{value:"AWS EC2 metadata access ",id:"aws-ec2-metadata-access",children:[]}]},{value:"Schema",id:"schema",children:[]}],b={rightToc:o};function u(e){var t=e.components,a=Object(c.a)(e,["components"]);return Object(i.b)("wrapper",Object(n.a)({},b,a,{components:t,mdxType:"MDXLayout"}),Object(i.b)("p",null,Object(i.b)("img",Object(n.a)({parentName:"p"},{src:"/img/compliances/compliance_logo.png",alt:null}))),Object(i.b)("p",null,"Qovery infrastructure and processes comply with SOC2 (Systems and Organizations Controls 2) best practices. By default, Qovery integrates numerous security features into your applications, clusters, and databases,\nensuring alignment with SOC2\u2019s stringent security standards. For more information, visit the ",Object(i.b)("a",Object(n.a)({parentName:"p"},{href:"https://trust.qovery.com/"}),"Qovery trust page"),"."),Object(i.b)("p",null,"All customers using Qovery benefit from a SOC2-compliant infrastructure, significantly reducing the time required for compliance readiness."),Object(i.b)("p",null,"This documentation outlines configuration settings for achieving SOC2 compliance and additional recommended security measures."),Object(i.b)("h2",{id:"cluster-advanced-settings"},"Cluster advanced settings"),Object(i.b)("p",null,"In the ",Object(i.b)("a",Object(n.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/cluster-advanced-settings/"}),"Cluster Advanced Settings"),", you will find several configurable options to enhance compliance with SOC2. Here are the key settings:"),Object(i.b)("h3",{id:"aws-cloudwatch"},"AWS CloudWatch ",Object(i.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/aws.svg",alt:null}))),Object(i.b)("p",null,"To meet SOC2 retention requirements, set the ",Object(i.b)("inlineCode",{parentName:"p"},"aws.cloudwatch.eks_logs_retention_days")," to at least 365 days."),Object(i.b)("h3",{id:"application-logs-retention"},"Application Logs Retention ",Object(i.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/aws.svg",alt:null}))," ",Object(i.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/scaleway.svg",alt:null}))," ",Object(i.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/gcp.svg",alt:null}))),Object(i.b)("p",null,"To meet SOC2 retention requirements, and store applications/containers logs in the object storage used by Loki, set the ",Object(i.b)("inlineCode",{parentName:"p"},"loki.log_retention_in_week")," to at least 365 days."),Object(i.b)("h3",{id:"vpc-flow-logs"},"VPC flow logs ",Object(i.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/aws.svg",alt:null}))," ",Object(i.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/gcp.svg",alt:null}))),Object(i.b)("p",null,"Enable VPC flow logs to monitor and maintain network traffic visibility:"),Object(i.b)("p",null,"On AWS:"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},"Set ",Object(i.b)("inlineCode",{parentName:"li"},"aws.vpc.enable_s3_flow_logs")," to ",Object(i.b)("inlineCode",{parentName:"li"},"true"),"."),Object(i.b)("li",{parentName:"ul"},"Specify ",Object(i.b)("inlineCode",{parentName:"li"},"aws.vpc.flow_logs_retention_days")," to ",Object(i.b)("inlineCode",{parentName:"li"},"365")," days or more to ensure compliance.")),Object(i.b)("p",null,"On GCP:"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},"Set ",Object(i.b)("inlineCode",{parentName:"li"},"gcp.vpc.enable_flow_logs")," to ",Object(i.b)("inlineCode",{parentName:"li"},"true"),"."),Object(i.b)("li",{parentName:"ul"},"Set ",Object(i.b)("inlineCode",{parentName:"li"},"gcp.vpc.flow_logs_sampling")," to ",Object(i.b)("inlineCode",{parentName:"li"},"1.0")," to capture all network traffic.")),Object(i.b)("h3",{id:"databases-access"},"Databases access ",Object(i.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/aws.svg",alt:null}))," ",Object(i.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/scaleway.svg",alt:null}))," ",Object(i.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/gcp.svg",alt:null}))),Object(i.b)("p",null,"Qovery allows databases to be publicly accessible for convenience; however, to comply with SOC2, it\u2019s recommended to ",Object(i.b)("a",Object(n.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/cluster-advanced-settings/#database-access"}),"restrict this access")," to secure your databases by changing the value of those settings:"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},"database..deny_public_access"),": set the CIDR ranges permitted to access the database."),Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},"database..allowed_cidrs"),": limit access to only your VPC CIDR or other specified IP ranges.")),Object(i.b)("h3",{id:"kubernetes-api-access"},"Kubernetes API access ",Object(i.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/aws.svg",alt:null}))," ",Object(i.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/gcp.svg",alt:null}))),Object(i.b)("p",null,"By default, cloud providers allow public access to the Kubernetes API, which is secured by TLS certificates. AWS and GCP provide an added layer of security by requiring account-based dual authentication."),Object(i.b)("p",null,"SOC2 compliance, however, mandates restricted access to the Kubernetes API. To achieve this:"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},"qovery.static_ip_mode"),": limit access to Qovery\u2019s designated IPs. Qovery needs this access to perform infrastructure maintenance and application deployment."),Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},"k8s.api.allowed_public_access_cidrs"),": optional, define any additional CIDRs that require access to the Kubernetes API, thus limiting external access further.")),Object(i.b)(r.a,{type:"info",mdxType:"Alert"},Object(i.b)("p",null,"Please refer to the ",Object(i.b)("a",Object(n.a)({parentName:"p"},{href:"/docs/using-qovery/configuration/cluster-advanced-settings/#qoverystatic_ip_mode"}),"dedicated documentation section"),", you have to create a Dockerhub account and link it to Qovery to avoid rate limit.")),Object(i.b)("h3",{id:"container-images-retention-time"},"Container images retention time ",Object(i.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/aws.svg",alt:null}))," ",Object(i.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/scaleway.svg",alt:null}))," ",Object(i.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/gcp.svg",alt:null}))),Object(i.b)("p",null,"SOC2 requires that images be retained for a minimum of 365 days. To meet this requirement, set the ",Object(i.b)("inlineCode",{parentName:"p"},"registry.image_retention_time")," to at least 365 days."),Object(i.b)("h3",{id:"aws-ec2-metadata-access"},"AWS EC2 metadata access ",Object(i.b)("img",Object(n.a)({parentName:"h3"},{src:"/img/advanced_settings/aws.svg",alt:null}))),Object(i.b)("p",null,"To comply with SOC2, restrict access to the AWS EC2 metadata service."),Object(i.b)("p",null,"Set ",Object(i.b)("inlineCode",{parentName:"p"},"aws.eks.ec2.metadata_imds")," to ",Object(i.b)("inlineCode",{parentName:"p"},"required")," to prevent unauthorized access to the metadata service."),Object(i.b)("h2",{id:"schema"},"Schema"),Object(i.b)("p",null,"For SOC2 compliance, an auditor may request a diagram of your infrastructure and its connection to Qovery. Below is the diagram you can share:"),Object(i.b)("p",null,Object(i.b)("img",Object(n.a)({parentName:"p"},{src:"/img/compliances/qovery_soc2_schema.svg",alt:null}))))}u.isMDXComponent=!0},459:function(e,t,a){var n;!function(){"use strict";var a={}.hasOwnProperty;function c(){for(var e=[],t=0;t=0||(c[a]=e[a]);return c}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(c[a]=e[a])}return c}var o=c.a.createContext({}),b=function(e){var t=c.a.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):s({},t,{},e)),a},u=function(e){var t=b(e.components);return c.a.createElement(o.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return c.a.createElement(c.a.Fragment,{},t)}},p=Object(n.forwardRef)((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,r=e.parentName,o=l(e,["components","mdxType","originalType","parentName"]),u=b(a),p=n,m=u["".concat(r,".").concat(p)]||u[p]||d[p]||i;return a?c.a.createElement(m,s({ref:t},o,{components:a})):c.a.createElement(m,s({ref:t},o))}));function m(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,r=new Array(i);r[0]=p;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s.mdxType="string"==typeof e?e:n,r[1]=s;for(var o=2;o1?arguments[1]:void 0,a),l=r>2?arguments[2]:void 0,o=void 0===l?a:c(l,a);o>s;)t[s++]=e;return t}}}]); \ No newline at end of file diff --git a/cf490432.5ebd6bd8.js.LICENSE.txt b/cf490432.e0e3551f.js.LICENSE.txt similarity index 100% rename from cf490432.5ebd6bd8.js.LICENSE.txt rename to cf490432.e0e3551f.js.LICENSE.txt diff --git a/community/index.html b/community/index.html index b3bfb88c64..78d38cc0ea 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 e395983df7..cbffc450a6 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 6be48ab5ef..677ff05415 100644 --- a/contact/index.html +++ b/contact/index.html @@ -26,7 +26,7 @@ - + @@ -47,7 +47,7 @@ - + diff --git a/docs/getting-started/basic-concepts/index.html b/docs/getting-started/basic-concepts/index.html index f59372636d..6c1a25bf27 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 95629b1273..caf39f01c8 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 33cdbaf241..253c7e8af9 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 c62ac4150c..26df5a02d1 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/aws/cluster-managed-by-qovery/create-credentials/index.html b/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/create-credentials/index.html index ed6613b081..23008c1faf 100644 --- a/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/create-credentials/index.html +++ b/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/create-credentials/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/faq/index.html b/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/faq/index.html index 13d1302f2a..2e5b285d70 100644 --- a/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/faq/index.html +++ b/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/faq/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/index.html b/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/index.html index 891196351f..edf0d7abf3 100644 --- a/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/index.html +++ b/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/infrastructure/index.html b/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/infrastructure/index.html index f0b64ace84..ef5c6adf45 100644 --- a/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/infrastructure/index.html +++ b/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/infrastructure/index.html @@ -26,7 +26,7 @@ - + @@ -59,7 +59,7 @@ - + diff --git a/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/quickstart/index.html b/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/quickstart/index.html index 498a87246a..330ef7c9e8 100644 --- a/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/quickstart/index.html +++ b/docs/getting-started/install-qovery/aws/cluster-managed-by-qovery/quickstart/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/aws/index.html b/docs/getting-started/install-qovery/aws/index.html index 8020485fbb..71a119f334 100644 --- a/docs/getting-started/install-qovery/aws/index.html +++ b/docs/getting-started/install-qovery/aws/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/aws/self-managed-cluster/index.html b/docs/getting-started/install-qovery/aws/self-managed-cluster/index.html index 0b38908714..639a7d00e7 100644 --- a/docs/getting-started/install-qovery/aws/self-managed-cluster/index.html +++ b/docs/getting-started/install-qovery/aws/self-managed-cluster/index.html @@ -26,7 +26,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/index.html b/docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/index.html index a98ec29554..9ec2d2891c 100644 --- a/docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/index.html +++ b/docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/quickstart/index.html b/docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/quickstart/index.html index daac53c4ab..52b1c3c13a 100644 --- a/docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/quickstart/index.html +++ b/docs/getting-started/install-qovery/azure/cluster-managed-by-qovery/quickstart/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/azure/index.html b/docs/getting-started/install-qovery/azure/index.html index 6fd7e434b2..40c4e5e405 100644 --- a/docs/getting-started/install-qovery/azure/index.html +++ b/docs/getting-started/install-qovery/azure/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/azure/self-managed-cluster/index.html b/docs/getting-started/install-qovery/azure/self-managed-cluster/index.html index 6583f5712b..e6a03c76c4 100644 --- a/docs/getting-started/install-qovery/azure/self-managed-cluster/index.html +++ b/docs/getting-started/install-qovery/azure/self-managed-cluster/index.html @@ -26,7 +26,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/docs/getting-started/install-qovery/gcp/cluster-managed-by-qovery/create-credentials/index.html b/docs/getting-started/install-qovery/gcp/cluster-managed-by-qovery/create-credentials/index.html index 2381fe3941..fa79555896 100644 --- a/docs/getting-started/install-qovery/gcp/cluster-managed-by-qovery/create-credentials/index.html +++ b/docs/getting-started/install-qovery/gcp/cluster-managed-by-qovery/create-credentials/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/docs/getting-started/install-qovery/gcp/cluster-managed-by-qovery/index.html b/docs/getting-started/install-qovery/gcp/cluster-managed-by-qovery/index.html index da32ed24c2..b5492d013e 100644 --- a/docs/getting-started/install-qovery/gcp/cluster-managed-by-qovery/index.html +++ b/docs/getting-started/install-qovery/gcp/cluster-managed-by-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/gcp/cluster-managed-by-qovery/quickstart/index.html b/docs/getting-started/install-qovery/gcp/cluster-managed-by-qovery/quickstart/index.html index dae20be85e..2147f06c2a 100644 --- a/docs/getting-started/install-qovery/gcp/cluster-managed-by-qovery/quickstart/index.html +++ b/docs/getting-started/install-qovery/gcp/cluster-managed-by-qovery/quickstart/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/gcp/index.html b/docs/getting-started/install-qovery/gcp/index.html index 0cb024ba73..7eab489c26 100644 --- a/docs/getting-started/install-qovery/gcp/index.html +++ b/docs/getting-started/install-qovery/gcp/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/gcp/self-managed-cluster/index.html b/docs/getting-started/install-qovery/gcp/self-managed-cluster/index.html index 75d3e040bb..c671d8f84e 100644 --- a/docs/getting-started/install-qovery/gcp/self-managed-cluster/index.html +++ b/docs/getting-started/install-qovery/gcp/self-managed-cluster/index.html @@ -26,7 +26,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/docs/getting-started/install-qovery/index.html b/docs/getting-started/install-qovery/index.html index 6bc21461a2..a11dc69cfa 100644 --- a/docs/getting-started/install-qovery/index.html +++ b/docs/getting-started/install-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/docs/getting-started/install-qovery/kubernetes/byok-config/index.html b/docs/getting-started/install-qovery/kubernetes/byok-config/index.html index 7bab8cc10f..315dec71c0 100644 --- a/docs/getting-started/install-qovery/kubernetes/byok-config/index.html +++ b/docs/getting-started/install-qovery/kubernetes/byok-config/index.html @@ -26,7 +26,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/docs/getting-started/install-qovery/kubernetes/faq/index.html b/docs/getting-started/install-qovery/kubernetes/faq/index.html index f57aa3d0ba..15c64177d9 100644 --- a/docs/getting-started/install-qovery/kubernetes/faq/index.html +++ b/docs/getting-started/install-qovery/kubernetes/faq/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/kubernetes/index.html b/docs/getting-started/install-qovery/kubernetes/index.html index 24a49a5300..6e65d7a894 100644 --- a/docs/getting-started/install-qovery/kubernetes/index.html +++ b/docs/getting-started/install-qovery/kubernetes/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/kubernetes/quickstart/index.html b/docs/getting-started/install-qovery/kubernetes/quickstart/index.html index 12ef19be8c..0ff3046572 100644 --- a/docs/getting-started/install-qovery/kubernetes/quickstart/index.html +++ b/docs/getting-started/install-qovery/kubernetes/quickstart/index.html @@ -26,7 +26,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/docs/getting-started/install-qovery/kubernetes/validate-installation/index.html b/docs/getting-started/install-qovery/kubernetes/validate-installation/index.html index 0e617ec261..ccd6b08a5c 100644 --- a/docs/getting-started/install-qovery/kubernetes/validate-installation/index.html +++ b/docs/getting-started/install-qovery/kubernetes/validate-installation/index.html @@ -26,7 +26,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/docs/getting-started/install-qovery/local/index.html b/docs/getting-started/install-qovery/local/index.html index 9be7a73796..e95ed2275a 100644 --- a/docs/getting-started/install-qovery/local/index.html +++ b/docs/getting-started/install-qovery/local/index.html @@ -26,7 +26,7 @@ - + @@ -59,7 +59,7 @@ - + diff --git a/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/create-credentials/index.html b/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/create-credentials/index.html index 5821644476..1d8e3022a7 100644 --- a/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/create-credentials/index.html +++ b/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/create-credentials/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/faq/index.html b/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/faq/index.html index fff6af4c8d..03168b961d 100644 --- a/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/faq/index.html +++ b/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/faq/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/index.html b/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/index.html index 5bfec05dd9..4f9ad40528 100644 --- a/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/index.html +++ b/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/quickstart/index.html b/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/quickstart/index.html index 1c755e7d4d..6b001e8da8 100644 --- a/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/quickstart/index.html +++ b/docs/getting-started/install-qovery/scaleway/cluster-managed-by-qovery/quickstart/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/scaleway/index.html b/docs/getting-started/install-qovery/scaleway/index.html index 954b8c7e71..857d18d4f5 100644 --- a/docs/getting-started/install-qovery/scaleway/index.html +++ b/docs/getting-started/install-qovery/scaleway/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/getting-started/install-qovery/scaleway/self-managed-cluster/index.html b/docs/getting-started/install-qovery/scaleway/self-managed-cluster/index.html index b75b1e0403..077617535d 100644 --- a/docs/getting-started/install-qovery/scaleway/self-managed-cluster/index.html +++ b/docs/getting-started/install-qovery/scaleway/self-managed-cluster/index.html @@ -26,7 +26,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/docs/getting-started/what-is-qovery/index.html b/docs/getting-started/what-is-qovery/index.html index 1a8a409d2e..6f57cd93d4 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 90e80710a1..8b4aea4b72 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 7a62bd7827..4a55e0cb84 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 b0e3fc650f..3256fbb997 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 f60bca150a..ede082e5fa 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 c65938e261..10fa8783c3 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 db6ef3641d..20ad2400c7 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 8dc2283aaa..51b99007c1 100644 --- a/docs/security-and-compliance/soc2/index.html +++ b/docs/security-and-compliance/soc2/index.html @@ -26,7 +26,7 @@ - + @@ -44,19 +44,19 @@ - +
-

SOC2

Qovery infrastructure and processes comply with SOC2 (Systems and Organizations Controls 2) best practices. By default, Qovery integrates numerous security features into your applications, clusters, and databases, -ensuring alignment with SOC2’s stringent security standards. For more information, visit the Qovery trust page.

All customers using Qovery benefit from a SOC2-compliant infrastructure, significantly reducing the time required for compliance readiness.

This documentation outlines configuration settings for achieving SOC2 compliance and additional recommended security measures.

Cluster advanced settings

In the Cluster Advanced Settings, you will find several configurable options to enhance compliance with SOC2. Here are the key settings:

AWS CloudWatch

To meet SOC2 retention requirements, set the aws.cloudwatch.eks_logs_retention_days to at least 365 days.

Application Logs Retention

To meet SOC2 retention requirements, and store applications/containers logs in the object storage used by Loki, set the loki.log_retention_in_week to at least 365 days.

VPC flow logs

Enable VPC flow logs to monitor and maintain network traffic visibility:

On AWS:

  • Set aws.vpc.enable_s3_flow_logs to true.
  • Specify aws.vpc.flow_logs_retention_days to 365 days or more to ensure compliance.

On GCP:

  • Set gcp.vpc.enable_flow_logs to true.
  • Set gcp.vpc.flow_logs_sampling to 1.0 to capture all network traffic.

Databases access

Qovery allows databases to be publicly accessible for convenience; however, to comply with SOC2, it’s recommended to restrict this access to secure your databases by changing the value of those settings:

  • database.<database type>.deny_public_access: set the CIDR ranges permitted to access the database.
  • database.<database type>.allowed_cidrs: limit access to only your VPC CIDR or other specified IP ranges.

Kubernetes API access

By default, cloud providers allow public access to the Kubernetes API, which is secured by TLS certificates. AWS and GCP provide an added layer of security by requiring account-based dual authentication.

SOC2 compliance, however, mandates restricted access to the Kubernetes API. To achieve this:

  • qovery.static_ip_mode: limit access to Qovery’s designated IPs. Qovery needs this access to perform infrastructure maintenance and application deployment.
  • k8s.api.allowed_public_access_cidrs: optional, define any additional CIDRs that require access to the Kubernetes API, thus limiting external access further.

Container images retention time

SOC2 requires that images be retained for a minimum of 365 days. To meet this requirement, set the registry.image_retention_time to at least 365 days.

AWS EC2 metadata access

To comply with SOC2, restrict access to the AWS EC2 metadata service.

Set aws.eks.ec2.metadata_imds to required to prevent unauthorized access to the metadata service.

+

SOC2

Qovery infrastructure and processes comply with SOC2 (Systems and Organizations Controls 2) best practices. By default, Qovery integrates numerous security features into your applications, clusters, and databases, +ensuring alignment with SOC2’s stringent security standards. For more information, visit the Qovery trust page.

All customers using Qovery benefit from a SOC2-compliant infrastructure, significantly reducing the time required for compliance readiness.

This documentation outlines configuration settings for achieving SOC2 compliance and additional recommended security measures.

Cluster advanced settings

In the Cluster Advanced Settings, you will find several configurable options to enhance compliance with SOC2. Here are the key settings:

AWS CloudWatch

To meet SOC2 retention requirements, set the aws.cloudwatch.eks_logs_retention_days to at least 365 days.

Application Logs Retention

To meet SOC2 retention requirements, and store applications/containers logs in the object storage used by Loki, set the loki.log_retention_in_week to at least 365 days.

VPC flow logs

Enable VPC flow logs to monitor and maintain network traffic visibility:

On AWS:

  • Set aws.vpc.enable_s3_flow_logs to true.
  • Specify aws.vpc.flow_logs_retention_days to 365 days or more to ensure compliance.

On GCP:

  • Set gcp.vpc.enable_flow_logs to true.
  • Set gcp.vpc.flow_logs_sampling to 1.0 to capture all network traffic.

Databases access

Qovery allows databases to be publicly accessible for convenience; however, to comply with SOC2, it’s recommended to restrict this access to secure your databases by changing the value of those settings:

  • database.<database type>.deny_public_access: set the CIDR ranges permitted to access the database.
  • database.<database type>.allowed_cidrs: limit access to only your VPC CIDR or other specified IP ranges.

Kubernetes API access

By default, cloud providers allow public access to the Kubernetes API, which is secured by TLS certificates. AWS and GCP provide an added layer of security by requiring account-based dual authentication.

SOC2 compliance, however, mandates restricted access to the Kubernetes API. To achieve this:

  • qovery.static_ip_mode: limit access to Qovery’s designated IPs. Qovery needs this access to perform infrastructure maintenance and application deployment.
  • k8s.api.allowed_public_access_cidrs: optional, define any additional CIDRs that require access to the Kubernetes API, thus limiting external access further.

Container images retention time

SOC2 requires that images be retained for a minimum of 365 days. To meet this requirement, set the registry.image_retention_time to at least 365 days.

AWS EC2 metadata access

To comply with SOC2, restrict access to the AWS EC2 metadata service.

Set aws.eks.ec2.metadata_imds to required to prevent unauthorized access to the metadata service.

Schema

For SOC2 compliance, an auditor may request a diagram of your infrastructure and its connection to Qovery. Below is the diagram you can share:

- + @@ -74,7 +74,7 @@ - + diff --git a/docs/useful-resources/faq/index.html b/docs/useful-resources/faq/index.html index 9f132763f9..b348125c59 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 6410f6e922..0ca8280e2f 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 3a778c8a2f..19409edf1f 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 775f63c2e8..1409b40775 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 d699e625c7..d306c3a796 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 f510baddf7..6c67a58d2e 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/index.html b/docs/using-qovery/configuration/cloud-service-provider/index.html index 7d3ea288d5..69754d43bc 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/cluster-advanced-settings/index.html b/docs/using-qovery/configuration/cluster-advanced-settings/index.html index 79ed7263c1..81f128f072 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 468c60c81f..a1fd997aa4 100644 --- a/docs/using-qovery/configuration/clusters/index.html +++ b/docs/using-qovery/configuration/clusters/index.html @@ -26,7 +26,7 @@ - + @@ -60,7 +60,7 @@ - + diff --git a/docs/using-qovery/configuration/cronjob/index.html b/docs/using-qovery/configuration/cronjob/index.html index 8745e51ae2..190906ee66 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 6e87a52742..934df98d61 100644 --- a/docs/using-qovery/configuration/database/index.html +++ b/docs/using-qovery/configuration/database/index.html @@ -26,7 +26,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/docs/using-qovery/configuration/database/mongodb/index.html b/docs/using-qovery/configuration/database/mongodb/index.html index db433528d3..08c9818e17 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 f1760ac7fa..085dee7ecd 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 90da007749..9519657877 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 b0dbdb6540..111748c622 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 f0919d2232..7c16e5d87a 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 f5881804cc..ba40f23c46 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 b54ded33a8..50ffe1384c 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/helm/index.html b/docs/using-qovery/configuration/helm/index.html index 102ad58d42..635c8db589 100644 --- a/docs/using-qovery/configuration/helm/index.html +++ b/docs/using-qovery/configuration/helm/index.html @@ -26,7 +26,7 @@ - + @@ -60,7 +60,7 @@ - + diff --git a/docs/using-qovery/configuration/index.html b/docs/using-qovery/configuration/index.html index 99d567ded2..b9ed465e05 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 f51906891f..7ac21f27e9 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 22a45a6d7f..4a0c86055e 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 773e34c9af..edb40f68ba 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 b350e5c6c8..1d7034fd3c 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 4be89c7b53..67b133a3eb 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/helm-repository/index.html b/docs/using-qovery/configuration/organization/helm-repository/index.html index c17404dea2..ac7d014e01 100644 --- a/docs/using-qovery/configuration/organization/helm-repository/index.html +++ b/docs/using-qovery/configuration/organization/helm-repository/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/docs/using-qovery/configuration/organization/index.html b/docs/using-qovery/configuration/organization/index.html index b66e9e67dd..99bd7a65f0 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/labels-annotations/index.html b/docs/using-qovery/configuration/organization/labels-annotations/index.html index 7860c4639d..5c92f093f6 100644 --- a/docs/using-qovery/configuration/organization/labels-annotations/index.html +++ b/docs/using-qovery/configuration/organization/labels-annotations/index.html @@ -26,7 +26,7 @@ - + @@ -61,7 +61,7 @@ - + diff --git a/docs/using-qovery/configuration/organization/members-rbac/index.html b/docs/using-qovery/configuration/organization/members-rbac/index.html index 35c4569698..f15adddd1e 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 a16602b095..a5ab4bb708 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 2d5d81f0d2..233da01194 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/service-health-checks/index.html b/docs/using-qovery/configuration/service-health-checks/index.html index 5b76295406..6f8ac02b8d 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 7076210cef..f3b7114ea2 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 113db79f02..aee01aff30 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 @@ - + @@ -57,7 +57,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 cde592d713..82a52a4494 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 e9a2e3321d..28cadbbbb0 100644 --- a/docs/using-qovery/deployment/deployment-actions/index.html +++ b/docs/using-qovery/deployment/deployment-actions/index.html @@ -26,7 +26,7 @@ - + @@ -61,7 +61,7 @@ - + diff --git a/docs/using-qovery/deployment/deployment-history/index.html b/docs/using-qovery/deployment/deployment-history/index.html index 3b131ff3b8..26fe5f6cbd 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 49d6266995..da8765a562 100644 --- a/docs/using-qovery/deployment/deployment-pipeline/index.html +++ b/docs/using-qovery/deployment/deployment-pipeline/index.html @@ -26,7 +26,7 @@ - + @@ -59,7 +59,7 @@ - + diff --git a/docs/using-qovery/deployment/deployment-strategies/index.html b/docs/using-qovery/deployment/deployment-strategies/index.html index 6809b0f5a1..b8c096934f 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 ddac298593..47ee95838e 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 1d079866f0..b602182322 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 50cf39fcd6..8266266fed 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 92946a08eb..7b3d431e5f 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 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/docs/using-qovery/index.html b/docs/using-qovery/index.html index 26bf53d13d..e5c6147f28 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 c3aed4a212..d985169e51 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 460efe643a..42c8746933 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 6bbe857836..dde904e7a0 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 24d76c9c76..c4a661d440 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 471967644e..441e048de7 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 4fcb738114..74cb8e084e 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 111da968c0..b022ffdd1f 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 9626c78a15..d68d30b4f6 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/helm-repository/index.html b/docs/using-qovery/integration/helm-repository/index.html index 550141d743..b1dc676c03 100644 --- a/docs/using-qovery/integration/helm-repository/index.html +++ b/docs/using-qovery/integration/helm-repository/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/iac/cloudformation/index.html b/docs/using-qovery/integration/iac/cloudformation/index.html index 8e1ee050dc..0c14f0164b 100644 --- a/docs/using-qovery/integration/iac/cloudformation/index.html +++ b/docs/using-qovery/integration/iac/cloudformation/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/iac/index.html b/docs/using-qovery/integration/iac/index.html index e767e7dc5f..00a01eb78e 100644 --- a/docs/using-qovery/integration/iac/index.html +++ b/docs/using-qovery/integration/iac/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/iac/other/index.html b/docs/using-qovery/integration/iac/other/index.html index cbe9a7c3c6..2caa266502 100644 --- a/docs/using-qovery/integration/iac/other/index.html +++ b/docs/using-qovery/integration/iac/other/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/iac/terraform/index.html b/docs/using-qovery/integration/iac/terraform/index.html index f78dc74b26..183a115f04 100644 --- a/docs/using-qovery/integration/iac/terraform/index.html +++ b/docs/using-qovery/integration/iac/terraform/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 fee72b87be..7c97c5128b 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 38490e619f..c4cfe6fc63 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 c55b2e20e7..8188b0f97a 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 c0d66b08f2..ee5046827d 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 a7068dc9bd..e5336e8ba1 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 ff001e6074..75b7ff0428 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 24e0567fbc..b817de53a8 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 84dcc213bd..6db15c0c96 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-provider/index.html b/docs/using-qovery/integration/terraform-provider/index.html index cc87221005..a8c0634469 100644 --- a/docs/using-qovery/integration/terraform-provider/index.html +++ b/docs/using-qovery/integration/terraform-provider/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,7 @@ - + diff --git a/docs/using-qovery/integration/webhook/index.html b/docs/using-qovery/integration/webhook/index.html index 710a0644f4..d683c23469 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 3210bd9343..79379f07d8 100644 --- a/docs/using-qovery/interface/cli/index.html +++ b/docs/using-qovery/interface/cli/index.html @@ -26,7 +26,7 @@ - + @@ -89,7 +89,7 @@ - + diff --git a/docs/using-qovery/interface/index.html b/docs/using-qovery/interface/index.html index 56a7fbcb2a..c316caf4f6 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 a6f3650757..84ba00d921 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 1a3ef32011..1a3913a74e 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 404fd3f3a8..989f1d4eb7 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 489cd6675d..ac6dd0be20 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/cluster-troubleshoot/index.html b/docs/using-qovery/troubleshoot/cluster-troubleshoot/index.html index 3564f9b36a..f3065f7eb8 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/index.html b/docs/using-qovery/troubleshoot/index.html index 51153f6b24..bca7d77361 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/service-deployment-troubleshoot/index.html b/docs/using-qovery/troubleshoot/service-deployment-troubleshoot/index.html index 3c0b4f161d..592d46ed29 100644 --- a/docs/using-qovery/troubleshoot/service-deployment-troubleshoot/index.html +++ b/docs/using-qovery/troubleshoot/service-deployment-troubleshoot/index.html @@ -26,7 +26,7 @@ - + @@ -59,7 +59,7 @@ - + diff --git a/docs/using-qovery/troubleshoot/service-run-troubleshoot/index.html b/docs/using-qovery/troubleshoot/service-run-troubleshoot/index.html index 259f3d65ed..da35ae6345 100644 --- a/docs/using-qovery/troubleshoot/service-run-troubleshoot/index.html +++ b/docs/using-qovery/troubleshoot/service-run-troubleshoot/index.html @@ -26,7 +26,7 @@ - + @@ -56,7 +56,7 @@ - + diff --git a/guides/advanced/adding-multi-region-backup-rds/index.html b/guides/advanced/adding-multi-region-backup-rds/index.html index 28c03bd834..50584eec0c 100644 --- a/guides/advanced/adding-multi-region-backup-rds/index.html +++ b/guides/advanced/adding-multi-region-backup-rds/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/advanced/continuous-integration/index.html b/guides/advanced/continuous-integration/index.html index c5cb8a1205..fcb7f5ccaf 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 3a08f0a8eb..ffc476be81 100644 --- a/guides/advanced/costs-control/index.html +++ b/guides/advanced/costs-control/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/advanced/deploy-api-gateway/index.html b/guides/advanced/deploy-api-gateway/index.html index bf093a1a9b..ddaaa4c2c9 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 7a868c016f..c6dedbd1d2 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-daemonset-with-karpenter/index.html b/guides/advanced/deploy-daemonset-with-karpenter/index.html index 47630291db..05208d1f2b 100644 --- a/guides/advanced/deploy-daemonset-with-karpenter/index.html +++ b/guides/advanced/deploy-daemonset-with-karpenter/index.html @@ -26,7 +26,7 @@ - + @@ -49,7 +49,7 @@ - + diff --git a/guides/advanced/deploy-external-services/index.html b/guides/advanced/deploy-external-services/index.html index 4cd242c681..9a0cb29a5b 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 09612c5046..d8d970bee1 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 3b325ad034..69fbdce7a4 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 64f3ef2898..dbbd6e3af5 100644 --- a/guides/advanced/index.html +++ b/guides/advanced/index.html @@ -26,7 +26,7 @@ - + @@ -85,7 +85,7 @@ - + diff --git a/guides/advanced/microservices/index.html b/guides/advanced/microservices/index.html index 15931122b3..a165d40384 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 a6958ea65d..3e8854bc14 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 e4c864a1e1..3bf22f50db 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 ce72b9b979..479b7383a6 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 28801e89fd..63e60fedd9 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 1937cbdbc4..250b65dc91 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 d62a7334e5..34ca1ed7b4 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/upgrading-rds-instance/index.html b/guides/advanced/upgrading-rds-instance/index.html index 8bb2f22d10..cf6943b603 100644 --- a/guides/advanced/upgrading-rds-instance/index.html +++ b/guides/advanced/upgrading-rds-instance/index.html @@ -26,7 +26,7 @@ - + @@ -49,7 +49,7 @@ - + diff --git a/guides/advanced/use-preview-environments/index.html b/guides/advanced/use-preview-environments/index.html index 7d4b2e14bd..6bac755e8a 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/getting-started/create-a-database/index.html b/guides/getting-started/create-a-database/index.html index 8e6c7abb0c..a270b9dafd 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 b2d08c05c2..279dd63959 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 b4ceb0f298..46ac6763e1 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 30d1584c45..9a6ff151eb 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 0bde08b5d5..cf0ba3bf71 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 12a460e6b3..cd8994e660 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 7c9ee78333..4b90a33327 100644 --- a/guides/index.html +++ b/guides/index.html @@ -26,7 +26,7 @@ - + @@ -191,7 +191,7 @@ - + diff --git a/guides/installation-guide/guide-amazon-web-services/index.html b/guides/installation-guide/guide-amazon-web-services/index.html index 62915a7314..56e6f0f2dc 100644 --- a/guides/installation-guide/guide-amazon-web-services/index.html +++ b/guides/installation-guide/guide-amazon-web-services/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/installation-guide/guide-google-cloud-platform/index.html b/guides/installation-guide/guide-google-cloud-platform/index.html index c94c81f2e1..de148d2bb3 100644 --- a/guides/installation-guide/guide-google-cloud-platform/index.html +++ b/guides/installation-guide/guide-google-cloud-platform/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/installation-guide/guide-kubernetes/index.html b/guides/installation-guide/guide-kubernetes/index.html index c69a3b1ade..bc5a43bad9 100644 --- a/guides/installation-guide/guide-kubernetes/index.html +++ b/guides/installation-guide/guide-kubernetes/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/installation-guide/guide-microsoft-azure/index.html b/guides/installation-guide/guide-microsoft-azure/index.html index 77f982a47b..e1bb906249 100644 --- a/guides/installation-guide/guide-microsoft-azure/index.html +++ b/guides/installation-guide/guide-microsoft-azure/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/installation-guide/guide-scaleway/index.html b/guides/installation-guide/guide-scaleway/index.html index 3492d6534e..242a29ef08 100644 --- a/guides/installation-guide/guide-scaleway/index.html +++ b/guides/installation-guide/guide-scaleway/index.html @@ -26,7 +26,7 @@ - + @@ -50,7 +50,7 @@ - + diff --git a/guides/installation-guide/index.html b/guides/installation-guide/index.html index 7193ae3cb6..2f90785e55 100644 --- a/guides/installation-guide/index.html +++ b/guides/installation-guide/index.html @@ -26,7 +26,7 @@ - + @@ -59,7 +59,7 @@ - + diff --git a/guides/tags/database-postgresql/index.html b/guides/tags/database-postgresql/index.html index 1c2ceceec4..5605867f4e 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/database-rds/index.html b/guides/tags/database-rds/index.html index f39ca190df..8b8b033284 100644 --- a/guides/tags/database-rds/index.html +++ b/guides/tags/database-rds/index.html @@ -26,7 +26,7 @@ - + @@ -53,7 +53,7 @@ - + diff --git a/guides/tags/domain-operations/index.html b/guides/tags/domain-operations/index.html index dc7265ae02..30d5213ca5 100644 --- a/guides/tags/domain-operations/index.html +++ b/guides/tags/domain-operations/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/framework-rails/index.html b/guides/tags/framework-rails/index.html index c94cbcd8e9..27f6a84a21 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 90878cf9de..35ec2fe91d 100644 --- a/guides/tags/index.html +++ b/guides/tags/index.html @@ -26,7 +26,7 @@ - + @@ -49,7 +49,7 @@ - + diff --git a/guides/tags/installation-guide-aws/index.html b/guides/tags/installation-guide-aws/index.html index f77cca809a..012a55b24b 100644 --- a/guides/tags/installation-guide-aws/index.html +++ b/guides/tags/installation-guide-aws/index.html @@ -26,7 +26,7 @@ - + @@ -77,7 +77,7 @@ - + diff --git a/guides/tags/installation-guide-azure/index.html b/guides/tags/installation-guide-azure/index.html index d8aa1cc767..6c01b1dffb 100644 --- a/guides/tags/installation-guide-azure/index.html +++ b/guides/tags/installation-guide-azure/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/installation-guide-gcp/index.html b/guides/tags/installation-guide-gcp/index.html index 16a5abd16d..11c8ff1d89 100644 --- a/guides/tags/installation-guide-gcp/index.html +++ b/guides/tags/installation-guide-gcp/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/installation-guide-kubernetes/index.html b/guides/tags/installation-guide-kubernetes/index.html index d582c602d7..b18fbc472c 100644 --- a/guides/tags/installation-guide-kubernetes/index.html +++ b/guides/tags/installation-guide-kubernetes/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/installation-guide-scaleway/index.html b/guides/tags/installation-guide-scaleway/index.html index 25a27cf9ef..63ec4aa4ba 100644 --- a/guides/tags/installation-guide-scaleway/index.html +++ b/guides/tags/installation-guide-scaleway/index.html @@ -26,7 +26,7 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tags/language-javascript/index.html b/guides/tags/language-javascript/index.html index 844a8e29f4..3442bf7191 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 464401bf06..b63b92d0ff 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 d8d87b5b96..66cb94881d 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 106b5fcad2..e817c9fde0 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/technology-docker/index.html b/guides/tags/technology-docker/index.html index b7ecbadedc..6bd245a2b2 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 dcaf8cd897..d002b92a4f 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 96944811ff..88e7bfe8a3 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 24f7543f00..8648f9a0bc 100644 --- a/guides/tags/technology-qovery/index.html +++ b/guides/tags/technology-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -135,7 +135,7 @@ - + diff --git a/guides/tags/technology-terraform/index.html b/guides/tags/technology-terraform/index.html index 9dea33ab3c..94834db0c3 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 a9cd4bf1b4..0cdb859d9a 100644 --- a/guides/tags/type-guide/index.html +++ b/guides/tags/type-guide/index.html @@ -26,7 +26,7 @@ - + @@ -103,7 +103,7 @@ - + diff --git a/guides/tags/type-tutorial/index.html b/guides/tags/type-tutorial/index.html index f27195b002..1e38ee4ecb 100644 --- a/guides/tags/type-tutorial/index.html +++ b/guides/tags/type-tutorial/index.html @@ -26,7 +26,7 @@ - + @@ -137,7 +137,7 @@ - + diff --git a/guides/tutorial/aws-sqs-lambda-with-qovery/index.html b/guides/tutorial/aws-sqs-lambda-with-qovery/index.html index 25004cf57b..ca77cd1eef 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 b8d0a2ef98..05ddf3a57f 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 47f48bc8c5..4e7410cf11 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 4b7f483767..301c002488 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 628f963fa7..223fc2df14 100644 --- a/guides/tutorial/cloudwatch-integration/index.html +++ b/guides/tutorial/cloudwatch-integration/index.html @@ -26,7 +26,7 @@ - + @@ -55,7 +55,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 fa76c93ae1..d07eac1e63 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 f0cc0546c4..cb306eac18 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 d0ec9e0bc1..c377c4cb95 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 7cdaf07c50..0363a5f582 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 d1366d96aa..134df1e298 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-jupyterhub-qovery/index.html b/guides/tutorial/deploy-jupyterhub-qovery/index.html index ab2917232a..ca8741f457 100644 --- a/guides/tutorial/deploy-jupyterhub-qovery/index.html +++ b/guides/tutorial/deploy-jupyterhub-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -49,7 +49,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 0a96be7e8c..4908a49496 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 e46ef3f5df..45610e71f2 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 516a8b83ad..e6a1bdfb67 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 285fdf884d..f3ed643d96 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 eaed916fc9..22fae91d99 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/gitops-with-qovery/index.html b/guides/tutorial/gitops-with-qovery/index.html index c2c988dff3..9cda4098d7 100644 --- a/guides/tutorial/gitops-with-qovery/index.html +++ b/guides/tutorial/gitops-with-qovery/index.html @@ -26,7 +26,7 @@ - + @@ -94,7 +94,7 @@ - + diff --git a/guides/tutorial/grafana-install/index.html b/guides/tutorial/grafana-install/index.html index 7341ccc753..3b64b669fd 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 8321513fd2..8f3c0c3c4c 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 97f9886c86..5002e670e7 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 6884cea17f..b317cef380 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 98462993c8..6c94166012 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 f491c9dcb5..2c92ffe76c 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 3f813b93ed..19f9361327 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 @@ - + @@ -56,7 +56,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 7c2f8abf3b..c97b825983 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 2415adc4b5..d2cc135199 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-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 5bb78c9cdc..56bf6eb558 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 @@ - + @@ -50,7 +50,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 417816b11a..12c1a98134 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 d2d605050b..734af43531 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 91b5fa98df..80e1d6345d 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 d15909d342..072815a640 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 983b5a609b..87da77c68c 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 cfdedf10b3..407f0e0699 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 abbc08ea35..895d817f89 100644 --- a/guides/tutorial/index.html +++ b/guides/tutorial/index.html @@ -26,7 +26,7 @@ - + @@ -135,7 +135,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 4e4194cde3..255992d4b7 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 @@ - + @@ -50,7 +50,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 dc1eac32ef..425276c9fc 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 95eadb4b64..e7a02967bd 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 @@ - + @@ -60,7 +60,7 @@ - + diff --git a/guides/tutorial/monitor-and-reduce-kubernetes-spend-with-kubecost/index.html b/guides/tutorial/monitor-and-reduce-kubernetes-spend-with-kubecost/index.html index 4ffd7e6c34..dc5ad97a9c 100644 --- a/guides/tutorial/monitor-and-reduce-kubernetes-spend-with-kubecost/index.html +++ b/guides/tutorial/monitor-and-reduce-kubernetes-spend-with-kubecost/index.html @@ -26,7 +26,7 @@ - + @@ -49,7 +49,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 d835193fb0..8f3c2edd3a 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 @@ - + @@ -51,7 +51,7 @@ - + diff --git a/guides/tutorial/url-shortener-api-with-kotlin/index.html b/guides/tutorial/url-shortener-api-with-kotlin/index.html index 95a6284cc2..a7a56d47af 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 ca63ccc2a9..a293ae7274 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 7dcd7a8b01..8fd4e2eb59 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 f1165d5f34..aa42c5ca9b 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/compliance_logo.png b/img/compliances/compliance_logo.png similarity index 100% rename from img/compliance_logo.png rename to img/compliances/compliance_logo.png diff --git a/img/compliances/qovery_soc2_schema.svg b/img/compliances/qovery_soc2_schema.svg new file mode 100644 index 0000000000..9c6affc8f4 --- /dev/null +++ b/img/compliances/qovery_soc2_schema.svg @@ -0,0 +1,10 @@ + + + + + + + + UserLoad balancerNAT GatewaysQovery infrastructure(AWS)Qovery control planeS3 BucketApplications logsKMSRDSMemoryDBfor RedisKMSCustomer Cloud infrastructureamazonweb servicesGoogleGoogleCloud PlatformLoad balancerNAT GatewaysKubernetes clusterECRCustomerApplicationsQovery AgentsLog forwardStatistic reportingRemote connectionManaged databasesNginx IngressConsole,Terraform,CLI, APIInfrastructurePrerequisites(TLS, DNS,Cloud requirements,...)Internet \ No newline at end of file diff --git a/index.html b/index.html index c379d9b39e..7d51855794 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 573f67899b..c58e9297aa 100644 --- a/mailing_list/index.html +++ b/mailing_list/index.html @@ -22,7 +22,7 @@ - + @@ -37,7 +37,7 @@ - + diff --git a/runtime~main.155d86b7.js b/runtime~main.2067b7fd.js similarity index 99% rename from runtime~main.155d86b7.js rename to runtime~main.2067b7fd.js index 82732a34a4..fbf6f97cc6 100644 --- a/runtime~main.155d86b7.js +++ b/runtime~main.2067b7fd.js @@ -1 +1 @@ -!function(e){function d(d){for(var f,a,r=d[0],n=d[1],o=d[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"])("p",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"src":"/img/compliance_logo.png","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Qovery infrastructure and processes comply with SOC2 (Systems and Organizations Controls 2) best practices. By default, Qovery integrates numerous security features into your applications, clusters, and databases, -ensuring alignment with SOC2’s stringent security standards. For more information, visit 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":"https://trust.qovery.com/"}),`Qovery trust page`),`.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`All customers using Qovery benefit from a SOC2-compliant infrastructure, significantly reducing the time required for compliance readiness.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`This documentation outlines configuration settings for achieving SOC2 compliance and additional recommended security measures.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h2",{"id":"cluster-advanced-settings"},`Cluster advanced settings`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`In 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/cluster-advanced-settings/"}),`Cluster Advanced Settings`),`, you will find several configurable options to enhance compliance with SOC2. Here are the key settings:`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"aws-cloudwatch"},`AWS CloudWatch `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/aws.svg","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`To meet SOC2 retention requirements, set the `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`aws.cloudwatch.eks_logs_retention_days`),` to at least 365 days.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"application-logs-retention"},`Application Logs Retention `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/aws.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/scaleway.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/gcp.svg","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`To meet SOC2 retention requirements, and store applications/containers logs in the object storage used by Loki, set the `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`loki.log_retention_in_week`),` to at least 365 days.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"vpc-flow-logs"},`VPC flow logs `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/aws.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/gcp.svg","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Enable VPC flow logs to monitor and maintain network traffic visibility:`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`On AWS:`),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"},`Set `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`aws.vpc.enable_s3_flow_logs`),` to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`true`),`.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},`Specify `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`aws.vpc.flow_logs_retention_days`),` to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`365`),` days or more to ensure compliance.`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`On GCP:`),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"},`Set `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`gcp.vpc.enable_flow_logs`),` to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`true`),`.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},`Set `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`gcp.vpc.flow_logs_sampling`),` to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`1.0`),` to capture all network traffic.`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"databases-access"},`Databases access `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/aws.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/scaleway.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/gcp.svg","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Qovery allows databases to be publicly accessible for convenience; however, to comply with SOC2, it’s recommended 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/cluster-advanced-settings/#database-access"}),`restrict this access`),` to secure your databases by changing the value of those settings:`),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"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`database..deny_public_access`),`: set the CIDR ranges permitted to access the database.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`database..allowed_cidrs`),`: limit access to only your VPC CIDR or other specified IP ranges.`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"kubernetes-api-access"},`Kubernetes API access `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/aws.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/gcp.svg","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`By default, cloud providers allow public access to the Kubernetes API, which is secured by TLS certificates. AWS and GCP provide an added layer of security by requiring account-based dual authentication.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`SOC2 compliance, however, mandates restricted access to the Kubernetes API. To achieve this:`),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"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`qovery.static_ip_mode`),`: limit access to Qovery’s designated IPs. Qovery needs this access to perform infrastructure maintenance and application deployment.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`k8s.api.allowed_public_access_cidrs`),`: optional, define any additional CIDRs that require access to the Kubernetes API, thus limiting external access further.`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])(_site_src_components_Alert__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"],{type:"info",mdxType:"Alert"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Please refer to 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/cluster-advanced-settings/#qoverystatic_ip_mode"}),`dedicated documentation section`),`, you have to create a Dockerhub account and link it to Qovery to avoid rate limit.`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"container-images-retention-time"},`Container images retention time `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/aws.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/scaleway.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/gcp.svg","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`SOC2 requires that images be retained for a minimum of 365 days. To meet this requirement, set the `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`registry.image_retention_time`),` to at least 365 days.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"aws-ec2-metadata-access"},`AWS EC2 metadata access `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/aws.svg","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`To comply with SOC2, restrict access to the AWS EC2 metadata service.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Set `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`aws.eks.ec2.metadata_imds`),` to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`required`),` to prevent unauthorized access to the metadata service.`));};MDXContent.isMDXComponent=true; +const frontMatter={last_modified_on:'2024-11-15',title:'SOC2',description:'Systems and Organizations Controls 2'};const metadata={"id":"security-and-compliance/soc2","title":"SOC2","description":"Systems and Organizations Controls 2","source":"@site/docs/security-and-compliance/soc2.md","permalink":"/docs/security-and-compliance/soc2","sidebar":"docs","previous":{"title":"GDPR","permalink":"/docs/security-and-compliance/gdpr"},"next":{"title":"FAQ","permalink":"/docs/useful-resources/faq"}};/* @jsx mdx */const rightToc=[{value:'Cluster advanced settings',id:'cluster-advanced-settings',children:[{value:'AWS CloudWatch ',id:'aws-cloudwatch',children:[]},{value:'Application Logs Retention ',id:'application-logs-retention',children:[]},{value:'VPC flow logs ',id:'vpc-flow-logs',children:[]},{value:'Databases access ',id:'databases-access',children:[]},{value:'Kubernetes API access ',id:'kubernetes-api-access',children:[]},{value:'Container images retention time ',id:'container-images-retention-time',children:[]},{value:'AWS EC2 metadata access ',id:'aws-ec2-metadata-access',children:[]}]},{value:'Schema',id:'schema',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"])("p",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"src":"/img/compliances/compliance_logo.png","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Qovery infrastructure and processes comply with SOC2 (Systems and Organizations Controls 2) best practices. By default, Qovery integrates numerous security features into your applications, clusters, and databases, +ensuring alignment with SOC2’s stringent security standards. For more information, visit 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":"https://trust.qovery.com/"}),`Qovery trust page`),`.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`All customers using Qovery benefit from a SOC2-compliant infrastructure, significantly reducing the time required for compliance readiness.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`This documentation outlines configuration settings for achieving SOC2 compliance and additional recommended security measures.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h2",{"id":"cluster-advanced-settings"},`Cluster advanced settings`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`In 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/cluster-advanced-settings/"}),`Cluster Advanced Settings`),`, you will find several configurable options to enhance compliance with SOC2. Here are the key settings:`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"aws-cloudwatch"},`AWS CloudWatch `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/aws.svg","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`To meet SOC2 retention requirements, set the `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`aws.cloudwatch.eks_logs_retention_days`),` to at least 365 days.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"application-logs-retention"},`Application Logs Retention `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/aws.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/scaleway.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/gcp.svg","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`To meet SOC2 retention requirements, and store applications/containers logs in the object storage used by Loki, set the `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`loki.log_retention_in_week`),` to at least 365 days.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"vpc-flow-logs"},`VPC flow logs `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/aws.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/gcp.svg","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Enable VPC flow logs to monitor and maintain network traffic visibility:`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`On AWS:`),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"},`Set `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`aws.vpc.enable_s3_flow_logs`),` to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`true`),`.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},`Specify `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`aws.vpc.flow_logs_retention_days`),` to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`365`),` days or more to ensure compliance.`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`On GCP:`),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"},`Set `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`gcp.vpc.enable_flow_logs`),` to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`true`),`.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},`Set `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`gcp.vpc.flow_logs_sampling`),` to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`1.0`),` to capture all network traffic.`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"databases-access"},`Databases access `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/aws.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/scaleway.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/gcp.svg","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Qovery allows databases to be publicly accessible for convenience; however, to comply with SOC2, it’s recommended 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/cluster-advanced-settings/#database-access"}),`restrict this access`),` to secure your databases by changing the value of those settings:`),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"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`database..deny_public_access`),`: set the CIDR ranges permitted to access the database.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`database..allowed_cidrs`),`: limit access to only your VPC CIDR or other specified IP ranges.`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"kubernetes-api-access"},`Kubernetes API access `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/aws.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/gcp.svg","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`By default, cloud providers allow public access to the Kubernetes API, which is secured by TLS certificates. AWS and GCP provide an added layer of security by requiring account-based dual authentication.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`SOC2 compliance, however, mandates restricted access to the Kubernetes API. To achieve this:`),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"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`qovery.static_ip_mode`),`: limit access to Qovery’s designated IPs. Qovery needs this access to perform infrastructure maintenance and application deployment.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("li",{parentName:"ul"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"li"},`k8s.api.allowed_public_access_cidrs`),`: optional, define any additional CIDRs that require access to the Kubernetes API, thus limiting external access further.`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])(_site_src_components_Alert__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"],{type:"info",mdxType:"Alert"},Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Please refer to 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/cluster-advanced-settings/#qoverystatic_ip_mode"}),`dedicated documentation section`),`, you have to create a Dockerhub account and link it to Qovery to avoid rate limit.`)),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"container-images-retention-time"},`Container images retention time `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/aws.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/scaleway.svg","alt":null})),` `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/gcp.svg","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`SOC2 requires that images be retained for a minimum of 365 days. To meet this requirement, set the `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`registry.image_retention_time`),` to at least 365 days.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h3",{"id":"aws-ec2-metadata-access"},`AWS EC2 metadata access `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"h3"},{"src":"/img/advanced_settings/aws.svg","alt":null}))),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`To comply with SOC2, restrict access to the AWS EC2 metadata service.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`Set `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`aws.eks.ec2.metadata_imds`),` to `,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("inlineCode",{parentName:"p"},`required`),` to prevent unauthorized access to the metadata service.`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("h2",{"id":"schema"},`Schema`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,`For SOC2 compliance, an auditor may request a diagram of your infrastructure and its connection to Qovery. Below is the diagram you can share:`),Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("p",null,Object(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__[/* mdx */ "b"])("img",Object(_home_runner_work_documentation_documentation_website_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({parentName:"p"},{"src":"/img/compliances/qovery_soc2_schema.svg","alt":null}))));};MDXContent.isMDXComponent=true; /***/ }), /* 441 */