feat(remote): start and stop environments on cron schedules - #260
Draft
outofcoffee wants to merge 6 commits into
Draft
outofcoffee wants to merge 6 commits into
outofcoffee wants to merge 6 commits into
Conversation
added 6 commits
October 5, 2026 23:15
A schedule Lambda keeps each environment's schedule list in SSM and mirrors it into EventBridge Scheduler, which runs the start and stop Lambdas in each schedule's own time zone. A scheduled stop pauses the instance and is skipped while a retention deadline is in force. Adds spinloop remote schedule set, show and clear.
outofcoffee
force-pushed
the
feat/scheduled-remote-start-stop
branch
from
October 5, 2026 22:18
b8e583a to
baaf5ce
Compare
This branch has not been deployed
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.
Remote environments can now be started and stopped on cron schedules that the AWS control plane runs, set with
spinloop remote schedule.Closes #178
Summary
spinloop remote schedule set|show|clear.settakes repeatable--startand--stopcron expressions and one--timezone, and replaces the environment's whole list.showprints the schedules and the next start and stop times.spinloop remote start. A scheduled stop pauses the instance, and is skipped while aRetain-Untildeadline (keep) has not passed.schedule_urlin the environment config andSPINLOOP_REMOTE_SCHEDULE_URL. A control plane deployed before this fails the schedule commands with a message to re-runspinloop remote bootstrap.scheduled-remote-start-stop(newremote-schedulecapability), with docs and tests.Implementation details
?in the unused day field and its own weekday numbering, so the Lambda converts, and rejects an expression that sets both day fields.remote/lambda/shared/schedules.ts, not from Scheduler. There is noremote statuscommand, so the next runs are printed byschedule showinstead of a status line (the change's spec was amended to match).spinloop remote bootstrapre-run to get the new Lambda, URL and role.The OpenSpec change is not archived yet.