mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat: add inactivity cleanup and failure cleanup configuration fields to Template Schedule Form (#7402)
* added workspace actions entitlement * added workspace actions experiment * added new route for template enterprise meta * removing new route; repurposing old * add new fields to get endpoints * removed workspace actions experiment * added logic to enterprise template store * added new form fields * feature flagged new fields * fix validation * fixed submit btn * fix tests * changed ttl defaults * added FE tests * added BE tests * fixed lint * adjusted comment language * fixing unstaged changes check * fix test * Update coderd/database/migrations/000122_add_template_cleanup_ttls.down.sql Co-authored-by: Dean Sheather <dean@deansheather.com> * Update coderd/database/migrations/000122_add_template_cleanup_ttls.up.sql Co-authored-by: Dean Sheather <dean@deansheather.com> --------- Co-authored-by: Dean Sheather <dean@deansheather.com>
This commit is contained in:
co-authored by
Dean Sheather
parent
3632ac8c01
commit
5ffa6dae50
@@ -46,7 +46,6 @@ const (
|
||||
FeatureAppearance FeatureName = "appearance"
|
||||
FeatureAdvancedTemplateScheduling FeatureName = "advanced_template_scheduling"
|
||||
FeatureWorkspaceProxy FeatureName = "workspace_proxy"
|
||||
FeatureWorkspaceActions FeatureName = "workspace_actions"
|
||||
)
|
||||
|
||||
// FeatureNames must be kept in-sync with the Feature enum above.
|
||||
@@ -62,7 +61,6 @@ var FeatureNames = []FeatureName{
|
||||
FeatureAppearance,
|
||||
FeatureAdvancedTemplateScheduling,
|
||||
FeatureWorkspaceProxy,
|
||||
FeatureWorkspaceActions,
|
||||
}
|
||||
|
||||
// Humanize returns the feature name in a human-readable format.
|
||||
|
||||
@@ -106,6 +106,13 @@ type CreateTemplateRequest struct {
|
||||
// false, the DefaultTTL will always be used. This can only be disabled when
|
||||
// using an enterprise license.
|
||||
AllowUserAutostop *bool `json:"allow_user_autostop"`
|
||||
|
||||
// FailureTTLMillis allows optionally specifying the max lifetime before Coder
|
||||
// stops all resources for failed workspaces created from this template.
|
||||
FailureTTLMillis *int64 `json:"failure_ttl_ms,omitempty"`
|
||||
// InactivityTTLMillis allows optionally specifying the max lifetime before Coder
|
||||
// deletes inactive workspaces created from this template.
|
||||
InactivityTTLMillis *int64 `json:"inactivity_ttl_ms,omitempty"`
|
||||
}
|
||||
|
||||
// CreateWorkspaceRequest provides options for creating a new workspace.
|
||||
|
||||
@@ -40,6 +40,12 @@ type Template struct {
|
||||
AllowUserAutostart bool `json:"allow_user_autostart"`
|
||||
AllowUserAutostop bool `json:"allow_user_autostop"`
|
||||
AllowUserCancelWorkspaceJobs bool `json:"allow_user_cancel_workspace_jobs"`
|
||||
|
||||
// FailureTTLMillis and InactivityTTLMillis are enterprise-only. Their
|
||||
// values are used if your license is entitled to use the advanced
|
||||
// template scheduling feature.
|
||||
FailureTTLMillis int64 `json:"failure_ttl_ms"`
|
||||
InactivityTTLMillis int64 `json:"inactivity_ttl_ms"`
|
||||
}
|
||||
|
||||
type TransitionStats struct {
|
||||
@@ -95,6 +101,8 @@ type UpdateTemplateMeta struct {
|
||||
AllowUserAutostart bool `json:"allow_user_autostart,omitempty"`
|
||||
AllowUserAutostop bool `json:"allow_user_autostop,omitempty"`
|
||||
AllowUserCancelWorkspaceJobs bool `json:"allow_user_cancel_workspace_jobs,omitempty"`
|
||||
FailureTTLMillis int64 `json:"failure_ttl_ms,omitempty"`
|
||||
InactivityTTLMillis int64 `json:"inactivity_ttl_ms,omitempty"`
|
||||
}
|
||||
|
||||
type TemplateExample struct {
|
||||
|
||||
Reference in New Issue
Block a user