Skip to content

Commit 0b3126f

Browse files
Merge pull request #11576 from linode/staging
Release v1.135.0 - staging → master
2 parents 1ef9498 + b3bb140 commit 0b3126f

File tree

255 files changed

+8039
-4729
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

255 files changed

+8039
-4729
lines changed

.github/workflows/e2e_schedule_and_push.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ env:
77
USER_4: ${{ secrets.USER_4 }}
88
CLIENT_ID: ${{ secrets.REACT_APP_CLIENT_ID }}
99
CY_TEST_FAIL_ON_MANAGED: 1
10+
CY_TEST_RESET_PREFERENCES: 1
1011
on:
1112
schedule:
1213
- cron: "0 13 * * 1-5"

docker-compose.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ x-e2e-env:
3838
CY_TEST_FEATURE_FLAGS: ${CY_TEST_FEATURE_FLAGS}
3939
CY_TEST_TAGS: ${CY_TEST_TAGS}
4040
CY_TEST_DISABLE_RETRIES: ${CY_TEST_DISABLE_RETRIES}
41+
CY_TEST_RESET_PREFERENCES: ${CY_TEST_RESET_PREFERENCES}
4142

4243
# Cypress environment variables for alternative parallelization.
4344
CY_TEST_SPLIT_RUN: ${CY_TEST_SPLIT_RUN}

docs/development-guide/08-testing.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ Environment variables related to Cypress logging and reporting, as well as repor
223223
| `CY_TEST_DISABLE_RETRIES` | Disable test retries on failure in CI | `1` | Unset; disabled by default |
224224
| `CY_TEST_FAIL_ON_MANAGED` | Fail affected tests when Managed is enabled | `1` | Unset; disabled by default |
225225
| `CY_TEST_GENWEIGHTS` | Generate and output test weights to the given path | `./weights.json` | Unset; disabled by default |
226+
| `CY_TEST_RESET_PREFERENCES` | Reset user preferences when test run begins | `1` | Unset; disabled by default |
226227
227228
###### Performance
228229
@@ -281,17 +282,15 @@ Environment variables that can be used to improve test performance in some scena
281282
cy.wait('@getProfilePreferences');
282283
cy.wait('@getAccountSettings');
283284

