-
Notifications
You must be signed in to change notification settings - Fork 636
TLS Sync VS Code Extensions #5260
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
Conversation
1f56562
to
db2582c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still mid-review, but some things to fix
heft-plugins/heft-vsix-plugin/src/VSCodeExtensionPackagePlugin.ts
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-shared/src/VScodeOutputChannelTerminalProvider.ts
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-ui-extension/webpack.config.js
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-shared/src/VScodeOutputChannelTerminalProvider.ts
Outdated
Show resolved
Hide resolved
Also, why are there 2 separate extensions? Can this not be just one? |
The UI extension runs code on the local machine. This creates and trusts the certificates on the local machine. |
heft-plugins/heft-vscode-extension-plugin/src/VSCodeExtensionPackagePlugin.ts
Outdated
Show resolved
Hide resolved
rigs/heft-vscode-extension-rig/profiles/default/includes/eslint/mixins/friendly-locals.js
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-workspace-extension/eslint.config.js
Outdated
Show resolved
Hide resolved
heft-plugins/heft-vscode-extension-plugin/src/VSCodeExtensionPackagePlugin.ts
Outdated
Show resolved
Hide resolved
rigs/heft-vscode-extension-rig/profiles/default/config/heft.json
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-shared/src/VScodeOutputChannelTerminalProvider.ts
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-workspace-extension/src/extension.ts
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-workspace-extension/src/extension.ts
Outdated
Show resolved
Hide resolved
heft-plugins/heft-vscode-extension-plugin/src/VSCodeExtensionPackagePlugin.ts
Outdated
Show resolved
Hide resolved
heft-plugins/heft-vscode-extension-plugin/src/VSCodeExtensionPackagePlugin.ts
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-workspace-extension/src/extension.ts
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-workspace-extension/src/extension.ts
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-workspace-extension/package.json
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-workspace-extension/package.json
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-workspace-extension/package.json
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-workspace-extension/README.md
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-workspace-extension/.npmignore
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-ui-extension/src/extension.ts
Outdated
Show resolved
Hide resolved
rigs/heft-vscode-extension-rig/profiles/default/config/heft.json
Outdated
Show resolved
Hide resolved
common/changes/@rushstack/node-core-library/bmiddha-tls-sync_2025-07-01-20-54.json
Outdated
Show resolved
Hide resolved
common/changes/@rushstack/node-core-library/bmiddha-tls-sync_2025-07-01-20-54.json
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only a few remaining open items from me. You may also want to wait for another signoff, maybe from Ian, given the changes to the build flows that I'm less familar with.
heft-plugins/heft-vscode-extension-plugin/src/VSCodeExtensionPackagePlugin.ts
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-ui-extension/src/extension.ts
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-ui-extension/src/extension.ts
Outdated
Show resolved
Hide resolved
vscode-extensions/tls-sync-vscode-ui-extension/src/extension.ts
Outdated
Show resolved
Hide resolved
b0e40bf
to
f6cea25
Compare
f6cea25
to
455a090
Compare
Summary
Add new projects to support the TLS Sync VS Code Extensions.
Details
TLS Sync VSCode Extensions orchestrate
@rushstack/debug-certificate-manager
to create, trust, and sync certificates when using VSCode remotes (devcontainer, WSL, codespaces, tunnels, etc.).VSCode API
Activation triggers
The workspace extension is activated when a
.tlssync
file is found by VSCode in the workspace. The Workspace extension is activated by the UI extension when it send the "ping" command to match versions.Commands
tlssync.workspace.showLog
- Open output window for workspace extension logstlssync.ui.showLog
- Open output window for UI extension logstlssync.ui.sync
- Sync certificates from local to remotetlssync.ui.showWalkthrough
- Open walkthrough page for this sync extensiontlssync.ui.showSettings
- Open settings page for the extensiontlssync.workspace.ping
- Internal command used by the workspace extension to check the availability of the UI extension. This command is not surfaced to the user. THistlssync.ui.ensureCertificate
- Calls CertficiateManager.ensureCertificate. This can create and trust certificates as necessarytlssync.ui.untrustCertificate
- Remove and un-trust certificatesWalkthroughs
Settings
Package changes
tls-sync-vscode-extension-pack
tls-sync-vscode-workspace-extension
tls-sync-vscode-ui-extension
@rushstack/heft-vscode-extension-plugin
@rushstack/heft-vscode-extension-rig
vsix
using@vscode/vsce
CertificateStore
CertificateManger
CertificateStore
untrustCertificateAsync
to clearcaCertificateData
sudo
package. It now usesosascript
(applescript) to run the elevated command. This enables the use of this package where the process STDIO is not surfaced to the user.tls-sync-vscode-workspace-extension
,tls-sync-vscode-ui-extension
,tls-sync-vscode-shared
CertificateManager
on the local and remote machines and sync certificates between the stores.Repo changes
How it was tested
Tested in GitHub Codespaces, WSL, DevContainer, Tunnels with a mix of Linux and Windows hosts.
Tested with Windows and macOS host machines.
Impacted documentation