-
Notifications
You must be signed in to change notification settings - Fork 6
fix(init): default scheduler.backend to file in scaffolded forge.yaml#180
Merged
Merged
fix(init): default scheduler.backend to file in scaffolded forge.yaml #180initializ-mk merged 1 commit into
initializ-mk merged 1 commit into
Conversation
Without an explicit backend, SchedulerConfig defaults to 'auto', which selects the Kubernetes CronJob backend when running in-cluster — and that errors at startup with 'kubernetes scheduler backend: scheduler.kubernetes.service_url is required' unless service_url is set. Platform-scaffolded agents are deployed in-cluster via their own k8s manifests (not 'forge package', which would set service_url), so the auto/kubernetes path crashlooped once a real LLM executor initialized the scheduler. Default to the in-process file backend; opt into the Kubernetes backend by setting backend: kubernetes + kubernetes.service_url.
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.
Problem
Follow-up to #177 (this change was authored alongside it but didn't land in the merge).
Once an agent has a working LLM executor, the runtime initializes the scheduler.
SchedulerConfig.Backenddefaults toauto, which selects the Kubernetes CronJob backend when running in-cluster — and that errors at startup unlessscheduler.kubernetes.service_urlis set:Platform-scaffolded agents deploy via their own k8s manifests (not
forge package, which would set service_url), so the auto→kubernetes path crashlooped (CrashLoopBackOff) as soon as a real executor came up.Fix
Default the init template to the in-process file scheduler:
Opt into durable K8s CronJob scheduling by setting
backend: kubernetes+kubernetes.service_url.Verified
Live deploy (
testing-sidecar5): pod reaches2/2 Readywith no restarts; agent logsusing LLM executor(no scheduler crash, no stub). Combined with #177, the full platform path — secret load → LLM executor → scheduler — now works end to end.🤖 Generated with Claude Code