Skip to content

fix: share frontend development certificates#3077

Merged
gardener-prow[bot] merged 1 commit into
masterfrom
fix/shared-frontend-certificates
Jul 14, 2026
Merged

fix: share frontend development certificates#3077
gardener-prow[bot] merged 1 commit into
masterfrom
fix/shared-frontend-certificates

Conversation

@grolu

@grolu grolu commented Jul 14, 2026

Copy link
Copy Markdown
Member

How to categorize this PR?

/area dev-productivity
/kind bug
/label crypto

What this PR does / why we need it:
Frontend development certificates are currently stored inside each repository checkout. Each checkout therefore generates a different CA with the same name and replaces the trusted macOS keychain entry, potentially invalidating certificates from other local Dashboard repositories.

This change stores the certificates under ${HOME}/.gardener/dashboard/ssl, allows overriding the directory with GARDENER_DASHBOARD_SSL_DIR, and restricts access to the directory and private keys.

Which issue(s) this PR fixes:
None.

Special notes for your reviewer:
Validated with make verify and targeted certificate-chain, SAN, permissions, and Vite-loading checks. Developers need to run yarn setup once to populate the shared directory.

Release note:

Frontend development TLS certificates generated by `yarn setup` are now shared across local Dashboard repositories.

Summary by CodeRabbit

  • Documentation

    • Expanded local development setup instructions for generating TLS certificates.
    • Added details about certificate storage, sharing across local repositories, macOS keychain integration, and the option to skip keychain setup.
    • Documented how to customize the certificate directory.
  • Bug Fixes

    • Improved local HTTPS certificate discovery and setup.
    • Enhanced certificate file protection to help keep private keys secure.

@grolu
grolu requested a review from a team as a code owner July 14, 2026 11:54
@gardener-prow gardener-prow Bot added area/dev-productivity Developer productivity related (how to improve development) kind/bug Bug crypto Affecting cryptography or security mechanisms (encryption, keys, ciphers, hashes, signatures, etc.). cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jul 14, 2026
@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f33ecbed-6e3e-4110-8169-24c70825c29a

📥 Commits

Reviewing files that changed from the base of the PR and between b554739 and a8163ce.

📒 Files selected for processing (3)
  • docs/development/local-setup.md
  • frontend/vite.config.js
  • scripts/vite-server-setup.sh

📝 Walkthrough

Walkthrough

The local TLS setup now uses a configurable shared certificate directory, defaults to ~/.gardener/dashboard/ssl, applies restrictive permissions, and updates Vite and documentation to use and describe the new location.

Changes

Local TLS certificate flow

Layer / File(s) Summary
Certificate directory and key permissions
scripts/vite-server-setup.sh
The setup script resolves GARDENER_DASHBOARD_SSL_DIR or the dashboard home-directory default, creates the directory securely, and restricts private key permissions.
Vite certificate lookup and setup guidance
frontend/vite.config.js, docs/development/local-setup.md
Vite loads certificates from the shared configurable directory, and local setup documentation and warnings describe certificate storage, keychain behavior, and overrides.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately summarizes the main change: sharing frontend development certificates.
Description check ✅ Passed The description matches the template and fills the required categorization, purpose, issue, notes, and release note sections.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/shared-frontend-certificates

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@petersutter petersutter left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/lgtm
/approve

@gardener-prow

gardener-prow Bot commented Jul 14, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: petersutter

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@gardener-prow gardener-prow Bot added lgtm Indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Jul 14, 2026
@gardener-prow

gardener-prow Bot commented Jul 14, 2026

Copy link
Copy Markdown

LGTM label has been added.

DetailsGit tree hash: 512e6b7b63e49391b42a6d4e9771d9baded59631

@gardener-prow
gardener-prow Bot merged commit 8c03ea1 into master Jul 14, 2026
48 checks passed
@gardener-prow
gardener-prow Bot deleted the fix/shared-frontend-certificates branch July 14, 2026 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/dev-productivity Developer productivity related (how to improve development) cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. crypto Affecting cryptography or security mechanisms (encryption, keys, ciphers, hashes, signatures, etc.). kind/bug Bug lgtm Indicates that a PR is ready to be merged. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants