You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(RDB): implement RDB engine upgrade using MajorUpgradeWorkflow (#3408)
* feat: implement RDB engine upgrade using MajorUpgradeWorkflow to minimize downtime and preserve endpoints
* feat(rdb): add comprehensive tests and documentation for engine upgrade feature
* refactor(rdb): consolidate engine upgrade tests into single comprehensive test
* feat: ensure both old and new RDB instances reach stable states during engine upgrade
* fix: resolve golangci-lint issues for RDB engine upgrade implementation
* test: compress cassettes and remove orphan test data files
* docs: regenerate documentation after rebase on master
* refactor: replace interface{} with any and remove unnecessary comments
* chore: bump sdk (#3411)
* chore: bump sdk
* fix cassettes
* Compress cassettes
* chore: fix documentation and include a make docs (#3412)
* chore: fix documentation and include a make docs
* Fix linter
* feat(rdb): clarify engine expects version name not ID
* fix(rdb): gofmt formatting
* feat(rdb): accept only version.Name for engine (simplify validation)
* docs: regenerate after engine description update
---------
Co-authored-by: Rémy Léone <rleone@scaleway.com>
value = scaleway_rdb_instance.main.upgradable_versions
97
+
}
98
+
99
+
# To upgrade to PostgreSQL 15, simply change the engine value
100
+
# This will trigger a blue/green upgrade with automatic endpoint migration
101
+
# resource "scaleway_rdb_instance" "main" {
102
+
# name = "my-database"
103
+
# node_type = "DB-DEV-S"
104
+
# engine = "PostgreSQL-15" # Changed from PostgreSQL-14
105
+
# is_ha_cluster = false
106
+
# disable_backup = true
107
+
# user_name = "my_user"
108
+
# password = "thiZ_is_v&ry_s3cret"
109
+
# }
110
+
```
111
+
80
112
### Examples of endpoint configuration
81
113
82
114
Database Instances can have a maximum of 1 public endpoint and 1 private endpoint. They can have both, or none.
@@ -141,9 +173,9 @@ interruption.
141
173
142
174
~> **Important** Once your Database Instance reaches `disk_full` status, if you are using `lssd` storage, you should upgrade the `node_type`, and if you are using `bssd` storage, you should increase the volume size before making any other changes to your Database Instance.
143
175
144
-
-`engine` - (Required) Database Instance's engine version (e.g. `PostgreSQL-11`).
176
+
-`engine` - (Required) Database Instance's engine version name (e.g. `PostgreSQL-16`, `MySQL-8`).
145
177
146
-
~> **Important** Updates to `engine` will recreate the Database Instance.
178
+
~> **Important** Updates to `engine` will perform a blue/green upgrade using `MajorUpgradeWorkflow`. This creates a new instance from a snapshot, migrates endpoints automatically, and updates the Terraform state with the new instance ID. The upgrade ensures minimal downtime but **any writes between the snapshot and the endpoint migration will be lost**. Use the `upgradable_versions` computed attribute to check available versions for upgrade.
147
179
148
180
-`volume_type` - (Optional, default to `lssd`) Type of volume where data are stored (`lssd`, `sbs_5k` or `sbs_15k`).
149
181
@@ -245,6 +277,11 @@ are of the form `{region}/{id}`, e.g. `fr-par/11111111-1111-1111-1111-1111111111
245
277
-`address` - The private IPv4 address.
246
278
-`certificate` - Certificate of the Database Instance.
247
279
-`organization_id` - The organization ID the Database Instance is associated with.
280
+
-`upgradable_versions` - List of available engine versions for upgrade. Each version contains:
281
+
-`id` - Version ID to use in upgrade requests.
282
+
-`name` - Engine version name (e.g., `PostgreSQL-15`).
283
+
-`version` - Version string (e.g., `15.5`).
284
+
-`minor_version` - Minor version string (e.g., `15.5.0`).
Description: "Database's engine version name (e.g., 'PostgreSQL-16', 'MySQL-8'). Changing this value triggers a blue/green upgrade using MajorUpgradeWorkflow with automatic endpoint migration",
0 commit comments