diff --git a/docs/docs/databases/connect-db/cloud-databases/aiven.mdx b/docs/docs/databases/connect-db/cloud-databases/aiven.mdx index f92ec7c1d29..984a9b41201 100644 --- a/docs/docs/databases/connect-db/cloud-databases/aiven.mdx +++ b/docs/docs/databases/connect-db/cloud-databases/aiven.mdx @@ -8,7 +8,7 @@ keywords: - guide - aiven sidebar_label: Aiven Postgres -sidebar_position: 1 +sidebar_position: 2 --- import Thumbnail from '@site/src/components/Thumbnail'; @@ -22,12 +22,12 @@ import HeadingIcon from '@site/src/components/HeadingIcon'; This guide explains how to connect a new or existing Aiven Postgres database to a Hasura Cloud project. -## Step 0: Sign up or log in to Hasura Cloud +## Step 1: Sign up or log in to Hasura Cloud Navigate to [Hasura Cloud](https://cloud.hasura.io/signup/?pg=docs&plcmt=body&cta=navigate-to-hasura-cloud&tech=default) and sign up or log in. -## Step 1: Create a Hasura Cloud project {#create-hasura-project-aiven} +## Step 2: Create a Hasura Cloud project {#create-hasura-project-aiven} On the Hasura Cloud dashboard, create a new project: @@ -41,7 +41,7 @@ You will get prompted for a Postgres Database URL. We will create this in the ne -## Step 2: Create a Postgres DB on Aiven (skip if you have an existing DB) {#create-pg-db-aiven} +## Step 3: Create a Postgres DB on Aiven (skip if you have an existing DB) {#create-pg-db-aiven} Log into the [Aiven console](https://console.aiven.io/login). @@ -68,7 +68,7 @@ If you're using a database user other than the default one, make sure to give it ::: -## Step 3: Allow connections to your DB from Hasura Cloud +## Step 4: Allow connections to your DB from Hasura Cloud On the `Services` dashboard, click on your DB: @@ -92,7 +92,7 @@ Add the Hasura IP address that you copied, click on the `+`: Then click on `Save changes`. -## Step 4: Get the database connection URL {#get-db-url-aiven} +## Step 5: Get the database connection URL {#get-db-url-aiven} The structure of the database connection URL looks as follows: @@ -104,9 +104,9 @@ To get it, navigate to the `Overview` tab of your database dashboard and copy th -## Step 5: Finish connecting the database +## Step 6: Finish connecting the database -Back on Hasura Console, enter the database URL that we retrieved in [step 4](#get-db-url-aiven): +Back on Hasura Console, enter the database URL that we retrieved in [step 5](#get-db-url-aiven): diff --git a/docs/docs/databases/connect-db/cloud-databases/aws-aurora.mdx b/docs/docs/databases/connect-db/cloud-databases/aws-aurora.mdx index d24bc32b906..217e6905a79 100644 --- a/docs/docs/databases/connect-db/cloud-databases/aws-aurora.mdx +++ b/docs/docs/databases/connect-db/cloud-databases/aws-aurora.mdx @@ -8,7 +8,7 @@ keywords: - guide - aws rds aurora sidebar_label: AWS RDS Aurora Postgres -sidebar_position: 2 +sidebar_position: 3 --- import Thumbnail from '@site/src/components/Thumbnail'; @@ -22,12 +22,12 @@ import HeadingIcon from '@site/src/components/HeadingIcon'; This guide explains how to connect a new or existing AWS RDS Aurora Postgres database to a Hasura Cloud project. -## Step 0: Sign up or log in to Hasura Cloud +## Step 1: Sign up or log in to Hasura Cloud Navigate to [Hasura Cloud](https://cloud.hasura.io/signup/?pg=docs&plcmt=body&cta=navigate-to-hasura-cloud&tech=default) and sign up or log in. -## Step 1: Create a Hasura Cloud project {#create-hasura-project-aws-rds-aurora} +## Step 2: Create a Hasura Cloud project {#create-hasura-project-aws-rds-aurora} On the Hasura Cloud dashboard, create a new project: @@ -41,7 +41,7 @@ You will get prompted for a Postgres Database URL. We will create this in the ne -## Step 2: Create an Aurora DB on AWS RDS (skip if you have an existing DB) {#create-pg-aws-rds-aurora} +## Step 3: Create an Aurora DB on AWS RDS (skip if you have an existing DB) {#create-pg-aws-rds-aurora} Log into the [AWS console](https://console.aws.amazon.com//). @@ -88,10 +88,10 @@ If you're using a database user other than the default one, make sure to give it ::: -## Step 3: Allow connections to your DB from Hasura Cloud +## Step 4: Allow connections to your DB from Hasura Cloud On the database dashboard, click on `Connectivity & security`. On the right, click on the security group that you -selected or added in [step 2](#create-pg-aws-rds-aurora). +selected or added in [step 3](#create-pg-aws-rds-aurora). diff --git a/docs/docs/databases/connect-db/cloud-databases/aws-postgres.mdx b/docs/docs/databases/connect-db/cloud-databases/aws-postgres.mdx index 9f9e0fb2341..2bdec592b05 100644 --- a/docs/docs/databases/connect-db/cloud-databases/aws-postgres.mdx +++ b/docs/docs/databases/connect-db/cloud-databases/aws-postgres.mdx @@ -8,7 +8,7 @@ keywords: - guide - aws rds postgres sidebar_label: AWS RDS Postgres -sidebar_position: 3 +sidebar_position: 4 --- import Thumbnail from '@site/src/components/Thumbnail'; @@ -22,12 +22,12 @@ import HeadingIcon from '@site/src/components/HeadingIcon'; This guide explains how to connect a new or existing AWS RDS Postgres database to a Hasura Cloud project. -## Step 0: Sign up or log in to Hasura Cloud +## Step 1: Sign up or log in to Hasura Cloud Navigate to [Hasura Cloud](https://cloud.hasura.io/signup/?pg=docs&plcmt=body&cta=navigate-to-hasura-cloud&tech=default) and sign up or log in. -## Step 1: Create a Hasura Cloud project {#create-hasura-project-aws-rds-postgres} +## Step 2: Create a Hasura Cloud project {#create-hasura-project-aws-rds-postgres} On the Hasura Cloud dashboard, create a new project: @@ -41,7 +41,7 @@ You will get prompted for a Postgres Database URL. We will create this in the ne -## Step 2: Create a Postgres DB on AWS (skip if you have an existing DB) {#create-aws-rds-postgres-db} +## Step 3: Create a Postgres DB on AWS (skip if you have an existing DB) {#create-aws-rds-postgres-db} Log into the [AWS console](https://console.aws.amazon.com//). @@ -85,10 +85,10 @@ If you're using a database user other than the default one, make sure to give it ::: -## Step 3: Allow connections to your DB from Hasura Cloud +## Step 4: Allow connections to your DB from Hasura Cloud On the database dashboard, click on `Connectivity & security`. On the right, click on the security group that you -selected or added in [step 2](/databases/connect-db/cloud-databases/aws-postgres.mdx#create-aws-rds-postgres-db). +selected or added in [step 3](/databases/connect-db/cloud-databases/aws-postgres.mdx#create-aws-rds-postgres-db). diff --git a/docs/docs/databases/connect-db/cloud-databases/azure.mdx b/docs/docs/databases/connect-db/cloud-databases/azure.mdx index 469d27f3186..a14c89b357f 100644 --- a/docs/docs/databases/connect-db/cloud-databases/azure.mdx +++ b/docs/docs/databases/connect-db/cloud-databases/azure.mdx @@ -8,7 +8,7 @@ keywords: - guide - azure sidebar_label: Azure Postgres -sidebar_position: 4 +sidebar_position: 5 --- import Thumbnail from '@site/src/components/Thumbnail'; @@ -22,12 +22,12 @@ import HeadingIcon from '@site/src/components/HeadingIcon'; This guide explains how to connect a new or existing Azure Postgres database to a Hasura Cloud project. -## Step 0: Sign up or log in to Hasura Cloud +## Step 1: Sign up or log in to Hasura Cloud Navigate to [Hasura Cloud](https://cloud.hasura.io/signup/?pg=docs&plcmt=body&cta=navigate-to-hasura-cloud&tech=default) and sign up or log in. -## Step 1: Create a Hasura Cloud project {#create-hasura-project-azure} +## Step 2: Create a Hasura Cloud project {#create-hasura-project-azure} On the Hasura Cloud dashboard, create a new project: @@ -41,7 +41,7 @@ You will get prompted for a Postgres Database URL. We will create this in the ne -## Step 2: Create a Postgres DB on Azure (skip if you have an existing DB) +## Step 3: Create a Postgres DB on Azure (skip if you have an existing DB) Log into the [Azure portal](https://portal.azure.com). @@ -78,7 +78,7 @@ console. Hasura v2.x works fine with JIT enabled. ::: -## Step 3: Allow connections to your DB from Hasura Cloud +## Step 4: Allow connections to your DB from Hasura Cloud On the database dashboard, click on `Connection security` under `Settings` on the left navigation bar. @@ -94,7 +94,7 @@ Add the Hasura IP address that you copied: Then click `Save` on the top left. -## Step 4: Construct the database connection URL {#get-db-url-azure} +## Step 5: Construct the database connection URL {#get-db-url-azure} The structure of the database connection URL looks as follows: @@ -117,9 +117,9 @@ On the database dashboard, click on `Overview`: - `postgres-port`: The default port for Postgres is `5432`. - `db`: The DB is `postgres` by default unless otherwise specified. -## Step 5: Finish connecting the database +## Step 6: Finish connecting the database -Back on Hasura Console, enter the database URL that we retrieved in [step 4](#get-db-url-azure): +Back on Hasura Console, enter the database URL that we retrieved in [step 5](#get-db-url-azure): diff --git a/docs/docs/databases/connect-db/cloud-databases/crunchy.mdx b/docs/docs/databases/connect-db/cloud-databases/crunchy.mdx new file mode 100644 index 00000000000..2d7cade11b8 --- /dev/null +++ b/docs/docs/databases/connect-db/cloud-databases/crunchy.mdx @@ -0,0 +1,137 @@ +--- +description: Using Hasura with a Crunchy Postgres database +title: 'Cloud: Using Hasura Cloud with a Crunchy Postgres database' +keywords: + - hasura + - docs + - existing database + - guide + - crunchy +sidebar_label: Crunchy Postgres +sidebar_position: 6 +--- + +import Thumbnail from '@site/src/components/Thumbnail'; +import HeadingIcon from '@site/src/components/HeadingIcon'; + +# Using Hasura Cloud with a Crunchy Postgres database + +
Available on: Cloud
+ +## Introduction + +This guide explains how to connect a new or existing Crunchy Postgres database to a Hasura Cloud project. + +## Step 1: Sign up or log in to Hasura Cloud + +Navigate to [Hasura Cloud](https://cloud.hasura.io/signup/?pg=docs&plcmt=body&cta=navigate-to-hasura-cloud&tech=default) +and sign up or log in. + +## Step 2: Create a Hasura Cloud project {#create-hasura-project} + +On the Hasura Cloud dashboard, create a new project: + + + +After the project is initialized successfully, click on `Launch Console` to open the Hasura Console in your browser. + +On the Hasura Console, navigate to `Data -> Manage -> Connect Database -> Connect existing database`: + +You will get prompted for a Postgres Database URL. We will create this in the next step and then come back here. + + + +## Step 3: Create a Postgres DB on Crunchy ([skip if you have an existing DB](#get-db-url)) + +Log into [Crunchy](https://crunchybridge.com/dashboard). + +From your dashboard, click `Create Cluster`: + + + +Fill in the necessary information and click `Create Cluster`: + + + +:::info Note + +After creating the cluster, you'll be redirected to its dashboard. Keep an eye on the `Status` row of the Cluster +Overview card. While you can access your connection string immediately, the cluster must first be provisioned in order +for Hasura to be able to connect. + +::: + +Congratulations! You've now created a Postgres instance on Crunchy which you can use with Hasura GraphQL Engine. Follow +the steps below to connect it to Hasura. + +## Step 4: Get the database connection URL {#get-db-url} + +The structure of the database connection URL looks as follows: + +```bash +postgres://:@:/ +``` + +Click on the Hasura card to see your connection string: + + + +At the bottom of the instructions, we'll select `Superuser` (which will be `postgres`) for our role: + + + +Copy the connection string: + + + +## Step 5: Finish connecting the database + +Back on the Hasura Console, enter the database URL that we retrieved in the previous step: + + + +Then click `Connect Database`. + +:::info Note + +For security reasons, it is recommended to set database URLs as +[env vars](/projects/env-vars.mdx#manage-project-env-vars) and using the env vars to connect to the databases in place +of the raw database URLs. + +::: + +Voilà. You are ready to start developing. + + + +## Next steps + +You can check out our [30-Minute Hasura Basics Course](https://hasura.io/learn/graphql/hasura/introduction/) and other +[GraphQL & Hasura Courses](https://hasura.io/learn/) for a more detailed introduction to Hasura. + +You can also click the gear icon to manage your Hasura Cloud project. (e.g. add +[collaborators](/projects/collaborators.mdx#manage-project-collaborators), +[env vars](/projects/env-vars.mdx#manage-project-env-vars) or +[custom domains](/projects/domains.mdx#manage-project-domains)). + + diff --git a/docs/docs/databases/connect-db/cloud-databases/digital-ocean.mdx b/docs/docs/databases/connect-db/cloud-databases/digital-ocean.mdx index dd9f5ff055f..42c11c7fa72 100644 --- a/docs/docs/databases/connect-db/cloud-databases/digital-ocean.mdx +++ b/docs/docs/databases/connect-db/cloud-databases/digital-ocean.mdx @@ -8,7 +8,7 @@ keywords: - guide - digital ocean sidebar_label: Digital Ocean Postgres -sidebar_position: 5 +sidebar_position: 7 --- import Thumbnail from '@site/src/components/Thumbnail'; @@ -22,12 +22,12 @@ import HeadingIcon from '@site/src/components/HeadingIcon'; This guide explains how to connect a new or existing Digital Ocean Postgres database to a Hasura Cloud project. -## Step 0: Sign up or log in to Hasura Cloud +## Step 1: Sign up or log in to Hasura Cloud Navigate to [Hasura Cloud](https://cloud.hasura.io/signup/?pg=docs&plcmt=body&cta=navigate-to-hasura-cloud&tech=default) and sign up or log in. -## Step 1: Create a Hasura Cloud project {#create-hasura-project-do} +## Step 2: Create a Hasura Cloud project {#create-hasura-project-do} On the Hasura Cloud dashboard, create a new project: @@ -41,7 +41,7 @@ You will get prompted for a Postgres Database URL. We will create this in the ne -## Step 2: Create a Postgres DB on Digital Ocean (skip if you have an existing DB) +## Step 3: Create a Postgres DB on Digital Ocean (skip if you have an existing DB) Log into [Digital Ocean](https://cloud.digitalocean.com/). @@ -58,7 +58,7 @@ associated with. Then click `Create a Database Cluster`. -## Step 3: Allow connections to your DB from Hasura Cloud +## Step 4: Allow connections to your DB from Hasura Cloud Navigate to the database cluster's `Overview` page: @@ -85,7 +85,7 @@ If you're using a database user other than the default one, make sure to give it ::: -## Step 4: Get the database connection URL {#get-db-url-do} +## Step 5: Get the database connection URL {#get-db-url-do} The structure of the database connection URL looks as follows: @@ -107,9 +107,9 @@ Scroll down to `Connection details`. Select `Public network` on the left and `Co Then click the `Copy` button for the next step. -## Step 5: Finish connecting the database +## Step 6: Finish connecting the database -Back on Hasura Console, enter the database URL that we retrieved in [step 4](#get-db-url-do): +Back on Hasura Console, enter the database URL that we retrieved in [step 5](#get-db-url-do): diff --git a/docs/docs/databases/connect-db/cloud-databases/elephant.mdx b/docs/docs/databases/connect-db/cloud-databases/elephant.mdx new file mode 100644 index 00000000000..cf80f7ac947 --- /dev/null +++ b/docs/docs/databases/connect-db/cloud-databases/elephant.mdx @@ -0,0 +1,139 @@ +--- +description: Using Hasura with an ElephantSQL database +title: 'Cloud: Using Hasura Cloud with an ElephantSQL database' +keywords: + - hasura + - docs + - existing database + - guide + - elephant + - elephantsql +sidebar_label: ElephantSQL Postgres +sidebar_position: 8 +--- + +import Thumbnail from '@site/src/components/Thumbnail'; +import HeadingIcon from '@site/src/components/HeadingIcon'; + +# Using Hasura Cloud with an ElephantSQL Postgres database + +
Available on: Cloud
+ +## Introduction + +This guide explains how to connect a new or existing ElephantSQL Postgres database to a Hasura Cloud project. + +## Step 1: Sign up or log in to Hasura Cloud + +Navigate to [Hasura Cloud](https://cloud.hasura.io/signup/?pg=docs&plcmt=body&cta=navigate-to-hasura-cloud&tech=default) +and sign up or log in. + +## Step 2: Create a Hasura Cloud project {#create-hasura-project-do} + +On the Hasura Cloud dashboard, create a new project: + + + +After the project is initialized successfully, click on `Launch Console` to open the Hasura Console in your browser. + +On the Hasura Console, navigate to `Data -> Manage -> Connect Database -> Connect existing database`: + +You will get prompted for a Postgres Database URL. We will create this in the next step and then come back here. + + + +## Step 3: Create a Postgres DB on ElephantSQL ([skip if you have an existing DB](#get-db-url)) + +Log into [ElephantSQL](https://customer.elephantsql.com/login). + +If this is your first time logging into ElephantSQL, you'll need to create a team. Complete the form and click +`Create team`. + + + +From here, you'll need to create a new instance: + + + +Choose a name, plan, and - if necessary - tags for this instance. Click `Select Region` when complete: + + + +Choose a region and click `Review`: + + + +Confirm your selections and click `Create instance`: + + + +Congratulations! You've now created an ElephantSQL Postgres instance you can use with Hasura GraphQL Engine. Follow the +steps below to connect it to Hasura. + +## Step 4: Get the database connection URL {#get-db-url} + +From your dashboard, click on the name of your instance: + + + +The structure of the database connection URL looks as follows: + +```bash +postgres://:@ +``` + +From the `Details` view, copy the URL string to your clipboard: + + + +## Step 5: Finish connecting the database + +Back on Hasura Console, enter the database URL that we retrieved in the previous step: + + + +Then click `Connect Database`. + +:::info Note + +For security reasons, it is recommended to set database URLs as +[env vars](/projects/env-vars.mdx#manage-project-env-vars) and using the env vars to connect to the databases in place +of the raw database URLs. + +::: + +Voilà. You are ready to start developing. + + + +## Next steps + +You can check out our [30-Minute Hasura Basics Course](https://hasura.io/learn/graphql/hasura/introduction/) and other +[GraphQL & Hasura Courses](https://hasura.io/learn/) for a more detailed introduction to Hasura. + +You can also click the gear icon to manage your Hasura Cloud project. (e.g. add +[collaborators](/projects/collaborators.mdx#manage-project-collaborators), +[env vars](/projects/env-vars.mdx#manage-project-env-vars) or +[custom domains](/projects/domains.mdx#manage-project-domains)). + + diff --git a/docs/docs/databases/connect-db/cloud-databases/gcp.mdx b/docs/docs/databases/connect-db/cloud-databases/gcp.mdx index ccc2ea0f84f..b4a57fcf3db 100644 --- a/docs/docs/databases/connect-db/cloud-databases/gcp.mdx +++ b/docs/docs/databases/connect-db/cloud-databases/gcp.mdx @@ -8,7 +8,7 @@ keywords: - existing database - guide - gcp -sidebar_position: 6 +sidebar_position: 9 --- import Thumbnail from '@site/src/components/Thumbnail'; @@ -22,12 +22,12 @@ import HeadingIcon from '@site/src/components/HeadingIcon'; This guide explains how to connect a new or existing GCP Postgres database to a Hasura Cloud project. -## Step 0: Sign up or log in to Hasura Cloud +## Step 1: Sign up or log in to Hasura Cloud Navigate to [Hasura Cloud](https://cloud.hasura.io/signup/?pg=docs&plcmt=body&cta=navigate-to-hasura-cloud&tech=default) and sign up or log in. -## Step 1: Create a Hasura Cloud project {#create-hasura-project-gcp} +## Step 2: Create a Hasura Cloud project {#create-hasura-project-gcp} On the Hasura Cloud dashboard, create a new project: @@ -41,7 +41,7 @@ You will get prompted for a Postgres Database URL. We will create this in the ne -## Step 2: Create a Postgres DB on GCP (skip if you have an existing DB) {#create-pg-db-gcp} +## Step 3: Create a Postgres DB on GCP (skip if you have an existing DB) {#create-pg-db-gcp} Log into the [GCP console](https://console.cloud.google.com/). @@ -63,7 +63,7 @@ Select an instance ID, as well as a default user password. If required, choose a Then click `Create`. -## Step 3: Allow connections to your DB from Hasura Cloud +## Step 4: Allow connections to your DB from Hasura Cloud On the dashboard of your GCP database instance, on the left sidebar, click on `Connections`. Then scroll down to the checkbox `Public IP`, and click `+ Add network`: @@ -89,7 +89,7 @@ If you're using a database user other than the default one, make sure to give it ::: -## Step 4: Construct the database connection URL {#construct-db-url-gcp} +## Step 5: Construct the database connection URL {#construct-db-url-gcp} The structure of the database connection URL looks as follows: @@ -109,9 +109,9 @@ postgresql://:@:/ - `postgres-port`: The default port for Postgres is `5432` if not specified otherwise. - `db`: The DB is `postgres` by default unless otherwise specified. -## Step 5: Finish connecting the database +## Step 6: Finish connecting the database -Back on Hasura Console, enter the database URL that we retrieved in [step 4](#construct-db-url-gcp): +Back on Hasura Console, enter the database URL that we retrieved in [step 5](#construct-db-url-gcp): @@ -128,9 +128,9 @@ Voilà. You are ready to start developing. -## Step 6 (optional): Enable SSL connection +## Step 7 (optional): Enable SSL connection -### Step 6.1 Get GCP SSL Certs +### Step 7.1 Get GCP SSL Certs Google Cloud (GCP) SQL makes the following SSL/TLS certificates available for download: @@ -146,7 +146,7 @@ for detailed information about the different certs. Download these certs to your local drive. -### Step 6.2: Add env vars +### Step 7.2: Add env vars Log in to [Hasura Cloud](https://cloud.hasura.io/), go to your project and add the following env vars: @@ -162,7 +162,7 @@ Here is how your Hasura Cloud env vars setup should look like: -### Step 6.3: Configure SSL settings +### Step 7.3: Configure SSL settings Open the console of your Hasura Cloud project, go to the `Data -> Manage -> [db-name] -> Edit` page. diff --git a/docs/docs/databases/connect-db/cloud-databases/index.mdx b/docs/docs/databases/connect-db/cloud-databases/index.mdx index 234b7a31d7a..08b6c45e617 100644 --- a/docs/docs/databases/connect-db/cloud-databases/index.mdx +++ b/docs/docs/databases/connect-db/cloud-databases/index.mdx @@ -10,6 +10,21 @@ slug: index --- import HeadingIcon from '@site/src/components/HeadingIcon'; +import useBaseUrl from '@docusaurus/useBaseUrl'; +import VersionedLink from '@site/src/components/VersionedLink'; +import ArrowRight from '@site/static/icons/arrow_right.svg'; +import Aiven from '@site/static/img/cloud-dbs/logos/aiven.png'; +import Aurora from '@site/static/img/cloud-dbs/logos/aws-aurora.png'; +import RDS from '@site/static/img/cloud-dbs/logos/aws.png'; +import Azure from '@site/static/img/cloud-dbs/logos/azure.png'; +import RollTide from '@site/static/img/cloud-dbs/logos/crunchy.png'; +import DO from '@site/static/img/cloud-dbs/logos/DO.png'; +import Elephant from '@site/static/img/cloud-dbs/logos/elephant.png'; +import GCP from '@site/static/img/cloud-dbs/logos/gcp.png'; +import Railway from '@site/static/img/cloud-dbs/logos/railway.png'; +import Render from '@site/static/img/cloud-dbs/logos/render.png'; +import Timescale from '@site/static/img/cloud-dbs/logos/timescaledb.png'; +import Yugabyte from '@site/static/img/cloud-dbs/logos/yugabyte.png'; # Guides for connecting Hasura Cloud with different cloud databases @@ -20,11 +35,65 @@ import HeadingIcon from '@site/src/components/HeadingIcon'; Check out the following guides for tutorials on how to use Hasura Cloud with a new or existing database provided by specific cloud vendors. -- [Aiven Postgres](/databases/connect-db/cloud-databases/aiven.mdx) -- [AWS RDS Aurora Postgres](/databases/connect-db/cloud-databases/aws-aurora.mdx) -- [AWS RDS Postgres](/databases/connect-db/cloud-databases/aws-postgres.mdx) -- [Azure Postgres](/databases/connect-db/cloud-databases/azure.mdx) -- [Digital Ocean Postgres](/databases/connect-db/cloud-databases/digital-ocean.mdx) -- [GCP Postgres](/databases/connect-db/cloud-databases/gcp.mdx) -- [TimescaleDB Cloud](/databases/connect-db/cloud-databases/timescale-cloud.mdx) -- [YugabyteDB](/databases/connect-db/cloud-databases/yugabyte.mdx) +
+ +
+ Connect Postgres DB to Hasura +
+
+ +
+ Connect AWS Aurora Postgres to Hasura +
+
+ +
+ Connect AWS RDS Postgres to Hasura +
+
+ +
+ Connect Azure Postgres to Hasura +
+
+ +
+ Connect Crunchy Postgres to Hasura +
+
+ +
+ Connect DO Postgres to Hasura +
+
+ +
+ Connect ElephantSQL Postgres to Hasura +
+
+ +
+ Connect GCP Postgres to Hasura +
+
+ +
+ Connect Railway Postgres to Hasura +
+
+ +
+ Connect Render Postgres to Hasura +
+
+ +
+ Connect TimescaleDB Postgres to Hasura +
+
+ +
+ Connect YugabyteDB Postgres to Hasura +
+
+
diff --git a/docs/docs/databases/connect-db/cloud-databases/railway.mdx b/docs/docs/databases/connect-db/cloud-databases/railway.mdx new file mode 100644 index 00000000000..5a900351fd1 --- /dev/null +++ b/docs/docs/databases/connect-db/cloud-databases/railway.mdx @@ -0,0 +1,118 @@ +--- +description: Using Hasura with a Railway Postgres database +title: 'Cloud: Using Hasura Cloud with a Railway Postgres database' +keywords: + - hasura + - docs + - existing database + - guide + - railway +sidebar_label: Railway Postgres +sidebar_position: 10 +--- + +import Thumbnail from '@site/src/components/Thumbnail'; +import HeadingIcon from '@site/src/components/HeadingIcon'; + +# Using Hasura Cloud with a Railway Postgres database + +
Available on: Cloud
+ +## Introduction + +This guide explains how to connect a new or existing Railway Postgres database to a Hasura Cloud project. + +## Step 1: Sign up or log in to Hasura Cloud + +Navigate to [Hasura Cloud](https://cloud.hasura.io/signup/?pg=docs&plcmt=body&cta=navigate-to-hasura-cloud&tech=default) +and sign up or log in. + +## Step 2: Create a Hasura Cloud project {#create-hasura-project} + +On the Hasura Cloud dashboard, create a new project: + + + +After the project is initialized successfully, click on `Launch Console` to open the Hasura Console in your browser. + +On the Hasura Console, navigate to `Data -> Manage -> Connect Database -> Connect existing database`: + +You will get prompted for a Postgres Database URL. We will create this in the next step and then come back here. + + + +## Step 3: Create a Postgres DB on Railway ([skip if you have an existing DB](#get-db-url)) + +Log into [Railway](https://railway.app/dashboard). + +From your dashboard, click `New Project`: + + + +Select `Provision PostgreSQL`: + + + +Railway will redirect you to the project's dashboard. After a few seconds, you should see the `Activity` card update +with information about your new instance. Congratulations! You've now created a Postgres instance on Railway which you +can use with Hasura GraphQL Engine. Follow the steps below to connect it to Hasura. + +## Step 4: Get the database connection URL {#get-db-url} + +The structure of the database connection URL looks as follows: + +```bash +postgresql://:@:/ +``` + +Click on the `PostgreSQL` card to see details related to this instance. + + + +Choose the `Connect` tab and copy the `Postgres Connection URL`: + + + +## Step 5: Finish connecting the database + +Back on the Hasura Console, enter the database URL that we retrieved in the previous step: + + + +Then click `Connect Database`. + +:::info Note + +For security reasons, it is recommended to set database URLs as +[env vars](/projects/env-vars.mdx#manage-project-env-vars) and using the env vars to connect to the databases in place +of the raw database URLs. + +::: + +Voilà. You are ready to start developing. + + + +## Next steps + +You can check out our [30-Minute Hasura Basics Course](https://hasura.io/learn/graphql/hasura/introduction/) and other +[GraphQL & Hasura Courses](https://hasura.io/learn/) for a more detailed introduction to Hasura. + +You can also click the gear icon to manage your Hasura Cloud project. (e.g. add +[collaborators](/projects/collaborators.mdx#manage-project-collaborators), +[env vars](/projects/env-vars.mdx#manage-project-env-vars) or +[custom domains](/projects/domains.mdx#manage-project-domains)). + + diff --git a/docs/docs/databases/connect-db/cloud-databases/render.mdx b/docs/docs/databases/connect-db/cloud-databases/render.mdx new file mode 100644 index 00000000000..aedf960ab50 --- /dev/null +++ b/docs/docs/databases/connect-db/cloud-databases/render.mdx @@ -0,0 +1,110 @@ +--- +description: Using Hasura with Render Postgres database +title: 'Cloud: Using Hasura Cloud with a Render Postgres database' +keywords: + - hasura + - docs + - existing database + - guide + - render +sidebar_label: Render Postgres +sidebar_position: 11 +--- + +import Thumbnail from '@site/src/components/Thumbnail'; +import HeadingIcon from '@site/src/components/HeadingIcon'; + +# Using Hasura Cloud with a Render Postgres database + +
Available on: Cloud
+ +## Introduction + +This guide explains how to connect a new or existing Render Postgres database to a Hasura Cloud project. + +## Step 1: Sign up or log in to Hasura Cloud + +Navigate to [Hasura Cloud](https://cloud.hasura.io/signup/?pg=docs&plcmt=body&cta=navigate-to-hasura-cloud&tech=default) +and sign up or log in. + +## Step 2: Create a Hasura Cloud project {#create-hasura-project} + +On the Hasura Cloud dashboard, create a new project: + + + +After the project is initialized successfully, click on `Launch Console` to open the Hasura Console in your browser. + +On the Hasura Console, navigate to `Data -> Manage -> Connect Database -> Connect existing database`: + +You will get prompted for a Postgres Database URL. We will create this in the next step and then come back here. + + + +## Step 3: Create a Postgres DB on Render ([skip if you have an existing DB](#get-db-url)) + +Log into [Render](https://dashboard.render.com/). + +From your dashboard, click `New PostrgeSQL`: + + + +Choose a name for your new database and fill in the required info. When ready, click `Create Database`: + + + +Render will redirect you to the database's dashboard. After a few minutes, you should see the status update to +`Available`. Congratulations! You've now created a Postgres instance on Render which you can use with Hasura GraphQL +Engine. Follow the steps below to connect it to Hasura. + +## Step 4: Get the database connection URL {#get-db-url} + +The structure of the database connection URL looks as follows: + +```bash +postgres://:@/ +``` + +From your database's dashboard, find the `Connections` card and copy the `External Database URL`: + + + +## Step 5: Finish connecting the database + +Back on the Hasura Console, enter the database URL that we retrieved in the previous step: + + + +Then click `Connect Database`. + +:::info Note + +For security reasons, it is recommended to set database URLs as +[env vars](/projects/env-vars.mdx#manage-project-env-vars) and using the env vars to connect to the databases in place +of the raw database URLs. + +::: + +Voilà. You are ready to start developing. + + + +## Next steps + +You can check out our [30-Minute Hasura Basics Course](https://hasura.io/learn/graphql/hasura/introduction/) and other +[GraphQL & Hasura Courses](https://hasura.io/learn/) for a more detailed introduction to Hasura. + +You can also click the gear icon to manage your Hasura Cloud project. (e.g. add +[collaborators](/projects/collaborators.mdx#manage-project-collaborators), +[env vars](/projects/env-vars.mdx#manage-project-env-vars) or +[custom domains](/projects/domains.mdx#manage-project-domains)). + + diff --git a/docs/docs/databases/connect-db/cloud-databases/timescale-cloud.mdx b/docs/docs/databases/connect-db/cloud-databases/timescale-cloud.mdx index 99415bd3105..43c163ea65c 100644 --- a/docs/docs/databases/connect-db/cloud-databases/timescale-cloud.mdx +++ b/docs/docs/databases/connect-db/cloud-databases/timescale-cloud.mdx @@ -8,7 +8,7 @@ keywords: - existing database - guide - timescale -sidebar_position: 7 +sidebar_position: 12 --- import Thumbnail from '@site/src/components/Thumbnail'; @@ -22,12 +22,12 @@ import HeadingIcon from '@site/src/components/HeadingIcon'; This guide explains how to connect a new or existing Timescale Postgres database to a Hasura Cloud project. -## Step 0: Sign up or log in to Hasura Cloud +## Step 1: Sign up or log in to Hasura Cloud Navigate to [Hasura Cloud](https://cloud.hasura.io/signup/?pg=docs&plcmt=body&cta=navigate-to-hasura-cloud&tech=default) and sign up or log in. -## Step 1: Create a Hasura Cloud project {#create-hasura-project-timescale} +## Step 2: Create a Hasura Cloud project {#create-hasura-project-timescale} On the Hasura Cloud dashboard, create a new project: @@ -41,7 +41,7 @@ On the Hasura console, navigate to `Data -> Manage -> Connect Database -> Connec -## Step 2: Create a Postgres DB on Timescale (skip if you have an existing DB) {#create-pg-db-timescale} +## Step 3: Create a Postgres DB on Timescale (skip if you have an existing DB) {#create-pg-db-timescale} Log into the [Timescale Cloud portal](https://portal.timescale.cloud/login). @@ -72,7 +72,7 @@ If you're using a database user other than the default one, make sure to give it ::: -## Step 3: Allow connections to your DB from Hasura Cloud +## Step 4: Allow connections to your DB from Hasura Cloud On the `Services` dashboard, click on your DB: @@ -94,7 +94,7 @@ Add the Hasura IP address that you copied, click on the `+` and then click on `S -## Step 4: Get the database connection URL {#get-db-url-timescale} +## Step 5: Get the database connection URL {#get-db-url-timescale} The structure of the database connection URL looks as follows: @@ -106,9 +106,9 @@ To get it, navigate to the `Overview` tab of your database dashboard and copy th -## Step 5: Finish connecting the database +## Step 6: Finish connecting the database -Back on Hasura Console, enter the database URL that we retrieved in [step 4](#get-db-url-timescale): +Back on Hasura Console, enter the database URL that we retrieved in [step 5](#get-db-url-timescale): diff --git a/docs/docs/databases/connect-db/cloud-databases/yugabyte.mdx b/docs/docs/databases/connect-db/cloud-databases/yugabyte.mdx index 6ac5ae14e13..d20195d5cf9 100644 --- a/docs/docs/databases/connect-db/cloud-databases/yugabyte.mdx +++ b/docs/docs/databases/connect-db/cloud-databases/yugabyte.mdx @@ -8,7 +8,7 @@ keywords: - existing database - guide - yugabyte -sidebar_position: 8 +sidebar_position: 13 --- import Thumbnail from '@site/src/components/Thumbnail'; @@ -22,12 +22,12 @@ import HeadingIcon from '@site/src/components/HeadingIcon'; This guide explains how to connect a new or existing Yugabyte Postgres database to a Hasura Cloud project. -## Step 0: Sign up or log in to Hasura Cloud +## Step 1: Sign up or log in to Hasura Cloud Navigate to [Hasura Cloud](https://cloud.hasura.io/signup/?pg=docs&plcmt=body&cta=navigate-to-hasura-cloud&tech=default) and sign up or log in. -## Step 1: Create a Hasura Cloud project {#create-hasura-project-yugabyte} +## Step 2: Create a Hasura Cloud project {#create-hasura-project-yugabyte} On the Hasura Cloud dashboard, create a new project: @@ -41,7 +41,7 @@ On the Hasura console, navigate to `Data -> Manage -> Connect Database -> Connec -## Step 2: Create a Postgres DB on Yugabyte (skip if you have an existing DB) {#create-pg-db-yugabyte} +## Step 3: Create a Postgres DB on Yugabyte (skip if you have an existing DB) {#create-pg-db-yugabyte} Log into the [Yugabyte Cloud dashboard](https://cloud.yugabyte.com/login). @@ -72,7 +72,7 @@ Download your credentials and then click `Create Cluster`. width='1000px' /> -## Step 3: Allow connections to your DB from Hasura Cloud +## Step 4: Allow connections to your DB from Hasura Cloud From the cluster's dashboard, click `Add IP Allow List`: @@ -100,7 +100,7 @@ Enter the Hasura IP address that you copied: Then click `Save`. -## Step 4: Construct the database connection URL {#construct-db-url-yugabyte} +## Step 5: Construct the database connection URL {#construct-db-url-yugabyte} The structure of the database connection URL looks as follows: @@ -124,10 +124,10 @@ Click the `Optimize for Hasura Cloud` checkbox and then copy your connection str width='1000px' /> -## Step 5: Finish connecting the database +## Step 6: Finish connecting the database Back on the Hasura Console, enter the database URL that we just copied and replace the `` and `` -with the information from your credentials downloaded in [step 2](#create-pg-db-yugabyte): +with the information from your credentials downloaded in [step 3](#create-pg-db-yugabyte): diff --git a/docs/src/css/custom.scss b/docs/src/css/custom.scss index 286197bace2..62cc0a9785a 100644 --- a/docs/src/css/custom.scss +++ b/docs/src/css/custom.scss @@ -915,3 +915,27 @@ div[class*='codeBlockTitle_'] { tbody { word-break: break-word; } + +// Gallery for cloud db guides' vendor logos +.vendor-table { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + grid-gap: 20px; + + .card { + display: grid; + place-items: center center; + height: 200px; + background: #fff; + + img { + width: 150px; + height: auto; + } + + &:hover { + box-shadow: var(--ifm-global-shadow-md); + cursor: pointer; + } + } +} diff --git a/docs/static/img/cloud-dbs/crunchy/crunchy-cluster-dashboard.png b/docs/static/img/cloud-dbs/crunchy/crunchy-cluster-dashboard.png new file mode 100644 index 00000000000..bac79692832 Binary files /dev/null and b/docs/static/img/cloud-dbs/crunchy/crunchy-cluster-dashboard.png differ diff --git a/docs/static/img/cloud-dbs/crunchy/crunchy-connection-string-full.png b/docs/static/img/cloud-dbs/crunchy/crunchy-connection-string-full.png new file mode 100644 index 00000000000..8537d43745a Binary files /dev/null and b/docs/static/img/cloud-dbs/crunchy/crunchy-connection-string-full.png differ diff --git a/docs/static/img/cloud-dbs/crunchy/crunchy-connection-string-user.png b/docs/static/img/cloud-dbs/crunchy/crunchy-connection-string-user.png new file mode 100644 index 00000000000..8dd9b74d0fb Binary files /dev/null and b/docs/static/img/cloud-dbs/crunchy/crunchy-connection-string-user.png differ diff --git a/docs/static/img/cloud-dbs/crunchy/crunchy-create-cluster.png b/docs/static/img/cloud-dbs/crunchy/crunchy-create-cluster.png new file mode 100644 index 00000000000..cc4fc7f702b Binary files /dev/null and b/docs/static/img/cloud-dbs/crunchy/crunchy-create-cluster.png differ diff --git a/docs/static/img/cloud-dbs/crunchy/crunchy-dashboard.png b/docs/static/img/cloud-dbs/crunchy/crunchy-dashboard.png new file mode 100644 index 00000000000..94fb6d07630 Binary files /dev/null and b/docs/static/img/cloud-dbs/crunchy/crunchy-dashboard.png differ diff --git a/docs/static/img/cloud-dbs/elephant/elephant-choose-instance.png b/docs/static/img/cloud-dbs/elephant/elephant-choose-instance.png new file mode 100644 index 00000000000..9749ba22d3b Binary files /dev/null and b/docs/static/img/cloud-dbs/elephant/elephant-choose-instance.png differ diff --git a/docs/static/img/cloud-dbs/elephant/elephant-confirm-instance.png b/docs/static/img/cloud-dbs/elephant/elephant-confirm-instance.png new file mode 100644 index 00000000000..b79641bfef1 Binary files /dev/null and b/docs/static/img/cloud-dbs/elephant/elephant-confirm-instance.png differ diff --git a/docs/static/img/cloud-dbs/elephant/elephant-connect-db.png b/docs/static/img/cloud-dbs/elephant/elephant-connect-db.png new file mode 100644 index 00000000000..53dddfe2f71 Binary files /dev/null and b/docs/static/img/cloud-dbs/elephant/elephant-connect-db.png differ diff --git a/docs/static/img/cloud-dbs/elephant/elephant-connection-string.png b/docs/static/img/cloud-dbs/elephant/elephant-connection-string.png new file mode 100644 index 00000000000..1348d16e0e9 Binary files /dev/null and b/docs/static/img/cloud-dbs/elephant/elephant-connection-string.png differ diff --git a/docs/static/img/cloud-dbs/elephant/elephant-create-instance.png b/docs/static/img/cloud-dbs/elephant/elephant-create-instance.png new file mode 100644 index 00000000000..4b18b2799ed Binary files /dev/null and b/docs/static/img/cloud-dbs/elephant/elephant-create-instance.png differ diff --git a/docs/static/img/cloud-dbs/elephant/elephant-create-team.png b/docs/static/img/cloud-dbs/elephant/elephant-create-team.png new file mode 100644 index 00000000000..12059039e2f Binary files /dev/null and b/docs/static/img/cloud-dbs/elephant/elephant-create-team.png differ diff --git a/docs/static/img/cloud-dbs/elephant/elephant-instance-details.png b/docs/static/img/cloud-dbs/elephant/elephant-instance-details.png new file mode 100644 index 00000000000..66da518123f Binary files /dev/null and b/docs/static/img/cloud-dbs/elephant/elephant-instance-details.png differ diff --git a/docs/static/img/cloud-dbs/elephant/elephant-select-region.png b/docs/static/img/cloud-dbs/elephant/elephant-select-region.png new file mode 100644 index 00000000000..4a6946be525 Binary files /dev/null and b/docs/static/img/cloud-dbs/elephant/elephant-select-region.png differ diff --git a/docs/static/img/cloud-dbs/logos/DO.png b/docs/static/img/cloud-dbs/logos/DO.png new file mode 100644 index 00000000000..a53b8a689d6 Binary files /dev/null and b/docs/static/img/cloud-dbs/logos/DO.png differ diff --git a/docs/static/img/cloud-dbs/logos/aiven.png b/docs/static/img/cloud-dbs/logos/aiven.png new file mode 100644 index 00000000000..473e25691bd Binary files /dev/null and b/docs/static/img/cloud-dbs/logos/aiven.png differ diff --git a/docs/static/img/cloud-dbs/logos/aws-aurora.png b/docs/static/img/cloud-dbs/logos/aws-aurora.png new file mode 100644 index 00000000000..fdf1f5ae8f7 Binary files /dev/null and b/docs/static/img/cloud-dbs/logos/aws-aurora.png differ diff --git a/docs/static/img/cloud-dbs/logos/aws.png b/docs/static/img/cloud-dbs/logos/aws.png new file mode 100644 index 00000000000..0a3e5650e17 Binary files /dev/null and b/docs/static/img/cloud-dbs/logos/aws.png differ diff --git a/docs/static/img/cloud-dbs/logos/azure.png b/docs/static/img/cloud-dbs/logos/azure.png new file mode 100644 index 00000000000..8a72c763900 Binary files /dev/null and b/docs/static/img/cloud-dbs/logos/azure.png differ diff --git a/docs/static/img/cloud-dbs/logos/crunchy.png b/docs/static/img/cloud-dbs/logos/crunchy.png new file mode 100644 index 00000000000..21e02a12bd1 Binary files /dev/null and b/docs/static/img/cloud-dbs/logos/crunchy.png differ diff --git a/docs/static/img/cloud-dbs/logos/elephant.png b/docs/static/img/cloud-dbs/logos/elephant.png new file mode 100644 index 00000000000..ffc4e4855f8 Binary files /dev/null and b/docs/static/img/cloud-dbs/logos/elephant.png differ diff --git a/docs/static/img/cloud-dbs/logos/gcp.png b/docs/static/img/cloud-dbs/logos/gcp.png new file mode 100644 index 00000000000..c5f51a505c2 Binary files /dev/null and b/docs/static/img/cloud-dbs/logos/gcp.png differ diff --git a/docs/static/img/cloud-dbs/logos/railway.png b/docs/static/img/cloud-dbs/logos/railway.png new file mode 100644 index 00000000000..0d628de890a Binary files /dev/null and b/docs/static/img/cloud-dbs/logos/railway.png differ diff --git a/docs/static/img/cloud-dbs/logos/render.png b/docs/static/img/cloud-dbs/logos/render.png new file mode 100644 index 00000000000..653d9ee11ba Binary files /dev/null and b/docs/static/img/cloud-dbs/logos/render.png differ diff --git a/docs/static/img/cloud-dbs/logos/timescaledb.png b/docs/static/img/cloud-dbs/logos/timescaledb.png new file mode 100644 index 00000000000..15c5f4b9422 Binary files /dev/null and b/docs/static/img/cloud-dbs/logos/timescaledb.png differ diff --git a/docs/static/img/cloud-dbs/logos/yugabyte.png b/docs/static/img/cloud-dbs/logos/yugabyte.png new file mode 100644 index 00000000000..b10a1453c6d Binary files /dev/null and b/docs/static/img/cloud-dbs/logos/yugabyte.png differ diff --git a/docs/static/img/cloud-dbs/railway/railway-choose-pg.png b/docs/static/img/cloud-dbs/railway/railway-choose-pg.png new file mode 100644 index 00000000000..ff202b1d71c Binary files /dev/null and b/docs/static/img/cloud-dbs/railway/railway-choose-pg.png differ diff --git a/docs/static/img/cloud-dbs/railway/railway-connect-db.png b/docs/static/img/cloud-dbs/railway/railway-connect-db.png new file mode 100644 index 00000000000..51ff1e2f646 Binary files /dev/null and b/docs/static/img/cloud-dbs/railway/railway-connect-db.png differ diff --git a/docs/static/img/cloud-dbs/railway/railway-connection-string.png b/docs/static/img/cloud-dbs/railway/railway-connection-string.png new file mode 100644 index 00000000000..71b7ecc01dd Binary files /dev/null and b/docs/static/img/cloud-dbs/railway/railway-connection-string.png differ diff --git a/docs/static/img/cloud-dbs/railway/railway-new-pg.png b/docs/static/img/cloud-dbs/railway/railway-new-pg.png new file mode 100644 index 00000000000..e80926fe210 Binary files /dev/null and b/docs/static/img/cloud-dbs/railway/railway-new-pg.png differ diff --git a/docs/static/img/cloud-dbs/railway/railway-new-project.png b/docs/static/img/cloud-dbs/railway/railway-new-project.png new file mode 100644 index 00000000000..d2a50872585 Binary files /dev/null and b/docs/static/img/cloud-dbs/railway/railway-new-project.png differ diff --git a/docs/static/img/cloud-dbs/render/render-connect-db.png b/docs/static/img/cloud-dbs/render/render-connect-db.png new file mode 100644 index 00000000000..31fc5e59f97 Binary files /dev/null and b/docs/static/img/cloud-dbs/render/render-connect-db.png differ diff --git a/docs/static/img/cloud-dbs/render/render-connection-string.png b/docs/static/img/cloud-dbs/render/render-connection-string.png new file mode 100644 index 00000000000..79bffd306e2 Binary files /dev/null and b/docs/static/img/cloud-dbs/render/render-connection-string.png differ diff --git a/docs/static/img/cloud-dbs/render/render-new-pg.png b/docs/static/img/cloud-dbs/render/render-new-pg.png new file mode 100644 index 00000000000..1705d7da773 Binary files /dev/null and b/docs/static/img/cloud-dbs/render/render-new-pg.png differ diff --git a/docs/static/img/cloud-dbs/render/render-pg-details.png b/docs/static/img/cloud-dbs/render/render-pg-details.png new file mode 100644 index 00000000000..a062215074a Binary files /dev/null and b/docs/static/img/cloud-dbs/render/render-pg-details.png differ