b36071c6bb
feat: allow templates to specify max_ttl or autostop_requirement ( #10920 )
2023-12-15 18:27:56 +10:00
8aea6040c8
fix: use unique workspace owners over unique users ( #11044 )
2023-12-07 10:53:15 -05:00
5229d7fd3a
feat: implement deprecated flag for templates to prevent new workspaces ( #10745 )
...
* feat: implement deprecated flag for templates to prevent new workspaces
* Add deprecated filter to template fetching
* Add deprecated to template table
* Add deprecated notice to template page
* Add ui to deprecate a template
2023-11-20 19:16:18 +00:00
997493d4ae
feat: add template setting to require active template version ( #10277 )
2023-10-18 17:07:21 -05:00
6ebe9b0402
feat: add UI for autostart workspace days ( #10263 )
...
* feat: add ui for selecting auto start days
2023-10-16 09:29:42 -05:00
39c0539d42
feat: add controls to template for determining startup days ( #10226 )
...
* feat: template controls which days can autostart
* Add unit test to test blocking autostart with DaysOfWeek
2023-10-13 11:57:18 -05:00
1e950fa9a8
feat: archive template versions to hide them from the ui ( #10179 )
...
* api + cli implementation
2023-10-11 09:26:22 -05:00
91265678ad
chore: add auditing to workspace dormancy ( #10070 )
...
- Adds an audit log for workspaces automatically transitioned to the dormant
state.
- Imposes a mininum of 1 minute on cleanup-related fields. This is to
prevent accidental API misuse from resulting in catastrophe.
2023-10-05 13:41:07 -05:00
19d7da3d24
refactor(coderd/database): split Time
and Now
into dbtime
package ( #9482 )
...
Ref: #9380
2023-09-01 16:50:12 +00:00
1de61246a3
feat: add experimental template autostop requirement template settings UI ( #9417 )
2023-08-30 20:41:27 +00:00
a572800d47
chore: rename template restart requirement to autostop requirement ( #9295 )
2023-08-29 18:35:05 +00:00
7f14b50dbe
chore: rename locked to dormant ( #9290 )
...
* chore: rename locked to dormant
- The following columns have been updated:
- workspace.locked_at -> dormant_at
- template.inactivity_ttl -> time_til_dormant
- template.locked_ttl -> time_til_dormant_autodelete
This change has also been reflected in the SDK.
A route has also been updated from /workspaces/<id>/lock to /workspaces/<id>/dormant
2023-08-24 13:25:54 -05:00
6e41cd1eda
feat: add activity bumping to template scheduling ( #9040 )
2023-08-22 15:15:13 -05:00
22e781eced
chore: add /v2 to import module path ( #9072 )
...
* chore: add /v2 to import module path
go mod requires semantic versioning with versions greater than 1.x
This was a mechanical update by running:
```
go install github.com/marwan-at-work/mod/cmd/mod@latest
mod upgrade
```
Migrate generated files to import /v2
* Fix gen
2023-08-18 18:55:43 +00:00
de1a7a9210
chore: join user information to workspace_build and template_version ( #8625 )
...
* include minimial user on template version and build
* Add unit test to ensure join is superset
2023-07-25 09:14:38 -04:00
30fe153296
feat(coderd): add user latency and template insights endpoints ( #8519 )
...
Part of #8514
Refs #8109
2023-07-21 18:00:19 +00:00
dc8b73168e
feat: add user quiet hours schedule and restart requirement feature flag ( #8115 )
2023-07-20 23:35:41 +10:00
aceedefce3
chore: add template_with_user
view to include user contextual data ( #8568 )
...
* chore: Refactor template sql queries to use new view
* TemplateWithUser -> Template
* Add unit test to enforce good view
2023-07-19 16:07:33 -04:00
b833861960
feat(site): display version message ( #8435 )
2023-07-13 10:36:10 -03:00
4a9c8f407a
feat: add auto-locking/deleting workspace based on template config ( #8240 )
2023-07-02 21:29:52 -05:00
c3aef9363b
feat: add locked TTL field to template meta ( #8020 )
2023-06-19 22:37:55 -04:00
3619a3a6dd
feat: add disabling of default 'everyone' group access to template ( #7982 )
...
* feat: add disabling of default 'everyone' group access to template
* add FE to disable everyone group
* require entitlement to uncheck box
2023-06-14 11:08:58 -05:00
a7366a8b76
feat!: drop support for legacy parameters ( #7663 )
2023-06-02 11:16:46 +02:00
c795a0e500
feat: Fix Deployment DAUs to work with local timezones ( #7647 )
...
* chore: Add timezone param to DAU SQL query
* Merge DAUs response
* Pass time offsets to metricscache
2023-05-30 13:18:27 -04:00
cd416c86dd
refactor: workspace builds ( #7541 )
...
* refactor workspace builds
Signed-off-by: Spike Curtis <spike@coder.com >
* make gen
Signed-off-by: Spike Curtis <spike@coder.com >
* Remove ParameterResolver from typescript
Signed-off-by: Spike Curtis <spike@coder.com >
* rename conversion -> database/db2sdk
Signed-off-by: Spike Curtis <spike@coder.com >
* tests for db2sdk
Signed-off-by: Spike Curtis <spike@coder.com >
* Tests for ParameterResolver
Signed-off-by: Spike Curtis <spike@coder.com >
* wsbuilder tests
Signed-off-by: Spike Curtis <spike@coder.com >
* Move parameter validation tests to richparameters_test.go
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix CI generation; rename mock->dbmock
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix test imports
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-05-23 12:06:33 +04:00
a42a36a474
feat: add workspace actions cleanup configuration flags to CLI template create and edit ( #7453 )
...
* added cleanup flags on template create
* added cleanup flags on template edit
* fixed tests
* added to tests
2023-05-10 12:57:11 -07:00
5ffa6dae50
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 >
2023-05-05 08:19:26 -07:00
59efa4a528
fix(audit): ensure template creation errors are audited ( #7315 )
2023-04-27 18:55:34 -05:00
e2a7448cc8
fix: allow update of empty template description ( #7225 )
2023-04-20 10:59:57 -07:00
38e5b9679b
chore: Rbac errors should be returned, and not hidden behind 404 ( #7122 )
...
* chore: Rbac errors should be returned, and not hidden behind 404
SqlErrNoRows was hiding actual errors
* Replace sql.ErrNoRow checks
* Remove sql err no rows check from dbauthz test
* Fix to use dbauthz system user
2023-04-13 13:06:16 -05:00
e33941b7c2
feat: allow disabling autostart and custom autostop for template ( #6933 )
...
API only, frontend in upcoming PR.
2023-04-04 12:48:35 +00:00
8857971552
feat(coder): Add PATCH /templateversions/:templateversion endpoint ( #6698 )
2023-03-23 13:26:50 -03:00
2321160c62
feat: Dbauthz is now default, remove out of experimental ( #6650 )
...
* feat: dbauthz always on, out of experimental
* Add ability to do rbac checks in unit tests
* Remove AuthorizeAllEndpoints
* Remove duplicate rbac checks
2023-03-21 09:10:22 -05:00
66a6b590a1
feat: add template max_ttl ( #6114 )
...
Co-authored-by: Bruno Quaresma <bruno@coder.com >
2023-03-07 14:14:58 +00:00
418a8a77dc
chore: Skip authz on various functions used for api data building ( #6366 )
...
* chore: Skip authz on various functions used for api data building
API already fetches the parent object and does the rbac check. Until
these functions are optimized, skipping authz is better.
It leaves us no worse off than the status quo
2023-02-28 11:04:39 -06:00
6fb8aff6d0
feat: Add initial AuthzQuerier implementation ( #5919 )
...
feat: Add initial AuthzQuerier implementation
- Adds package database/dbauthz that adds a database.Store implementation where each method goes through AuthZ checks
- Implements all database.Store methods on AuthzQuerier
- Updates and fixes unit tests where required
- Updates coderd initialization to use AuthzQuerier if codersdk.ExperimentAuthzQuerier is enabled
2023-02-14 14:27:06 +00:00
be00e2541c
chore: remove unused workspace_owner_count
field ( #5958 )
...
This added unnecessary database load, because it's not used!
2023-02-02 17:59:43 +00:00
54cc587dad
Updated PreconditionFailed status occurences to more appropriate statuses. ( #5513 )
2023-01-13 08:30:48 -06:00
deebfcbd53
feat: Validate swagger definitions ( #5694 )
...
* docs: audit, deploymentconfig, files, parameters
* Swagger comments in workspacebuilds.go
* structs in workspacebuilds.go
* workspaceagents: instance identity
* workspaceagents.go in progress
* workspaceagents.go in progress
* Agents
* workspacebuilds.go
* /workspaces
* templates.go, templateversions.go
* templateversion.go in progress
* cancel
* templateversions
* wip
* Merge
* x-apidocgen
* NullTime hack not needed anymore
* Fix: x-apidocgen
* Members
* Fixes
* Fix
* WIP
* WIP
* Users
* Logout
* User profile
* Status suspend activate
* User roles
* User tokens
* Keys
* SSH key
* All
* Typo
* Fix
* Entitlements
* Groups
* SCIM
* Fix
* Fix
* Clean templates
* Sort API pages
* Fix: HashedSecret
* WIP
* WIP
* WIP
* Fix: cover workspaceagents
* Assert: consistent ID and summary
* Assert: success or failure defined
* Fix: parallel
* Refactor
* Support enterprise
* Go comment goes to top
* Security
* assertPathParametersDefined
* assertUniqueRoutes
* assertRequestBody
* More fixes
* Fix: exceptions
* Fix field format
* Address PR comments
* Refactor
2023-01-13 12:27:21 +01:00
84120767a7
docs: API templateversions, templates, members, organizations ( #5546 )
...
* docs: audit, deploymentconfig, files, parameters
* Swagger comments in workspacebuilds.go
* structs in workspacebuilds.go
* workspaceagents: instance identity
* workspaceagents.go in progress
* workspaceagents.go in progress
* Agents
* workspacebuilds.go
* /workspaces
* templates.go, templateversions.go
* templateversion.go in progress
* cancel
* templateversions
* wip
* Merge
* x-apidocgen
* NullTime hack not needed anymore
* Fix: x-apidocgen
* Members
* Fixes
* Fix
2023-01-11 12:16:09 +01:00
04d45f3c1c
fix!: remove AUTO_IMPORT_TEMPLATE for Kubernetes installs ( #5401 )
...
* fix!: remove AUTO_IMPORT_TEMPLATE
* chore: remove template auto importing
Co-authored-by: Dean Sheather <dean@deansheather.com >
2023-01-05 04:04:32 +00:00
e67d131514
docs: audit, deploymentconfig, files, parameters ( #5506 )
...
* docs: audit, deploymentconfig, files, parameters
* Fix: mark as binary
* Fix: show format in docs
* Fix: use .swaggo
* Fix: swagger notice
* Swagger notice
2023-01-03 19:21:10 +01:00
2bbeff53f9
docs: applications and authorization ( #5477 )
...
* docs: Applications
* WIP
* WIP
* WIP
* Fix: consume
* Fix: @Description
* Fix
* Fix: s/none//g
* Fix: godoc nice
* Fix: description
* Fix: It
* Fix: code sample trim empty line
* More fixes
* Fix: br
2022-12-21 15:37:30 +01:00
dc6d271293
feat: Build framework for generating API docs ( #5383 )
...
* WIP
* Gen
* WIP
* chi swagger
* WIP
* WIP
* WIP
* GetWorkspaces
* GetWorkspaces
* Markdown
* Use widdershins
* WIP
* WIP
* WIP
* Markdown template
* Fix: makefile
* fmt
* Fix: comment
* Enable swagger conditionally
* fix: site
* Default false
* Flag tests
* fix
* fix
* template fixes
* Fix
* Fix
* Fix
* WIP
* Formatted
* Cleanup
* Templates
* BEGIN END SECTION
* subshell exit code
* Fix
* Fix merge
* WIP
* Fix
* Fix fmt
* Fix
* Generic api.md page
* Fix merge
* Link pages
* Fix
* Fix
* Fix: links
* Add icon
* Write manifest file
* Fix fmt
* Fix: enterprise
* Fix: Swagger.Enable
* Fix: rename apidocs to apidoc
* Fix: find -not -prune
* Fix: json not available
* Fix: rename Coderd API to Coder API
* Fix: npm exec
* Fix: api dir
* Fix: by ID
* Fix: string uuid
* Fix: include deleted
* Fix: indirect go.mod
* Fix: source lib.sh
* Fix: shellcheck
* Fix: pushd popd
* Fix: fmt
* Fix: improve workspaces
* Fix: swagger-enable
* Fix
* Fix: mention only HTTP 200
* Fix: IDs
* Fix: https
* Fix: icon
* More APis
* Fix: format swagger.json
* Fix: SwaggerEndpoint
* Fix: SCRIPT_DIR
* Fix: PROJECT_ROOT
* Fix: use code tags in schemas.md
* Fix: examples
* Fix: examples
* Fix: improve format
* Fix: date-time,enums
* Fix: include_deleted
* Fix: array of
* Fix: parameter, response
* Fix: string time or null
* Workspaces: more docs
* Workspaces: more docs
* Fix: renderDisplayName
* Fix: ActiveUserCount
* Fix
* Fix: typo
* Templates: docs
* Notice: incomplete
2022-12-19 18:43:46 +01:00
ca0374b94f
feat: add examples to api ( #5331 )
...
Co-authored-by: Dean Sheather <dean@deansheather.com >
2022-12-09 14:29:50 -05:00
ab9298f382
chore: Rewrite rbac rego -> SQL clause ( #5138 )
...
* chore: Rewrite rbac rego -> SQL clause
Previous code was challenging to read with edge cases
- bug: OrgAdmin could not make new groups
- Also refactor some function names
2022-11-28 12:12:34 -06:00
e86539db11
feat: Allow user to cancel workspace jobs ( #5115 )
...
* Add database column allow_user_cancel_workspace_jobs
* Adjust API
* site: typesGenerated.ts
* Expose template.allow_ in Workspaces API
* Fix: site tests
* Fix: make fmt/prettier
* Fix: enterprise
* Database tests
* Add CLI tests
* Add checkbox
* i18n
* Logic: block cancelling
* Unit tests for conditional cancel
* Fix: message
* Address PR comment
* Address PR comments
* Fix: make
2022-11-21 11:43:53 +01:00
49b340e039
Show template.display_name in the site UI ( #5069 )
...
* Show display_name field in the template settings
* Show template.display_name on pages: Templates, CreateWorkspace
* Fix: template.display_name pattern
* make fmt/prettier
* Fix tests
* Fix: make fmt/prettier
* Fix: merge
* Fix: autoFocus
* i18n: display_name
2022-11-14 21:11:50 +01:00
e872e18883
chore: Set initialism for DefaultTTL (from DefaultTtl) ( #4996 )
2022-11-14 20:14:08 +02:00
97dbd4dc5d
Implement Quotas v3 ( #5012 )
...
* provisioner/terraform: add cost to resource_metadata
* provisionerd/runner: use Options struct
* Complete provisionerd implementation
* Add quota_allowance to groups
* Combine Quota and RBAC licenses
* Add Opts to InTx
2022-11-14 17:57:33 +00:00