feat(devmode): Nocalhost-style inner loop — dev-mode patch + file-sync + port-forward - #28
Merged
Merged
Conversation
…c + port-forward
The tight modify->result loop against a real cluster — the point of a local-first PaaS. Edit on
the low-mem box, see it running in a real DevSpace pod in seconds, no image rebuild.
tools/devmode.py (pure, unit-tested core):
- devmode_patch: strategic-merge patch that swaps a Deployment's container for a dev-runner with
an in-pod /workspace, so synced code runs live; grant-labelled, devmode-labelled.
- sync_command: `kubectl cp` local -> pod (hot reload, no rebuild).
- port_forward_command: `kubectl port-forward` local:remote (local access + debug port).
- devmode_plan: ties patch + sync + forward into one inner-loop plan.
Nocalhost Dev Mode (file-sync/local-access/debugging), governed and in the user's own DevSpace
namespace. Tests: +4 = 133 tools tests green. Wired validate REQUIRED + devspace CapD link.
Live k3s proof to follow.
mdheller
added a commit
that referenced
this pull request
Aug 4, 2026
The enterprise-PaaS governance the BlueMix Gen3/Gen4 diagrams model, done light + sovereign.
Account tiers (admission.py) — BlueMix entitlement/Free-Paid, as quota + backend entitlement:
- TIERS free|pro|enterprise: each sets max_concurrent/gpu_max/cost_budget AND allowed_backends
(free -> local/wasm only; pro -> +k8s/hpc/volunteer; enterprise -> all).
- AdmissionController(tiers={subject: tier}); quota_for applies the tier (explicit quotas still
override); allowed_backends(subject) feeds compute_plane.place() policy. Default tier: pro.
- free tier denies GPU work (gpu_max 0), fail-closed.
Availability-maturity grade (availability.py) — the DW-DevOps Zero-Downtime legend as a governance
artifact (like the commons' reproducible/declared grade):
- GRADES: non-managed -> needs-work -> almost-zd -> zero-downtime.
- a CapD declares policy.availability; estate_availability() reports per-capability grades + a
histogram (default non-managed). Honest grades added: compute-plane needs-work; commons /
verification / data-spheres almost-zd.
Tests: +5 tier +2 availability = 147 tools tests green. validate REQUIRED + Makefile `availability`.
Completes the three PaaS-lesson units (dev-mode #28, data-spheres #29, tiers+availability).
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.
The tight modify→result loop against a real cluster — the point of a local-first PaaS. Edit on the low-mem box, see it in a real DevSpace pod in seconds, no image rebuild.
tools/devmode.py(pure, unit-tested):/workspace(grant/devmode-labelled).kubectl cplocal→pod (hot reload).kubectl port-forwardlocal:remote (local access + debug).Nocalhost Dev Mode, governed, in the user's own DevSpace. 133 tools tests green. Live k3s (k3d/podman) proof to follow.