From 729acfce25005f296ad48eb2580d37f6d10fc35a Mon Sep 17 00:00:00 2001 From: Bobby Bissett <70302203+EFM-Bobby@users.noreply.github.com> Date: Thu, 12 May 2022 14:19:29 -0400 Subject: [PATCH 1/9] add property to unique list for >1 agent/node Each agent has to use a unique service name for the database, or else one cluster might shut down the db being used by another cluster. --- product_docs/docs/efm/4/05_using_efm.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/product_docs/docs/efm/4/05_using_efm.mdx b/product_docs/docs/efm/4/05_using_efm.mdx index a71f458c872..70d4736c782 100644 --- a/product_docs/docs/efm/4/05_using_efm.mdx +++ b/product_docs/docs/efm/4/05_using_efm.mdx @@ -221,6 +221,8 @@ The following parameters must be unique in each cluster properties file: `db.data.dir` `virtual.ip` (if used) + + `db.service.name` (if used) In each cluster properties file, the `db.port` parameter specifies a unique value for each cluster. The `db.user` and `db.database` parameter can have the same value or a unique value. For example, the `acctg.properties` file can specify: From 934ef14567e5640563c730a4100f630ec66fefd9 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 12 May 2022 18:36:14 +0000 Subject: [PATCH 2/9] add cnp plugin page back --- .../docs/postgres_for_kubernetes/1}/cnp-plugin.mdx | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {advocacy_docs/kubernetes/cloud_native_postgresql => product_docs/docs/postgres_for_kubernetes/1}/cnp-plugin.mdx (100%) diff --git a/advocacy_docs/kubernetes/cloud_native_postgresql/cnp-plugin.mdx b/product_docs/docs/postgres_for_kubernetes/1/cnp-plugin.mdx similarity index 100% rename from advocacy_docs/kubernetes/cloud_native_postgresql/cnp-plugin.mdx rename to product_docs/docs/postgres_for_kubernetes/1/cnp-plugin.mdx From 1b8e827877047de021fae4184a97e622c80acd49 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 12 May 2022 19:04:38 +0000 Subject: [PATCH 3/9] CNP->P4K changes in the plugin doc --- .../cloud_native_pg/index.mdx | 1 - .../postgres_for_kubernetes/1/cnp-plugin.mdx | 19 +++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/advocacy_docs/supported-open-source/cloud_native_pg/index.mdx b/advocacy_docs/supported-open-source/cloud_native_pg/index.mdx index b657002fa36..d9aa4695108 100644 --- a/advocacy_docs/supported-open-source/cloud_native_pg/index.mdx +++ b/advocacy_docs/supported-open-source/cloud_native_pg/index.mdx @@ -28,7 +28,6 @@ redirects: - /postgres_for_kubernetes/latest/connection_pooling/ - /postgres_for_kubernetes/latest/kubernetes_upgrade/ - /postgres_for_kubernetes/latest/expose_pg_services/ - - /postgres_for_kubernetes/latest/cnp-plugin/ - /postgres_for_kubernetes/latest/failover/ - /postgres_for_kubernetes/latest/troubleshooting/ - /postgres_for_kubernetes/latest/fencing/ diff --git a/product_docs/docs/postgres_for_kubernetes/1/cnp-plugin.mdx b/product_docs/docs/postgres_for_kubernetes/1/cnp-plugin.mdx index 1cdbd1a48c7..10d0bd89827 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/cnp-plugin.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/cnp-plugin.mdx @@ -1,11 +1,18 @@ --- -title: 'Cloud Native PostgreSQL Plugin' +title: 'EDB Postgres for Kubernetes Plugin' originalFilePath: 'src/cnp-plugin.md' -product: 'Cloud Native Operator' --- -Cloud Native PostgreSQL provides a plugin for `kubectl` to manage a cluster in Kubernetes. -The plugin also works with `oc` in an OpenShift environment. +EDB Postgres for Kubernetes provides a plugin for `kubectl` to manage a cluster in Kubernetes. +This plugin is based on [the CloudNativePG Plugin](https://cloudnative-pg.io/documentation/1.15.0/cnpg-plugin/), +and can work with `oc` in an OpenShift environment. + +## Features + +The EDB Postgres for Kubernetes Plugin provides the same features as the CloudNativePG plugin, plus: + +- It works with `oc` in an OpenShift environment. +- It can manage ## Install @@ -19,7 +26,7 @@ curl -sSfL \ ### Supported Architectures -Cloud Native PostgreSQL Plugin is currently build for the following +EDB Postgres for Kubernetes Plugin is currently build for the following operating system and architectures: - Linux @@ -230,7 +237,7 @@ kubectl cnp promote cluster-example 2 ### Certificates -Clusters created using the Cloud Native PostgreSQL operator work with a CA to sign +Clusters created using the EDB Postgres for Kubernetes operator work with a CA to sign a TLS authentication certificate. To get a certificate, you need to provide a name for the secret to store From 6733d8112497ea210a10fb64980470fc57c9bb1e Mon Sep 17 00:00:00 2001 From: drothery-edb Date: Thu, 12 May 2022 15:07:25 -0400 Subject: [PATCH 4/9] EDB PG for Kubernetes urgent content fixes --- .../cloud_native_pg/index.mdx | 9 +++++++ .../1/cloudnativepg.mdx | 2 +- .../docs/postgres_for_kubernetes/1/index.mdx | 27 ++++++++++--------- .../1/installation_upgrade.mdx | 2 +- .../postgres_for_kubernetes/1/logging.mdx | 4 +-- .../postgres_for_kubernetes/1/quickstart.mdx | 4 +-- .../1/rel_notes/1_15_rel_notes.mdx | 2 +- .../1/rel_notes/index.mdx | 2 +- 8 files changed, 31 insertions(+), 21 deletions(-) diff --git a/advocacy_docs/supported-open-source/cloud_native_pg/index.mdx b/advocacy_docs/supported-open-source/cloud_native_pg/index.mdx index b5bcc5cdabe..65bcc2d4729 100644 --- a/advocacy_docs/supported-open-source/cloud_native_pg/index.mdx +++ b/advocacy_docs/supported-open-source/cloud_native_pg/index.mdx @@ -14,4 +14,13 @@ CloudNativePG is the Kubernetes operator that covers the full lifecycle of a hig CloudNativePG was originally built by EDB, then released open source under Apache License 2.0 and submitted for CNCF Sandbox in April 2022. The source code repository is in [Github](https://github.com/cloudnative-pg/cloudnative-pg). +Key features available include: +- Kubernetes API integration for high availability +- Self-healing through failover and automated recreation of replicas +- Capacity management with scale up/down capabilities +- Planned switchovers for scheduled maintenance +- Read-only and read-write Kubernetes services definitions +- Rolling updates for Postgres minor versions and operator upgrades +- Continuous backup and point-in-time recovery + diff --git a/product_docs/docs/postgres_for_kubernetes/1/cloudnativepg.mdx b/product_docs/docs/postgres_for_kubernetes/1/cloudnativepg.mdx index 1f38709d558..1bfc73cd2cb 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/cloudnativepg.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/cloudnativepg.mdx @@ -20,6 +20,6 @@ As a general rule, all features available in the open source CloudNativePG are also available in EDB Postgres for Kubernetes - provided the correct API version is used. -For this reason, we refer to the CloudNativePG for detailed information on the +Refer to the [CloudNativePG documentation](https://cloudnative-pg.io/documentation/1.15.0/) for detailed information on the available features. diff --git a/product_docs/docs/postgres_for_kubernetes/1/index.mdx b/product_docs/docs/postgres_for_kubernetes/1/index.mdx index e97c7bfe199..0222cb30445 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/index.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/index.mdx @@ -13,18 +13,19 @@ navigation: - api_reference --- -EDB Postgres for Kubernetes is a stack of enterprise grade products -designed, developed, and supported by EDB to fully exploit Postgres workloads -in Kubernetes. +EDB Postgres for Kubernetes is an operator is designed, developed, and supported by EDB that covers the full lifecycle of a highly available Postgres database clusters with a primary/standby architecture, using native streaming replication. It is based on the open source CloudNativePG operator, and provides additional value such as compatibility with Oracle using EDB Postgres Advanced Server and additional supported platforms such as IBM Power and OpenShift. -It currently comprises the EDB Postgres for Kubernetes operator which is based -on the open source CloudNativePG operator and adds EDB Postgres Advanced Server -workloads with a primary/standby architecture. - -EBD Postgres for Kubernetes is also available on Red Hat OpenShift. - -The operator has been renamed from Cloud Native PostgreSQL. - -Existing users of Cloud Native PostgreSQL will not experience any change, as -the underlying components and resources have not changed. +Key features available include: +- Kubernetes API integration for high availability +- Self-healing through failover and automated recreation of replicas +- Capacity management with scale up/down capabilities +- Planned switchovers for scheduled maintenance +- Read-only and read-write Kubernetes services definitions +- Rolling updates for Postgres minor versions and operator upgrades +- Continuous backup and point-in-time recovery +- Connection Pooling with PgBouncer +- Integrated metrics exporter out of the box +- PostgreSQL replication across multiple Kubernetes clusters +- Red Hat certified operator for OpenShift +The operator has been renamed from Cloud Native PostgreSQL. Existing users of Cloud Native PostgreSQL will not experience any change, as the underlying components and resources have not changed. \ No newline at end of file diff --git a/product_docs/docs/postgres_for_kubernetes/1/installation_upgrade.mdx b/product_docs/docs/postgres_for_kubernetes/1/installation_upgrade.mdx index dcfcd1fbfd3..b4047dba8bf 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/installation_upgrade.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/installation_upgrade.mdx @@ -9,7 +9,7 @@ product: 'EDB Postgres for Kubernetes' OpenShift Container Platform, see [Red Hat OpenShift](openshift.md). -The following supplements the [Installation and upgrades](https://cloudnative-pg.io/docs/1.15.0/installation_upgrade/) topic in the upstream CloudNativePG project. +The following supplements the [Installation and upgrades](https://cloudnative-pg.io/documentation/1.15.0/installation_upgrade/) topic in the upstream CloudNativePG project. ## Installation on Kubernetes diff --git a/product_docs/docs/postgres_for_kubernetes/1/logging.mdx b/product_docs/docs/postgres_for_kubernetes/1/logging.mdx index fabf209cd7c..c171005f5bf 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/logging.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/logging.mdx @@ -91,7 +91,7 @@ See the example below: ``` See EDB [Audit file file](/epas/latest/epas_guide/03_database_administration/05_edb_audit_logging/04_audit_log_file/) -(section 3.5.4) for more details about the records' fields. +for more details about the records' fields. -See the CloudNativePG documentation for more information on logging. +See the [CloudNativePG documentation](https://cloudnative-pg.io/documentation/1.15.0/) for more information on logging. diff --git a/product_docs/docs/postgres_for_kubernetes/1/quickstart.mdx b/product_docs/docs/postgres_for_kubernetes/1/quickstart.mdx index 0003157e065..433923f963a 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/quickstart.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/quickstart.mdx @@ -4,7 +4,7 @@ originalFilePath: 'src/quickstart.md' product: 'EDB Postgres for Kubernetes' --- -Refer to the [Installation and upgrades](https://cloudnative-pg.io/docs/1.15.0/installation_upgrade/) topic in the CloudNativePG documentation and use this topic for specifics regarding EDB Postgres for Kubernetes usage. +Refer to the [Installation and upgrades](https://cloudnative-pg.io/documentation/1.15.0/installation_upgrade/) topic in the CloudNativePG documentation and use this topic for specifics regarding EDB Postgres for Kubernetes usage. @@ -71,7 +71,7 @@ and install `rancher/local-path-provisioner`. Now that you have a Kubernetes or OpenShift installation up and running on your laptop, you can proceed with EDB Postgres for Kubernetes installation. -Refer to the [Installation and upgrades](https://cloudnative-pg.io/docs/1.15.0/installation_upgrade/) topic in the CloudNativePG documentation and then proceed +Refer to the [Installation and upgrades](https://cloudnative-pg.io/documentation/1.15.0/installation_upgrade/) topic in the CloudNativePG documentation and then proceed with the deployment of a PostgreSQL cluster. ## Part 3 - Deploy a PostgreSQL cluster diff --git a/product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_15_rel_notes.mdx b/product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_15_rel_notes.mdx index 49f96d2f527..52fc625bcf3 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_15_rel_notes.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/rel_notes/1_15_rel_notes.mdx @@ -7,6 +7,6 @@ This release of EDB Postgres for Kubernetes includes the following: | Type | Description | | -------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -| Upstream merge | Merged with community CloudNativePG 1.15. See the community [Release Notes](https://cloudnative-pg.io/docs/1.15.0/release_notes/). | +| Upstream merge | Merged with community CloudNativePG 1.15. See the community [Release Notes](https://cloudnative-pg.io/documentation/1.15.0/release_notes/). | diff --git a/product_docs/docs/postgres_for_kubernetes/1/rel_notes/index.mdx b/product_docs/docs/postgres_for_kubernetes/1/rel_notes/index.mdx index a611b3d870a..f296844db29 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/rel_notes/index.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/rel_notes/index.mdx @@ -29,7 +29,7 @@ The EDB Postgres for Kubernetes documentation describes the major version of EDB | Version | Release date | Upstream merges | | ---------------------------- | ------------ | --------------------------------------------------------------------------------- | -| [1.15.0](1_15_rel_notes) | 2022 Apr 21 | Upstream [1.15.0](https://cloudnative-pg.io/docs/1.15.0/release_notes/) | +| [1.15.0](1_15_rel_notes) | 2022 Apr 21 | Upstream [1.15.0](https://cloudnative-pg.io/documentation/1.15.0/release_notes/) | | [1.14.0](1_14_rel_notes) | 2022 Mar 25 | NA | | [1.13.0](1_13_rel_notes) | 2022 Feb 17 | NA | | [1.12.0](1_12_rel_notes) | 2022 Jan 11 | NA | From 7b5886def48a79bdd71e3341f6d2dda9c9bf84a6 Mon Sep 17 00:00:00 2001 From: drothery-edb Date: Thu, 12 May 2022 15:25:29 -0400 Subject: [PATCH 5/9] fixed more links --- product_docs/docs/postgres_for_kubernetes/1/logging.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/product_docs/docs/postgres_for_kubernetes/1/logging.mdx b/product_docs/docs/postgres_for_kubernetes/1/logging.mdx index c171005f5bf..106693885fe 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/logging.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/logging.mdx @@ -7,7 +7,7 @@ product: 'Cloud Native Operator' Clusters that are running on EDB Postgres Advanced Server -can enable [EDB Audit](epas/latest/epas_guide/03_database_administration/05_edb_audit_logging/) as follows: +can enable [EDB Audit](/epas/latest/epas_guide/03_database_administration/05_edb_audit_logging/) as follows: ```yaml apiVersion: postgresql.k8s.enterprisedb.io/v1 @@ -90,7 +90,7 @@ See the example below: } ``` -See EDB [Audit file file](/epas/latest/epas_guide/03_database_administration/05_edb_audit_logging/04_audit_log_file/) +See EDB [Audit file](/epas/latest/epas_guide/03_database_administration/05_edb_audit_logging/04_audit_log_file/) for more details about the records' fields. See the [CloudNativePG documentation](https://cloudnative-pg.io/documentation/1.15.0/) for more information on logging. From eb151301fbd2bbb059ed0fbad74a538299d4d37a Mon Sep 17 00:00:00 2001 From: root Date: Thu, 12 May 2022 20:58:58 +0000 Subject: [PATCH 6/9] restore plugin link to demo, add to index --- product_docs/docs/postgres_for_kubernetes/1/index.mdx | 2 ++ .../docs/postgres_for_kubernetes/1/interactive_demo.mdx | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/product_docs/docs/postgres_for_kubernetes/1/index.mdx b/product_docs/docs/postgres_for_kubernetes/1/index.mdx index e97c7bfe199..68fabed6546 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/index.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/index.mdx @@ -5,8 +5,10 @@ navigation: - cloudnativepg - installation_upgrade - quickstart +- interactive_demo - operator_conf - logging +- cnp-plugin - openshift - evaluation - license_keys diff --git a/product_docs/docs/postgres_for_kubernetes/1/interactive_demo.mdx b/product_docs/docs/postgres_for_kubernetes/1/interactive_demo.mdx index 9a9f4fb80d1..4c3fe993882 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/interactive_demo.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/interactive_demo.mdx @@ -316,7 +316,7 @@ status: ## Install the kubectl-cnp plugin -EDB Postgres for Kubernetes provides a plugin for kubectl to manage a cluster in Kubernetes, along with a script to install it: +EDB Postgres for Kubernetes provides [a plugin for kubectl](cnp-plugin) to manage a cluster in Kubernetes, along with a script to install it: ```shell curl -sSfL \ @@ -368,6 +368,9 @@ cluster-example-2 33 MB 0/4000060 Standby (async) OK BestEff cluster-example-3 33 MB 0/4000060 Standby (async) OK BestEffort 1.15.0 ``` +!!! Note "There's more" + See [the Cloud Native PostgreSQL Plugin page](cnp-plugin/) for more commands and options. + ## Testing failover As our status checks show, we're running two replicas - if something happens to the primary instance of PostgreSQL, the cluster will fail over to one of them. Let's demonstrate this by killing the primary pod: From 0d32f240eeb8b300b98e7bebfc5a4c8004db5e0d Mon Sep 17 00:00:00 2001 From: root Date: Thu, 12 May 2022 21:00:45 +0000 Subject: [PATCH 7/9] add support for sample files in versioned docs --- gatsby-node.js | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/gatsby-node.js b/gatsby-node.js index 38bcad01133..3f118e107c7 100644 --- a/gatsby-node.js +++ b/gatsby-node.js @@ -154,6 +154,7 @@ exports.createPages = async ({ actions, graphql, reporter }) => { nodes { id relativePath + sourceInstanceName } } } @@ -163,17 +164,16 @@ exports.createPages = async ({ actions, graphql, reporter }) => { reporter.panic("createPages graphql query has errors!", result.errors); } - processFileNodes(result.data.allFile.nodes, actions); - // this is critical to avoiding excessive Netlify deploy times: it ensures the pages are ordered consistently from build to build result.data.allMdx.nodes = result.data.allMdx.nodes.sort((a, b) => a.fields.path.localeCompare(b.fields.path), ); const { nodes } = result.data.allMdx; - const productVersions = buildProductVersions(nodes); + processFileNodes(result.data.allFile.nodes, productVersions, actions); + // it should be possible to remove these in the future, // they are only used for navLinks generation const learn = nodes.filter((file) => file.fields.docType === "advocacy"); @@ -426,10 +426,29 @@ const createAdvocacy = (navTree, prevNext, doc, learn, actions) => { }); }; -const processFileNodes = (fileNodes, actions) => { +const processFileNodes = (fileNodes, productVersions, actions) => { fileNodes.forEach((node) => { + const product = + node.sourceInstanceName === "advocacy_docs" + ? "" + : node.sourceInstanceName; + const version = node.relativePath.split(path.sep)[0]; + const isLatest = product ? productVersions[product][0] === version : false; + let urlPath = path.join(path.sep, product, node.relativePath); + if (isLatest) { + const latestPath = replacePathVersion(urlPath); + actions.createRedirect({ + fromPath: urlPath, + toPath: latestPath, + redirectInBrowser: true, + isPermanent: false, + force: true, + }); + urlPath = latestPath; + } + actions.createPage({ - path: node.relativePath, + path: urlPath, component: require.resolve("./src/templates/file.js"), context: { nodeId: node.id, From d5b8b6f7498dcee86bc0d3c136177d3712000add Mon Sep 17 00:00:00 2001 From: root Date: Thu, 12 May 2022 21:09:30 +0000 Subject: [PATCH 8/9] fix a couple of links in the openshift doc that referenced docs in the opensource --- product_docs/docs/postgres_for_kubernetes/1/openshift.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/product_docs/docs/postgres_for_kubernetes/1/openshift.mdx b/product_docs/docs/postgres_for_kubernetes/1/openshift.mdx index c01ccb70485..d0fe2e20adc 100644 --- a/product_docs/docs/postgres_for_kubernetes/1/openshift.mdx +++ b/product_docs/docs/postgres_for_kubernetes/1/openshift.mdx @@ -607,7 +607,7 @@ levels (e.g. TLS certificates). For more information about the reasons why the operator needs these elevated permissions, refer to the -["Security / Cluster / RBAC" section](security.md#role-based-access-control-rbac). +["Security / Cluster / RBAC" section](https://cloudnative-pg.io/documentation/1.15.0/security/#role-based-access-control-rbac). ## Users and Permissions @@ -708,7 +708,7 @@ that runs with the `quay.io/enterprisedb/pgbouncer` image. !!! Note "There's more" For more details about pod customization for the pooler, refer to - [Pod templates](connection_pooling.md#podtemplates) in the + [Pod templates](https://cloudnative-pg.io/documentation/1.15.0/connection_pooling/#podtemplates) in the connection pooling documentation. You can change the image name from the advanced interface, specifically by From 55cf675a91ce677b697321fd4e6e3c99a3a144df Mon Sep 17 00:00:00 2001 From: drothery-edb Date: Thu, 12 May 2022 17:13:59 -0400 Subject: [PATCH 9/9] CloudNativePG doc link --- advocacy_docs/supported-open-source/cloud_native_pg/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/advocacy_docs/supported-open-source/cloud_native_pg/index.mdx b/advocacy_docs/supported-open-source/cloud_native_pg/index.mdx index f7291a915c1..a51cabf2936 100644 --- a/advocacy_docs/supported-open-source/cloud_native_pg/index.mdx +++ b/advocacy_docs/supported-open-source/cloud_native_pg/index.mdx @@ -42,7 +42,7 @@ redirects: CloudNativePG is the Kubernetes operator that covers the full lifecycle of a highly available Postgres database cluster with a primary/standby architecture, using native streaming replication. !!! Note - Looking for CloudNativePG documentation? Head over to [cloudnative-pg.io/docs/](https://cloudnative-pg.io/docs/). + Looking for CloudNativePG documentation? Head over to [cloudnative-pg.io/docs/](https://cloudnative-pg.io/documentation/1.15.0/). CloudNativePG was originally built by EDB, then released open source under Apache License 2.0 and submitted for CNCF Sandbox in April 2022. The source code repository is in [Github](https://github.com/cloudnative-pg/cloudnative-pg).