Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v1.105.0 - release → staging #9789

Merged
merged 39 commits into from
Oct 16, 2023
Merged
Show file tree
Hide file tree
Changes from 38 commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
1f5a105
feat: [M3-6755] - Unassign Linodes from Subnet (#9703)
jaalah-akamai Oct 2, 2023
6c3b76c
feat: [M3-7109] - Add AGLB Delete Route Dialog (#9735)
bnussman-akamai Oct 2, 2023
b431ed3
Merge remote-tracking branch 'origin/master' into develop
cpathipa Oct 2, 2023
425ac20
fix: type error in SubnetUnassignLinodesDrawer (#9749)
abailly-akamai Oct 3, 2023
cfbc69b
fix: [M3-7208] Prevent forwarding the title prop to the markup (#9739)
abailly-akamai Oct 3, 2023
ca74722
chore: [M3-7224] - Disable Sentry Performance Tracing (#9745)
bnussman-akamai Oct 3, 2023
ebec3e3
fix: [M3-7226] - Make Reboot Linodes dismissible banner on VPC Detail…
coliu-akamai Oct 3, 2023
a617735
feat: Statically Cache Marketplace Apps (#9732)
bnussman-akamai Oct 3, 2023
21d8c1b
refactor: Remove Cypress `cy.visitWithLogin()` account mocking, impro…
jdamore-linode Oct 3, 2023
e516912
fix: [M3-7079] - Resolve "Incomplete string escape or encoding" alert…
coliu-akamai Oct 3, 2023
a27d3d6
chore: [M3-7231] - Migrate Filesystem TextField Select to Autocomplet…
bnussman-akamai Oct 4, 2023
abe4600
fix: [M3-7072] - Long drawer titles overlapping close icon (#9731)
mjac0bs Oct 4, 2023
6bdab39
feat: [M3-7152] - Add AGLB Route Add Rule Drawer (#9729)
bnussman-akamai Oct 5, 2023
0b58eb2
fix: [M3-7170] - Create VPC Region and Label Validation (#9750)
coliu-akamai Oct 5, 2023
73bcf62
Merge pull request #9761 from linode/staging
cpathipa Oct 5, 2023
170d71b
Merge remote-tracking branch 'origin/master' into develop
cpathipa Oct 5, 2023
5a07117
chore: [M3-7243] - Add 'Tests' to Changeset types (#9766)
coliu-akamai Oct 6, 2023
459f7e7
feat: [M3-7160] - Add AGLB "Edit Certificate" drawer (#9723)
mjac0bs Oct 6, 2023
10f986a
test: [M3-7123] - Cypress integration test for edit subnet flow (#9728)
coliu-akamai Oct 6, 2023
866ba0f
fix: [M3-7204] - Notice fix & improvements (#9755)
abailly-akamai Oct 6, 2023
5af133f
feat: [M3-7119] - Showcase VPC feedback (#9751)
hana-akamai Oct 6, 2023
32f6b4e
feat: [M3-7129] Update PR template (#9747)
abailly-akamai Oct 6, 2023
4cd8d82
fix: [M3-6931] - Fixed top spacing for NodeBalancer empty state (#9746)
tyler-akamai Oct 6, 2023
6168b50
refactor: [M3-7178] - Refactor Cypress test setup, cache API account …
jdamore-linode Oct 9, 2023
68ce4de
chore: Update `vite` and `sanitize-html` to update `postcss` for depe…
bnussman-akamai Oct 9, 2023
c293284
change: PR Template Updates (#9769)
bnussman-akamai Oct 9, 2023
8a622b5
feat: [M3-7185] - Add Drag and Drop support to the Rules Table (#9736)
cpathipa Oct 9, 2023
7670909
test: [M3-7053] - Add Cypress integration test for VPC create flow (#…
jdamore-linode Oct 10, 2023
10996a2
fix: [M3-7259] - Fix inconsistent display of % in Linode Details MNTP…
mjac0bs Oct 10, 2023
74587c4
feat: [M3-7114] - Allow user to choose resize migration type when res…
jaalah-akamai Oct 11, 2023
4ea2630
refactor: [M3-6273] - MUI v5 Migration - SRC > Features > Lish (#9774)
jaalah-akamai Oct 11, 2023
6937aa8
change: [SD-449] - Link "contact Support" text to support ticket moda…
dgreen9 Oct 11, 2023
3dbdef6
change: [OCA-1218] - Comment out CS:GO app pending update (#9753)
tbaka-akamai Oct 11, 2023
5ba8ec5
fix: [M3-7038] - Add Firewall and Linode Configuration success toast …
tyler-akamai Oct 11, 2023
2d6019b
fix: [M3-7256] - Added spacing for Hively external link (#9776)
jaalah-akamai Oct 11, 2023
91d5716
fix: [UIE-6942] - Display Database menu items in side nav and Create …
corya-akamai Oct 12, 2023
2a93420
Cloud version 1.105.0 and API v4 version 0.103.0
coliu-akamai Oct 12, 2023
6e1d583
Update APIv4 CHANGELOG.md version
coliu-akamai Oct 12, 2023
a7154dc
Update changelog
coliu-akamai Oct 16, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 8 additions & 13 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,13 @@ Feel free to open an issue to report a bug or request a feature.
4. Make your changes, commit them following the standards below, and then push them to your fork.
5. Commit message format standard: `<commit type>: [JIRA-ticket-number] - <description>`

**commit types:**
`feat`: New feature for the user (not a part of the code, or ci, ...).
`fix`: Bugfix for the user (not a fix to build something, ...).
`refactor`: Restructuring existing code without changing its external behavior or visual UI. Typically to improve readability, maintainability, and performance.
`style`: General styling changes. Does not change any functionality.
`build`: Changes to the application build.
`chore`: Other changes that do not impact production code.
`ci`: Changes to the CI pipeline.
`docs`: Changes to the documentation docs.
`perf`: Performance changes.
`test`: New tests or changes to existing tests. Does not change the production code.
`change`: Only use for something that doesn’t fit in any other category.
**Commit Types:**
`feat`: New feature for the user (not a part of the code, or ci, ...).
`fix`: Bugfix for the user (not a fix to build something, ...).
`change`: Modifying an existing visual UI instance. Such as a component or a feature.
`refactor`: Restructuring existing code without changing its external behavior or visual UI. Typically to improve readability, maintainability, and performance.
`test`: New tests or changes to existing tests. Does not change the production code.
`upcoming`: A new feature that is in progress, not visible to users yet, and usually behind a feature flag.

**Example:** `feat: [M3-1234] - Allow user to view their login history`

Expand All @@ -40,6 +35,6 @@ Feel free to open an issue to report a bug or request a feature.
- Run `yarn changeset`from the root, choose the package to create a changeset for, and provide a description for the change.
You can either have it committed automatically or do it manually if you need to edit it.
- A changeset is optional, it merely depends if it falls in one of the following categories:
`Added`, `Fixed`, `Changed`, `Removed`, `Tech Stories`, `Upcoming Features`
`Added`, `Fixed`, `Changed`, `Removed`, `Tech Stories`, `Tests`, `Upcoming Features`

Two reviews from members of the Cloud Manager team are required before merge. After approval, all pull requests are squash merged.
63 changes: 44 additions & 19 deletions docs/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,45 +1,70 @@
## Description 📝
**Brief description explaining the purpose of the changes**
Highlight the Pull Request's context and intentions.

## Major Changes 🔄
**List highlighting major changes**
- Change #1
- Change #2
## Changes 🔄
List any change relevant to the reviewer.
- ...
- ...

## Preview 📷
**Include a screenshot or screen recording of the change**

> **Note**: Use `<video src="" />` tag when including recordings in table
:bulb: Use `<video src="" />` tag when including recordings in table.

| Before | After |
| ------- | ------- |
| Content | Content |
| 📷 | 📷 |

## How to test 🧪
1. **How to setup test environment?**
2. **How to reproduce the issue (if applicable)?**
3. **How to verify changes?**
4. **How to run Unit or E2E tests?**

### Prerequisites
(How to setup test environment)
- ...
- ...

### Reproduction steps
(How to reproduce the issue, if applicable)
- ...
- ...

### Verification steps
(How to verify changes)
- ...
- ...

## As an Author I have considered 🤔

*Check all that apply*

- [ ] 👀 Doing a self review
- [ ] ❔ Our [contribution guidelines](https://github.com/linode/manager/blob/develop/docs/CONTRIBUTING.md)
- [ ] 🤏 Splitting feature into small PRs
- [ ] ➕ Adding a changeset
- [ ] 🧪 Providing/Improving test coverage
- [ ] 🔐 Removing all sensitive information from the code and PR description
- [ ] 🚩 Using a feature flag to protect the release
- [ ] 👣 Providing comprehensive reproduction steps
- [ ] 📑 Providing or updating our documentation
- [ ] 🕛 Scheduling a pair reviewing session
- [ ] 📱 Providing mobile support
- [ ] ♿ Providing accessibility support

---
## Commit message and pull request title format standards

> **Note**: Remove this section before opening the pull request

**Make sure your PR title and commit message on squash and merge are as shown below**

`<commit type>: [JIRA-ticket-number] - <description>`

**Commit Types:**
- `feat`: New feature for the user (not a part of the code, or ci, ...).
- `fix`: Bugfix for the user (not a fix to build something, ...).
- `change`: Modifying an existing visual UI instance. Such as a component or a feature.
- `refactor`: Restructuring existing code without changing its external behavior or visual UI. Typically to improve readability, maintainability, and performance.
- `style`: General styling changes. Does not change any functionality.
- `build`: Changes to the application build.
- `chore`: Other changes that do not impact production code.
- `ci`: Changes to the CI pipeline.
- `docs`: Changes to the documentation docs.
- `perf`: Performance changes.
- `test`: New tests or changes to existing tests. Does not change the production code.
- `change`: Only use for something that doesn’t fit in any other category.
- `upcoming`: A new feature that is in progress, not visible to users yet, and usually behind a feature flag.

**Example:** `feat: [M3-1234] - Allow user to view their login history`

---
2 changes: 1 addition & 1 deletion packages/api-v4/.changeset/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Changesets

This directory gets auto-populated when running `yarn changeset`.
You can however add your changesets manually as well, knowing that the [TYPE] is limited to the following options `Added`, `Fixed`, `Changed`, `Removed`, `Tech Stories`, `Upcoming Features` and follow this format:
You can however add your changesets manually as well, knowing that the [TYPE] is limited to the following options `Added`, `Fixed`, `Changed`, `Removed`, `Tech Stories`, `Tests`, `Upcoming Features` and follow this format:

```md
---
Expand Down
7 changes: 7 additions & 0 deletions packages/api-v4/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
## [2023-10-16] - v0.103.0


### Added:

- New payload option `migration_type` in `ResizeLinodePayload` and new event type `linode_resize_warm_create` ([#9677](https://github.com/linode/manager/pull/9677))

## [2023-10-02] - v0.102.0

### Upcoming Features:
Expand Down
2 changes: 1 addition & 1 deletion packages/api-v4/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@linode/api-v4",
"version": "0.102.0",
"version": "0.103.0",
"homepage": "https://github.com/linode/manager/tree/develop/packages/api-v4",
"bugs": {
"url": "https://github.com/linode/manager/issues"
Expand Down
1 change: 1 addition & 0 deletions packages/api-v4/src/account/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,7 @@ export type EventAction =
| 'linode_reboot'
| 'linode_rebuild'
| 'linode_resize_create'
| 'linode_resize_warm_create'
| 'linode_resize'
| 'linode_shutdown'
| 'linode_snapshot'
Expand Down
17 changes: 12 additions & 5 deletions packages/api-v4/src/aglb/certificates.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,15 @@ import Request, {
} from '../request';
import { BETA_API_ROOT } from '../constants';
import { Filter, Params, ResourcePage } from '../types';
import { Certificate, CreateCertificatePayload } from './types';
import { CreateCertificateSchema } from '@linode/validation';
import {
Certificate,
CreateCertificatePayload,
UpdateCertificatePayload,
} from './types';
import {
CreateCertificateSchema,
UpdateCertificateSchema,
} from '@linode/validation';

/**
* getLoadbalancerCertificates
Expand Down Expand Up @@ -67,12 +74,12 @@ export const createLoadbalancerCertificate = (
/**
* updateLoadbalancerCertificate
*
* Creates an Akamai Global Load Balancer certificate
* Updates an Akamai Global Load Balancer certificate
*/
export const updateLoadbalancerCertificate = (
loadbalancerId: number,
certificateId: number,
data: Partial<CreateCertificatePayload>
data: Partial<UpdateCertificatePayload>
) =>
Request<Certificate>(
setURL(
Expand All @@ -81,7 +88,7 @@ export const updateLoadbalancerCertificate = (
)}/certificates/${encodeURIComponent(certificateId)}`
),
setMethod('PUT'),
setData(data)
setData(data, UpdateCertificateSchema)
);

/**
Expand Down
9 changes: 5 additions & 4 deletions packages/api-v4/src/aglb/routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ import Request, {
} from '../request';
import { Filter, Params, ResourcePage } from '../types';
import { BETA_API_ROOT } from '../constants';
import type { Route, RoutePayload } from './types';
import type { Route, RoutePayload, UpdateRoutePayload } from './types';
import { UpdateRouteSchema } from '@linode/validation';

/**
* getLoadbalancerRoutes
Expand Down Expand Up @@ -68,16 +69,16 @@ export const createLoadbalancerRoute = (
export const updateLoadbalancerRoute = (
loadbalancerId: number,
routeId: number,
data: Partial<RoutePayload>
data: UpdateRoutePayload
) =>
Request<Route>(
setURL(
`${BETA_API_ROOT}/aglb/${encodeURIComponent(
loadbalancerId
)}/routes/${encodeURIComponent(routeId)}`
),
setData(data),
setMethod('POST')
setData(data, UpdateRouteSchema),
setMethod('PUT')
);

/**
Expand Down
60 changes: 44 additions & 16 deletions packages/api-v4/src/aglb/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ export interface UpdateLoadbalancerPayload {

type Protocol = 'tcp' | 'http' | 'https';

type RouteProtocol = 'tcp' | 'http';

type Policy =
| 'round_robin'
| 'least_request'
Expand All @@ -37,25 +39,13 @@ export type MatchField = 'path_prefix' | 'query' | 'host' | 'header' | 'method';

export interface RoutePayload {
label: string;
rules: Rule[];
}

export interface ExtendedMatchCondition extends MatchCondition {
service_targets: { id: number; label: string; percentage: number }[];
rules: RuleCreatePayload[];
}

export interface Route {
id: number;
label: string;
protocol: Protocol;
rules: {
match_condition: ExtendedMatchCondition;
}[];
}

export interface CreateRoutePayload {
label: string;
protocol: Protocol;
protocol: RouteProtocol;
rules: {
match_condition: MatchCondition;
service_targets: {
Expand All @@ -66,6 +56,36 @@ export interface CreateRoutePayload {
}[];
}

export type UpdateRoutePayload = Partial<{
label: string;
protocol: RouteProtocol;
rules: RulePayload[];
}>;

export interface CreateRoutePayload {
label: string;
protocol: RouteProtocol;
rules: RulePayload[];
}

export interface Rule {
match_condition: MatchCondition;
service_targets: {
id: number;
label: string;
percentage: number;
}[];
}

export interface RulePayload {
match_condition: MatchCondition;
service_targets: {
id: number;
label: string;
percentage: number;
}[];
}

export interface ConfigurationPayload {
label: string;
port: number;
Expand All @@ -89,7 +109,7 @@ export interface CertificateConfig {
id: number;
}

export interface Rule {
export interface RuleCreatePayload {
match_condition: MatchCondition;
service_targets: ServiceTargetPayload[];
}
Expand All @@ -99,7 +119,7 @@ export interface MatchCondition {
match_field: MatchField;
match_value: string;
session_stickiness_cookie: string | null;
session_stickiness_ttl: string | null;
session_stickiness_ttl: number | null;
}

export interface RouteServiceTargetPayload {
Expand Down Expand Up @@ -141,6 +161,7 @@ type CertificateType = 'ca' | 'downstream';
export interface Certificate {
id: number;
label: string;
certificate: string;
type: CertificateType;
}

Expand All @@ -150,3 +171,10 @@ export interface CreateCertificatePayload {
label: string;
type: CertificateType;
}

export interface UpdateCertificatePayload {
key?: string;
certificate?: string;
label?: string;
type?: CertificateType;
}
7 changes: 5 additions & 2 deletions packages/api-v4/src/linodes/actions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,13 @@ export const linodeShutdown = (linodeId: number | string) =>
* than the new Type allows.
*
* @param linodeId { number } The id of the Linode to resize.
* @param type { string } the new size of the Linode
* @param auto_resize_linode { boolean } do you want to resize your disks after
* @param data { object }
* @param data.type { string } the new size of the Linode
* @param data.allow_auto_disk_resize { boolean } do you want to resize your disks after
* the Linode is resized? NOTE: Unless the user has 1 ext disk or 1 ext disk and
* 1 swap disk, this flag does nothing, regardless of whether it's true or false
* @param data.migrate_type { string } Warm migrations allow Linodes to remain booted during
* most of their cold migration, reducing their downtime to the duration of a simple reboot.
*/
export const resizeLinode = (linodeId: number, data: ResizeLinodePayload) =>
Request<{}>(
Expand Down
4 changes: 4 additions & 0 deletions packages/api-v4/src/linodes/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -394,10 +394,14 @@ export interface LinodeDiskCreationData {
stackscript_data?: any;
}

export type MigrationTypes = 'warm' | 'cold';

export interface ResizeLinodePayload {
type: string;
/** @default true */
allow_auto_disk_resize?: boolean;
/** @default 'cold' */
migration_type?: MigrationTypes;
}

export interface DeleteLinodeConfigInterfacePayload {
Expand Down
2 changes: 1 addition & 1 deletion packages/manager/.changeset/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Changesets

This directory gets auto-populated when running `yarn changeset`.
You can however add your changesets manually as well, knowing that the [TYPE] is limited to the following options `Added`, `Fixed`, `Changed`, `Removed`, `Tech Stories`, `Upcoming Features` and follow this format:
You can however add your changesets manually as well, knowing that the [TYPE] is limited to the following options `Added`, `Fixed`, `Changed`, `Removed`, `Tech Stories`, `Tests`, `Upcoming Features` and follow this format:

```md
---
Expand Down
Loading