feat: setup local dev environment for opslevel-runner with kind#302
Open
archf wants to merge 11 commits into
Open
feat: setup local dev environment for opslevel-runner with kind#302archf wants to merge 11 commits into
archf wants to merge 11 commits into
Conversation
- configure local runner startup to use the same helper image as coding-agent jobs - improve script readability so run arguments are easier to inspect and maintain - clarify test job enqueueing purpose by naming it for runner jobs
- add a short sleep command so the test job remains available long enough for enqueue behavior to be observed
initial approach didn't work
- lower the default enqueue count to make local test runs faster and less resource-intensive - pass configurable job pod CPU and memory requests so local runner scripts can match constrained environments
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.
Motivation
Prior dev loop required manual cluster bring-up, manual helper image rebuilds, and manual restart on code changes to test
opselvel-runneragainst a kubernetes cluster.This PR enhances the
Taskfilewith commands to setup conveniently an easier development environment.Changes
Taskfile
start-faktory): brings upkindvia `setup-kind dep, then launches goremanbuild-helper-image,stop-kindinstall-depssplit per OS (darwin/linux); installsredis,watchexec,kindinstall-faktoryupgraded to v1.9.3, fetches asset URL via GitHub API + jq, idempotent via status: checkOPSLEVEL_GO_PKGbumped to v2026image-builder— rebuilds helper image on Go/Dockerfile changes, reloads into kindAdded
bin/for utility scriptskind-env.sh— shared sourcing helper: sources.env.localto exports KUBECONFIG or other local overrides, pickspodmanif available or fallback todockersetup-kind.sh— idempotent cluster create/start with lockfile mutex for concurrent goreman processes (multiple runningopslevel-runnerinstances;- stop-kind.sh — deletes job pods, stops control-plane containerbuild-helper-image.sh— checksums Go sources + DockerfileAdded
tests/(moved from src/scripts/)goreman)Repository structure modifications
src/Dockerfilemove to repository root Dockerfiledist/not to pollutesrc/Notes for reviewers
opslevel-runner; override via positional arg to scripts.bin/setup-kind.shuses a transient lockfile to serialize concurrent cluster creation whengoremanstarts multiple processes in parallellocalhost/opslevel-runner:localkindkubernetes cluster for testing.Testing performed
goremanprocesses start, image-builder loads helper into kindCaveats
Setup on Linux not fully supported at this time.