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
docs: rename v1alpha2 to v1 and document installV1CRD opt-in
The new CRD version is now called v1 instead of v1alpha2, and the operator
only installs the v1 CRD and its conversion webhook when the
operator.args.installV1CRD helm value is set. Update the version docs to
v26.29, regenerate the CRD field descriptions from the v1 schema, and pick
up the newer rollout-cancellation instructions on the v1alpha1 page.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: doc/user/content/releases/_index.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1042,7 +1042,7 @@ v26.4.0 introduces several performance improvements and bugfixes.
1042
1042
-**Up to 3x faster hydration times for large PostgreSQL tables**: We've reduced the overhead incurred by communication between multiple *workers* on a large cluster. We've observed up to 3x throughput improvement when ingesting 1 TB PostgreSQL tables on large clusters.
1043
1043
-**More efficient source ingestion batching**: Sources now batch writes more effectively. This can result in improved freshness and lower resource utilization, especially when a source is doing a large number of writes.
1044
1044
-**CloudSQL HA failover support** (<red>*Materialize Self-Managed only*</red>): Materialize Self-Managed now offers better support for handling failovers in CloudSQL HA sources, without downtime. [Contact our support team](/support/) to enable this in your environment.
1045
-
-**Manual Promotion** (<red>*Materialize Self-Managed only*</red>): [Rollout strategies](/self-managed-deployments/upgrading/materialize-instances/v1alpha2/#rollout-strategies) allow you control how Materialize transitions from the current generation to a new generation during an upgrade. We've added a new rollout strategy called `ManuallyPromote` which allows you to choose when to promote the new generation. This means that you can minimize the impact of potential downtime.
1045
+
-**Manual Promotion** (<red>*Materialize Self-Managed only*</red>): [Rollout strategies](/self-managed-deployments/upgrading/materialize-instances/v1/#rollout-strategies) allow you control how Materialize transitions from the current generation to a new generation during an upgrade. We've added a new rollout strategy called `ManuallyPromote` which allows you to choose when to promote the new generation. This means that you can minimize the impact of potential downtime.
Copy file name to clipboardExpand all lines: doc/user/content/self-managed-deployments/upgrading/materialize-instances/_index.md
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,40 +18,40 @@ Operator first. See [Upgrading the Helm Chart and Materialize Operator](/self-ma
18
18
19
19
## CRD API Versions
20
20
21
-
Starting in v26.19, the Materialize Operator supports two CRD API versions:
21
+
Starting in v26.29, the Materialize Operator supports two CRD API versions:
22
22
23
-
-**v1alpha2** simplifies the upgrade process. Rollouts trigger automatically when spec fields change, removing the need to manually set a `requestRollout` UUID.
23
+
-**v1** simplifies the upgrade process. Rollouts trigger automatically when spec fields change, removing the need to manually set a `requestRollout` UUID.
24
24
-**v1alpha1** uses the original two-step upgrade process: first stage changes, then trigger a rollout with a new `requestRollout` UUID.
25
25
26
-
Switching to v1alpha2 is **opt-in**. Upgrading the operator to v26.19+ does not change your existing v1alpha1 CRs or their behavior. You can continue using v1alpha1 indefinitely. When you are ready, you can switch individual instances to v1alpha2 at your own pace.
26
+
Switching to v1 is **opt-in**. Upgrading the operator to v26.29+ does not change your existing v1alpha1 CRs or their behavior. You can continue using v1alpha1 indefinitely. When you are ready, you can switch individual instances to v1 at your own pace.
27
27
28
28
{{< note >}}
29
-
We recommend opting in to v1alpha2 at your convenience, as v1alpha2 behavior will become the default in the next major release.
29
+
We recommend opting in to v1 at your convenience, as v1 behavior will become the default in the next major release.
Switching to v1alpha2 is opt-in and does not trigger a rollout on its own. Before switching, ensure you have completed the prerequisites in the [v26.19 upgrade notes](/self-managed-deployments/upgrading/#upgrading-to-v2619-and-later-versions) (cert-manager, network/firewall changes).
39
+
Switching to v1 is opt-in and does not trigger a rollout on its own. Before switching, ensure you have completed the prerequisites in the [v26.29 upgrade notes](/self-managed-deployments/upgrading/#upgrading-to-v2629-and-later-versions) (cert-manager, network/firewall changes), and have enabled the v1 CRD by setting the Helm value `operator.args.installV1CRD=true` on the operator. Without this value, the operator only installs the v1alpha1 CRD version, and the Kubernetes API server rejects v1 CRs.
40
40
41
41
### How it works
42
42
43
-
The v1alpha1 CRD remains the storage version. When you submit a v1alpha2 CR, the operator's conversion webhook automatically converts it to v1alpha1 for storage. During conversion, the webhook computes a SHA256 hash of the spec and derives a deterministic `requestRollout` UUID from it. This means:
43
+
The v1alpha1 CRD remains the storage version. When you submit a v1 CR, the operator's conversion webhook automatically converts it to v1alpha1 for storage. During conversion, the webhook computes a SHA256 hash of the spec and derives a deterministic `requestRollout` UUID from it. This means:
44
44
45
45
- If the spec hasn't changed, the same UUID is generated, so **no unintended rollout is triggered** by switching API versions alone.
46
46
- If the spec has changed, a different UUID is produced, automatically triggering a rollout.
47
47
48
48
### Using kubectl
49
49
50
-
To switch an existing instance to v1alpha2, apply your CR with the updated `apiVersion` and remove the `requestRollout` field:
50
+
To switch an existing instance to v1, apply your CR with the updated `apiVersion` and remove the `requestRollout` field:
51
51
52
52
```shell
53
53
kubectl apply -f - <<EOF
54
-
apiVersion: materialize.cloud/v1alpha2
54
+
apiVersion: materialize.cloud/v1
55
55
kind: Materialize
56
56
metadata:
57
57
name: <instance-name>
@@ -69,15 +69,15 @@ Or patch the API version on an existing CR:
69
69
kubectl patch materialize <instance-name> \
70
70
-n <materialize-instance-namespace> \
71
71
--type='merge' \
72
-
-p '{"apiVersion":"materialize.cloud/v1alpha2"}'
72
+
-p '{"apiVersion":"materialize.cloud/v1"}'
73
73
```
74
74
75
75
### Using Terraform
76
76
77
77
If you are managing your Materialize instance with the [Materialize Terraform modules](https://github.com/MaterializeInc/materialize-terraform-self-managed), set:
0 commit comments