Skip to content

Conversation

@Aashiq-J
Copy link
Member

@Aashiq-J Aashiq-J commented Nov 6, 2024

Description

Issue : #509

Release required?

  • No release
  • Patch release (x.x.X)
  • Minor release (x.X.x)
  • Major release (X.x.x)
Release notes content

Run the pipeline

If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.

Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:

/run pipeline

Checklist for reviewers

  • If relevant, a test for the change is included or updated with this PR.
  • If relevant, documentation for the change is included or updated with this PR.

For mergers

  • Use a conventional commit message to set the release level. Follow the guidelines.
  • Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
  • Use the Squash and merge option.

@Aashiq-J
Copy link
Member Author

Aashiq-J commented Nov 6, 2024

/run pipeline

@Aashiq-J
Copy link
Member Author

Aashiq-J commented Nov 6, 2024

/run pipeline

@Aashiq-J Aashiq-J requested review from Ak-sky, ocofaigh, rajatagarwal-ibm and shemau and removed request for Ak-sky and rajatagarwal-ibm November 6, 2024 13:35
@ocofaigh
Copy link
Contributor

ocofaigh commented Nov 6, 2024

Need to wait for #513 #514 to be merged to unblock pipeline

tcp_keepalives_count = 6
archive_timeout = 1800
wal_level = "replica"
wal_level = "logical"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no don't do this - there is a backend bug. We need to remove wal_level all together from the configuration so it defaults to replica. I think @shemau is going to make the change in #513

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually its coming in #514

Copy link
Contributor

@ocofaigh ocofaigh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Aashiq-J Too many changes here - check out my comments

}

variable "existing_backup_kms_instance_crn" {
description = "The CRN of a Hyper Protect Crypto Services or Key Protect instance in the same account as the PostgreSQL instance. This value is used to create an authorization policy if `skip_iam_authorization_policy` is false. If not specified, a root key is created."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are you saying same account? We support KMS being in any account since we have the ibmcloud_kms_api_key input. I think its safe to assume all KMS will be in same account

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If not specified, a root key is created.

^ This doesn't make sense here? The instance CRN is required to create the key and the auth policy. If not specified we should mention that for backup encryption, it will use the same instance specified in existing_kms_instance_crn


variable "existing_backup_kms_key_crn" {
type = string
description = "The CRN of a Hyper Protect Crypto Services or Key Protect root key to use for disk encryption. If not specified, a root key is created in the KMS instance."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

description needs to be updated to say its used for backup encryption

@Aashiq-J
Copy link
Member Author

Aashiq-J commented Nov 7, 2024

/run pipeline

@Aashiq-J
Copy link
Member Author

Aashiq-J commented Nov 7, 2024

/run pipeline

@Aashiq-J
Copy link
Member Author

Aashiq-J commented Nov 7, 2024

/run pipeline

@Aashiq-J
Copy link
Member Author

Aashiq-J commented Nov 7, 2024

/run pipeline

@Aashiq-J Aashiq-J requested a review from ocofaigh November 7, 2024 09:24
@Aashiq-J
Copy link
Member Author

Aashiq-J commented Nov 7, 2024

/run pipeline

@ocofaigh
Copy link
Contributor

ocofaigh commented Nov 7, 2024

@Aashiq-J Hold off running pipeline - I'm reviewing..

Copy link
Contributor

@ocofaigh ocofaigh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see suggestions

}

variable "existing_backup_kms_instance_crn" {
description = "Optional. The CRN of a Hyper Protect Crypto Services or Key Protect that is used to create keys for encrypting the PostgreSQL instance backup. If no value is set for `existing_backup_kms_instance_crn` and `existing_backup_kms_key_crn`, it will use the same instance specified in `existing_kms_instance_crn` or the same key CRN specified in `existing_kms_key_crn`. BYOK for backups is available only in US regions `us-south` and `us-east`, and `eu-de`. [Learn more](https://cloud.ibm.com/docs/cloud-databases?topic=cloud-databases-key-protect&interface=ui#key-byok)"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its not a "PostgreSQL instance backup" - its a database backup.
How about this for wording:

The CRN of an Hyper Protect Crypto Services or Key Protect instance that you want to use to encrypt database backups. If no value is passed, the value of the existing_kms_instance_crn input will be used, however backup encryption is only supported in certain regions so you need to ensure the KMS for backup is coming from one of the supported regions. Learn more.

##############################################################
variable "existing_backup_kms_key_crn" {
type = string
description = "Optional. The CRN of a Hyper Protect Crypto Services or Key Protect root key to use for backup encryption. If no value is set for `existing_backup_kms_instance_crn` and `existing_backup_kms_key_crn`, it will use the same instance specified in `existing_kms_instance_crn` or the same key CRN specified in `existing_kms_key_crn`. BYOK for backups is available only in US regions `us-south` and `us-east`, and `eu-de`. [Learn more](https://cloud.ibm.com/docs/cloud-databases?topic=cloud-databases-key-protect&interface=ui#key-byok)"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CRN of an Hyper Protect Crypto Services or Key Protect encryption key that you want to use to encrypt database backups. If no value is passed, the value of existing_kms_key_crn is used. If no is passed for that, a new key will be created in the provided KMS instance and used for both disk encryption, and backup encryption.


variable "existing_kms_instance_crn" {
description = "The CRN of a Hyper Protect Crypto Services or Key Protect instance in the same account as the PostgreSQL instance. This value is used to create an authorization policy if `skip_iam_authorization_policy` is false. If not specified, a root key is created."
description = "The CRN of a Hyper Protect Crypto Services or Key Protect that is used to create keys for encrypting the PostgreSQL instance disks. If you are not using an existing KMS root key, you must specify this CRN. If you are using an existing KMS root key and auth policy is not set for PostgreSQL to KMS, you must specify this CRN."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CRN of an Hyper Protect Crypto Services or Key Protect instance that you want to use for both disk and backup encryption. Backup encryption is only supported is some regions (learn more), so if you need to use a different instance for backup encryption from a supported region, use the existing_backup_kms_instance_crn input.

variable "existing_kms_key_crn" {
type = string
description = "The CRN of a Hyper Protect Crypto Services or Key Protect root key to use for disk encryption. If not specified, a root key is created in the KMS instance."
description = "The CRN of a Hyper Protect Crypto Services or Key Protect root key to use for disk encryption. To create a key ring and key, pass a value for the `existing_kms_instance_crn` input variable."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CRN of an Hyper Protect Crypto Services or Key Protect encryption key that you want to use to use for both disk and backup encryption. If no value is passed, a new key ring and key will be created in the instance provided in the existing_kms_instance_crn input. Backup encryption is only supported is some regions (learn more), so if you need to use a key from a different region for backup encryption, use the existing_backup_kms_key_crn input.

@ocofaigh
Copy link
Contributor

ocofaigh commented Nov 7, 2024

/run pipeline

@Aashiq-J
Copy link
Member Author

Aashiq-J commented Nov 7, 2024

/run pipeline

@ocofaigh ocofaigh merged commit 68cd6c7 into main Nov 7, 2024
2 checks passed
@ocofaigh ocofaigh deleted the backup-kms branch November 7, 2024 15:08
@terraform-ibm-modules-ops
Copy link
Contributor

🎉 This PR is included in version 3.18.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants