mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
This PR adds a package lifecycle and an Executor implementation that attempts to schedule a build of workspaces with autostart configured. - lifecycle.Executor takes a chan time.Time in its constructor (e.g. time.Tick(time.Minute)) - Whenever a value is received from this channel, it executes one iteration of looping through the workspaces and triggering lifecycle operations. - When the context passed to the executor is Done, it exits. - Only workspaces that meet the following criteria will have a lifecycle operation applied to them: - Workspace has a valid and non-empty autostart or autostop schedule (either) - Workspace's last build was successful - The following transitions will be applied depending on the current workspace state: - If the workspace is currently running, it will be stopped. - If the workspace is currently stopped, it will be started. - Otherwise, nothing will be done. - Workspace builds will be created with the same parameters and template version as the last successful build (for example, template version)
41 lines
1.1 KiB
Plaintext
41 lines
1.1 KiB
Plaintext
###############################################################################
|
|
# NOTICE #
|
|
# If you change this file, kindly copy-pasta your change into .prettierignore #
|
|
# and .eslintignore as well. See the following discussions to understand why #
|
|
# we have to resort to this duplication (at least for now): #
|
|
# #
|
|
# https://github.com/prettier/prettier/issues/8048 #
|
|
# https://github.com/prettier/prettier/issues/8506 #
|
|
# https://github.com/prettier/prettier/issues/8679 #
|
|
###############################################################################
|
|
|
|
node_modules
|
|
vendor
|
|
.eslintcache
|
|
yarn-error.log
|
|
.idea
|
|
|
|
# Front-end ignore
|
|
.next/
|
|
site/.eslintcache
|
|
site/.next/
|
|
site/node_modules/
|
|
site/storybook-static/
|
|
site/test-results/
|
|
site/yarn-error.log
|
|
coverage/
|
|
site/**/*.typegen.ts
|
|
site/build-storybook.log
|
|
|
|
# Build
|
|
dist/
|
|
site/out/
|
|
|
|
*.tfstate
|
|
*.tfplan
|
|
*.lock.hcl
|
|
.terraform/
|
|
|
|
.vscode/*.log
|
|
**/*.swp
|