[feature] Replace odo dev/odo dev --debug with a native TypeScript engine (CRW-10963) - #6097
Draft
vrubezhny wants to merge 1 commit into
Draft
[feature] Replace odo dev/odo dev --debug with a native TypeScript engine (CRW-10963)#6097vrubezhny wants to merge 1 commit into
vrubezhny wants to merge 1 commit into
Conversation
vrubezhny
force-pushed
the
feature/inner-loop
branch
from
September 8, 2026 22:09
be4afb8 to
f00a9ac
Compare
Contributor
Author
|
A short demo of Start/Stop Dev Mode on local Kind cluster and Podman: Dev-Mode-Kind-and-Podman.mp4 |
vrubezhny
marked this pull request as draft
September 8, 2026 22:33
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #6097 +/- ##
==========================================
+ Coverage 50.95% 53.72% +2.77%
==========================================
Files 118 132 +14
Lines 11152 11889 +737
Branches 2553 2678 +125
==========================================
+ Hits 5682 6387 +705
- Misses 5463 5496 +33
+ Partials 7 6 -1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
vrubezhny
force-pushed
the
feature/inner-loop
branch
6 times, most recently
from
September 9, 2026 21:27
670976a to
5377ee1
Compare
…gine (CRW-10963) Replaces the CLI shell-out to `odo dev` / `odo dev --debug` with a native TypeScript dev-mode engine, following the same pattern already used to replace `odo init`/`odo deploy`/`odo undeploy`/`odo describe`. Dev mode now runs directly against the current Kubernetes/OpenShift cluster or a local podman runtime — deploying/starting the dev container(s), performing an initial `.gitignore`-aware file sync plus an ongoing file watcher that syncs and restarts the run/debug command on change, executing that command, and forwarding its endpoints — with no remaining dependency on the `odo` CLI for this feature. The component context-menu commands (dev/dev.manual/dev.onPodman/dev.onPodman.manual/exitDevMode/ forceExitDevMode/showDevTerminal) are rewired to this engine, and the OpenShift Terminal panel UX (live output, Ctrl-C-to-stop) is preserved via a generalized virtual-terminal mode rather than a real spawned process. `describe`'s status reporting was also reworked to accurately reflect simultaneous Dev/Deploy state, `managed-by`, and the actual cluster platform (OpenShift/Kubernetes/Kind/Minikube) for both engines. Extends the Debug command to support Go components in addition to Java, Node.js, and Python, with automatic Delve debugger configuration and VS Code debugger attachment. Adds unit and integration test coverage for all of the new dev-engine modules (session lifecycle, cluster/podman platforms, file sync, command execution, port-forwarding, terminal bridging) and extends existing test suites (`describe`, `kubeUtils`, `component`) to cover the reworked behavior. Signed-off-by: Victor Rubezhny <vrubezhny@redhat.com> Assisted-By: Claude Sonnet 5 <noreply@anthropic.com>
vrubezhny
force-pushed
the
feature/inner-loop
branch
from
September 9, 2026 22:00
5377ee1 to
f17e208
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces the CLI shell-out to
odo dev/odo dev --debugwith a native TypeScript dev-mode engine, following the same pattern already used to replaceodo init/odo deploy/odo undeploy/odo describe. Dev mode now runs directly against the current Kubernetes/OpenShift cluster or a local podman runtime — deploying/starting the dev container(s), performing an initial.gitignore-aware file sync plus an ongoing file watcher that syncs and restarts the run/debug command on change, executing that command, and forwarding its endpoints — with no remaining dependency on theodoCLI for this feature. The component context-menu commands (dev/dev.manual/dev.onPodman/dev.onPodman.manual/exitDevMode/ forceExitDevMode/showDevTerminal) are rewired to this engine, and the OpenShift Terminal panel UX (live output, Ctrl-C-to-stop) is preserved via a generalized virtual-terminal mode rather than a real spawned process.describe's status reporting was also reworked to accurately reflect simultaneous Dev/Deploy state,managed-by, and the actual cluster platform (OpenShift/Kubernetes/Kind/Minikube) for both engines.Extends the Debug command to support Go components in addition to Java, Node.js, and Python, with automatic Delve debugger configuration and VS Code debugger attachment.
Adds unit and integration test coverage for all of the new dev-engine modules (session lifecycle, cluster/podman platforms, file sync, command execution, port-forwarding, terminal bridging) and extends existing test suites (
describe,kubeUtils,component) to cover the reworked behavior.Assisted-By: Claude Sonnet 5 noreply@anthropic.com