Mathias Fredriksson
19d7da3d24
refactor(coderd/database): split `Time` and `Now` into `dbtime` package ( #9482 )
...
Ref: #9380
2023-09-01 16:50:12 +00:00
Dean Sheather
1de61246a3
feat: add experimental template autostop requirement template settings UI ( #9417 )
2023-08-30 20:41:27 +00:00
Dean Sheather
a572800d47
chore: rename template restart requirement to autostop requirement ( #9295 )
2023-08-29 18:35:05 +00:00
Jon Ayers
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
Jon Ayers
6e41cd1eda
feat: add activity bumping to template scheduling ( #9040 )
2023-08-22 15:15:13 -05:00
Kyle Carberry
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
Steven Masley
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
Mathias Fredriksson
30fe153296
feat(coderd): add user latency and template insights endpoints ( #8519 )
...
Part of #8514
Refs #8109
2023-07-21 18:00:19 +00:00
Dean Sheather
dc8b73168e
feat: add user quiet hours schedule and restart requirement feature flag ( #8115 )
2023-07-20 23:35:41 +10:00
Steven Masley
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
Bruno Quaresma
b833861960
feat(site): display version message ( #8435 )
2023-07-13 10:36:10 -03:00
Jon Ayers
4a9c8f407a
feat: add auto-locking/deleting workspace based on template config ( #8240 )
2023-07-02 21:29:52 -05:00
Jon Ayers
c3aef9363b
feat: add locked TTL field to template meta ( #8020 )
2023-06-19 22:37:55 -04:00
Steven Masley
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
Marcin Tojek
a7366a8b76
feat!: drop support for legacy parameters ( #7663 )
2023-06-02 11:16:46 +02:00
Steven Masley
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
Spike Curtis
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
Kira Pilot
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
Kira Pilot
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
Colin Adler
59efa4a528
fix(audit): ensure template creation errors are audited ( #7315 )
2023-04-27 18:55:34 -05:00
Kira Pilot
e2a7448cc8
fix: allow update of empty template description ( #7225 )
2023-04-20 10:59:57 -07:00
Steven Masley
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
Dean Sheather
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
Bruno Quaresma
8857971552
feat(coder): Add PATCH /templateversions/:templateversion endpoint ( #6698 )
2023-03-23 13:26:50 -03:00
Steven Masley
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
Dean Sheather
66a6b590a1
feat: add template max_ttl ( #6114 )
...
Co-authored-by: Bruno Quaresma <bruno@coder.com>
2023-03-07 14:14:58 +00:00
Steven Masley
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
Steven Masley
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
Kyle Carberry
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
Ben A
54cc587dad
Updated PreconditionFailed status occurences to more appropriate statuses. ( #5513 )
2023-01-13 08:30:48 -06:00
Marcin Tojek
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
Marcin Tojek
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
Ben Potter
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
Marcin Tojek
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
Marcin Tojek
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
Marcin Tojek
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
Garrett Delfosse
ca0374b94f
feat: add examples to api ( #5331 )
...
Co-authored-by: Dean Sheather <dean@deansheather.com>
2022-12-09 14:29:50 -05:00
Steven Masley
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
Marcin Tojek
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
Marcin Tojek
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
Mathias Fredriksson
e872e18883
chore: Set initialism for DefaultTTL (from DefaultTtl) ( #4996 )
2022-11-14 20:14:08 +02:00
Ammar Bandukwala
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
Marcin Tojek
cf5d48bb5a
fix: do not skip properties on creating templates ( #5060 )
...
* fix: do not skip properties while creating templates
* test: empty edit
2022-11-14 15:32:18 +01:00
Marcin Tojek
2042b575dc
feat: Add template display name (backend) ( #4966 )
...
* Rename to nameValidator
* Refactor: NameValid
* Fix: comment
* Define new migration
* Include display_name
* Update typesGenerated.ts
* Update meta
* Adjust tests
* CLI tests
* Fix: audit
* Fix: omitempty
* site: display_name is optional
* unit: TestUsernameValid
* entities.ts: add display_name
* site: TemplateSettingsPage.test.tsx
* Fix: TemplateSettingsForm.tsx
* Adjust tests
* Add comment to display_name column
* Fix: rename
* Fix: make
* Loosen regexp
* Fix: err check
* Fix: template name length
* Allow for whitespaces
* Update migration number
2022-11-10 21:51:09 +01:00
Garrett Delfosse
d277e28427
feat: change template max_ttl to default_ttl ( #4843 )
2022-11-09 19:36:25 +00:00
Bruno Quaresma
46e0953876
refactor: Show template versions as timeline ( #4800 )
2022-10-31 16:38:07 +00:00
Jon Ayers
0d1096da6c
feat: add auditing for groups ( #4527 )
...
- Clean up `database.TemplateACL` implementation.
2022-10-19 02:00:45 -05:00
Ammar Bandukwala
dc3519e973
Support all transitions in build progress bar ( #4575 )
...
* Use null types instead of -1 for simplicity
* Fix pgcrypto bug in migration 59
* Add stories
* Fix visual stutter
2022-10-16 23:34:03 -05:00
Ammar Bandukwala
e456799f1a
Add template build time stats ( #4557 )
...
- Expose time in Template pages
- Show progress bar when building a workspace
2022-10-15 20:36:50 +00:00
Jon Ayers
4e57b9fbdc
fix: allow regular users to push files ( #4500 )
...
- As part of merging support for Template RBAC
and user groups a permission check on reading files
was relaxed.
With the addition of admin roles on individual templates, regular
users are now able to push template versions if they have
inherited the 'admin' role for a template. In order to do so
they need to be able to create and read their own files. Since
collisions on hash in the past were ignored, this means that a regular user
who pushes a template version with a file hash that collides with
an existing hash will not be able to read the file (since it belongs to
another user).
This commit fixes the underlying problem which was that
the files table had a primary key on the 'hash' column.
This was not a problem at the time because only template
admins and other users with similar elevated roles were
able to read all files regardless of ownership. To fix this
a new column and primary key 'id' has been introduced to the files
table. The unique constraint has been updated to be hash+created_by.
Tables (provisioner_jobs) that referenced files.hash have been updated
to reference files.id. Relevant API endpoints have also been updated.
2022-10-13 18:02:52 -05:00