Spike Curtis
1f0e6ba6c6
fix: use raw syscalls to write binary we execute ( #11684 )
...
Fixes flake seen here, I think
https://github.com/coder/coder/actions/runs/7565915337/job/20602500818
golang's file processing is complex, and in at least some cases it can return from a file.Close() call without having actually closed the file descriptor.
If we're holding open the file descriptor of an executable we just wrote, and try to execute it, it will fail with "text file busy" which is what we have seen.
So, to be extra sure, I've avoided the standard library and directly called the syscalls to open, write, and close the file we intend to use in the test.
I've also added some more logging so if it's some issue of multiple tests writing to the same location, the we might have a chance to see it.
2024-01-18 16:21:11 +04:00
Marcin Tojek
5eb3e1cdaa
feat: expose owner_name in coder_workspace resource ( #11639 )
2024-01-17 13:20:45 +01:00
Spike Curtis
9a4e1100fa
chore: move drpc transport tools to codersdk/drpc ( #11224 )
...
Part of #10532
DRPC transport over yamux and in-mem pipes was previously only used on the provisioner APIs, but now will also be used in tailnet. Moved to subpackage of codersdk to avoid import loops.
2023-12-15 12:41:39 +04:00
Mathias Fredriksson
3e5d292135
feat: add support for coder_env ( #11102 )
...
Fixes #10166
2023-12-11 16:10:18 +02:00
Cian Johnston
0babc3c555
fix(provisioner/terraform/cleanup): use mtime instead of atime ( #10892 )
...
- Updates plugin staleness check to check mtime instead of atime, as atime has been shown to be unreliable
- Updates existing unit test to use a real filesystem as Afero's in-memory FS doesn't support atimes at all
2023-11-27 15:19:41 +00:00
Marcin Tojek
0e5eecd7da
feat: add more logging around echo tar ( #10731 )
2023-11-16 16:52:04 +01:00
Josh Vawdrey
fdc9097d6c
feat(provisioner): expose template version to provisioner ( #10306 )
2023-10-25 14:44:08 +03:00
Kyle Carberry
b0d2828f9e
fix: append external auth env vars ( #10201 )
2023-10-11 05:17:08 +00:00
Kyle Carberry
35538e1051
feat: add external-auth cli ( #10052 )
...
* feat: add `external-auth` cli
* Add subcommands
* Improve descriptions
* Add external-auth subcommand
* Fix docs
* Fix gen
* Fix comment
* Fix golden file
2023-10-09 23:04:35 +00:00
Kyle Carberry
5596fb20b5
chore: move /gitauth to /externalauth on the frontend ( #9954 )
...
* chore: move `/gitauth` to `/externalauth` on the frontend
This actually took a lot more jank than anticipated,
so I wanted to split this up before adding the ability
to embed new providers.
* Rename FE
* Fix em' up
* Fix linting error
* Fix e2e tests
* chore: update helm golden files
2023-09-30 14:30:01 -05:00
Kyle Carberry
8abca9bea7
chore: rename git_auth to external_auth in our schema ( #9935 )
...
* chore: rename `git_auth` to `external_auth` in our schema
We're changing Git auth to be external auth. It will support
any OAuth2 or OIDC provider.
To split up the larger change I want to contribute the schema
changes first, and I'll add the feature itself in another PR.
* Fix names
* Fix outdated view
* Rename some additional places
* Fix sort order
* Fix template versions auth route
* Fix types
* Fix dbauthz
2023-09-29 19:13:20 +00: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
Jon Ayers
3dc1e22d56
feat: add template_id and template_name to workspace data source ( #9655 )
2023-09-13 11:09:08 -05:00
Marcin Tojek
67fe3ae8d6
feat: clean stale provisioner files ( #9545 )
2023-09-11 07:37:14 +00:00
Jon Ayers
ee24260614
feat: allow configuring display apps from template ( #9100 )
2023-08-30 14:53:42 -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
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
Marcin Tojek
e6d90bd4fe
fix: rewrite onlyDataResources ( #9263 )
2023-08-23 10:17:16 +00:00
Ammar Bandukwala
545a256b57
fix: correctly reject quota-violating builds ( #9233 )
...
Due to a logical error in CommitQuota, all workspace Stop->Start operations
were being accepted, regardless of the Quota limit. This issue only
appeared after #9201 , so this was a minor regression in main for about
3 days. This PR adds a test to make sure this kind of bug doesn't recur.
To make the new test possible, we give the echo provisioner the ability
to simulate responses to specific transitions.
2023-08-22 02:55:39 +00:00
Ammar Bandukwala
6d939b726c
fix: correctly assess quota for stopped resources ( #9201 )
2023-08-21 09:01:16 -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
Colin Adler
a9e01bf3f1
chore: fix terraform tests ( #9006 )
2023-08-09 18:11:03 +00:00
Marcin Tojek
9f2a931eb8
feat(coderd): support ephemeral parameters ( #8367 )
2023-07-10 13:44:03 +02:00
Marcin Tojek
e088303382
feat!: drop LegacyVariableName from coder parameter ( #8360 )
2023-07-07 14:14:29 +02:00
Marcin Tojek
64687631aa
feat: enable Terraform template-wide variables by default ( #8334 )
2023-07-07 11:49:02 +02:00
Marcin Tojek
c6fcd7ee93
fix: report failed CompletedJob ( #8318 )
2023-07-06 07:26:33 +00:00
Marcin Tojek
6639c69fad
feat: add "display_order" column to coder_parameter to keep parameters sorted in UI ( #8227 )
2023-06-30 12:41:55 +02:00
Marcin Tojek
b4f14cc6a9
feat: include coder_parameters from external modules ( #8195 )
2023-06-26 13:46:30 +00:00
Dean Sheather
98a5ae7f48
feat: add provisioner job hang detector ( #7927 )
2023-06-25 13:17:00 +00:00
Colin Adler
41e7216df7
chore: upgrade terraform to 1.5.1 ( #8160 )
2023-06-22 19:08:40 +00:00
Jon Ayers
1b0124ecdb
feat: automatically stop workspaces based on failure_ttl ( #7989 )
2023-06-22 00:33:22 -04:00
Technofab and Colin Adler
52ead3d933
feat(provisioner): add support for .tf.json templates ( #7835 )
...
Co-authored-by: Colin Adler <colin1adler@gmail.com >
2023-06-08 08:06:50 +10:00
Asher
125e9ef00e
fix: validate that parameter names are unique ( #7882 )
2023-06-07 09:44:50 -08:00
Mathias Fredriksson
660bbb8d38
refactor: deprecate login_before_ready in favor of startup_script_behavior ( #7837 )
...
Fixes #7758
2023-06-06 11:58:07 +03:00
Colin Adler
1ab2450250
fix(provisioner/terraform): ensure ordering rich parameters produces no nil values ( #7824 )
2023-06-05 11:26:04 -05:00
Ammar Bandukwala
38d0f6fb74
perf(provisioner/terraform): upgrade hc-install ( #7832 )
...
By upgrading hc-install, we benefit from increased performance
in checksum verification introduced here:
- https://github.com/hashicorp/hc-install/commit/858962c71d47df1ea505b9031bccd5fdf7c8e07f
Also:
- Made minor improvements to tests
- Excluded TestInstall from the race detector
2023-06-03 22:03:41 +00:00
Marcin Tojek
10036ab5fb
fix: use minDisabled, maxDisabled for parameter validation ( #7755 )
2023-06-02 11:43:48 +02:00
Marcin Tojek
a7366a8b76
feat!: drop support for legacy parameters ( #7663 )
2023-06-02 11:16:46 +02:00
Marcin Tojek
702c9081e0
fix: do not skip parameter validation if min or max = 0 ( #7707 )
2023-05-30 14:57:06 +02:00
Jon Ayers
ec5ef51b49
feat: add session token injection to provisioner ( #7461 )
2023-05-17 23:29:22 -05:00
Ammar Bandukwala
9bb0253290
chore: update various dependencies ( #7503 )
...
This will help us pass the security scanners.
2023-05-14 20:37:50 +00:00
Ammar Bandukwala
640fcf450c
chore: improve terraform install performance ( #7478 )
2023-05-11 19:30:51 +00:00
Colin Adler
8bd9f9c351
feat: unified tracing between coderd<->provisionerd ( #7370 )
2023-05-03 23:02:35 +00:00
Josh Vawdrey
e84061e2be
feat(provisioner): bump the maximum terraform version ( #6995 )
2023-04-04 06:19:48 +00:00
Marcin Tojek and Kira Pilot
633dfbdb2e
feat: rich parameters: introduce display_name ( #6919 )
...
* model
* DB
* fix: DisplayName
* proto
* Proto
* Update go dep
* fixme
* fix format
* config
* fmt
* fix
* Fix
* fix
* chore(UI): redirecting from workspace page if 404 (#6880 )
* model
* CLI: Display parameter
* fix
* update dep
* fix
* fix
* fix
* UI changes
* fmt
---------
Co-authored-by: Kira Pilot <kira@coder.com >
2023-04-03 14:37:47 +02:00
Ammar Bandukwala
ca4fa81570
feat: add agent metadata ( #6614 )
2023-03-31 15:26:19 -05:00
Kyle Carberry
6378294071
chore: upgrade from deprecated protobuf import ( #6883 )
...
This was displaying a warning when running `go get ./...`.
2023-03-30 14:17:44 +00:00
Marcin Tojek
0ba200c2a1
feat: Enable workspace debug logging ( #6838 )
...
* feat: Enable workspace debug logging
* Fix
* Fix
* Fix
* fix
* fix
* Enable RBAC
* unit tests
* Fix
* fix
* fix
* fix
* more tests
* fix: workspacebuild_test use roles
* fix: swagger comment
* fix: ctx.Done
* fix: address PR comments
* break loop
2023-03-30 16:00:33 +02:00
Kyle Carberry
ffb4cd5962
chore: fix race when expecting parameters ( #6814 )
...
See https://github.com/coder/coder/actions/runs/4532378002/jobs/7983840014
2023-03-27 14:18:33 -05:00
Marcin Tojek
c9cbc63cd4
feat: Fine-tune logs presentation ( #6771 )
...
* Process debug mode logs
* Debug logs are grey
* Fix
2023-03-24 13:29:18 +01:00