From c21acae6d4a5c0eed6e3e14594f25f0001e93e3c Mon Sep 17 00:00:00 2001 From: drothery-edb Date: Thu, 3 Nov 2022 08:00:08 -0400 Subject: [PATCH 01/24] BigAnimal: Terraform --- .../release/getting_started/index.mdx | 2 + .../getting_started/terraform_provider.mdx | 71 +++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 product_docs/docs/biganimal/release/getting_started/terraform_provider.mdx diff --git a/product_docs/docs/biganimal/release/getting_started/index.mdx b/product_docs/docs/biganimal/release/getting_started/index.mdx index 6758a8f97bd..d11e1a72dc7 100644 --- a/product_docs/docs/biganimal/release/getting_started/index.mdx +++ b/product_docs/docs/biganimal/release/getting_started/index.mdx @@ -13,6 +13,8 @@ navigation: As a cloud administrator, you can set up BigAnimal with your existing Azure subscription or AWS account, invite others to join you in exploring what EDB has to offer, and create initial clusters as an account owner so that development can begin. +Alternatively, you can use [BigAnimal's Terraform provider](terraform_provider) to incorporate BigAnimal into your existing cloud infrastructure workflows. *I'm not sure where in the process the Terraform provider comes in. Does mentioning it here make sense?* + If you purchase BigAnimal directly from EDB Sales, you need to [set up your own identity provider](/biganimal/release/getting_started/identity_provider). If you purchased from Azure Marketplace, you need to [set up your Azure account](/biganimal/release/getting_started/02_azure_market_setup). After setting up your organization through your identity provider or Azure Marketplace account, you connect your cloud account to BigAnimal. \ No newline at end of file diff --git a/product_docs/docs/biganimal/release/getting_started/terraform_provider.mdx b/product_docs/docs/biganimal/release/getting_started/terraform_provider.mdx new file mode 100644 index 00000000000..49213d9098e --- /dev/null +++ b/product_docs/docs/biganimal/release/getting_started/terraform_provider.mdx @@ -0,0 +1,71 @@ +--- +title: BigAnimal Terraform provider +--- + +With BigAnimal’s [Terraform provider](https://github.com/EnterpriseDB/terraform-provider-biganimal), you can more efficiently incorporate BigAnimal into your existing cloud infrastructure workflows. You provision cloud resources from the Terraform CLI, instead of through a provider’s portal. + +The current version of the provider provides modules for creating, reading, updating, and deleting clusters and regions. + + +!!!note + We provide support offered for the BigAnimal Terraform provider itself and not for the underlying environment. + +## Prerequisites +To use Terraform with BigAnimal, you need: + +- A BigAnimal account with an organization set up. If you don't already have a BigAnimal account, see [Getting started with the BigAnimal free trial](/biganimal/latest/) + +- [Terraform](https://www.terraform.io/downloads) downloaded and installed +- an API key for use within the Terraform application. See [Getting an API Token](getting-an-api-token) + + +*I'm thinking we don't need to mention Go here because it seems like it is only necessary if you are compiling the provider from the sources and if someone wants to do that the instructions and requirements are in the readme. I don't think that is necessary once the provider is registered.* + +## Configure the provider + +*How do you do this? and would the correct heading be Configure the provider or Authenticate the provider?* + +``` +terraform { + provider "biganimal" { + public_key= + private_key= + } + } +} +``` + +See [Provider Configuration](https://developer.hashicorp.com/terraform/language/providers/configuration). + + +## Getting an API Token + +In order to access the BigAnimal API, fetch an API bearer token and export it into your environment. + +This can be done by using the script located [here](https://github.com/EnterpriseDB/cloud-utilities/blob/main/api/get-token.sh) as follows + +```bash +sh ~/hackery/edb/cloud-utilities/api/get-token.sh +Please login to https://auth.biganimal.com/activate?user_code=JWPL-RCXL with your BigAnimal account +Have you finished the login successfully? (y/N) y +{ + "access_token": "", + "refresh_token": "", + "scope": "openid profile email offline_access", + "expires_in": 86400, + "token_type": "Bearer" +} +``` + +Once the token has been retrieved, set it in your environment as follows + +```bash +export BA_BEARER_TOKEN= +``` + + + +## More information +- Terraform provider doc? +- Examples in our repo? +- The readme file in our repo? \ No newline at end of file From 1f1e19abd44921915b84fddc762a993cab903dd5 Mon Sep 17 00:00:00 2001 From: drothery-edb Date: Thu, 3 Nov 2022 12:02:59 -0400 Subject: [PATCH 02/24] BigAnimal: subscription pricing fixed epas plan --- .../biganimal/release/pricing_and_billing/index.mdx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/product_docs/docs/biganimal/release/pricing_and_billing/index.mdx b/product_docs/docs/biganimal/release/pricing_and_billing/index.mdx index 839f3a003a2..d8542bd2eb5 100644 --- a/product_docs/docs/biganimal/release/pricing_and_billing/index.mdx +++ b/product_docs/docs/biganimal/release/pricing_and_billing/index.mdx @@ -4,16 +4,18 @@ title: "Pricing and billing " The costs include database pricing for BigAnimal and the associated costs from other providers. You can also view usage and metering information. -## Database pricing +## Database pricing Pricing is based on the number of virtual central processing units (vCPUs) provisioned for the database software offering. Consumption of vCPUs is metered hourly. A deployment is made up of either one instance or one primary and two standby replica instances of either PostgreSQL or EDB Postgres Advanced Server. When high availability is enabled, multiply the number of vCPUs per instance by three to calculate the full price for all resources used. The table shows the cost breakdown: -| Database type | Hourly price | Monthly price\* | -| ---------------------------- | -------------- | --------------- | -| PostgreSQL | $0.1655 / vCPU | $120.82 / vCPU | -| EDB Postgres Advanced Server | $0.2397 / vCPU | $174.98 / vCPU | +| Database type | Hourly price | Monthly price\* | Subscription plan | +| ---------------------------- | -------------- | --------------- | ----------------- | +| PostgreSQL | $0.0856 / vCPU | $62.49 / vCPU | Community 360 | +| PostgreSQL | $0.1655 / vCPU | $120.82 / vCPU | Standard | +| EDB Postgres Advanced Server | $0.2397 / vCPU | $174.98 / vCPU | Enterprise | \* The monthly cost is approximate and assumes 730 hours in a month. + ## Cloud infrastructure costs From 477b0e9bb6e77a0dd846a577540d26d6c3414c6a Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Thu, 3 Nov 2022 13:47:54 -0400 Subject: [PATCH 03/24] very minor edits --- .../release/getting_started/terraform_provider.mdx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/product_docs/docs/biganimal/release/getting_started/terraform_provider.mdx b/product_docs/docs/biganimal/release/getting_started/terraform_provider.mdx index 49213d9098e..98b09b2f398 100644 --- a/product_docs/docs/biganimal/release/getting_started/terraform_provider.mdx +++ b/product_docs/docs/biganimal/release/getting_started/terraform_provider.mdx @@ -8,15 +8,15 @@ The current version of the provider provides modules for creating, reading, upda !!!note - We provide support offered for the BigAnimal Terraform provider itself and not for the underlying environment. + We provide support for the BigAnimal Terraform provider itself and not for the underlying environment. ## Prerequisites To use Terraform with BigAnimal, you need: -- A BigAnimal account with an organization set up. If you don't already have a BigAnimal account, see [Getting started with the BigAnimal free trial](/biganimal/latest/) +- A BigAnimal account with an organization set up. If you don't already have a BigAnimal account, see [Getting started with the BigAnimal free trial](/biganimal/latest/). - [Terraform](https://www.terraform.io/downloads) downloaded and installed -- an API key for use within the Terraform application. See [Getting an API Token](getting-an-api-token) +- An API key for use within the Terraform application. See [Getting an API Token](getting-an-api-token). *I'm thinking we don't need to mention Go here because it seems like it is only necessary if you are compiling the provider from the sources and if someone wants to do that the instructions and requirements are in the readme. I don't think that is necessary once the provider is registered.* @@ -67,5 +67,6 @@ export BA_BEARER_TOKEN= ## More information - Terraform provider doc? +- Examples similar to Aivan and crunchybridge? - Examples in our repo? - The readme file in our repo? \ No newline at end of file From f9e7fb42d26aed75c684451450fa14901408eb09 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Mon, 7 Nov 2022 10:46:52 -0500 Subject: [PATCH 04/24] Incorporated Jason's comments --- .../release/getting_started/index.mdx | 2 +- .../getting_started/terraform_provider.mdx | 72 ------------------- .../using_cluster/terraform_provider.mdx | 67 +++++++++++++++++ 3 files changed, 68 insertions(+), 73 deletions(-) delete mode 100644 product_docs/docs/biganimal/release/getting_started/terraform_provider.mdx create mode 100644 product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx diff --git a/product_docs/docs/biganimal/release/getting_started/index.mdx b/product_docs/docs/biganimal/release/getting_started/index.mdx index d11e1a72dc7..2da63abb39a 100644 --- a/product_docs/docs/biganimal/release/getting_started/index.mdx +++ b/product_docs/docs/biganimal/release/getting_started/index.mdx @@ -13,7 +13,7 @@ navigation: As a cloud administrator, you can set up BigAnimal with your existing Azure subscription or AWS account, invite others to join you in exploring what EDB has to offer, and create initial clusters as an account owner so that development can begin. -Alternatively, you can use [BigAnimal's Terraform provider](terraform_provider) to incorporate BigAnimal into your existing cloud infrastructure workflows. *I'm not sure where in the process the Terraform provider comes in. Does mentioning it here make sense?* +Alternatively, you can use [BigAnimal's Terraform provider](../using_cluster/terraform_provider) to incorporate BigAnimal into your existing cloud infrastructure workflows. *I'm not sure where in the process the Terraform provider comes in. Does mentioning it here make sense?* If you purchase BigAnimal directly from EDB Sales, you need to [set up your own identity provider](/biganimal/release/getting_started/identity_provider). If you purchased from Azure Marketplace, you need to [set up your Azure account](/biganimal/release/getting_started/02_azure_market_setup). diff --git a/product_docs/docs/biganimal/release/getting_started/terraform_provider.mdx b/product_docs/docs/biganimal/release/getting_started/terraform_provider.mdx deleted file mode 100644 index 98b09b2f398..00000000000 --- a/product_docs/docs/biganimal/release/getting_started/terraform_provider.mdx +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: BigAnimal Terraform provider ---- - -With BigAnimal’s [Terraform provider](https://github.com/EnterpriseDB/terraform-provider-biganimal), you can more efficiently incorporate BigAnimal into your existing cloud infrastructure workflows. You provision cloud resources from the Terraform CLI, instead of through a provider’s portal. - -The current version of the provider provides modules for creating, reading, updating, and deleting clusters and regions. - - -!!!note - We provide support for the BigAnimal Terraform provider itself and not for the underlying environment. - -## Prerequisites -To use Terraform with BigAnimal, you need: - -- A BigAnimal account with an organization set up. If you don't already have a BigAnimal account, see [Getting started with the BigAnimal free trial](/biganimal/latest/). - -- [Terraform](https://www.terraform.io/downloads) downloaded and installed -- An API key for use within the Terraform application. See [Getting an API Token](getting-an-api-token). - - -*I'm thinking we don't need to mention Go here because it seems like it is only necessary if you are compiling the provider from the sources and if someone wants to do that the instructions and requirements are in the readme. I don't think that is necessary once the provider is registered.* - -## Configure the provider - -*How do you do this? and would the correct heading be Configure the provider or Authenticate the provider?* - -``` -terraform { - provider "biganimal" { - public_key= - private_key= - } - } -} -``` - -See [Provider Configuration](https://developer.hashicorp.com/terraform/language/providers/configuration). - - -## Getting an API Token - -In order to access the BigAnimal API, fetch an API bearer token and export it into your environment. - -This can be done by using the script located [here](https://github.com/EnterpriseDB/cloud-utilities/blob/main/api/get-token.sh) as follows - -```bash -sh ~/hackery/edb/cloud-utilities/api/get-token.sh -Please login to https://auth.biganimal.com/activate?user_code=JWPL-RCXL with your BigAnimal account -Have you finished the login successfully? (y/N) y -{ - "access_token": "", - "refresh_token": "", - "scope": "openid profile email offline_access", - "expires_in": 86400, - "token_type": "Bearer" -} -``` - -Once the token has been retrieved, set it in your environment as follows - -```bash -export BA_BEARER_TOKEN= -``` - - - -## More information -- Terraform provider doc? -- Examples similar to Aivan and crunchybridge? -- Examples in our repo? -- The readme file in our repo? \ No newline at end of file diff --git a/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx new file mode 100644 index 00000000000..05b8a534c96 --- /dev/null +++ b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx @@ -0,0 +1,67 @@ +--- +title: BigAnimal Terraform provider +--- + +BigAnimal’s [Terraform provider](https://github.com/EnterpriseDB/terraform-provider-biganimal) NEED LINK HERE is an infrastructure-as-code service that allows you to provision cloud resources from the Terraform CLI and incorporate those resources into your existing BigAnimal cloud infrastructure workflows. + +The current version of the Terraform provider offers modules for creating, reading, updating, and deleting clusters and regions. + +!!!note + We provide support for the BigAnimal Terraform provider itself and not for the underlying environment. + +## Prerequisites +To use Terraform with BigAnimal, you need: + +- A BigAnimal account with an organization set up. If you don't already have a BigAnimal account, see [Getting started with the BigAnimal free trial](/biganimal/latest/). + +- [Terraform](https://www.terraform.io/downloads) downloaded and installed. +- An API key for use within the Terraform application. See [Getting an API Token](getting-an-api-token). + +## Configure the provider + +*How do you do this? and would the correct heading be Configure the provider or Authenticate the provider?* + +``` +terraform { + provider "biganimal" { + public_key= + private_key= + } + } +} +``` + +See [Provider Configuration](https://developer.hashicorp.com/terraform/language/providers/configuration). + + +## Getting an API Token + +To use the BigAnimal API, fetch an API bearer token and export it into your environment. + +1. Access the script located [here](https://github.com/EnterpriseDB/cloud-utilities/blob/main/api/get-token.sh). +1. Open the script in `Raw` format. +1. Copy the script and save it locally with the name `get-token.sh`. +1. Modify permissions for the script in your local shell. +1. Run the script locally using a command like the following: + ``` + sh /get-token.sh + ``` + The resulting output instructs you to log in to a URL with an 8-digit user code. For example: + ``` + Please login to https://auth.biganimal.com/activate?user_code=JWPL-RCXL with your BigAnimal account + ``` +1. In a browser, access the URL, confirm, and re-authenticate if necessary. + You should receive a notice that the code has been verified. +1. In your local shell a prompt asks: + ``` + Have you finished the login successfully. (y/N) + ``` +1. When you enter `y`, the shell responds with output that provides the access token, refresh token, scope, expiration period, and token type. +1. Export the access token into your environment as follows, replacing `` with the access token. + ```bash + export BA_BEARER_TOKEN= + ``` +1. Now you can follow along with the example in the Terraform repository". NEED LINK TO TERRAFORM REGISTRY WHEN WE ARE REGISTERED. + +## More information +The Terraform provider offers the following resource blocks: From 67383746d5a978eb53809456a4aff4cfb11646a1 Mon Sep 17 00:00:00 2001 From: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> Date: Thu, 10 Nov 2022 15:21:17 -0500 Subject: [PATCH 05/24] Updates for IAM authentication feature --- .../creating_a_cluster/index.mdx | 2 + .../using_cluster/01_postgres_access.mdx | 37 +++++++++++++++++++ .../03_modifying_your_cluster/index.mdx | 3 +- 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/product_docs/docs/biganimal/release/getting_started/creating_a_cluster/index.mdx b/product_docs/docs/biganimal/release/getting_started/creating_a_cluster/index.mdx index cfca3f2ad11..a242aa182bd 100644 --- a/product_docs/docs/biganimal/release/getting_started/creating_a_cluster/index.mdx +++ b/product_docs/docs/biganimal/release/getting_started/creating_a_cluster/index.mdx @@ -149,7 +149,9 @@ When enabling read-only workloads, keep in mind the following: For information on replication lag while using read-only workloads, see [Synchronous replication](/biganimal/latest/overview/02_high_availability/#synchronous-replication). +### Authentication +Enable **Identity and Access Management (IAM) Authentication** to turn on the ability to log in to Postgres using your AWS IAM credentials. For this feature to take effect, after you create the cluster, you must add each user to a role that uses AWS IAM authentication in Postgres. For details, see [IAM authentication for Postgres](../../using_cluster/01_postgres_access/#iam_authentication_for_postgres). ## What’s next diff --git a/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx b/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx index a9ed1314935..730b2223457 100644 --- a/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx +++ b/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx @@ -76,3 +76,40 @@ If a single database is used to host multiple schemas, create a database owner a prod1=# create schema app1 authorization app1; prod1=# create schema app2 authorization app2; ``` +## IAM authentication for Postgres + +Any Postgres user who is part of the AWS IAM and the Postgres IAM user group can authenticate to the database using IAM. + +### Configuring IAM for Postgres + +Owners and contributors can configure IAM in a provisioned Postgres cluster by adding users to IAM roles. + +1. In AWS, configure the IAM roles. +1. In BigAnimal, turn on the IAM authentication feature when creating or modifying the cluster: + 1. On the **Additional Settings** tab, under **Authentication**, select **Identity and Access Management (IAM) Authentication**. + 1. Select **Create Cluster** or **Save**. +1. Get the ARN of each database user who's managed by IAM. See the (AWS documentation)[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html]. + +1. In Postgres, if the IAM role doesn’t exist yet, run this command: + +``` +CREATE ROLE "iam_aws"; +``` + +1. For each ARN, run this command: + +``` +CREATE USER "" IN ROLE iam_aws; +``` + +### Logging in to Postgres using IAM credentials + +If IAM integration is configured for your cluster, you can log in to Postgres using your AWS Amazon Resource Name (ARN) and a token in place of your password. Using this token to log in connects you to your Postgres database with IAM authentication. + +!!! Note + You can continue to log in using your Postgres username and password. However, doing so doesn’t provide IAM authentication even if this feature is configured. + +1. Obtain your token (access key id + secret access key) from AWS. See [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html). +1. At the Postgres CLI or cloud shell on your CSP, for your username, enter your ARN. +1. For the password, enter the token. + diff --git a/product_docs/docs/biganimal/release/using_cluster/03_modifying_your_cluster/index.mdx b/product_docs/docs/biganimal/release/using_cluster/03_modifying_your_cluster/index.mdx index 80c3304a083..129dc9daf19 100644 --- a/product_docs/docs/biganimal/release/using_cluster/03_modifying_your_cluster/index.mdx +++ b/product_docs/docs/biganimal/release/using_cluster/03_modifying_your_cluster/index.mdx @@ -40,7 +40,8 @@ You can also modify your cluster by installing Postgres extensions. See [Postgre | Database configuration parameters | DB Configuration | \- | | Retention period for backups | Additional Settings | \- | | Read-only workloads | Additional Settings | Enabling read-only workloads can incur higher cloud infrastructure charges. | - + | Identity and Access Management (IAM) Authentication | Additional Settings | Turn on the ability to log in to Postgres using AWS IAM credentials. You must then run a command to add each user’s credentials to a role that uses IAM authentication in Postgres. See [IAM authentication for Postgres](../01_postgres_access/#iam-authentication-for-postgres). + 5. Save your changes. !!! Note Saving changes might require a database restart. From fc717e8f62d4f5ac3c7edd7f4bb3ba95830c79a4 Mon Sep 17 00:00:00 2001 From: Dee Dee Rothery <83650384+drothery-edb@users.noreply.github.com> Date: Tue, 15 Nov 2022 05:35:19 -0500 Subject: [PATCH 06/24] spelling out CSP --- .../docs/biganimal/release/using_cluster/01_postgres_access.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx b/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx index 730b2223457..605fd9be4d2 100644 --- a/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx +++ b/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx @@ -110,6 +110,6 @@ If IAM integration is configured for your cluster, you can log in to Postgres us You can continue to log in using your Postgres username and password. However, doing so doesn’t provide IAM authentication even if this feature is configured. 1. Obtain your token (access key id + secret access key) from AWS. See [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html). -1. At the Postgres CLI or cloud shell on your CSP, for your username, enter your ARN. +1. At the Postgres CLI or cloud shell on your cloud server provider, for your username, enter your ARN. 1. For the password, enter the token. From b00b9a1a53058e6ee8ccd0372f8ac19734de317f Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Tue, 15 Nov 2022 11:50:26 -0500 Subject: [PATCH 07/24] Minor updates incorporating Jason's feedback --- .../biganimal/release/using_cluster/terraform_provider.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx index 05b8a534c96..5c261b59515 100644 --- a/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx +++ b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx @@ -2,7 +2,7 @@ title: BigAnimal Terraform provider --- -BigAnimal’s [Terraform provider](https://github.com/EnterpriseDB/terraform-provider-biganimal) NEED LINK HERE is an infrastructure-as-code service that allows you to provision cloud resources from the Terraform CLI and incorporate those resources into your existing BigAnimal cloud infrastructure workflows. +BigAnimal’s [Terraform provider](https://github.com/EnterpriseDB/terraform-provider-biganimal) NEED LINK HERE is an infrastructure-as-code service that allows you to provision cloud resources with the Terraform CLI and incorporate those resources into your existing BigAnimal cloud infrastructure workflows. The current version of the Terraform provider offers modules for creating, reading, updating, and deleting clusters and regions. @@ -36,7 +36,7 @@ See [Provider Configuration](https://developer.hashicorp.com/terraform/language/ ## Getting an API Token -To use the BigAnimal API, fetch an API bearer token and export it into your environment. +To use the BigAnimal API, use the following procedure to fetch an API bearer token and export it into your environment. For additional information about using the BigAnimal API, see [here](/biganimal/latest/reference/). 1. Access the script located [here](https://github.com/EnterpriseDB/cloud-utilities/blob/main/api/get-token.sh). 1. Open the script in `Raw` format. From d23d8450e9deea476451cf58f96ef502ef2aacba Mon Sep 17 00:00:00 2001 From: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> Date: Tue, 15 Nov 2022 14:41:42 -0500 Subject: [PATCH 08/24] Updates to IAM doc per Jason's review --- .../using_cluster/01_postgres_access.mdx | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx b/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx index 605fd9be4d2..177a61058dd 100644 --- a/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx +++ b/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx @@ -78,25 +78,24 @@ If a single database is used to host multiple schemas, create a database owner a ``` ## IAM authentication for Postgres -Any Postgres user who is part of the AWS IAM and the Postgres IAM user group can authenticate to the database using IAM. +Any AWS user with an AWS account connected to a BigAnimal subscription who has the Postgres role of "iam_aws" can authenticate to the database using their AWS IAM credentials. ### Configuring IAM for Postgres -Owners and contributors can configure IAM in a provisioned Postgres cluster by adding users to IAM roles. +Provision your cluster before configuring IAM for Postgres. -1. In AWS, configure the IAM roles. 1. In BigAnimal, turn on the IAM authentication feature when creating or modifying the cluster: 1. On the **Additional Settings** tab, under **Authentication**, select **Identity and Access Management (IAM) Authentication**. 1. Select **Create Cluster** or **Save**. -1. Get the ARN of each database user who's managed by IAM. See the (AWS documentation)[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html]. +1. In AWS, get the ARN of each IAM user requiring database access. In the AWS account connected to BigAnimal, use AWS Identity and Access Management (IAM) to perform user management. See the [AWS documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html). -1. In Postgres, if the IAM role doesn’t exist yet, run this command: +1. In Postgres, if the IAM role doesn’t exist yet, run this Postgres command: -``` -CREATE ROLE "iam_aws"; -``` + ``` + CREATE ROLE "iam_aws"; + ``` -1. For each ARN, run this command: +1. For each IAM user, run this Postgres command: ``` CREATE USER "" IN ROLE iam_aws; From 478e4736ac05a15ae030750a2f1eaf3451aea7e2 Mon Sep 17 00:00:00 2001 From: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> Date: Tue, 15 Nov 2022 14:44:32 -0500 Subject: [PATCH 09/24] Updated link to AWS doc --- .../docs/biganimal/release/using_cluster/01_postgres_access.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx b/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx index 177a61058dd..934e8354c95 100644 --- a/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx +++ b/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx @@ -108,7 +108,7 @@ If IAM integration is configured for your cluster, you can log in to Postgres us !!! Note You can continue to log in using your Postgres username and password. However, doing so doesn’t provide IAM authentication even if this feature is configured. -1. Obtain your token (access key id + secret access key) from AWS. See [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html). +1. Obtain your token (access key id + secret access key) from AWS. See [Managing access keys for IAM users](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html). 1. At the Postgres CLI or cloud shell on your cloud server provider, for your username, enter your ARN. 1. For the password, enter the token. From 1e9f09f3932b929c646b56e2275265f4ccbf839f Mon Sep 17 00:00:00 2001 From: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> Date: Tue, 15 Nov 2022 17:02:25 -0500 Subject: [PATCH 10/24] more revisions from Jason --- .../docs/biganimal/release/using_cluster/01_postgres_access.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx b/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx index 934e8354c95..a4156311a90 100644 --- a/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx +++ b/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx @@ -103,7 +103,7 @@ CREATE USER "" IN ROLE iam_aws; ### Logging in to Postgres using IAM credentials -If IAM integration is configured for your cluster, you can log in to Postgres using your AWS Amazon Resource Name (ARN) and a token in place of your password. Using this token to log in connects you to your Postgres database with IAM authentication. +If IAM integration is configured for your cluster, you can log in to Postgres using your AWS Amazon Resource Name (ARN) and access key. Using this ARN + access key combination allows you to connect to your Postgres database using your AWS IAM standard credentials. !!! Note You can continue to log in using your Postgres username and password. However, doing so doesn’t provide IAM authentication even if this feature is configured. From 231bddd65637da0c1ab276854077da44daf5cb48 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Thu, 17 Nov 2022 11:55:15 -0500 Subject: [PATCH 11/24] Implemented comments from Serdar (with Jason's help) --- .../release/using_cluster/terraform_provider.mdx | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx index 5c261b59515..c485b258ba2 100644 --- a/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx +++ b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx @@ -15,17 +15,17 @@ To use Terraform with BigAnimal, you need: - A BigAnimal account with an organization set up. If you don't already have a BigAnimal account, see [Getting started with the BigAnimal free trial](/biganimal/latest/). - [Terraform](https://www.terraform.io/downloads) downloaded and installed. -- An API key for use within the Terraform application. See [Getting an API Token](getting-an-api-token). +- An API token for use within the Terraform application. See [Getting an API Token](getting-an-api-token). ## Configure the provider -*How do you do this? and would the correct heading be Configure the provider or Authenticate the provider?* - ``` terraform { - provider "biganimal" { - public_key= - private_key= + required_providers { + biganimal = { + source = "enterprisedb/biganimal" + version = "0.3.1" + ba_token "" } } } @@ -33,7 +33,6 @@ terraform { See [Provider Configuration](https://developer.hashicorp.com/terraform/language/providers/configuration). - ## Getting an API Token To use the BigAnimal API, use the following procedure to fetch an API bearer token and export it into your environment. For additional information about using the BigAnimal API, see [here](/biganimal/latest/reference/). @@ -64,4 +63,3 @@ To use the BigAnimal API, use the following procedure to fetch an API bearer tok 1. Now you can follow along with the example in the Terraform repository". NEED LINK TO TERRAFORM REGISTRY WHEN WE ARE REGISTERED. ## More information -The Terraform provider offers the following resource blocks: From 5e312c29131c38a320fdb5826653e6bac1f2fe40 Mon Sep 17 00:00:00 2001 From: Betsy Gitelman <93718720+ebgitelman@users.noreply.github.com> Date: Thu, 17 Nov 2022 11:56:39 -0500 Subject: [PATCH 12/24] Jasons final comments on IAM feature --- .../release/using_cluster/01_postgres_access.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx b/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx index a4156311a90..83d9e5fb8dd 100644 --- a/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx +++ b/product_docs/docs/biganimal/release/using_cluster/01_postgres_access.mdx @@ -97,9 +97,9 @@ Provision your cluster before configuring IAM for Postgres. 1. For each IAM user, run this Postgres command: -``` -CREATE USER "" IN ROLE iam_aws; -``` + ``` + CREATE USER "" IN ROLE iam_aws; + ``` ### Logging in to Postgres using IAM credentials @@ -108,7 +108,7 @@ If IAM integration is configured for your cluster, you can log in to Postgres us !!! Note You can continue to log in using your Postgres username and password. However, doing so doesn’t provide IAM authentication even if this feature is configured. -1. Obtain your token (access key id + secret access key) from AWS. See [Managing access keys for IAM users](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html). -1. At the Postgres CLI or cloud shell on your cloud server provider, for your username, enter your ARN. -1. For the password, enter the token. +1. Using your AWS CLI or Cloud shell, obtain your ARN and access key. For guidance on obtaining your ARN and access key, see [Managing access keys for IAM users](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html). +1. Connect to Postgres using your IAM credentials. +1. When prompted for the password, enter your access key (<access key ID>:<secret access key>). From 83b6d7d3cd3c05b94e0ae689c9cd67c58911f790 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Wed, 23 Nov 2022 10:07:34 -0500 Subject: [PATCH 13/24] Edits based on first draft of developer's Terraform documentation --- .../using_cluster/terraform_provider.mdx | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx index c485b258ba2..e9695ac0e60 100644 --- a/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx +++ b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx @@ -6,37 +6,36 @@ BigAnimal’s [Terraform provider](https://github.com/EnterpriseDB/terraform-pro The current version of the Terraform provider offers modules for creating, reading, updating, and deleting clusters and regions. +The Terraform provider is licensed under the [MPL v2](https://www.mozilla.org/en-US/MPL/2.0/). + !!!note - We provide support for the BigAnimal Terraform provider itself and not for the underlying environment. + EnterpriseDB provides support for the BigAnimal Terraform provider itself and not for the underlying environment. ## Prerequisites To use Terraform with BigAnimal, you need: - A BigAnimal account with an organization set up. If you don't already have a BigAnimal account, see [Getting started with the BigAnimal free trial](/biganimal/latest/). -- [Terraform](https://www.terraform.io/downloads) downloaded and installed. -- An API token for use within the Terraform application. See [Getting an API Token](getting-an-api-token). +- [Terraform](https://www.terraform.io/downloads) (version 0.13*x* or later) downloaded and installed. +- A BigAnimal API token for use within the Terraform application. See [Getting an API Token](getting-an-api-token). -## Configure the provider +## Example usage -``` -terraform { - required_providers { - biganimal = { - source = "enterprisedb/biganimal" - version = "0.3.1" - ba_token "" - } - } +```terraform +# Configure the BigAnimal Provider +provider "biganimal" { + ba_token = "" + //ba_api_uri = "https://portal.biganimal.com/api/v2" // Optional } +# Manage the resources ``` -See [Provider Configuration](https://developer.hashicorp.com/terraform/language/providers/configuration). - ## Getting an API Token To use the BigAnimal API, use the following procedure to fetch an API bearer token and export it into your environment. For additional information about using the BigAnimal API, see [here](/biganimal/latest/reference/). +Optionally, credentials can also be provided by using the `BA_API_URI` environment variable. + 1. Access the script located [here](https://github.com/EnterpriseDB/cloud-utilities/blob/main/api/get-token.sh). 1. Open the script in `Raw` format. 1. Copy the script and save it locally with the name `get-token.sh`. @@ -62,4 +61,11 @@ To use the BigAnimal API, use the following procedure to fetch an API bearer tok ``` 1. Now you can follow along with the example in the Terraform repository". NEED LINK TO TERRAFORM REGISTRY WHEN WE ARE REGISTERED. -## More information +## Schema + +### Optional + +- `ba_token` (String) +- `ba_api_uri` (String) +- `ba_bearer_token` (String) + From 9d1cd2a77f03bf540fd8fca1388366b25a0e9034 Mon Sep 17 00:00:00 2001 From: drothery-edb Date: Wed, 23 Nov 2022 11:13:46 -0500 Subject: [PATCH 14/24] Edits based on discussion with Jason --- .../release/using_cluster/terraform_provider.mdx | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx index e9695ac0e60..374cb6e37c6 100644 --- a/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx +++ b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx @@ -9,7 +9,7 @@ The current version of the Terraform provider offers modules for creating, readi The Terraform provider is licensed under the [MPL v2](https://www.mozilla.org/en-US/MPL/2.0/). !!!note - EnterpriseDB provides support for the BigAnimal Terraform provider itself and not for the underlying environment. + We provide support for the BigAnimal Terraform provider itself and not for the underlying environment. ## Prerequisites To use Terraform with BigAnimal, you need: @@ -61,11 +61,5 @@ Optionally, credentials can also be provided by using the `BA_API_URI` environme ``` 1. Now you can follow along with the example in the Terraform repository". NEED LINK TO TERRAFORM REGISTRY WHEN WE ARE REGISTERED. -## Schema -### Optional - -- `ba_token` (String) -- `ba_api_uri` (String) -- `ba_bearer_token` (String) From f4a3a6aab3490219ecdfcfb1bdfda2d0abb78763 Mon Sep 17 00:00:00 2001 From: Dee Dee Rothery <83650384+drothery-edb@users.noreply.github.com> Date: Mon, 28 Nov 2022 10:53:08 -0500 Subject: [PATCH 15/24] converting text to a comment --- product_docs/docs/biganimal/release/getting_started/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/biganimal/release/getting_started/index.mdx b/product_docs/docs/biganimal/release/getting_started/index.mdx index 2da63abb39a..2873735d1ab 100644 --- a/product_docs/docs/biganimal/release/getting_started/index.mdx +++ b/product_docs/docs/biganimal/release/getting_started/index.mdx @@ -13,7 +13,7 @@ navigation: As a cloud administrator, you can set up BigAnimal with your existing Azure subscription or AWS account, invite others to join you in exploring what EDB has to offer, and create initial clusters as an account owner so that development can begin. -Alternatively, you can use [BigAnimal's Terraform provider](../using_cluster/terraform_provider) to incorporate BigAnimal into your existing cloud infrastructure workflows. *I'm not sure where in the process the Terraform provider comes in. Does mentioning it here make sense?* + If you purchase BigAnimal directly from EDB Sales, you need to [set up your own identity provider](/biganimal/release/getting_started/identity_provider). If you purchased from Azure Marketplace, you need to [set up your Azure account](/biganimal/release/getting_started/02_azure_market_setup). From 5ad7b8baaaebfdbb561fcc283e099dd413cb7176 Mon Sep 17 00:00:00 2001 From: David Wicinas <93669463+dwicinas@users.noreply.github.com> Date: Tue, 29 Nov 2022 10:17:51 -0500 Subject: [PATCH 16/24] changes based on Serdar's comments --- .../biganimal/release/using_cluster/terraform_provider.mdx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx index 374cb6e37c6..74068c014ee 100644 --- a/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx +++ b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx @@ -17,15 +17,15 @@ To use Terraform with BigAnimal, you need: - A BigAnimal account with an organization set up. If you don't already have a BigAnimal account, see [Getting started with the BigAnimal free trial](/biganimal/latest/). - [Terraform](https://www.terraform.io/downloads) (version 0.13*x* or later) downloaded and installed. -- A BigAnimal API token for use within the Terraform application. See [Getting an API Token](getting-an-api-token). +- A BigAnimal API token for use within the Terraform application. See [Getting an API Token](#getting-an-api-token). ## Example usage ```terraform # Configure the BigAnimal Provider provider "biganimal" { - ba_token = "" - //ba_api_uri = "https://portal.biganimal.com/api/v2" // Optional + ba_bearer_token = "" + //ba_api_uri = "https://portal.biganimal.com/api/v2" // Optional } # Manage the resources ``` @@ -59,6 +59,7 @@ Optionally, credentials can also be provided by using the `BA_API_URI` environme ```bash export BA_BEARER_TOKEN= ``` + Rather than export the token as described in this step, you can use the token to set the value of the `ba_bearer_token` when configuring the BigAnimal provider, as shown in [Example usage](#example-usage). 1. Now you can follow along with the example in the Terraform repository". NEED LINK TO TERRAFORM REGISTRY WHEN WE ARE REGISTERED. From 773703c89d9a8ae1af73af619826b344b4442982 Mon Sep 17 00:00:00 2001 From: drothery-edb Date: Wed, 30 Nov 2022 08:04:55 -0500 Subject: [PATCH 17/24] added links and made some tweaks --- .../release/using_cluster/terraform_provider.mdx | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx index 74068c014ee..4271c4322de 100644 --- a/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx +++ b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx @@ -2,7 +2,7 @@ title: BigAnimal Terraform provider --- -BigAnimal’s [Terraform provider](https://github.com/EnterpriseDB/terraform-provider-biganimal) NEED LINK HERE is an infrastructure-as-code service that allows you to provision cloud resources with the Terraform CLI and incorporate those resources into your existing BigAnimal cloud infrastructure workflows. +BigAnimal’s [Terraform provider](https://registry.terraform.io/providers/EnterpriseDB/biganimal/latest) is an infrastructure-as-code service that allows you to provision cloud resources with the Terraform CLI and incorporate those resources into your existing BigAnimal cloud infrastructure workflows. The current version of the Terraform provider offers modules for creating, reading, updating, and deleting clusters and regions. @@ -14,7 +14,7 @@ The Terraform provider is licensed under the [MPL v2](https://www.mozilla.org/en ## Prerequisites To use Terraform with BigAnimal, you need: -- A BigAnimal account with an organization set up. If you don't already have a BigAnimal account, see [Getting started with the BigAnimal free trial](/biganimal/latest/). +- A BigAnimal account with an organization set up. If you don't already have a BigAnimal account, see [Getting started with the BigAnimal free trial](/biganimal/latest/free_trial). - [Terraform](https://www.terraform.io/downloads) (version 0.13*x* or later) downloaded and installed. - A BigAnimal API token for use within the Terraform application. See [Getting an API Token](#getting-an-api-token). @@ -52,7 +52,7 @@ Optionally, credentials can also be provided by using the `BA_API_URI` environme You should receive a notice that the code has been verified. 1. In your local shell a prompt asks: ``` - Have you finished the login successfully. (y/N) + Have you finished the login successfully. (y/n) ``` 1. When you enter `y`, the shell responds with output that provides the access token, refresh token, scope, expiration period, and token type. 1. Export the access token into your environment as follows, replacing `` with the access token. @@ -60,7 +60,6 @@ Optionally, credentials can also be provided by using the `BA_API_URI` environme export BA_BEARER_TOKEN= ``` Rather than export the token as described in this step, you can use the token to set the value of the `ba_bearer_token` when configuring the BigAnimal provider, as shown in [Example usage](#example-usage). -1. Now you can follow along with the example in the Terraform repository". NEED LINK TO TERRAFORM REGISTRY WHEN WE ARE REGISTERED. - +1. Now you can follow along with the [resource and data source examples](https://registry.terraform.io/providers/EnterpriseDB/biganimal/latest/docs) in the Terraform registry. From 27c5a605d4f0e468f5c6ba05c7033f0cce7f906f Mon Sep 17 00:00:00 2001 From: drothery-edb Date: Wed, 30 Nov 2022 09:31:22 -0500 Subject: [PATCH 18/24] updated links --- .../biganimal/release/using_cluster/terraform_provider.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx index 4271c4322de..5ec6bdab0c7 100644 --- a/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx +++ b/product_docs/docs/biganimal/release/using_cluster/terraform_provider.mdx @@ -2,7 +2,7 @@ title: BigAnimal Terraform provider --- -BigAnimal’s [Terraform provider](https://registry.terraform.io/providers/EnterpriseDB/biganimal/latest) is an infrastructure-as-code service that allows you to provision cloud resources with the Terraform CLI and incorporate those resources into your existing BigAnimal cloud infrastructure workflows. +BigAnimal’s [Terraform provider](https://registry.terraform.io/providers/EnterpriseDB/biganimal/latest/docs) is an infrastructure-as-code service that allows you to provision cloud resources with the Terraform CLI and incorporate those resources into your existing BigAnimal cloud infrastructure workflows. The current version of the Terraform provider offers modules for creating, reading, updating, and deleting clusters and regions. @@ -60,6 +60,6 @@ Optionally, credentials can also be provided by using the `BA_API_URI` environme export BA_BEARER_TOKEN= ``` Rather than export the token as described in this step, you can use the token to set the value of the `ba_bearer_token` when configuring the BigAnimal provider, as shown in [Example usage](#example-usage). -1. Now you can follow along with the [resource and data source examples](https://registry.terraform.io/providers/EnterpriseDB/biganimal/latest/docs) in the Terraform registry. +1. Now you can follow along with the [examples](https://github.com/EnterpriseDB/terraform-provider-biganimal/blob/main/examples/README.md) in the Terraform repository. From 3635c6b856865774400b40b3655528b2534af733 Mon Sep 17 00:00:00 2001 From: Arthur Nascimento Date: Wed, 30 Nov 2022 14:44:01 -0300 Subject: [PATCH 19/24] Fix typo in URL to the 3.7 version From updrades to upgrades --- product_docs/docs/pgd/4/upgrades/upgrade_paths.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_docs/docs/pgd/4/upgrades/upgrade_paths.mdx b/product_docs/docs/pgd/4/upgrades/upgrade_paths.mdx index d4c1dc5b38a..43ec2f3035d 100644 --- a/product_docs/docs/pgd/4/upgrades/upgrade_paths.mdx +++ b/product_docs/docs/pgd/4/upgrades/upgrade_paths.mdx @@ -8,7 +8,7 @@ Currently there are no direct upgrade paths from 3.6 to 4. You must first upgra ## Upgrading from version 3.7 to version 4 -Currently it is recommended that you are using 3.7.15 or later before upgrading to 4. See [Upgrading within from 3.7](/pgd/3.7/bdr/updrades/supported_paths/#upgrading-within-version-37) in the 3.7 documentation for more information. After upgrading to 3.7.15 or later the following combinations are allowed +Currently it is recommended that you are using 3.7.15 or later before upgrading to 4. See [Upgrading within from 3.7](/pgd/3.7/bdr/upgrades/supported_paths/#upgrading-within-version-37) in the 3.7 documentation for more information. After upgrading to 3.7.15 or later the following combinations are allowed | 3.7.15 | 3.7.16 | 3.7.17 | Target BDR version | |--------|--------|--------|--------------------| From 0052979a7e9068892aec02e433aa61009d1eeae2 Mon Sep 17 00:00:00 2001 From: drothery-edb Date: Wed, 30 Nov 2022 19:06:28 -0500 Subject: [PATCH 20/24] Extensions table update --- advocacy_docs/pg_extensions/index.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/advocacy_docs/pg_extensions/index.mdx b/advocacy_docs/pg_extensions/index.mdx index b58a91bf113..98cc2efeb36 100644 --- a/advocacy_docs/pg_extensions/index.mdx +++ b/advocacy_docs/pg_extensions/index.mdx @@ -4,6 +4,7 @@ navTitle: "Postgres extensions" hideToC: true --- + Categories of extensions: - [Open Source Extensions](#open-source-extensions) From d5bedaf58f51e2306670fff0a0a1f97b9aca38e6 Mon Sep 17 00:00:00 2001 From: Josh Heyer <63653723+josh-heyer@users.noreply.github.com> Date: Wed, 30 Nov 2022 16:31:01 -0800 Subject: [PATCH 21/24] Diagnostic --- scripts/source/extensions-table.js | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/source/extensions-table.js b/scripts/source/extensions-table.js index 00cb311d756..68a6a54ddbd 100644 --- a/scripts/source/extensions-table.js +++ b/scripts/source/extensions-table.js @@ -140,6 +140,7 @@ async function buildTable(auth) { const columnMetadata = sheet.data.sheets[0].data[0].columnMetadata; let rows = sheet.data.sheets[0].data[0].rowData; for (let i = 0, row = rows[i]; i < rows.length; ++i, row = rows[i]) { + row.values = row.values || []; row.values = row.values .map((cell, j) => { const merge = merges.find( From ef7ad65de359fe024e245f1bfcc0f28e66bdd6d7 Mon Sep 17 00:00:00 2001 From: github-actions Date: Thu, 1 Dec 2022 00:32:15 +0000 Subject: [PATCH 22/24] generated new extensions table --- advocacy_docs/pg_extensions/index.mdx | 227 ++++++++++++++++++++------ 1 file changed, 179 insertions(+), 48 deletions(-) diff --git a/advocacy_docs/pg_extensions/index.mdx b/advocacy_docs/pg_extensions/index.mdx index 98cc2efeb36..5216afee089 100644 --- a/advocacy_docs/pg_extensions/index.mdx +++ b/advocacy_docs/pg_extensions/index.mdx @@ -4,7 +4,6 @@ navTitle: "Postgres extensions" hideToC: true --- - Categories of extensions: - [Open Source Extensions](#open-source-extensions) @@ -19,7 +18,7 @@ Categories of extensions: ## Open source extensions - +
@@ -729,6 +728,42 @@ Categories of extensions: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -754,7 +789,31 @@ Categories of extensions: - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -862,7 +921,7 @@ Categories of extensions: - + @@ -910,7 +969,7 @@ Categories of extensions: - + @@ -981,6 +1040,18 @@ Categories of extensions: + + + + + + + + + + + + @@ -993,12 +1064,24 @@ Categories of extensions: + + + + + + + + + + + +
PostgreSQL Non-Contrib Extensions/Modules
ip4r
pg_permissions
pg_store_plans
pgaudit Yes
pljava (only v11 and lower)pgrouting
pgsnmpd (11-13 )
pljava (11)
plpython2u (default v14 and lower)plpython2u (default 11-14 )
plpython3u (default v15 and higher)plpython3u (default 15) Yes
set_user
sslutils
timescaledb
## EDB extensions - +
@@ -1008,35 +1091,35 @@ Categories of extensions: - + - - - - - - - - + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - + + + @@ -1046,10 +1129,22 @@ Categories of extensions: - + - - + + + + + + + + + + + + + + @@ -1058,7 +1153,7 @@ Categories of extensions: - + @@ -1070,7 +1165,7 @@ Categories of extensions: - + @@ -1082,8 +1177,8 @@ Categories of extensions: - - + + @@ -1094,7 +1189,7 @@ Categories of extensions: - + @@ -1106,22 +1201,34 @@ Categories of extensions: - - + + - + - + - - + + + + + + + + + + + + + + @@ -1130,8 +1237,8 @@ Categories of extensions: - - + + @@ -1142,23 +1249,47 @@ Categories of extensions: - - + + - + + + + + + + + + + + + + + + + + + + + + + + + +
BigAnimal
Extension nameExtension name Requires superuser accessPostgreSQLEDB Postgres Extended ServerEDB Postgres Advanced ServerPostgreSQLEDB Postgres Advanced ServerPostgreSQLPostgreSQL CompatibleOracle CompatiblePostgreSQLEDB Postgres Extended ServerEDB Postgres Advanced ServerPostgreSQLEDB Postgres Advanced ServerPostgreSQLPostgreSQL CompatibleOracle Compatible
bdr 3.xautocluster
pglogical 3.xYesbdr 3.x
edb_wait_statesbdr 4.x
dbms_job
dbms_jobdbms_scheduler
dbms_scheduleredb_cloneschema
edb_dboYesedb_dblink_libpq
edbspledb_dblink_oci Yes
parallel_cloneedb_dboYes
edb_cloneschemaedb_pg_tuner
edb_wait_states
edb_dblink_libpqedbsplYes
edb_dblink_ociYesparallel_clone
pglogical 3.xYes
refdata
## EDB supported open source extensions - +
From b3693e643e76ab2950f584f552b3d6f0ac812e33 Mon Sep 17 00:00:00 2001 From: github-actions Date: Thu, 1 Dec 2022 01:36:24 +0000 Subject: [PATCH 23/24] generated new extensions table --- advocacy_docs/pg_extensions/index.mdx | 308 +++++++++++++------------- 1 file changed, 154 insertions(+), 154 deletions(-) diff --git a/advocacy_docs/pg_extensions/index.mdx b/advocacy_docs/pg_extensions/index.mdx index 5216afee089..e3e005812ac 100644 --- a/advocacy_docs/pg_extensions/index.mdx +++ b/advocacy_docs/pg_extensions/index.mdx @@ -18,7 +18,7 @@ Categories of extensions: ## Open source extensions -
+
@@ -28,7 +28,7 @@ Categories of extensions: - + @@ -40,7 +40,7 @@ Categories of extensions: - + @@ -54,7 +54,7 @@ Categories of extensions: - + @@ -66,7 +66,7 @@ Categories of extensions: - + @@ -78,7 +78,7 @@ Categories of extensions: - + @@ -90,7 +90,7 @@ Categories of extensions: - + @@ -102,7 +102,7 @@ Categories of extensions: - + @@ -114,7 +114,7 @@ Categories of extensions: - + @@ -126,7 +126,7 @@ Categories of extensions: - + @@ -138,7 +138,7 @@ Categories of extensions: - + @@ -150,7 +150,7 @@ Categories of extensions: - + @@ -162,7 +162,7 @@ Categories of extensions: - + @@ -174,7 +174,7 @@ Categories of extensions: - + @@ -186,7 +186,7 @@ Categories of extensions: - + @@ -198,7 +198,7 @@ Categories of extensions: - + @@ -210,7 +210,7 @@ Categories of extensions: - + @@ -222,7 +222,7 @@ Categories of extensions: - + @@ -234,7 +234,7 @@ Categories of extensions: - + @@ -246,7 +246,7 @@ Categories of extensions: - + @@ -258,7 +258,7 @@ Categories of extensions: - + @@ -270,7 +270,7 @@ Categories of extensions: - + @@ -282,7 +282,7 @@ Categories of extensions: - + @@ -294,7 +294,7 @@ Categories of extensions: - + @@ -306,7 +306,7 @@ Categories of extensions: - + @@ -318,7 +318,7 @@ Categories of extensions: - + @@ -330,7 +330,7 @@ Categories of extensions: - + @@ -342,7 +342,7 @@ Categories of extensions: - + @@ -354,7 +354,7 @@ Categories of extensions: - + @@ -366,7 +366,7 @@ Categories of extensions: - + @@ -378,7 +378,7 @@ Categories of extensions: - + @@ -390,7 +390,7 @@ Categories of extensions: - + @@ -402,7 +402,7 @@ Categories of extensions: - + @@ -414,7 +414,7 @@ Categories of extensions: - + @@ -426,7 +426,7 @@ Categories of extensions: - + @@ -438,7 +438,7 @@ Categories of extensions: - + @@ -450,7 +450,7 @@ Categories of extensions: - + @@ -462,7 +462,7 @@ Categories of extensions: - + @@ -474,7 +474,7 @@ Categories of extensions: - + @@ -486,7 +486,7 @@ Categories of extensions: - + @@ -498,7 +498,7 @@ Categories of extensions: - + @@ -510,7 +510,7 @@ Categories of extensions: - + @@ -522,7 +522,7 @@ Categories of extensions: - + @@ -534,7 +534,7 @@ Categories of extensions: - + @@ -546,7 +546,7 @@ Categories of extensions: - + @@ -558,7 +558,7 @@ Categories of extensions: - + @@ -570,7 +570,7 @@ Categories of extensions: - + @@ -582,7 +582,7 @@ Categories of extensions: - + @@ -594,7 +594,7 @@ Categories of extensions: - + @@ -606,7 +606,7 @@ Categories of extensions: - + @@ -618,7 +618,7 @@ Categories of extensions: - + @@ -630,7 +630,7 @@ Categories of extensions: - + @@ -642,7 +642,7 @@ Categories of extensions: - + @@ -654,7 +654,7 @@ Categories of extensions: - + @@ -666,7 +666,7 @@ Categories of extensions: - + @@ -678,7 +678,7 @@ Categories of extensions: - + @@ -690,7 +690,7 @@ Categories of extensions: - + @@ -702,7 +702,7 @@ Categories of extensions: - + @@ -714,7 +714,7 @@ Categories of extensions: - + @@ -726,10 +726,10 @@ Categories of extensions: - + - + @@ -741,7 +741,7 @@ Categories of extensions: - + @@ -753,7 +753,7 @@ Categories of extensions: - + @@ -765,7 +765,7 @@ Categories of extensions: - + @@ -777,7 +777,7 @@ Categories of extensions: - + @@ -789,7 +789,7 @@ Categories of extensions: - + @@ -801,7 +801,7 @@ Categories of extensions: - + @@ -813,7 +813,7 @@ Categories of extensions: - + @@ -825,7 +825,7 @@ Categories of extensions: - + @@ -837,7 +837,7 @@ Categories of extensions: - + @@ -849,7 +849,7 @@ Categories of extensions: - + @@ -861,7 +861,7 @@ Categories of extensions: - + @@ -873,7 +873,7 @@ Categories of extensions: - + @@ -885,7 +885,7 @@ Categories of extensions: - + @@ -897,7 +897,7 @@ Categories of extensions: - + @@ -909,7 +909,7 @@ Categories of extensions: - + @@ -921,7 +921,7 @@ Categories of extensions: - + @@ -933,7 +933,7 @@ Categories of extensions: - + @@ -945,7 +945,7 @@ Categories of extensions: - + @@ -957,7 +957,7 @@ Categories of extensions: - + @@ -969,7 +969,7 @@ Categories of extensions: - + @@ -981,7 +981,7 @@ Categories of extensions: - + @@ -993,7 +993,7 @@ Categories of extensions: - + @@ -1005,7 +1005,7 @@ Categories of extensions: - + @@ -1017,7 +1017,7 @@ Categories of extensions: - + @@ -1029,7 +1029,7 @@ Categories of extensions: - + @@ -1041,7 +1041,7 @@ Categories of extensions: - + @@ -1053,7 +1053,7 @@ Categories of extensions: - + @@ -1065,33 +1065,33 @@ Categories of extensions: - - - - - - - - - - + + + + + + + + + +
BigAnimal
Extension nameExtension name Requires superuser access PostgreSQL EDB Postgres Extended ServerOracle Compatible
PostgreSQL Contrib Extensions/ModulesPostgreSQL Contrib Extensions/Modules
adminpackadminpack Yes
amcheckamcheck Yes
auth_delayauth_delay Yes
auto_explainauto_explain Yes
bloombloom Yes
btree_ginbtree_gin
btree_gistbtree_gist
citextcitext
cubecube
dblinkdblink Yes
dict_intdict_int
dict_xsyndict_xsyn Yes
earthdistanceearthdistance Yes
file_fdwfile_fdw Yes
fuzzystrmatchfuzzystrmatch
hstorehstore
  hstore_plperl  hstore_plperl Yes
  hstore_plperlu  hstore_plperlu Yes
intaggintagg Yes
intarrayintarray
isnisn
jsonb_plperljsonb_plperl
  jsonb_plperlu  jsonb_plperlu Yes
lolo
ltreeltree
old_snapshotold_snapshot Yes
pageinspectpageinspect Yes
passwordcheckpasswordcheck
plpgsqlplpgsql
pg_buffercachepg_buffercache Yes
pg_freespacemappg_freespacemap Yes
pg_prewarmpg_prewarm Yes
pg_stat_statementspg_stat_statements Yes
pg_surgerypg_surgery Yes
pg_trgmpg_trgm
pg_visibilitypg_visibility Yes
pgcryptopgcrypto Yes
pgrowlockspgrowlocks Yes
pgstattuplepgstattuple Yes
postgres_fdwpostgres_fdw Yes
segseg
sepgsqlsepgsql
spispi
  autoinc  autoinc Yes
  insert_username  insert_username Yes
  moddatetime  moddatetime Yes
  refint  refint Yes
sslinfosslinfo Yes
tablefunctablefunc
tcntcn
test_decodingtest_decoding Yes
tsm_system_rowstsm_system_rows
tsm_system_timetsm_system_time
unaccentunaccent
uuid-osspuuid-ossp Yes
xml2xml2 Yes
PostgreSQL Non-Contrib Extensions/ModulesPostgreSQL Non-Contrib Extensions/Modules
ip4rip4r
pg_permissionspg_permissions
pg_store_planspg_store_plans
pgauditpgaudit Yes
pglogical 2.xpglogical 2.x
pgroutingpgrouting
pgsnmpd (11-13 )pgsnmpd (11-13 )
pljava (11)pljava (11)
plperlplperl
  plperlu  plperlu Yes
  bool_plperl  bool_plperl
  bool_plperlu  bool_plperlu Yes
plpythonu (default by version)plpythonu (default by version) Yes
  hstore_plpythonu  hstore_plpythonu Yes
  jsonb_plpythonu  jsonb_plpythonu Yes
  ltree_plpythonu  ltree_plpythonu Yes
plpython2u (default 11-14 )plpython2u (default 11-14 )
  hstore_plpython2u  hstore_plpython2u
  jsonb_plpython2u  jsonb_plpython2u
  ltree_plpython2u  ltree_plpython2u
plpython3u (default 15)plpython3u (default 15) Yes
  hstore_plpython3u  hstore_plpython3u Yes
  jsonb_plpython3u  jsonb_plpython3u Yes
  ltree_plpython3u  ltree_plpython3u Yes
pltclpltcl
  pltclu  pltclu Yes
set_userset_user
sslutilssslutils
timescaledbtimescaledb
## EDB extensions - +
- + - + @@ -1105,7 +1105,7 @@ Categories of extensions: - + @@ -1117,7 +1117,7 @@ Categories of extensions: - + @@ -1129,7 +1129,7 @@ Categories of extensions: - + @@ -1141,7 +1141,7 @@ Categories of extensions: - + @@ -1153,7 +1153,7 @@ Categories of extensions: - + @@ -1165,7 +1165,7 @@ Categories of extensions: - + @@ -1177,7 +1177,7 @@ Categories of extensions: - + @@ -1189,7 +1189,7 @@ Categories of extensions: - + @@ -1201,7 +1201,7 @@ Categories of extensions: - + @@ -1213,7 +1213,7 @@ Categories of extensions: - + @@ -1225,7 +1225,7 @@ Categories of extensions: - + @@ -1237,7 +1237,7 @@ Categories of extensions: - + @@ -1249,7 +1249,7 @@ Categories of extensions: - + @@ -1261,7 +1261,7 @@ Categories of extensions: - + @@ -1273,33 +1273,33 @@ Categories of extensions: - - - - - - - - - - + + + + + + + + + +
Virtual Machines/Physical Servers Kubernetes BigAnimal
Extension nameExtension name Requires superuser access PostgreSQL EDB Postgres Extended Server
autoclusterautocluster
bdr 3.xbdr 3.x
bdr 4.xbdr 4.x
dbms_jobdbms_job
dbms_schedulerdbms_scheduler
edb_cloneschemaedb_cloneschema
edb_dblink_libpqedb_dblink_libpq
edb_dblink_ociedb_dblink_oci Yes
edb_dboedb_dbo Yes
edb_pg_tuneredb_pg_tuner
edb_wait_statesedb_wait_states
edbspledbspl Yes
parallel_cloneparallel_clone
pglogical 3.xpglogical 3.x Yes
refdatarefdata
## EDB supported open source extensions - +
- + - + @@ -1311,12 +1311,12 @@ Categories of extensions: - + - + @@ -1328,7 +1328,7 @@ Categories of extensions: - + @@ -1340,7 +1340,7 @@ Categories of extensions: - + @@ -1352,7 +1352,7 @@ Categories of extensions: - + @@ -1364,7 +1364,7 @@ Categories of extensions: - + @@ -1376,7 +1376,7 @@ Categories of extensions: - + @@ -1388,7 +1388,7 @@ Categories of extensions: - + @@ -1400,10 +1400,10 @@ Categories of extensions: - + - + @@ -1415,7 +1415,7 @@ Categories of extensions: - + @@ -1427,10 +1427,10 @@ Categories of extensions: - + - + @@ -1442,10 +1442,10 @@ Categories of extensions: - + - + @@ -1457,7 +1457,7 @@ Categories of extensions: - + @@ -1469,16 +1469,16 @@ Categories of extensions: - - - - - - - - - - + + + + + + + + + +
Virtual Machines/Physical Servers Kubernetes BigAnimal
Extension nameExtension name Requires superuser access PostgreSQL EDB Postgres Extended ServerOracle Compatible
PostGISPostGIS
postgispostgis
postgis_rasterpostgis_raster
postgis_sfcgalpostgis_sfcgal
postgis_tiger_geocoderpostgis_tiger_geocoder
postgis_topologypostgis_topology
address_standardizeraddress_standardizer
address_standardizer_data_usaddress_standardizer_data_us
PgpoolPgpool
 pgpool_adm pgpool_adm
 pgpool_recovery pgpool_recovery
PLdebuggerPLdebugger
 pldbgapi pldbgapi
Foreign Data WrappersForeign Data Wrappers
 hdfs_fdw hdfs_fdw Yes
 mongo_fdw mongo_fdw Yes
 mysql_fdwYes mysql_fdwYes
From e01094c2c70256747d4870c598024a896af913f9 Mon Sep 17 00:00:00 2001 From: Jimmy Angelakos Date: Thu, 1 Dec 2022 15:15:04 +0000 Subject: [PATCH 24/24] spelling, grammar --- product_docs/docs/pgd/4/harp/index.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/product_docs/docs/pgd/4/harp/index.mdx b/product_docs/docs/pgd/4/harp/index.mdx index 72cc03969cf..421d56855fd 100644 --- a/product_docs/docs/pgd/4/harp/index.mdx +++ b/product_docs/docs/pgd/4/harp/index.mdx @@ -7,10 +7,10 @@ redirects: - /pgd/4/harp/02_overview --- -High Availability Routing for Postgres (HARP) is new approach for managing high availabiliity for +High Availability Routing for Postgres (HARP) is a new approach for managing high availabiliity for EDB Postgres Distributed clusters versions 3.6 or later. All application traffic within a single location -(data center or region) is routed to only one BDR node at a time in a semi-exlusive manner. This node, -designated the lead master, acts as the principle write target to reduce the potential for data conflicts. +(data center or region) is routed to only one BDR node at a time in a semi-exclusive manner. This node, +designated the lead master, acts as the principal write target to reduce the potential for data conflicts. HARP leverages a distributed consensus model to determine availability of the BDR nodes in the cluster. On failure or unavailability of the lead master, HARP elects a new lead master and redirects application traffic. @@ -49,7 +49,7 @@ Even in multi-master-capable approaches such as BDR, it can be helpful to reduce the amount of necessary conflict management to derive identical data across the cluster. In clusters that consist of multiple BDR nodes per physical location or region, this usually means a single BDR node acts as a "leader" and -remaining nodes are "shadow." These shadow nodes are still writable, but writing to +remaining nodes are "shadow". These shadow nodes are still writable, but writing to them is discouraged unless absolutely necessary. By leveraging quorum, it's possible for all nodes to agree on the exact @@ -72,9 +72,9 @@ Postgres instance: ![HARP Unit](images/ha-unit.png) -The consensus layer is an external entity where Harp Manager maintains +The consensus layer is an external entity where HARP Manager maintains information it learns about its assigned Postgres node, and HARP Proxy -translates this information to a valid Postgres node target. Because Proxy +translates this information to a valid Postgres node target. Because HARP Proxy obtains the node target from the consensus layer, several such instances can exist independently. @@ -101,16 +101,16 @@ This is a typical design using two BDR nodes in a single data center organized i ![HARP Cluster](images/ha-ao.png) -When using BDR as the HARP consensus layer, at least three +When using BDR as the HARP consensus layer, at least three fully qualified BDR nodes must be present to ensure a quorum majority. (Not shown in the diagram are connections between BDR nodes.) ![HARP Cluster w/BDR Consensus](images/ha-ao-bdr.png) ## How it works -When managing a EDB Postgres Distributed cluster, HARP maintains at most one leader node per +When managing an EDB Postgres Distributed cluster, HARP maintains at most one leader node per defined location. This is referred to as the lead master. Other BDR -nodes that are eligible to take this position are shadow master state until they take the leader role. +nodes that are eligible to take this position are in shadow master state until they take the leader role. Applications can contact the current leader only through the proxy service. Since the consensus layer requires quorum agreement before conveying leader @@ -122,7 +122,7 @@ multiple nodes. ### Determining a leader As an example, consider the role of lead master in a locally subdivided -BDR Always-On group as can exist in a single data center. When any +BDR Always On group as can exist in a single data center. When any Postgres or Manager resource is started, and after a configurable refresh interval, the following must occur: @@ -225,7 +225,7 @@ For multiple BDR nodes to be eligible to take the lead master lock in a location, you must define a location in the `config.yml` configuration file. -To reproduce the BDR Always-On reference architecture shown in the diagram, include these lines in the `config.yml` +To reproduce the BDR Always On reference architecture shown in the diagram, include these lines in the `config.yml` configuration for BDR Nodes 1 and 2: ```yaml