fix(devspace): make dev work against a standalone install - #41
Merged
Conversation
Two things stopped devspace dev from running at all outside the umbrella chart's layout: - devspace 6.3.20 rejects a colon in pipeline and command names, so the config failed to parse before doing anything. The e2e workflow had been rewriting test:e2e to test-e2e in place to get past it. - The deployment was patched by the hardcoded name threads-threads, which only exists when the umbrella chart installs it. It is now resolved by label, which covers both layouts.
The selector also pinned app.kubernetes.io/instance to threads, which is the Helm release name -- true for a standalone install, but the umbrella chart names it agyn-platform. devspace then waited for a pod that could not exist and timed out.
The dev container generates from the BSR and compiles before it listens, which takes minutes on a cold module cache. The chart's liveness probe killed it at around 40s, so it restarted forever and never served. Liveness goes. Readiness stays, because without it the pod reports Ready while nothing is on the port and callers get connection refused, but with a threshold long enough to cover a cold build.
devspace starts syncing only after the pod reports ready, so a container that gives up on the sync restarts, and the sync it was waiting for never lands: the two waited on each other until the backoff won. The wait is now long enough to lose that race safely, and covers the whole set generation needs rather than go.mod alone, which could let buf run against a half synced tree.
devspace does not start syncing until the pod is ready, so a readiness probe on the service port deadlocks the dev container: no source, so no listener, so never ready, so no sync. The dev pipeline already waits on port 50051 itself once the sync is through.
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.
devspace devcould not run at all against the local VM.pipelines.test:e2e has to match the following regex. agents-orchestrator's e2e workflow had been rewritingtest:e2e→test-e2ein place to get past this; renaming it here removes the need.threads-threads, which only exists when the umbrella chart installs it. A standalone install names itthreads. It's now resolved by label, which covers both.