284-
/* `getVisible` defined in /cypress/support/helpers.ts
285-
plus a few other commonly used commands shortened as methods */
286-
getVisible(`tr[data-qa-linode="${label}"]`).within(() => {
285+
cy.get(`tr[data-qa-linode="${label}"]`).should('be.visible').within(() => {
287286
// use `within` to search inside/use data from/assert on a specific page element
288287
cy.get(`[data-qa-ip-main]`)
289288
// `realHover` and more real event methods from cypress real events plugin
290289
.realHover()
291290
.then(() => {
292-
getVisible(`[aria-label="Copy ${ip} to clipboard"]`);
291+
cy.get(`[aria-label="Copy ${ip} to clipboard"]`).should('be.visible');
293292
});
294-
getVisible(`[aria-label="Action menu for Linode ${label}"]`);
293+
cy.get(`[aria-label="Action menu for Linode ${label}"]`).should('be.visible');
295294
});
296295
// `findByText` and others from cypress testing library plugin
297296
cy.findByText('Oh Snap!', { timeout: 1000 }).should('not.exist');

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"license": "Apache-2.0",
55
"devDependencies": {
66
"husky": "^9.1.6",
7-
"typescript": "^5.5.4",
7+
"typescript": "^5.7.3",
88
"vitest": "^2.1.1"
99
},
1010
"scripts": {
@@ -52,7 +52,8 @@
5252
"node-fetch": "^2.6.7",
5353
"yaml": "^2.3.0",
5454
"semver": "^7.5.2",
55-
"cookie": "^0.7.0"
55+
"cookie": "^0.7.0",
56+
"nanoid": "^3.3.8"
5657
},
5758
"workspaces": {
5859
"packages": [

packages/api-v4/CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
## [2025-01-28] - v0.133.0
2+
3+
### Changed:
4+
5+
- Allow `cipher_suite` to be `none` in `NodeBalancerConfig` and `CreateNodeBalancerConfig` ([#11515](https://github.com/linode/manager/pull/11515))
6+
7+
### Tech Stories:
8+
9+
- Update `tsconfig.json` to use `bundler` moduleResolution ([#11487](https://github.com/linode/manager/pull/11487))
10+
11+
### Upcoming Features:
12+
13+
- Update types for IAM and resources API ([#11429](https://github.com/linode/manager/pull/11429))
14+
- Add types for Quotas endpoints ([#11493](https://github.com/linode/manager/pull/11493))
15+
- Add Notification Channel related types to cloudpulse/alerts.ts ([#11511](https://github.com/linode/manager/pull/11511))
16+
17+
118
## [2025-01-14] - v0.132.0
219

320
### Added:

packages/api-v4/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@linode/api-v4",
3-
"version": "0.132.0",
3+
"version": "0.133.0",
44
"homepage": "https://github.com/linode/manager/tree/develop/packages/api-v4",
55
"bugs": {
66
"url": "https://github.com/linode/manager/issues"

packages/api-v4/src/cloudpulse/types.ts

Lines changed: 79 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@ export type MetricUnitType =
2020
| 'KB'
2121
| 'MB'
2222
| 'GB';
23+
export type NotificationStatus = 'Enabled' | 'Disabled';
24+
export type ChannelType = 'email' | 'slack' | 'pagerduty' | 'webhook';
25+
export type AlertNotificationType = 'default' | 'custom';
26+
type AlertNotificationEmail = 'email';
27+
type AlertNotificationSlack = 'slack';
28+
type AlertNotificationPagerDuty = 'pagerduty';
29+
type AlertNotificationWebHook = 'webhook';
2330
export interface Dashboard {
2431
id: number;
2532
label: string;
@@ -55,7 +62,7 @@ export interface Widgets {
5562
filters: Filters[];
5663
serviceType: string;
5764
service_type: string;
58-
resource_id: string[];
65+
entity_ids: string[];
5966
time_granularity: TimeGranularity;
6067
time_duration: TimeDuration;
6168
unit: string;
@@ -106,7 +113,7 @@ export interface Dimension {
106113
}
107114

108115
export interface JWETokenPayLoad {
109-
resource_ids: number[];
116+
entity_ids: number[];
110117
}
111118

112119
export interface JWEToken {
@@ -120,7 +127,7 @@ export interface CloudPulseMetricsRequest {
120127
group_by: string;
121128
relative_time_duration: TimeDuration;
122129
time_granularity: TimeGranularity | undefined;
123-
resource_ids: number[];
130+
entity_ids: number[];
124131
}
125132

126133
export interface CloudPulseMetricsResponse {
@@ -218,3 +225,72 @@ export interface Alert {
218225
created: string;
219226
updated: string;
220227
}
228+
229+
interface NotificationChannelAlerts {
230+
id: number;
231+
label: string;
232+
url: string;
233+
type: 'alerts-definitions';
234+
}
235+
interface NotificationChannelBase {
236+
id: number;
237+
label: string;
238+
channel_type: ChannelType;
239+
type: AlertNotificationType;
240+
status: NotificationStatus;
241+
alerts: NotificationChannelAlerts[];
242+
created_by: string;
243+
updated_by: string;
244+
created_at: string;
245+
updated_at: string;
246+
}
247+
248+
interface NotificationChannelEmail extends NotificationChannelBase {
249+
channel_type: AlertNotificationEmail;
250+
content: {
251+
email: {
252+
email_addresses: string[];
253+
subject: string;
254+
message: string;
255+
};
256+
};
257+
}
258+
259+
interface NotificationChannelSlack extends NotificationChannelBase {
260+
channel_type: AlertNotificationSlack;
261+
content: {
262+
slack: {
263+
slack_webhook_url: string;
264+
slack_channel: string;
265+
message: string;
266+
};
267+
};
268+
}
269+
270+
interface NotificationChannelPagerDuty extends NotificationChannelBase {
271+
channel_type: AlertNotificationPagerDuty;
272+
content: {
273+
pagerduty: {
274+
service_api_key: string;
275+
attributes: string[];
276+
description: string;
277+
};
278+
};
279+
}
280+
interface NotificationChannelWebHook extends NotificationChannelBase {
281+
channel_type: AlertNotificationWebHook;
282+
content: {
283+
webhook: {
284+
webhook_url: string;
285+
http_headers: {
286+
header_key: string;
287+
header_value: string;
288+
}[];
289+
};
290+
};
291+
}
292+
export type NotificationChannel =
293+
| NotificationChannelEmail
294+
| NotificationChannelSlack
295+
| NotificationChannelWebHook
296+
| NotificationChannelPagerDuty;

packages/api-v4/src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ export * from './placement-groups';
3232

3333
export * from './profile';
3434

35+
export * from './quotas';
36+
3537
export * from './regions';
3638

3739
export * from './stackscripts';

packages/api-v4/src/nodebalancers/types.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,10 @@ export interface NodeBalancerConfig {
9494
stickiness: Stickiness;
9595
algorithm: Algorithm;
9696
ssl_fingerprint: string;
97-
cipher_suite: 'recommended' | 'legacy';
97+
/**
98+
* Is `none` when protocol is UDP
99+
*/
100+
cipher_suite: 'recommended' | 'legacy' | 'none';
98101
nodes: NodeBalancerConfigNode[];
99102
}
100103

@@ -160,7 +163,7 @@ export interface CreateNodeBalancerConfig {
160163
* @default 80
161164
*/
162165
udp_check_port?: number;
163-
cipher_suite?: 'recommended' | 'legacy';
166+
cipher_suite?: 'recommended' | 'legacy' | 'none';
164167
ssl_cert?: string;
165168
ssl_key?: string;
166169
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export * from './types';
2+
3+
export * from './quotas';

0 commit comments

Comments
 (0)