Commit Graph
100 Commits
Author SHA1 Message Date
Jon Ayers 354d0fc4c8 fix: filter agent-exec env vars (#15764)
- Filters env vars specific to agent-exec from the exec'd process. This
is to prevent any issues when developing Coder in Coder, particularly
agent tests in the cli pkg.
2024-12-05 16:33:27 +00:00
Jon Ayers f8d938d299 fix: fix oom_score adjustments failing if caps set (#15758)
- Fixes an issue where oom scores would fail to be adjusted in cases
where the `coder` binary has capabilities set on it. This is because
`PR_SET_DUMPABLE` is set to `0` when a process is executed with elevated
capabilities. The fix is to flip `PR_SET_DUMPABLE` to `1` prior to
writing to `oom_score_adj`.
2024-12-05 15:30:58 +02:00
Jon Ayers ce573b9faa fix: add agent exec abstraction (#15717) 2024-12-04 23:30:25 +02:00
Jon Ayers a16f877c5b fix: update portforward storybook tests to include host (#15680) 2024-11-28 15:22:36 +02:00
Jon Ayers ffb0ebb5b6 fix: use url-parse for url construction (#15670)
This fixes some CodeQL-flagged issues. They're not real issues but the
refactor is small and it'll keep the analysis tools quiet.
2024-11-27 23:52:11 +02:00
Jon Ayers 24d44b4518 fix: add additional context to agent exec errors (#15676) 2024-11-27 21:29:08 +02:00
Jon Ayers b08238c8db chore: enable process priority management for dogfood (#15674) 2024-11-27 20:43:56 +02:00
Jon Ayers 1f238fed59 feat: integrate new agentexec pkg (#15609)
- Integrates the `agentexec` pkg into the agent and removes the
legacy system of iterating over the process tree. It adds some linting
rules to hopefully catch future improper uses of `exec.Command` in the package.
2024-11-27 20:12:15 +02:00
Jon Ayers 45d9274aca chore: disable parallelization when running security action (#15666)
- `make -j` appears to be broken for clean builds
2024-11-26 23:35:51 +02:00
Jon Ayers bbc549d2df feat: add agent exec pkg (#15577) 2024-11-25 17:22:12 +02:00
Jon Ayers 48bb452829 fix: fix tailnet resume using incorrect DB reference (#15522)
- We were instantiating a cryptokey cache with a vanilla reference to
the database instead of one wrapped by dbcrypt.
- Fixes an issue where failing to instantiate unrelated keycaches does
not fatally error out.
2024-11-18 14:09:04 -06:00
Jon Ayers 097fdaffe2 chore: add quota to source-controlled template (#15271) 2024-10-29 16:31:46 +00:00
Jon Ayers fd60e1c2ba fix: fix security workflow not installing protoc properly (#15263) 2024-10-29 01:30:43 +00:00
Jon Ayers fb4219f57d fix: parse int to correct bit size (#15257) 2024-10-28 20:31:01 +00:00
Jon Ayers cd890aa3a0 feat: enable key rotation (#15066)
This PR contains the remaining logic necessary to hook up key rotation
to the product.
2024-10-25 17:14:35 +01:00
Jon Ayers bcd68ee249 fix: fix build in security workflow (#15209)
- Fixes an issue where building the Docker image failed due to moving
the directory hosting the Dockerfile
- Removed the Palo Alto scanning since our subscription there is set to
expire. Trivy is still running though.
2024-10-24 01:21:18 +01:00
Jon Ayers f537193682 chore: refactor keycache implementation to reduce duplication (#15100) 2024-10-16 20:01:45 +01:00
Jon Ayers 7da231bc92 fix: fix error handling to prevent spam in proc prio management (#15071) 2024-10-15 02:17:10 +00:00
Jon Ayers 384873a114 feat: add wsproxy implementation for key fetching (#14917) 2024-10-14 20:04:10 +01:00
Jon Ayers 68ec532ca7 feat: add jwt pkg (#14928)
- Adds a `jwtutils` package to be shared amongst the various
packages in the codebase that make use of JWTs. It's intended to help us
standardize on one library instead of some implementations using
`go-jose` and others using `golang-jwt`.

The main reason we're converging on `go-jose` is due to its support for
JWEs, `golang-jwt` also has a repo to handle it but it doesn't look
maintained: https://github.com/golang-jwt/jwe
2024-10-03 21:09:52 -05:00
Jon Ayers 21b92ef893 feat: add cache abstraction for fetching signing keys (#14777)
- Adds the database implementation for fetching and caching keys
used for JWT signing. It's been merged into the `keyrotate` pkg and
renamed to `cryptokeys` since they're coupled concepts.
2024-10-01 11:04:51 -05:00
Jon Ayers 3fdeaf7b24 feat: add endpoint for fetching workspace proxy keys (#14789) 2024-09-26 21:01:49 +01:00
Jon Ayers 2d5c068525 feat: implement key rotation system (#14710) 2024-09-19 19:12:44 +01:00
Jon Ayers 45160c7679 feat: add schema for key rotation (#14662) 2024-09-17 18:08:18 +01:00
Jon Ayers bfdc29f466 fix: suppress benign errors when listing processes (#14660) 2024-09-12 23:00:04 +01:00
Jon Ayers 9f4972901c fix: avoid logging no such process errors for process priority (#14655) 2024-09-12 18:00:42 +00:00
Jon Ayers 328e69629c fix: limit OAuth redirects to local paths (#14585)
- This prevents a malicious user from crafting a redirect
  URL to a nefarious site under their control.
2024-09-10 15:58:50 +01:00
Jon Ayers b6d35edebd chore: remove meticulous from CI (#14369) 2024-08-20 14:13:13 -04:00
Jon Ayers 4fc047954e fix: avoid deleting peers on graceful close (#14165)
* fix: avoid deleting peers on graceful close

- Fixes an issue where a coordinator deletes all
  its peers on shutdown. This can cause disconnects
  whenever a coderd is redeployed.
2024-08-14 15:16:08 -04:00
Jon Ayers 203f48af56 fix: extend locking in wsproxy to avoid race (and fix flake) (#14167) 2024-08-05 14:30:44 -04:00
Jon Ayers 4e0cb60eeb fix: ignore errors on provided logger (#14169) 2024-08-05 17:22:34 +00:00
Jon Ayers f9b660e573 fix: ignore coderd log errors (#14166)
- This is the source of a lot of our flakes recently.
2024-08-05 12:07:06 -04:00
Jon Ayers f3ff172979 chore: remove dependency license review (#14131)
- It's bafflingly buggy and is a source of annoyance for virtually the
  whole team.
- Will revisit if we don't have alternatives to catching invalid licenses.
2024-08-02 14:14:14 -04:00
Jon Ayers 3a614f1602 fix: random typos in offline docs documentation (#13979) 2024-07-23 11:48:58 -05:00
Jon Ayers 8d4bccc612 feat: add meticulous recorder (#13886) 2024-07-18 20:15:07 -05:00
Jon Ayers 464e7979c4 docs: remove mention of built-in remote desktop on the roadmap (#13459) 2024-07-09 16:29:44 -05:00
Jon Ayers 7995d7c3d6 fix: only render tooltip when require_active_version enabled (#13484) 2024-06-06 02:52:49 +00:00
Jon Ayers ee817b4d80 fix: fix nix flake sed command (#13243) 2024-05-11 01:10:19 +03:00
Jon Ayers 82c1562f82 fix: skip license review for dependabot (#13239) 2024-05-10 18:14:03 +00:00
Jon Ayers 8269124ab7 feat: sign windows binaries (#13086) 2024-04-29 10:43:27 -05:00
Jon Ayers 0c993566dd hotfix: skip dependency license review on main (#12982) 2024-04-16 23:08:22 -05:00
Jon Ayers 80f5978124 chore: add license review to CI (#12981) 2024-04-16 22:52:07 -05:00
Jon Ayers 426e9f2b96 feat: support adjusting child proc oom scores (#12655) 2024-04-03 09:42:03 -05:00
Jon Ayers 951dfaa99c feat: add workspace_id to workspace_build audit logs (#12718) 2024-03-22 15:10:32 -05:00
Jon Ayers 73c5993bea fix: only display xray results if vulns > 0 (#11989) 2024-02-02 11:02:46 -06:00
Jon Ayers 0c30dde9b5 feat: add customizable upgrade message on client/server version mismatch (#11587) 2024-01-30 17:11:37 -06:00
Jon Ayers 4f5a2f0a9b feat: add backend for jfrog xray support (#11829) 2024-01-29 19:30:02 -06:00
Jon Ayers 383eed93f8 fix: use correct logger for lifecycle_executor (#11763) 2024-01-23 14:33:55 -06:00
Jon Ayers 552e9fe22f fix: avoid returning 500 on apps when workspace stopped (#11656) 2024-01-17 12:06:59 -06:00
Jon Ayers 1196f83ebd feat: automatically activate dormant workspaces when manually started (#11655) 2024-01-16 16:42:04 -06:00
6ebcee3b49 docs: add workspace cleanup docs (#11146)
Co-authored-by: Muhammad Atif Ali <atif@coder.com>
Co-authored-by: kirby <kirby@coder.com>
2024-01-16 15:12:56 -06:00
Jon Ayers aecdafdcf2 fix: fix template edit overriding with flag defaults (#11564) 2024-01-11 16:18:46 -06:00
Jon Ayers 9b437032e9 feat: remove workspace_actions experiment (#11427) 2024-01-10 16:19:39 -06:00
Jon Ayers 0b7d68dc3f chore: remove template_update_policies experiment (#11250) 2023-12-21 13:39:33 -06:00
Jon Ayers 56cbd47082 chore: fix TestWorkspaceAutobuild/DormancyThresholdOK flake (#11251) 2023-12-18 09:23:06 -06:00
Jon Ayers 06394a5b8c Revert "fix: prevent data race when mutating tags (#11200)" (#11216)
This reverts commit 82f7b0cef4.
2023-12-14 12:37:55 -06:00
Jon Ayers 82f7b0cef4 fix: prevent data race when mutating tags (#11200) 2023-12-14 08:56:59 +00:00
Jon Ayers 41dbe7de4e fix: use correct permission when determining orphan deletion privileges (#11143) 2023-12-12 08:24:04 -06:00
Jon Ayers 45c07317c0 docs: add documentation for template update policies (#11145) 2023-12-11 19:05:25 -06:00
Jon AyersandMcKayla Washburn ba3b835339 fix: prevent editing build parameters if template requires active version (#11117)
Co-authored-by: McKayla Washburn <mckayla@hey.com>
2023-12-11 15:54:16 -07:00
Jon Ayers 37f6b38d53 fix: return 403 when rebuilding workspace with require_active_version (#11114) 2023-12-08 23:03:46 -06:00
Jon Ayers 02696f2df9 chore: fix flake in TestExecutorAutostopTemplateDisabled (#11096) 2023-12-08 09:02:54 +00:00
Jon Ayers e73a202aed feat: show dormant workspaces by default (#11053) 2023-12-07 18:09:35 -06:00
Jon Ayers ce49a55f56 chore: update build_reason 'autolock' -> 'dormancy' (#11074) 2023-12-07 17:11:57 -06:00
Jon Ayers 967db2801b chore: refactor ResolveAutostart tests to use dbfake (#10603) 2023-11-30 19:33:04 -06:00
Jon Ayers 12a4b114de fix: fix TestWorkspaceAutobuild/InactiveTTLOK flake (#10965) 2023-11-30 18:29:41 -06:00
Jon Ayers 329aa45c16 fix: fix TestWorkspaceAutobuild/DormantNoAutostart flake (#10963) 2023-11-30 15:45:27 -06:00
Jon Ayers 48d69c9e60 fix: update autostart context to include querying users (#10929) 2023-11-28 17:56:49 -06:00
Jon Ayers 8d1cfbce8f fix: update workspace cleanup flag names for template cmds (#10805) 2023-11-21 18:20:01 -06:00
Jon Ayers 51b58cfc98 fix: only update last_used_at when connection count > 0 (#10808) 2023-11-21 18:10:41 -06:00
Jon Ayers 782fe84c7c feat: disable start/restart if active version required (#10809) 2023-11-21 18:06:30 -06:00
Jon Ayers ad3eb4bb75 Revert "docs: add documentation for template update policies (#10804)" (#10822)
This reverts commit e6dc9eeffc.
2023-11-21 17:10:08 +00:00
Jon AyersandBen Potter e6dc9eeffc docs: add documentation for template update policies (#10804)
Co-authored-by: Ben Potter <ben@coder.com>
2023-11-20 16:30:24 -06:00
Jon Ayers 9ac44aa74f fix: disable autoupdate workspace setting when template setting enabled (#10662) 2023-11-15 16:58:55 -06:00
Jon Ayers 75ab16d19a fix: prevent db deadlock when workspaces go dormant (#10618) 2023-11-13 13:40:20 -06:00
Jon Ayers 177affbe4b feat: add frontend warning when autostart disabled due to automatic updates (#10508) 2023-11-09 17:01:12 -06:00
Jon Ayers e23873ff8f feat: add endpoint for resolving autostart status (#10507) 2023-11-08 23:24:56 -06:00
Jon Ayers cf8ee78547 fix: disable autostart for flakey test (#10598) 2023-11-08 17:56:36 -06:00
Jon Ayers 2dce4151ba feat: add cli support for workspace automatic updates (#10438) 2023-11-02 14:41:34 -05:00
Jon Ayers f4026edd71 feat: add frontend support for enabling automatic workspace updates (#10375) 2023-10-31 17:06:36 -05:00
Jon Ayers 1372bf82f5 chore: revert "chore: remove workspace_actions experiment (#10030)" (#10363) 2023-10-20 13:21:53 -05:00
Jon Ayers d33526108f feat: add frontend support for mandating active template version (#10338) 2023-10-19 18:21:52 -05:00
Jon Ayers f5f150d568 feat: add cli support for --require-active-version (#10337) 2023-10-19 17:16:15 -05:00
Jon Ayers 997493d4ae feat: add template setting to require active template version (#10277) 2023-10-18 17:07:21 -05:00
Jon Ayers 4452a1484d fix: fix log spam related to skipping custom nice scores (#10206) 2023-10-11 02:32:50 -05:00
Jon Ayers ec9b480ac0 fix: use is-dormant instead of dormant_at (#10191) 2023-10-10 19:00:09 -05:00
Jon Ayers 91555c3a85 feat: support configurable web terminal rendering (#10095)
* feat: support configurable web terminal rendering

- Added a deployment option for configuring web terminal rendering.
  Valid values are 'webgl', 'canvas', and 'dom'.
2023-10-10 13:18:02 -05:00
Jon Ayers 05a393cd06 feat: only display license warnings to privileged users (#10096) 2023-10-10 12:48:51 -05:00
Jon Ayers eb4826a11f chore: remove workspace_actions experiment (#10030) 2023-10-05 14:18:35 -05:00
Jon Ayers b32d79ef0b fix: fix failed workspaces continuously auto-deleting (#10069)
- Fixes an issue where workspaces that are eligible for auto-deletion
  are retried every tick (1 minute) even if the previous deletion
  transition failed.

  The updated logic only attempts to delete workspaces that previously
  failed once a day (24 hours since last attempt).
2023-10-05 14:11:39 -05:00
Jon Ayers 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
Jon Ayers 1cd4405caf fix: change alpha badge color to violet (#10029)
- Makes it less scary.
2023-10-04 15:20:13 -05:00
Jon Ayers 9216725698 chore: add alpha badges to workspace cleanup fields (#9802) 2023-09-22 10:41:17 -05:00
Jon Ayers 622442203d chore: fix test flake in TestProvisionerd (#9709) 2023-09-18 11:23:22 -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
Jon Ayers 3dc1e22d56 feat: add template_id and template_name to workspace data source (#9655) 2023-09-13 11:09:08 -05:00
Jon Ayers ee24260614 feat: allow configuring display apps from template (#9100) 2023-08-30 14:53:42 -05:00
Jon Ayers 7ddb216d87 chore: revert nix-related CI changes (#9321)
* chore: revert nix-related CI changes

- Reverts using nix to run CI-dependencies.
- Running 'make gen' in a dogfood workspace resulted in inconsistent
  results for protobuf-related files making it difficult to pass CI.
  This PR imports the minimum changes necessary to make CI compatible
  with dogfood.
2023-08-24 21:26:30 -05: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