Skip to content

Commit

Permalink
ci: Prepare for the 1.2.0 release (#611)
Browse files Browse the repository at this point in the history
* ci: Prepare for the 1.2.0 release

* fix: typo
  • Loading branch information
wai-wong-edb authored Nov 29, 2024
1 parent 0b7badb commit 1fc0375
Show file tree
Hide file tree
Showing 54 changed files with 302 additions and 70 deletions.
2 changes: 2 additions & 0 deletions .wordlist-en-custom.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
BigAnimal
BigAnimal's
CIDR
cron
CSP
csp
EDB
Expand Down Expand Up @@ -46,3 +47,4 @@ TDE
terraform
ultradisk
uri
wal
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
## v1.2.0 (November 29. 2024)
Features:
* Support for Write-Ahead Logs (WAL) Storage in `biganimal_cluster`, `biganimal_faraway_replica`, and `biganimal_pgd` resources
* Support for backup schedule time in `biganimal_cluster`, `biganimal_analytics_cluster`, `biganimal_faraway_replica`, and `biganimal_pgd` resources

Enhancements:
* Validation checks to not allow pe_allowed_principal_ids and service_account_ids if using your cloud account

Bug Fixes:
* Fixed planned allowed_ip_ranges.description when using private_networking = true

## v1.1.1 (October 29. 2024)
Bug Fixes:
* Fixed Data Source `biganimal_cluster` cloud_provider not working with your cloud account
Expand Down
2 changes: 1 addition & 1 deletion GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ HOSTNAME=registry.terraform.io
NAMESPACE=EnterpriseDB
NAME=biganimal
BINARY=terraform-provider-${NAME}
VERSION=1.1.1
VERSION=1.2.0

# Figure out the OS and ARCH of the
# builder machine
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ terraform {
required_providers {
biganimal = {
source = "EnterpriseDB/biganimal"
version = "1.1.1"
version = "1.2.0"
}
}
}
Expand Down
5 changes: 5 additions & 0 deletions docs/data-sources/analytics_cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ output "backup_retention_period" {
value = data.biganimal_analytics_cluster.this.backup_retention_period
}
output "backup_schedule_time" {
value = data.biganimal_analytics_cluster.this.backup_schedule_time
}
output "cluster_name" {
value = data.biganimal_analytics_cluster.this.cluster_name
}
Expand Down Expand Up @@ -105,6 +109,7 @@ output "service_account_ids" {

- `allowed_ip_ranges` (Attributes Set) Allowed IP ranges. (see [below for nested schema](#nestedatt--allowed_ip_ranges))
- `backup_retention_period` (String) Backup retention period. For example, "7d", "2w", or "3m".
- `backup_schedule_time` (String) Backup schedule time in 24 hour cron expression format.
- `csp_auth` (Boolean) Is authentication handled by the cloud service provider.
- `maintenance_window` (Attributes) Custom maintenance window. (see [below for nested schema](#nestedatt--maintenance_window))
- `pause` (Boolean) Pause cluster. If true it will put the cluster on pause and set the phase as paused, if false it will resume the cluster and set the phase as healthy. Pausing a cluster allows you to save on compute costs without losing data or cluster configuration settings. While paused, clusters aren't upgraded or patched, but changes are applied when the cluster resumes. Pausing a high availability cluster shuts down all cluster nodes
Expand Down
27 changes: 26 additions & 1 deletion docs/data-sources/cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ output "backup_retention_period" {
value = data.biganimal_cluster.this.backup_retention_period
}
output "backup_schedule_time" {
value = data.biganimal_cluster.this.backup_schedule_time
}
output "cluster_name" {
value = data.biganimal_cluster.this.cluster_name
}
Expand Down Expand Up @@ -94,6 +98,10 @@ output "storage" {
value = data.biganimal_cluster.this.storage
}
output "wal_storage" {
value = data.biganimal_cluster.this.wal_storage
}
output "superuser_access" {
value = coalesce(data.biganimal_cluster.this.superuser_access, false)
}
Expand Down Expand Up @@ -143,6 +151,7 @@ output "tags" {

- `allowed_ip_ranges` (Attributes Set) Allowed IP ranges. (see [below for nested schema](#nestedatt--allowed_ip_ranges))
- `backup_retention_period` (String) Backup retention period. For example, "7d", "2w", or "3m".
- `backup_schedule_time` (String) Backup schedule time in 24 hour cron expression format.
- `csp_auth` (Boolean) Is authentication handled by the cloud service provider. Available for AWS only, See [Authentication](https://www.enterprisedb.com/docs/biganimal/latest/getting_started/creating_a_cluster/#authentication) for details.
- `maintenance_window` (Attributes) Custom maintenance window. (see [below for nested schema](#nestedatt--maintenance_window))
- `pause` (Boolean) Pause cluster. If true it will put the cluster on pause and set the phase as paused, if false it will resume the cluster and set the phase as healthy. Pausing a cluster allows you to save on compute costs without losing data or cluster configuration settings. While paused, clusters aren't upgraded or patched, but changes are applied when the cluster resumes. Pausing a high availability cluster shuts down all cluster nodes
Expand All @@ -160,6 +169,7 @@ output "tags" {
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
- `transparent_data_encryption` (Attributes) Transparent Data Encryption (TDE) key (see [below for nested schema](#nestedatt--transparent_data_encryption))
- `volume_snapshot_backup` (Boolean) Volume snapshot.
- `wal_storage` (Attributes) Use a separate storage volume for Write-Ahead Logs (Recommended for high write workloads) (see [below for nested schema](#nestedatt--wal_storage))

### Read-Only

Expand Down Expand Up @@ -272,6 +282,21 @@ Read-Only:
- `status` (String) Status.


<a id="nestedatt--wal_storage"></a>
### Nested Schema for `wal_storage`

Required:

- `size` (String) Size of the volume. It can be set to different values depending on your volume type and properties.
- `volume_properties` (String) Volume properties in accordance with the selected volume type.
- `volume_type` (String) Volume type. For Azure: "azurepremiumstorage" or "ultradisk". For AWS: "gp3", "io2", or "io2-block-express". For Google Cloud: only "pd-ssd".

Optional:

- `iops` (String) IOPS for the selected volume. It can be set to different values depending on your volume type and properties.
- `throughput` (String) Throughput is automatically calculated by BigAnimal based on the IOPS input if it's not provided.


<a id="nestedatt--cluster_architecture"></a>
### Nested Schema for `cluster_architecture`

Expand All @@ -292,7 +317,7 @@ Required:

- `size` (String) Size of the volume. It can be set to different values depending on your volume type and properties.
- `volume_properties` (String) Volume properties in accordance with the selected volume type.
- `volume_type` (String) Volume type. For Azure: "azurepremiumstorage" or "ultradisk". For AWS: "gp3", "io2", org s "io2-block-express". For Google Cloud: only "pd-ssd".
- `volume_type` (String) Volume type. For Azure: "azurepremiumstorage" or "ultradisk". For AWS: "gp3", "io2", or "io2-block-express". For Google Cloud: only "pd-ssd".

Optional:

Expand Down
2 changes: 1 addition & 1 deletion docs/data-sources/csp_tag.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ terraform {
required_providers {
biganimal = {
source = "EnterpriseDB/biganimal"
version = "1.1.1"
version = "1.2.0"
}
}
}
Expand Down
25 changes: 25 additions & 0 deletions docs/data-sources/faraway_replica.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ output "backup_retention_period" {
value = data.biganimal_faraway_replica.this.backup_retention_period
}
output "backup_schedule_time" {
value = data.biganimal_faraway_replica.this.backup_schedule_time
}
output "cluster_name" {
value = data.biganimal_faraway_replica.this.cluster_name
}
Expand Down Expand Up @@ -104,6 +108,10 @@ output "storage" {
value = data.biganimal_faraway_replica.this.storage
}
output "wal_storage" {
value = data.biganimal_faraway_replica.this.wal_storage
}
output "volume_snapshot_backup" {
value = data.biganimal_faraway_replica.this.volume_snapshot_backup
}
Expand All @@ -120,6 +128,7 @@ output "volume_snapshot_backup" {

- `allowed_ip_ranges` (Attributes Set) Allowed IP ranges. (see [below for nested schema](#nestedatt--allowed_ip_ranges))
- `backup_retention_period` (String) Backup retention period. For example, "7d", "2w", or "3m".
- `backup_schedule_time` (String) Backup schedule time in 24 hour cron expression format.
- `csp_auth` (Boolean) Is authentication handled by the cloud service provider.
- `pe_allowed_principal_ids` (Set of String) Cloud provider subscription/account ID, need to be specified when cluster is deployed on BigAnimal's cloud account.
- `pg_config` (Attributes Set) Database configuration parameters. (see [below for nested schema](#nestedatt--pg_config))
Expand All @@ -128,6 +137,7 @@ output "volume_snapshot_backup" {
- `service_account_ids` (Set of String) A Google Cloud Service Account is used for logs. If you leave this blank, then you will be unable to access log details for this cluster. Required when cluster is deployed on BigAnimal's cloud account.
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
- `transparent_data_encryption` (Attributes) Transparent Data Encryption (TDE) key (see [below for nested schema](#nestedatt--transparent_data_encryption))
- `wal_storage` (Attributes) Use a separate storage volume for Write-Ahead Logs (Recommended for high write workloads) (see [below for nested schema](#nestedatt--wal_storage))

### Read-Only

Expand Down Expand Up @@ -194,6 +204,21 @@ Read-Only:
- `status` (String) Status.


<a id="nestedatt--wal_storage"></a>
### Nested Schema for `wal_storage`

Required:

- `size` (String) Size of the volume. It can be set to different values depending on your volume type and properties.
- `volume_properties` (String) Volume properties in accordance with the selected volume type.
- `volume_type` (String) Volume type. For Azure: "azurepremiumstorage" or "ultradisk". For AWS: "gp3", "io2", or "io2-block-express". For Google Cloud: only "pd-ssd".

Optional:

- `iops` (String) IOPS for the selected volume. It can be set to different values depending on your volume type and properties.
- `throughput` (String) Throughput is automatically calculated by BigAnimal based on the IOPS input if it's not provided.


<a id="nestedatt--cluster_architecture"></a>
### Nested Schema for `cluster_architecture`

Expand Down
22 changes: 21 additions & 1 deletion docs/data-sources/pgd.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ terraform {
required_providers {
biganimal = {
source = "EnterpriseDB/biganimal"
version = "1.1.1"
version = "1.2.0"
}
}
}
Expand Down Expand Up @@ -102,6 +102,11 @@ terraform {
<a id="nestedatt--data_groups"></a>
### Nested Schema for `data_groups`

Optional:

- `backup_schedule_time` (String) Backup schedule time in 24 hour cron expression format.
- `wal_storage` (Attributes) Use a separate storage volume for Write-Ahead Logs (Recommended for high write workloads) (see [below for nested schema](#nestedatt--data_groups--wal_storage))

Read-Only:

- `allowed_ip_ranges` (Attributes Set) Allowed IP ranges. (see [below for nested schema](#nestedatt--data_groups--allowed_ip_ranges))
Expand Down Expand Up @@ -131,6 +136,21 @@ Read-Only:
- `service_account_ids` (Set of String) A Google Cloud Service Account is used for logs. If you leave this blank, then you will be unable to access log details for this cluster. Required when cluster is deployed on BigAnimal's cloud account.
- `storage` (Attributes) Storage. (see [below for nested schema](#nestedatt--data_groups--storage))

<a id="nestedatt--data_groups--wal_storage"></a>
### Nested Schema for `data_groups.wal_storage`

Required:

- `size` (String) Size of the volume. It can be set to different values depending on your volume type and properties.
- `volume_properties` (String) Volume properties in accordance with the selected volume type.
- `volume_type` (String) Volume type. For Azure: "azurepremiumstorage" or "ultradisk". For AWS: "gp3", "io2", or "io2-block-express". For Google Cloud: only "pd-ssd".

Optional:

- `iops` (String) IOPS for the selected volume. It can be set to different values depending on your volume type and properties.
- `throughput` (String) Throughput is automatically calculated by BigAnimal based on the IOPS input if it's not provided.


<a id="nestedatt--data_groups--allowed_ip_ranges"></a>
### Nested Schema for `data_groups.allowed_ip_ranges`

Expand Down
2 changes: 1 addition & 1 deletion docs/data-sources/tag.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ terraform {
required_providers {
biganimal = {
source = "EnterpriseDB/biganimal"
version = "1.1.1"
version = "1.2.0"
}
}
}
Expand Down
1 change: 1 addition & 0 deletions docs/resources/analytics_cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ The analytics cluster resource is used to manage BigAnimal analytics clusters.

- `allowed_ip_ranges` (Attributes Set) Allowed IP ranges. (see [below for nested schema](#nestedatt--allowed_ip_ranges))
- `backup_retention_period` (String) Backup retention period. For example, "7d", "2w", or "3m".
- `backup_schedule_time` (String) Backup schedule time in 24 hour cron expression format.
- `csp_auth` (Boolean) Is authentication handled by the cloud service provider.
- `maintenance_window` (Attributes) Custom maintenance window. (see [below for nested schema](#nestedatt--maintenance_window))
- `pause` (Boolean) Pause cluster. If true it will put the cluster on pause and set the phase as paused, if false it will resume the cluster and set the phase as healthy. Pausing a cluster allows you to save on compute costs without losing data or cluster configuration settings. While paused, clusters aren't upgraded or patched, but changes are applied when the cluster resumes. Pausing a high availability cluster shuts down all cluster nodes
Expand Down
2 changes: 1 addition & 1 deletion docs/resources/aws_connection.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ terraform {
required_providers {
biganimal = {
source = "EnterpriseDB/biganimal"
version = "1.1.1"
version = "1.2.0"
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion docs/resources/azure_connection.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ terraform {
required_providers {
biganimal = {
source = "EnterpriseDB/biganimal"
version = "1.1.1"
version = "1.2.0"
}
}
}
Expand Down
37 changes: 34 additions & 3 deletions docs/resources/cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ terraform {
required_providers {
biganimal = {
source = "EnterpriseDB/biganimal"
version = "1.1.1"
version = "1.2.0"
}
random = {
source = "hashicorp/random"
Expand Down Expand Up @@ -55,6 +55,7 @@ resource "biganimal_cluster" "single_node_cluster" {
]
backup_retention_period = "6d"
# backup_schedule_time = "0 5 1 * * *" //24 hour format cron expression e.g. "0 5 1 * * *" is 01:05
cluster_architecture = {
id = "single"
nodes = 1
Expand All @@ -80,6 +81,12 @@ resource "biganimal_cluster" "single_node_cluster" {
size = "4 Gi"
}
# wal_storage = {
# volume_type = "gp3"
# volume_properties = "gp3"
# size = "4 Gi"
# }
maintenance_window = {
is_enabled = true
start_day = 6
Expand Down Expand Up @@ -148,7 +155,7 @@ terraform {
required_providers {
biganimal = {
source = "EnterpriseDB/biganimal"
version = "1.1.1"
version = "1.2.0"
}
random = {
source = "hashicorp/random"
Expand Down Expand Up @@ -190,6 +197,7 @@ resource "biganimal_cluster" "ha_cluster" {
]
backup_retention_period = "6d"
# backup_schedule_time = "0 5 1 * * *" //24 hour format cron expression e.g. "0 5 1 * * *" is 01:05
cluster_architecture = {
id = "ha"
nodes = 3
Expand All @@ -214,6 +222,12 @@ resource "biganimal_cluster" "ha_cluster" {
size = "4 Gi"
}
# wal_storage = {
# volume_type = "gp3"
# volume_properties = "gp3"
# size = "4 Gi"
# }
maintenance_window = {
is_enabled = true
start_day = 6
Expand Down Expand Up @@ -300,6 +314,7 @@ output "faraway_replica_ids" {

- `allowed_ip_ranges` (Attributes Set) Allowed IP ranges. (see [below for nested schema](#nestedatt--allowed_ip_ranges))
- `backup_retention_period` (String) Backup retention period. For example, "7d", "2w", or "3m".
- `backup_schedule_time` (String) Backup schedule time in 24 hour cron expression format.
- `csp_auth` (Boolean) Is authentication handled by the cloud service provider. Available for AWS only, See [Authentication](https://www.enterprisedb.com/docs/biganimal/latest/getting_started/creating_a_cluster/#authentication) for details.
- `maintenance_window` (Attributes) Custom maintenance window. (see [below for nested schema](#nestedatt--maintenance_window))
- `pause` (Boolean) Pause cluster. If true it will put the cluster on pause and set the phase as paused, if false it will resume the cluster and set the phase as healthy. Pausing a cluster allows you to save on compute costs without losing data or cluster configuration settings. While paused, clusters aren't upgraded or patched, but changes are applied when the cluster resumes. Pausing a high availability cluster shuts down all cluster nodes
Expand All @@ -316,6 +331,7 @@ output "faraway_replica_ids" {
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
- `transparent_data_encryption` (Attributes) Transparent Data Encryption (TDE) key (see [below for nested schema](#nestedatt--transparent_data_encryption))
- `volume_snapshot_backup` (Boolean) Enable to take a snapshot of the volume.
- `wal_storage` (Attributes) Use a separate storage volume for Write-Ahead Logs (Recommended for high write workloads) (see [below for nested schema](#nestedatt--wal_storage))

### Read-Only

Expand Down Expand Up @@ -355,7 +371,7 @@ Required:

- `size` (String) Size of the volume. It can be set to different values depending on your volume type and properties.
- `volume_properties` (String) Volume properties in accordance with the selected volume type.
- `volume_type` (String) Volume type. For Azure: "azurepremiumstorage" or "ultradisk". For AWS: "gp3", "io2", org s "io2-block-express". For Google Cloud: only "pd-ssd".
- `volume_type` (String) Volume type. For Azure: "azurepremiumstorage" or "ultradisk". For AWS: "gp3", "io2", or "io2-block-express". For Google Cloud: only "pd-ssd".

Optional:

Expand Down Expand Up @@ -457,6 +473,21 @@ Read-Only:
- `key_name` (String) Key name.
- `status` (String) Status.


<a id="nestedatt--wal_storage"></a>
### Nested Schema for `wal_storage`

Required:

- `size` (String) Size of the volume. It can be set to different values depending on your volume type and properties.
- `volume_properties` (String) Volume properties in accordance with the selected volume type.
- `volume_type` (String) Volume type. For Azure: "azurepremiumstorage" or "ultradisk". For AWS: "gp3", "io2", or "io2-block-express". For Google Cloud: only "pd-ssd".

Optional:

- `iops` (String) IOPS for the selected volume. It can be set to different values depending on your volume type and properties.
- `throughput` (String) Throughput is automatically calculated by BigAnimal based on the IOPS input if it's not provided.

## Import

Import is supported using the following syntax:
Expand Down
2 changes: 1 addition & 1 deletion docs/resources/csp_tag.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ terraform {
required_providers {
biganimal = {
source = "EnterpriseDB/biganimal"
version = "1.1.1"
version = "1.2.0"
}
random = {
source = "hashicorp/random"
Expand Down
Loading

0 comments on commit 1fc0375

Please sign in to comment.