From dcacd8aa31ee005c487622c6c1b6cdf681fb79ed Mon Sep 17 00:00:00 2001 From: Mark Soper Date: Thu, 20 Jun 2024 12:49:43 -0400 Subject: [PATCH] Adding a warning to the README about the need to use a recent version of the provider for private endpoints (#218) * Update README.md Adding a warning to the README about the need to use a recent version of the provider for private endpoints to avoid a recently discovered bug in older versions. * Update README.md * Update README.md * Update README.md * adding warning to /docs * Update private_endpoint_connection.md * Update private_endpoint_services.md * source of docs * fixed placement of warning and generated docs * updated changelog for privaet endpoint version warning --------- Co-authored-by: Mark Soper Co-authored-by: Christopher Fitzner --- CHANGELOG.md | 3 +++ README.md | 10 ++++++++-- docs/resources/private_endpoint_connection.md | 14 ++++++++++++++ docs/resources/private_endpoint_services.md | 14 ++++++++++++++ .../private_endpoint_connection_resource.go | 10 +++++++++- .../provider/private_endpoint_services_resource.go | 10 +++++++++- 6 files changed, 57 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0539ad28..7ebc6371 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] + +- Added warning about using private endpoints with old versions. + ## Fixed - Update the user_role_grants resource docs to indicate the requirement of ORG_MEMBER. diff --git a/README.md b/README.md index 66db727f..6a57b124 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,16 @@ For information on developing `terraform-provider-cockroach` see [DEVELOPMENT.md](DEVELOPMENT.md). -**Note: This is a preview release, suitable only for experimental use.** - ## Get Started +### _Warning_: Use of *private endpoints* requires >=v1.7.6 +If you intend to use this provider to provision [private endpoints](https://github.com/cockroachdb/terraform-provider-cockroach/blob/main/docs/resources/private_endpoint_connection.md): +- [AWS PrivateLink](https://www.cockroachlabs.com/docs/cockroachcloud/aws-privatelink) +- [GCP Private Service Connect](https://www.cockroachlabs.com/docs/cockroachcloud/connect-to-your-cluster#gcp-private-service-connect) +- [Azure Private Link](https://www.cockroachlabs.com/docs/cockroachcloud/cockroachdb-dedicated-on-azure) + +You must install/upgrade to [version 1.7.6](https://github.com/cockroachdb/terraform-provider-cockroach/releases/tag/v1.7.6) or [later](https://registry.terraform.io/providers/cockroachdb/cockroach/latest). + ### Prerequisites Before you use `terraform-provider-cockroach` you must [install Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli) and [`git`](https://git-scm.com/downloads) on your local machine. diff --git a/docs/resources/private_endpoint_connection.md b/docs/resources/private_endpoint_connection.md index 245de006..42746161 100644 --- a/docs/resources/private_endpoint_connection.md +++ b/docs/resources/private_endpoint_connection.md @@ -4,12 +4,26 @@ page_title: "cockroach_private_endpoint_connection Resource - terraform-provider subcategory: "" description: |- Private endpoint connections allow customer applications to connect to a CockroachDB Cloud cluster without traversing the public internet. All application-database traffic remains within the cloud-provider network. + Warning: Use of private endpoints requires >=v1.7.6 + If you intend to use this provider to provision private endpoints https://github.com/cockroachdb/terraform-provider-cockroach/blob/main/docs/resources/private_endpoint_connection.md: + - AWS PrivateLink https://www.cockroachlabs.com/docs/cockroachcloud/aws-privatelink + - GCP Private Service Connect https://www.cockroachlabs.com/docs/cockroachcloud/connect-to-your-cluster#gcp-private-service-connect + - Azure Private Link https://www.cockroachlabs.com/docs/cockroachcloud/cockroachdb-dedicated-on-azure + You must install/upgrade to version 1.7.6 https://github.com/cockroachdb/terraform-provider-cockroach/releases/tag/v1.7.6 or later https://registry.terraform.io/providers/cockroachdb/cockroach/latest --- # cockroach_private_endpoint_connection (Resource) Private endpoint connections allow customer applications to connect to a CockroachDB Cloud cluster without traversing the public internet. All application-database traffic remains within the cloud-provider network. +### _Warning_: Use of *private endpoints* requires >=v1.7.6 +If you intend to use this provider to provision [private endpoints](https://github.com/cockroachdb/terraform-provider-cockroach/blob/main/docs/resources/private_endpoint_connection.md): +- [AWS PrivateLink](https://www.cockroachlabs.com/docs/cockroachcloud/aws-privatelink) +- [GCP Private Service Connect](https://www.cockroachlabs.com/docs/cockroachcloud/connect-to-your-cluster#gcp-private-service-connect) +- [Azure Private Link](https://www.cockroachlabs.com/docs/cockroachcloud/cockroachdb-dedicated-on-azure) + +You must install/upgrade to [version 1.7.6](https://github.com/cockroachdb/terraform-provider-cockroach/releases/tag/v1.7.6) or [later](https://registry.terraform.io/providers/cockroachdb/cockroach/latest) + ## Example Usage ```terraform diff --git a/docs/resources/private_endpoint_services.md b/docs/resources/private_endpoint_services.md index d4678792..d9674121 100644 --- a/docs/resources/private_endpoint_services.md +++ b/docs/resources/private_endpoint_services.md @@ -4,11 +4,25 @@ page_title: "cockroach_private_endpoint_services Resource - terraform-provider-c subcategory: "" description: |- PrivateEndpointServices contains services that allow for private connectivity to the CockroachDB Cloud cluster. + Warning: Use of private endpoints requires >=v1.7.6 + If you intend to use this provider to provision private endpoints https://github.com/cockroachdb/terraform-provider-cockroach/blob/main/docs/resources/private_endpoint_connection.md: + - AWS PrivateLink https://www.cockroachlabs.com/docs/cockroachcloud/aws-privatelink + - GCP Private Service Connect https://www.cockroachlabs.com/docs/cockroachcloud/connect-to-your-cluster#gcp-private-service-connect + - Azure Private Link https://www.cockroachlabs.com/docs/cockroachcloud/cockroachdb-dedicated-on-azure + You must install/upgrade to version 1.7.6 https://github.com/cockroachdb/terraform-provider-cockroach/releases/tag/v1.7.6 or later https://registry.terraform.io/providers/cockroachdb/cockroach/latest --- # cockroach_private_endpoint_services (Resource) PrivateEndpointServices contains services that allow for private connectivity to the CockroachDB Cloud cluster. + +### _Warning_: Use of *private endpoints* requires >=v1.7.6 +If you intend to use this provider to provision [private endpoints](https://github.com/cockroachdb/terraform-provider-cockroach/blob/main/docs/resources/private_endpoint_connection.md): +- [AWS PrivateLink](https://www.cockroachlabs.com/docs/cockroachcloud/aws-privatelink) +- [GCP Private Service Connect](https://www.cockroachlabs.com/docs/cockroachcloud/connect-to-your-cluster#gcp-private-service-connect) +- [Azure Private Link](https://www.cockroachlabs.com/docs/cockroachcloud/cockroachdb-dedicated-on-azure) + +You must install/upgrade to [version 1.7.6](https://github.com/cockroachdb/terraform-provider-cockroach/releases/tag/v1.7.6) or [later](https://registry.terraform.io/providers/cockroachdb/cockroach/latest) ## Example Usage diff --git a/internal/provider/private_endpoint_connection_resource.go b/internal/provider/private_endpoint_connection_resource.go index 08ccb51e..9c95c08c 100644 --- a/internal/provider/private_endpoint_connection_resource.go +++ b/internal/provider/private_endpoint_connection_resource.go @@ -48,7 +48,15 @@ func (r *privateEndpointConnectionResource) Schema( _ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse, ) { resp.Schema = schema.Schema{ - MarkdownDescription: "Private endpoint connections allow customer applications to connect to a CockroachDB Cloud cluster without traversing the public internet. All application-database traffic remains within the cloud-provider network.", + MarkdownDescription: `Private endpoint connections allow customer applications to connect to a CockroachDB Cloud cluster without traversing the public internet. All application-database traffic remains within the cloud-provider network. + +### _Warning_: Use of *private endpoints* requires >=v1.7.6 +If you intend to use this provider to provision [private endpoints](https://github.com/cockroachdb/terraform-provider-cockroach/blob/main/docs/resources/private_endpoint_connection.md): +- [AWS PrivateLink](https://www.cockroachlabs.com/docs/cockroachcloud/aws-privatelink) +- [GCP Private Service Connect](https://www.cockroachlabs.com/docs/cockroachcloud/connect-to-your-cluster#gcp-private-service-connect) +- [Azure Private Link](https://www.cockroachlabs.com/docs/cockroachcloud/cockroachdb-dedicated-on-azure) + +You must install/upgrade to [version 1.7.6](https://github.com/cockroachdb/terraform-provider-cockroach/releases/tag/v1.7.6) or [later](https://registry.terraform.io/providers/cockroachdb/cockroach/latest)`, Attributes: map[string]schema.Attribute{ "id": schema.StringAttribute{ Computed: true, diff --git a/internal/provider/private_endpoint_services_resource.go b/internal/provider/private_endpoint_services_resource.go index e814e6aa..1605ad95 100644 --- a/internal/provider/private_endpoint_services_resource.go +++ b/internal/provider/private_endpoint_services_resource.go @@ -43,7 +43,15 @@ type privateEndpointServicesResource struct { const endpointServicesCreateTimeout = time.Hour var endpointServicesSchema = schema.Schema{ - MarkdownDescription: "PrivateEndpointServices contains services that allow for private connectivity to the CockroachDB Cloud cluster.", + MarkdownDescription: `PrivateEndpointServices contains services that allow for private connectivity to the CockroachDB Cloud cluster. + +### _Warning_: Use of *private endpoints* requires >=v1.7.6 +If you intend to use this provider to provision [private endpoints](https://github.com/cockroachdb/terraform-provider-cockroach/blob/main/docs/resources/private_endpoint_connection.md): +- [AWS PrivateLink](https://www.cockroachlabs.com/docs/cockroachcloud/aws-privatelink) +- [GCP Private Service Connect](https://www.cockroachlabs.com/docs/cockroachcloud/connect-to-your-cluster#gcp-private-service-connect) +- [Azure Private Link](https://www.cockroachlabs.com/docs/cockroachcloud/cockroachdb-dedicated-on-azure) + +You must install/upgrade to [version 1.7.6](https://github.com/cockroachdb/terraform-provider-cockroach/releases/tag/v1.7.6) or [later](https://registry.terraform.io/providers/cockroachdb/cockroach/latest)`, Attributes: map[string]schema.Attribute{ "cluster_id": schema.StringAttribute{ Required: true,