Skip to content

Commit cb8d142

Browse files
committed
fix(pgw): update deprecation info
1 parent 8069292 commit cb8d142

File tree

4 files changed

+74
-32
lines changed

4 files changed

+74
-32
lines changed
Binary file not shown.
34.9 KB
Loading
45.2 KB
Loading

pages/public-gateways/reference-content/understanding-v2.mdx

Lines changed: 74 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -19,36 +19,38 @@ This document explains what to expect and how to prepare for the upcoming change
1919

2020
## Summary (TL;DR)
2121

22-
All Scaleway Public Gateways until now have been created and managed with the v1 version of the [Public Gateways API](https://www.scaleway.com/en/developers/api/public-gateway/), either explicitly via the API itself or other devtools, or implicitly behind the scenes of the Scaleway console.
22+
<Lightbox src="scaleway-pgw-table.webp" alt="A visual graphic shows in table form what is explained in text below" />
23+
24+
All Scaleway Public Gateways until now have been created and managed with the version 1 of the [Public Gateways API](https://www.scaleway.com/en/developers/api/public-gateway/), either explicitly via the API itself, or implicitly behind the scenes of the Scaleway console / devtools.
2325

2426
**We are now deprecating v1 of the API and transitioning to v2.**
2527

26-
After a six month deprecation period, the Public Gateways API v1 and associated developer tools will be removed. Before this time, you must:
28+
After a six month deprecation period ending on 2 June 2025, the Public Gateways API v1 and associated developer tools will be removed. Before this time, you must:
2729

28-
- Ensure that your Public Gateway is in [IPAM mode](/network/public-gateways/concepts/#ipam). Only IPAM-mode gateways are compatible with v2.
29-
- Put any non-IPAM mode ([legacy](/network/public-gateways/concepts/#ipam)) Public Gateways in IPAM mode, by detaching them and reattaching them to their Private Networks, or using the dedicated button in the console.
30-
- Update any code or scripts you have that call version 1 of the Public Gateways API, so that they call version 2 instead.
30+
- Ensure that your Public Gateway is in [IPAM mode](#ipam-mode-becomes-default). Only IPAM-mode gateways are compatible with v2.
31+
- Put any non-IPAM mode ([legacy](/network/public-gateways/concepts/#ipam)) Public Gateways in IPAM mode, by using the **Move to IPAM mode** button in the console, or the [dedicated API call](TODO).
32+
- Update any code or scripts you have that call version 1 of the Public Gateways API, so that they call version 2 instead, and do not refer to [removed functionalities](#introducing-public-gateways-api-v2).
3133

32-
If your Public Gateway is already in IPAM-mode, and you only manage it via the console, you will not be affected by these changes and you do not need to take any action.
34+
If your Public Gateway is already in IPAM mode, and you only manage it via the console, you will not be affected by these changes and you do not need to take any action.
3335

3436
## Background: DHCP and IPAM
3537

36-
When Scaleway originally introduced Public Gateways, they provided DHCP functionality for resources on attached Private Networks. With the [arrival of Scaleway VPC](/network/vpc/reference-content/vpc-migration/), DHCP was moved from Public Gateways to Private Networks themselves.
38+
When Scaleway originally introduced Public Gateways, they provided DHCP functionality for resources on attached Private Networks. With the [arrival of Scaleway VPC](/network/vpc/reference-content/vpc-migration/) in 2023, DHCP was moved from Public Gateways to Private Networks themselves.
3739

3840
Scaleway also introduced [IPAM](/network/ipam/concepts/#ipam) to act as a single source of truth for the IP addressing of all Scaleway resources. DHCP uses IPAM to ensure consistent and reliable addressing across all Private Networks.
3941

40-
When you [create a Private Network](/network/vpc/how-to/create-private-network/), you can either automatically generate a default IPv4 CIDR block, or define a custom block. A default IPv6 block is automatically created. When you attach resources to the Private Network, they automatically receive an IPv4 address (and, if compatible, an IPv6 address) from this block. Alternatively, you can [reserve a specific IP address](/network/ipam/how-to/reserve-ip/) from the block, and [specify this address](/network/ipam/how-to/reserve-ip/#how-to-attach-a-resource-to-a-private-network-using-a-reserved-ip-address) when attaching the resource.
42+
When you [create a Private Network](/network/vpc/how-to/create-private-network/), you can either automatically generate a default IPv4 CIDR block, or define a custom block. A default IPv6 block is automatically created. When you attach resources to the Private Network, they automatically receive an IPv4 address (and, if compatible, an IPv6 address) from this block. Alternatively, you can [reserve a specific IP address](/network/ipam/how-to/reserve-ip/) from the block, and [specify this address](/network/ipam/how-to/reserve-ip/#how-to-attach-a-resource-to-a-private-network-using-a-reserved-ip-address) when attaching the resource. When you reserve a private IP with IPAM, you have the option to attach a MAC address to it. This allows you to use the IP with a custom resource e.g. virtual machines hosted on a Proxmox cluster on an Elastic Metal server.
4143

4244
Whether you choose a custom or default CIDR block, automatic address assignment or use a reserved address, **the resource's private IP address does not risk changing** unless you detach the resource from the Private Network. To ensure that you can keep the same address for a resource even after detaching it, use the [reserve IP](/network/ipam/how-to/reserve-ip/) functionality.
4345

44-
## Completing the removal of DHCP from Public Gateways
46+
## Introducing Public Gateways API v2
4547

4648
Since the assignment and management of IP addresses on Private Networks is now managed by IPAM and the Private Networks themselves, we must complete the removal of the DHCP functionality from Public Gateways. This means releasing a new version (v2) of the [Public Gateways API](https://www.scaleway.com/en/developers/api/public-gateway/), which has until now retained a number of legacy DHCP functions. From this new version, you can expect:
4749

4850
- IPAM mode becomes default
49-
- Deprecation of the DHCP object
50-
- Deprecation of the `address` field
51-
- Deprecation of DHCP entries
51+
- Removal of the DHCP object
52+
- Removal of the `address` field
53+
- Removal of DHCP entries
5254
- New SSH bastion feature: Allowed IPs
5355

5456
Read on to find out more.
@@ -70,13 +72,11 @@ Legacy Public Gateways use a [workaround](/network/vpc/reference-content/vpc-mig
7072

7173
Legacy mode will be deprecated going forward, and will not be compatible with v2 of the Public Gateway API. It will no longer be possible to create legacy-mode Public Gateways, all gateways will necessarily be in IPAM mode.
7274

73-
If you still have a legacy gateway, you must transition it to IPAM mode so that it is compatible with v2 of the API. Do this by either:
74-
- Detaching and reattaching the Public Gateway from its Private Network, or
75-
- Using the dedicated button in the Scaleway console.
75+
If you still have a legacy gateway, you must transition it to IPAM mode so that it is compatible with v2 of the API. Do this by using the **Move to IPAM mode** button in the console, or the [dedicated API call](TODO).
7676

7777
This will update the auto-calculated `is_legacy` field and put your gateway in IPAM mode.
7878

79-
### Deprecation of the DHCP object
79+
### Removal of the DHCP object
8080

8181
For some time now, this functionality has been available via the API and developer tools only (not the Scaleway console).
8282

@@ -86,19 +86,19 @@ When attaching a Public Gateway to a Private Network (creating a [Gateway Networ
8686

8787
**The DHCP object does not exist in v2 of the API**. After v1 is removed, it will no longer be possible to create or attach DHCP objects to Gateway Networks. Instead, IPAM configuration, where auto-configuration of `GatewayNetwork` is managed by IPAM, will become default, and replace any need for DHCP configuration via the Public Gateway.
8888

89-
For legacy gateways using the DHCP object for custom DHCP configuration, **no automatic migration of this DHCP functionality** will take place when the gateway moves into IPAM-mode. We expect users to move to the standard set-up of IPAM and Private Networks for DHCP and private IP assignment.
89+
Going forward, we expect users who were previously using a custom DHCP object to move to the standard set-up of IPAM and Private Networks' inbuilt DHCP for private IP assignment. Remember that you can define a [custom CIDR block](/vpc/how-to/create-private-network/#how-to-configure-cidr) for a Private Network at the time of creation, and use [reserved IP addresses](/ipam/how-to/reserve-ip/#how-to-reserve-a-private-ip-address) with IPAM when attaching both standard and custom resources.
9090

91-
### Deprecation of the address field
91+
### Removal of the address field
9292

9393
For some time now, this functionality has been available via the API and developer tools only (not the Scaleway console).
9494

9595
When attaching a Public Gateway to a Private Network (creating a [Gateway Network](https://www.scaleway.com/en/developers/api/public-gateway/#path-gateway-networks-attach-a-public-gateway-to-a-private-network)) via the API, you could use the `address` field to define a single static IP address to assign to the Public Gateway on that Private Network.
9696

97-
**The `address` field does not exist in v2 of the API**. Instead, you can pass an `ipam_ip_id` to specify a reserved IP address to use for the Public Gateway on this Private Network, if you wish. Otherwise, IPAM will auto-assign an IP address from the Private Network's CIDR block to the Public Gateway.
97+
**The `address` field does not exist in v2 of the API**. Instead, you can pass an `ipam_ip_id` to specify a reserved IP address to use for a Public Gateway on a Private Network, if you wish. On the Scaleway console, you can select a [reserved IP](/ipam/how-to/reserve-ip/) to use when attaching a Public Gateway to a Private Network. Otherwise, use the default behaviour where IPAM auto-assigns an IP address from the Private Network's CIDR block to the Public Gateway at the moment of attachment.
9898

99-
TODO: will we automatically take care of this when legacy gateways transition to IPAM mode?
99+
When you use the **Move to IPAM mode** button in the console, or the [dedicated API call](TODO) to move a legacy Public Gateway to IPAM mode, it will keep its current IP address on all attached Private Networks.
100100

101-
### Deprecation of DHCP entries
101+
### Removal of DHCP entries
102102

103103
For some time now, this functionality has been available via the API and developer tools only (not the Scaleway console).
104104

@@ -108,37 +108,79 @@ For some time now, this functionality has been available via the API and develop
108108

109109
For custom resources, such as VMs hosted on Elastic Metal servers, you can use the IPAM API's [Attach IP to custom resource](https://www.scaleway.com/en/developers/api/ipam/#path-ips-attach-ip-to-custom-resource) method to assign IP addresses on Private Networks. This lets you associate a [reserved IP](https://www.scaleway.com/en/developers/api/ipam/#path-ips-reserve-a-new-ip) address with a resource name and MAC address.
110110

111-
We will automatically migrate any existing DHCP entries to IPAM for you, at the moment you put a legacy Public Gateway into IPAM mode by detaching it and reattaching it from/to its Private Network.
111+
We will automatically migrate any existing DHCP entries to IPAM for you, at the moment you put a legacy Public Gateway into IPAM mode. TODO STUFF ABOUT LATER ON DETACH/REATTACH
112112

113113
### SSH bastion allowed IPs
114114

115-
TODO
115+
Allowed IPs is a new functionality of the Public Gateways API v2, that will also be available to all IPAM-mode Public Gateways via the Scaleway console. This feature allows you to specify a list of IP address ranges which should be allowed to connect to the gateway's SSH bastion and the resources behind it. All other IP addresses will be blocked from connecting. Find out more in the [SSH bastion](/network/public-gateways/how-to/use-ssh-bastion/) documentation.
116116

117-
## Deprecation and removal timeline
117+
## Timeline and action to take
118118

119119
TODO CHECK DATES
120120

121-
1. **21 February 2025 - V1 deprecation**: The Public Gateway v1 API will be deprecated. Deprecation means that the API will still function, but it is slated for removal and we do not recommended that you keep using it.
122-
2. [TODO-DATE] **V2 release**: The Public Gateway v2 API will be released, co-existing with v1.
121+
- **21 February 2025 - V2 release**: The Public Gateway v2 API is be released, co-existing with v1.
122+
- **21 February 2025 - V1 deprecation**: The Public Gateway v1 API is deprecated. Deprecation means that the API will still function, but it is slated for removal and we do not recommended that you keep using it.
123123

124124
<Message type="note">
125-
You will be able to list and manage all gateways with the **Scaleway console**, which will adapt to use v1 or v2 of the API as necessary. However, all new Public Gateways created via the console after [TODO-DATE] will necessarily be v2 gateways.
125+
You will be able to list and manage all gateways with the **Scaleway console**, which will adapt to use v1 or v2 of the API as necessary depending on whether or not the gateway is in IPAM mode.
126126
</Message>
127127

128-
3. **21 February 2025 - 2 June 2025: Migration period**: You have a six month migration period to complete the following actions
128+
- **21 February 2025 - 2 June 2025: Migration period**: You have a six month migration period to complete the following actions
129129

130-
- Ensure that your Public Gateway is in [IPAM-mode](/network/public-gateways/concepts/#ipam). Only IPAM-mode gateways are compatible with v2.
131-
- Put any non-IPAM mode ([legacy](/network/public-gateways/concepts/#ipam)) Public Gateways in IPAM-mode, by **detaching them and reattaching them to their Private Networks**.
130+
- Ensure that your Public Gateway is in [IPAM mode](/network/public-gateways/concepts/#ipam). Only IPAM mode gateways are compatible with v2.
131+
- Put any non-IPAM mode ([legacy](/network/public-gateways/concepts/#ipam)) Public Gateways in IPAM-mode, by using the **Move to IPAM mode** button in the console, or the [dedicated API call](TODO).
132132
- Ensure that [DHCP is activated](TODO) on all Private Networks attached to your IPAM-mode Public Gateways.
133133
- Update any code or scripts you have that call version 1 of the Public Gateways API, so that they call version 2 instead. This includes removing any use of the DHCP entries, DHCP objects or address fields as mentioned [above](link).
134134

135135
If your Public Gateway is already in IPAM-mode, and you only manage it via the console, you will not be affected by these changes and you do not need to take any action.
136136

137-
4. **2 June 2025 - V1 removal**: The Public Gateway v1 API will be removed. Any code or scripts still pointing to v1 will cease to function. We will automatically put any existing legacy Public Gateways into IPAM mode.
137+
- **2 June 2025 - V1 removal**: The Public Gateway v1 API will be removed. Any code or scripts still pointing to v1 will cease to function. We will automatically put any existing legacy Public Gateways into IPAM mode.
138138

139139
## FAQ
140140

141-
TODO
141+
### How do I know if I have to take action?
142+
143+
- Consider whether you mange your Public Gateway uniquely via the Scaleway console, or via calls to the API/devtools in code and scripts:
144+
- **Code and scripts**: If you have any code or scripts that call v1 of the API, or use devtool functionality that is removed from v2 such as DHCP object or entries, **you must take action before 2 June 2025**. Update your code and scripts so they point to v2 of the API. [Follow the examples provided for tools such as Terraform](TODO) to rewrite your devtool templates so they do not refer to removed functionalities. Do this in synchronization with moving your gateway to IPAM mode (if necessary).
145+
- **Console-only**: You do not need to take any action, except ensuring that your gateway is in IPAM mode.
146+
147+
- Check in the [Scaleway console](https://console.scaleway.com/public-gateway/public-gateways) whether your Public Gateway is in IPAM mode or legacy mode.
148+
- **Legacy mode**: you must move the gateway to IPAM mode. Only IPAM mode gateways are compatible with v2. Use the **Move to IPAM mode** button in the console, or the [dedicated API call](TODO).
149+
- **IPAM mode**: you do not have any action to take, except updating any code and scripts that you have (see above).
150+
151+
### How do I move my legacy Public Gateway to IPAM mode?
152+
153+
Use the **Move to IPAM mode** button next to your gateway in the [Scaleway console](https://console.scaleway.com/public-gateway/public-gateways), or the [dedicated API call](TODO).
154+
155+
If you use Terraform to manage your infrastructure as code, modify your templates to reattach your Public Gateways in IPAM mode, and use IPAM functionality to replace any DHCP configurations. Refer to our [Terraform snippets](TODO) for help with this.
156+
157+
### What happens when I move my legacy Public Gateway to IPAM mode?
158+
159+
We will detach your Public Gateway from all attached Private Networks, and reattach it in IPAM mode. You can expect downtime of about 10-20 seconds. We will ensure that the IP used for the new attachment is the same as the old one.
160+
161+
### My Public Gateway is already in IPAM mode, do I need to take any action?
162+
163+
If you only manage your gateway via the Scaleway console, you do not need to take any action once your gateway is in IPAM mode.
164+
165+
If you have any code or scripts that call v1 of the Scaleway Public Gateways API, you must update these to point towards [v2](TODO) before 2 June 2025.
166+
167+
### What if I want to keep using my custom gateway DHCP configuration from v1 of the API?
168+
169+
After version 1 of the Public Gateways API is removed on 2 June 2025, these functionalities will no longer be available.
170+
171+
Going forward, we expect users who were previously using custom DHCP with a Public Gateway to move to the standard set-up of IPAM and Private Networks' inbuilt DHCP for private IP assignment. Remember that you can define a [custom CIDR block](/vpc/how-to/create-private-network/#how-to-configure-cidr) for a Private Network at the time of creation, and use [reserved IP addresses](/ipam/how-to/reserve-ip/#how-to-reserve-a-private-ip-address) with IPAM when attaching both standard and custom resources.
172+
173+
### I use Terraform to manage my Public Gateway, what should I do?
174+
175+
If you use Terraform to manage your infrastructure as code, ensure that you are not using any functionality associated with v1 of the API (DHCP objects, DHCP entries or the `address` field). If necessary, modify your templates to reattach your Public Gateways in IPAM mode, and use IPAM functionality to replace any DHCP configurations. Refer to our [Terraform snippets](TODO) for help with this.
176+
177+
### Can't I just wait for Scaleway to force the move to IPAM mode?
178+
179+
After the 2 June 2025 we will carry out a forced action which will move all existing legacy Public Gateways to IPAM mode, and we will remove v1 of the Public Gateways API.
180+
181+
We highly recommend that you move to IPAM mode **before** this date, so that you can plan a smooth and synchronized transition at a time that suits you.
182+
183+
If you still have code or scripts pointing to v1 of the API after the 2 June 2025, these will cease to function.
142184

143185
## Further help and support
144186

0 commit comments

Comments
 (0)