Cian Johnston
93ef696b57
refactor(agent): add agenttest.New helper function ( #9812 )
...
* Adds agenttest.New() helper function
* Makes sure agent gets closed on test cleanup
* Makes sure you don't forget to set session token
* Sets the agent and client logger automatically
2023-09-26 12:05:19 +01:00
Kyle Carberry and Muhammad Atif Ali
1262eef2c0
feat: add support for coder_script ( #9584 )
...
* Add basic migrations
* Improve schema
* Refactor agent scripts into it's own package
* Support legacy start and stop script format
* Pipe the scripts!
* Finish the piping
* Fix context usage
* It works!
* Fix sql query
* Fix SQL query
* Rename `LogSourceID` -> `SourceID`
* Fix the FE
* fmt
* Rename migrations
* Fix log tests
* Fix lint err
* Fix gen
* Fix story type
* Rename source to script
* Fix schema jank
* Uncomment test
* Rename proto to TimeoutSeconds
* Fix comments
* Fix comments
* Fix legacy endpoint without specified log_source
* Fix non-blocking by default in agent
* Fix resources tests
* Fix dbfake
* Fix resources
* Fix linting I think
* Add fixtures
* fmt
* Fix startup script behavior
* Fix comments
* Fix context
* Fix cancel
* Fix SQL tests
* Fix e2e tests
* Interrupt on Windows
* Fix agent leaking script process
* Fix migrations
* Fix stories
* Fix duplicate logs appearing
* Gen
* Fix log location
* Fix tests
* Fix tests
* Fix log output
* Show display name in output
* Fix print
* Return timeout on start context
* Gen
* Fix fixture
* Fix the agent status
* Fix startup timeout msg
* Fix command using shared context
* Fix timeout draining
* Change signal type
* Add deterministic colors to startup script logs
---------
Co-authored-by: Muhammad Atif Ali <atif@coder.com >
2023-09-25 16:47:17 -05:00
Spike Curtis
866ba8ede5
fix: call agent directly in cli tests ( #9789 )
...
* fix: call agent directly in cli tests
Signed-off-by: Spike Curtis <spike@coder.com >
* log verbose in TestDERPHeaders
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-09-21 13:30:24 +04:00
Muhammad Atif Ali
fa858531a8
feat: add nomad template ( #9786 )
2023-09-21 08:54:56 +00:00
Eric Paulsen
fae8a470df
fix(cli): display pasted session token ( #9710 )
2023-09-20 12:41:59 -04:00
Marcin Tojek
ceeb9987a5
test(cli): ensure first option selected with is expected ( #9770 )
2023-09-19 13:55:51 +02:00
Spike Curtis
375c70d141
feat: integrate Acquirer for provisioner jobs ( #9717 )
...
* chore: add Acquirer to provisionerdserver pkg
Signed-off-by: Spike Curtis <spike@coder.com >
* code review improvements & fixes
Signed-off-by: Spike Curtis <spike@coder.com >
* feat: integrate Acquirer for provisioner jobs
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix imports, whitespace
Signed-off-by: Spike Curtis <spike@coder.com >
* provisionerdserver always closes; remove poll interval from playwright
Signed-off-by: Spike Curtis <spike@coder.com >
* post jobs outside transactions
Signed-off-by: Spike Curtis <spike@coder.com >
* graceful shutdown in test
Signed-off-by: Spike Curtis <spike@coder.com >
* Mark AcquireJob deprecated
Signed-off-by: Spike Curtis <spike@coder.com >
* Graceful shutdown on all provisionerd tests
Signed-off-by: Spike Curtis <spike@coder.com >
* Deprecate, not remove CLI flags
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-09-19 10:25:57 +04:00
Cian Johnston
45eadfc136
fix(cli): specify IgnoreErrors in slogtest options for scaletest cli tests ( #9751 )
...
* fix(cli): specify IgnoreErrors in slogtest options for scaletest cli tests
* bump test timeout
2023-09-18 16:39:28 +01:00
Ben Potter and Atif Ali
5de5d20808
fix: remove broken fly.io template from starter templates ( #9711 )
...
Co-authored-by: Atif Ali <atif@coder.com >
2023-09-17 20:13:36 +03:00
Mathias Fredriksson
bc97eaa41b
feat(scaletest): add scaletest-runner template ( #9662 )
...
Closes #9571
2023-09-15 13:23:37 +00:00
Cian Johnston
65db7a71b7
feat(coderd/database/dbtestutil): set default database timezone to non-UTC in unit tests ( #9672 )
...
- Adds dbtestutil.WithTimezone(tz) to allow setting the timezone for a test database.
- Modifies our test database setup code to pick a consistently weird timezone for the database.
- Adds the facility randtz.Name() to pick a random timezone which is consistent across subtests (via sync.Once).
- Adds a linter rule to warn against setting the test database timezone to UTC.
2023-09-15 09:01:32 +01:00
Ammar Bandukwala
b63dfe7b75
perf(cli): optimize CPU consumption of help pages ( #9607 )
...
This change reduces the CPU consumption of --help by ~50%.
Also, this change removes ANSI escape codes from our golden files. I
don't think those were worth the inability to parallelize golden file tests and
global state fragility.
2023-09-14 19:48:29 -05:00
Jon Ayers
7311ffbd9d
feat: implement agent process management ( #9461 )
...
- An opt-in feature has been added to the agent to allow
deprioritizing non coder-related processes for CPU by setting their
niceness level to 10.
- Opting in to the feature requires setting CODER_PROC_PRIO_MGMT to a non-empty value.
2023-09-14 19:45:05 -05:00
Colin Adler
38560dd922
chore: remove coder trace telemetry ( #9677 )
2023-09-14 02:20:28 -04:00
Ammar Bandukwala
f703a5b34e
chore(cli): lighten flags on help page ( #9606 )
2023-09-08 13:43:56 -05:00
Ammar Bandukwala
e361f1107b
feat(cli): colorize help page ( #9589 )
2023-09-08 18:21:33 +00:00
Marcin Tojek
ad23075e1b
refactor: build application URL ( #9601 )
...
* refactor: build application URL
* fix
2023-09-08 14:01:57 +00:00
Spike Curtis
11b6068112
feat: add support for networked provisioners ( #9593 )
...
* Refactor provisionerd to use interface to connect to provisioners
Signed-off-by: Spike Curtis <spike@coder.com >
* feat: add support for networked provisioners
Signed-off-by: Spike Curtis <spike@coder.com >
* fix token length and linting
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-09-08 09:53:48 +00:00
Ammar Bandukwala
dd97fe2bce
chore(cli): replace lipgloss with coder/pretty ( #9564 )
...
This change will improve over CLI performance and "snappiness" as well as
substantially reduce our test times. Preliminary benchmarks show
`coder server --help` times cut from 300ms to 120ms on my dogfood
instance.
The inefficiency of lipgloss disproportionately impacts our system, as all help
text for every command is generated whenever any command is invoked.
The `pretty` API could clean up a lot of the code (e.g., by replacing
complex string concatenations with Printf), but this commit is too
expansive as is so that work will be done in a follow up.
2023-09-07 16:28:22 -05:00
Cian Johnston
7d7c84bb4d
feat(coderd): connect dbcrypt package implementation ( #9523 )
...
See also: https://github.com/coder/coder/pull/9522
- Adds commands `server dbcrypt {rotate,decrypt,delete}` to re-encrypt, decrypt, or delete encrypted data, respectively.
- Plumbs through dbcrypt in enterprise/coderd (including unit tests).
- Adds documentation in admin/encryption.md.
This enables dbcrypt by default, but the feature is soft-enforced on supplying external token encryption keys. Without specifying any keys, encryption/decryption is a no-op.
2023-09-07 15:49:49 +01:00
Spike Curtis
3bd0fd396c
feat: add boringcrypto builds for linux ( #9543 )
...
This reverts commit da0ef92f77 .
2023-09-06 12:48:27 +04:00
Steven Masley
630d125286
chore: fix typo in OpenID on cli help ( #9535 )
2023-09-05 18:37:21 +00:00
Kyle Carberry
da0ef92f77
Revert "feat: add boringcrypto builds for linux ( #9528 )" ( #9529 )
...
This reverts commit 79cd6047dc .
2023-09-05 08:37:07 -05:00
Spike Curtis
79cd6047dc
feat: add boringcrypto builds for linux ( #9528 )
...
* feat: add boringcrypto builds for linux
Signed-off-by: Spike Curtis <spike@coder.com >
* strip debug symbols, add BoringCryto to buildinfo
Signed-off-by: Spike Curtis <spike@coder.com >
* Fix TestVersion
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-09-05 13:12:38 +00:00
Mathias Fredriksson
adba421524
refactor(coderd/telemetry): move CLI telemetry to cli/telemetry ( #9517 )
...
This change removes an indirect import of `coderd/database` from the
slim binary.
No size change (yet).
Ref: #9380
2023-09-04 21:42:45 +03:00
Mathias Fredriksson
b240799f47
refactor(cli): use codersdk for provisioner types ( #9508 )
...
This change removes one use of `coderd/database` from the slim binary
and more correctly uses codersdk instead of database or provisionerd
packages.
No size change (yet).
Ref: #9380
2023-09-04 21:42:15 +03:00
Mathias Fredriksson
39e3b049a5
refactor(coderd/healthcheck): move derp report to derphealth package ( #9506 )
...
This change helps remove one indirect use of coderd/database in the slim
CLI.
No size change (yet).
Ref: #9380
2023-09-04 21:41:50 +03:00
Mathias Fredriksson
d2115941b7
refactor(cli)!: remove reset-password from slim binary ( #9520 )
...
This is an alternative approach to #9519 and removes 2 MB instead of 1
MB (1.2 MB accounted for by embedded migration SQL files).
Combined with #9481 , #9506 , #9508 , #9517 , a total of 5 MB is removed.
Ref: #9380
2023-09-04 19:38:53 +03:00
Mathias Fredriksson
ad23d33f28
refactor(coderd/schedule): move cron schedule to cron package ( #9507 )
...
This removes an indirect import of `coderd/database` from the CLI and
results in a logical separation between server related and generalized
schedule.
No size change (yet).
Ref: #9380
2023-09-04 16:48:25 +03:00
Muhammad Atif Ali
29b2eaa217
fix(cli/dotfiles): add an exception for .gitconfig ( #9515 )
...
* fix(cli/dotfiles): Only ignore .git directory
Resolves #8306
* fix fmt
* add exception for .gitconfig
* Update dotfiles.go
2023-09-04 13:17:07 +00:00
Mathias Fredriksson
19d7da3d24
refactor(coderd/database): split Time and Now into dbtime package ( #9482 )
...
Ref: #9380
2023-09-01 16:50:12 +00:00
Mathias Fredriksson
702b064cac
refactor: split coderd/gitauth into two, add cli/gitauth ( #9479 )
...
* refactor: split coderd/gitauth into two, add cli/gitauth
Ref: #9380
2023-09-01 15:41:22 +00:00
Mathias Fredriksson
f1f9cb030d
refactor(cli): avoid importing coderd in slim server ( #9483 )
...
This small change removes 11 MB from the slim binary size.
Ref: #9380
2023-09-01 13:32:21 +00:00
Marcin Tojek
11d4b6f758
chore: move dormancy to enterprise package ( #9468 )
2023-08-31 17:59:53 +02:00
Cian Johnston
fd17857095
fix(cli): template pull tests: await template version job before exiting ( #9430 )
2023-08-31 11:40:24 +01:00
Ammar Bandukwala
8f3b4075c7
ci: enable nestif linter ( #9363 )
2023-08-30 21:50:43 +00:00
Dean Sheather
1de61246a3
feat: add experimental template autostop requirement template settings UI ( #9417 )
2023-08-30 20:41:27 +00:00
Steven Masley
a910e934a4
chore: improve error message around gitaskpass failures ( #9407 )
2023-08-30 08:58:31 -05:00
Ammar Bandukwala
16ef97a061
feat(cli): add DataDog Go tracer ( #9411 )
2023-08-29 22:14:28 +00:00
Dean Sheather
a572800d47
chore: rename template restart requirement to autostop requirement ( #9295 )
2023-08-29 18:35:05 +00:00
Steven Masley
fea8813f13
chore: drop 'template plan' unused command ( #9386 )
2023-08-28 13:33:40 -05:00
Ammar Bandukwala
6ba92ef924
ci: enable gocognit ( #9359 )
...
And, bring the server under 300:
* Removed the undocumented "disable" STUN address in favor of the
--disable-direct flag.
2023-08-27 14:46:44 -05:00
Ammar Bandukwala
4a140536e1
ci: lint against dupl ( #9357 )
...
This lint rule should help us keep Go code redundancy under control.
2023-08-27 11:42:51 -05:00
Kyle Carberry
c3ac55ff42
feat: add template_active_version_id to workspaces ( #9226 )
...
* feat: add `template_active_version_id` to workspaces
This reduces a fetch in the VS Code extension when getting the
active version update message!
* Fix entities.ts
* Fix golden gen
2023-08-27 16:26:20 +00:00
91f900ec64
docs: expand on TTL flags ( #9286 )
...
* docs: expand on TTL flags
* make: gen
* Discard changes to site/src/api/api.ts
* Discard changes to site/src/xServices/templateVersion/templateVersionXService.ts
---------
Co-authored-by: Muhammad Atif Ali <matifali@live.com >
Co-authored-by: Muhammad Atif Ali <atif@coder.com >
2023-08-25 13:39:12 -04:00
Ammar Bandukwala
f149db6ca6
fix(cli): add --max-ttl to template create ( #9319 )
...
It was just in template edit by mistake.
2023-08-25 11:00:38 -05:00
Spike Curtis
aed891b4ff
fix: fix coder template pull on Windows ( #9327 )
...
* fix: fix coder template pull on Windows
Signed-off-by: Spike Curtis <spike@coder.com >
* appease linter
Signed-off-by: Spike Curtis <spike@coder.com >
* improvements from code review
Signed-off-by: Spike Curtis <spike@coder.com >
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-08-25 10:58:13 +00:00
Spike Curtis
60d5002eb6
refactor: change template archive extraction to be on provisioner ( #9264 )
...
* refactor provisionersdk protocol
Signed-off-by: Spike Curtis <spike@coder.com >
* refactor provisioners to use new protocol
Signed-off-by: Spike Curtis <spike@coder.com >
* refactor provisionerd to use new protocol
Signed-off-by: Spike Curtis <spike@coder.com >
* refactor tests & proto renames
* Fixes from self-review
Signed-off-by: Spike Curtis <spike@coder.com >
* appease fmt & link
Signed-off-by: Spike Curtis <spike@coder.com >
* code review fixes & e2e fixes
Signed-off-by: Spike Curtis <spike@coder.com >
* More fmt
Signed-off-by: Spike Curtis <spike@coder.com >
* Code review fixes
Signed-off-by: Spike Curtis <spike@coder.com >
* new gen; use uuid for session workdir
Signed-off-by: Spike Curtis <spike@coder.com >
* Revert nix-based gen CI task until dogfood is on nix
Signed-off-by: Spike Curtis <spike@coder.com >
* revert deleting dogfood Docker stuff
Signed-off-by: Spike Curtis <spike@coder.com >
* Revert "revert deleting dogfood Docker stuff"
This reverts commit 9762158167 .
---------
Signed-off-by: Spike Curtis <spike@coder.com >
2023-08-25 06:10:15 +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
Dean Sheather
64df076328
feat: add server flag to force DERP to use always websockets ( #9238 )
2023-08-24 17:22:31 +00:00