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

upcoming: [M3-8019] – Add Encrypted/Not Encrypted status to Linode Detail summary header #10537

Conversation

dwiley-akamai
Copy link
Contributor

Description πŸ“

Add Encrypted/Not Encrypted status to Linode Detail summary header.

Changes πŸ”„

  • Add lke_cluster_id to Linode interface, update mocks and several test files accordingly
  • Add Encrypted and Not Encrypted status to Linode Detail summary header

Target release date πŸ—“οΈ

6/10

Preview πŸ“·

Screenshots

Encrypted:
Screenshot 2024-05-31 at 2 55 17β€―PM

Unencrypted & is LKE Linode:
Screenshot 2024-05-31 at 2 57 22β€―PM

Unencrypted & is standard Linode:
Screenshot 2024-05-31 at 2 58 22β€―PM

How to test πŸ§ͺ

To test each of the three cases outlined by the screenshots, it'll be easiest to use the MSW and make adjustments to these lines:

http.get('*/linode/instances/:id', async ({ params }) => {
const id = Number(params.id);
return HttpResponse.json(
linodeFactory.build({
backups: { enabled: false },
id,
label: 'Gecko Edge Test',
region: 'us-edge-1',
})
);
}),

      linodeFactory.build({
        backups: { enabled: false },
        disk_encryption: 'disabled', // change to 'enabled' to see encrypted state
        id,
        label: 'Gecko Edge Test',
        lke_cluster_id: null, // change to a number to see the LKE Linode state
        region: 'us-edge-1',
      })

Prerequisites

  1. Have the linode_disk_encryption tag on your account
  2. Point at the alpha/dev environment
  3. Have the Linode Disk Encryption (LDE) flag in our dev tool toggled on

Verification steps

Without the tag and/or with the LDE flag in our dev tool toggled off, you should not see any LDE-related things in the UI. Otherwise,

  1. Navigate to a Linode Details page
  2. Confirm the displayed encryption status matches what the disk_encryption field in the linode detail network request indicates (enabled --> Encrypted, disabled --> Not Encrypted)
  3. If "Not Encrypted", standard Linodes should have a tooltip that reads: "Use Rebuild to enable or disable disk encryption." LKE Linodes should have a tooltip that reads: "To enable disk encryption, delete the node pool and create a new node pool. New node pools are always encrypted."
  4. Ensure the header looks clean as you shrink and expand the viewport (made some styling adjustments to accommodate the encrypted status)

As an Author I have considered πŸ€”

  • πŸ‘€ Doing a self review
  • ❔ Our contribution guidelines
  • 🀏 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

DevDW added 2 commits May 31, 2024 14:31
…Linode Detail header; adjust several mocks and test files based on update to Linode type
@dwiley-akamai dwiley-akamai added the Linode Disk Encryption (LDE) Relating to LDE project label May 31, 2024
@dwiley-akamai dwiley-akamai self-assigned this May 31, 2024
@dwiley-akamai dwiley-akamai requested a review from a team as a code owner May 31, 2024 19:09
@dwiley-akamai dwiley-akamai requested review from hana-akamai and hkhalil-akamai and removed request for a team May 31, 2024 19:09
Copy link

github-actions bot commented May 31, 2024

Coverage Report: βœ…
Base Coverage: 82.35%
Current Coverage: 82.36%

Copy link
Contributor

@mjac0bs mjac0bs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Confirmed that with the LDE flag in our dev tool toggled off, I do not see any LDE-related things in the UI.
  • Confirmed the displayed encryption status matches what the disk_encryption field in the linode detail network request indicates (enabled --> Encrypted, disabled --> Not Encrypted).
  • Confirmed the tooltip matches the screenshots in the Preview section for standard vs LKE linodes.
  • Confirmed the encrypted status and tooltip look good upon screen resizing.
  • Confirmed no styling regressions to the encryption status on the LKE details page.

Thanks for the test coverage too! Left a few minor comments.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be an Added changeset?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From my perspective, for the api-v4 package, "Added" indicates a newly-created type or interface, whereas "Changed" would include existing types and interfaces being expanded with new properties. Open to changing this based on additional thoughts, but it's probably a good Cafe item so a convention can be set.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your perspective makes sense - I am curious to hear what other members of the team think fits best here. Totally possible that I'm just thinking about it differently.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(In support of leaving this changeset as is, I can add a comment to our next changelog doc when the team reviews pre-release just to clarify our convention, and we won't need to dedicate any cafe time.)

@@ -22,3 +22,9 @@ export const DISK_ENCRYPTION_BACKUPS_CAVEAT_COPY =

export const DISK_ENCRYPTION_NODE_POOL_GUIDANCE_COPY =
'To enable disk encryption, delete the node pool and create a new node pool. New node pools are always encrypted.';

export const UNENCRYPTED_STANDARD_LINODE_GUIDANCE_COPY =
'Use Rebuild to enable or disable disk encryption.';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This copy feels a little strange when it begins with the two verbs next to each other. Would something like Rebuild your Linode to enable or disable disk encryption. be better here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will bring this to UX for consideration πŸ‘€

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Revised to Rebuild this Linode to enable or disable disk encryption. after revisiting the copy with UX πŸš€

Copy link
Contributor

@hkhalil-akamai hkhalil-akamai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified detail header correctly reflects disk_encryption value and layout scales with the window as expected.

Approved pending @mjac0bs' comments regarding changelog and copy wording.

Copy link
Contributor

@mjac0bs mjac0bs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving, pending we follow up on possible copy update (pending UX feedback) in this ticket or a future one. πŸš€

@mjac0bs mjac0bs added the Approved Multiple approvals and ready to merge! label Jun 4, 2024
@dwiley-akamai dwiley-akamai merged commit 9e6474a into linode:develop Jun 4, 2024
18 checks passed
@dwiley-akamai dwiley-akamai deleted the M3-8019-encryption-indicator-linode-detail-header branch June 4, 2024 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approved Multiple approvals and ready to merge! Linode Disk Encryption (LDE) Relating to LDE project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants