Skip to content

feat(devmode): Nocalhost-style inner loop — dev-mode patch + file-sync + port-forward - #28

Merged
mdheller merged 1 commit into
mainfrom
feat/devmode-inner-loop
Aug 4, 2026
Merged

feat(devmode): Nocalhost-style inner loop — dev-mode patch + file-sync + port-forward#28
mdheller merged 1 commit into
mainfrom
feat/devmode-inner-loop

Conversation

@mdheller

@mdheller mdheller commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

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):

  • devmode_patch — strategic-merge patch swapping a Deployment's container for a dev-runner with an in-pod /workspace (grant/devmode-labelled).
  • sync_commandkubectl cp local→pod (hot reload).
  • port_forward_commandkubectl port-forward local:remote (local access + debug).
  • devmode_plan — patch + sync + forward as one inner-loop plan.

Nocalhost Dev Mode, governed, in the user's own DevSpace. 133 tools tests green. Live k3s (k3d/podman) proof to follow.

…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
mdheller merged commit e9ea86b into main Aug 4, 2026
1 check passed
@mdheller
mdheller deleted the feat/devmode-inner-loop branch August 4, 2026 05:46
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).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant