Commit Graph

1797 Commits

Author SHA1 Message Date
bartekgatzcoder 3b1131ca01 fix(docs): fix a typo in extending-templates (#15744)
It's -> its
2024-12-04 10:17:39 -05:00
Danielle Maywood e21a301682 fix: make GetWorkspacesEligibleForTransition return even less false positives (#15594)
Relates to https://github.com/coder/coder/issues/15082

Further to https://github.com/coder/coder/pull/15429, this reduces the
amount of false-positives returned by the 'is eligible for autostart'
part of the query. We achieve this by calculating the 'next start at'
time of the workspace, storing it in the database, and using it in our
`GetWorkspacesEligibleForTransition` query.

The prior implementation of the 'is eligible for autostart' query would
return _all_ workspaces that at some point in the future _might_ be
eligible for autostart. This now ensures we only return workspaces that
_should_ be eligible for autostart.

We also now pass `currentTick` instead of `t` to the
`GetWorkspacesEligibleForTransition` query as otherwise we'll have one
round of workspaces that are skipped by `isEligibleForTransition` due to
`currentTick` being a truncated version of `t`.
2024-12-02 21:02:36 +00:00
Cian Johnston 2b57dcc68c feat(coderd): add matched provisioner daemons information to more places (#15688)
- Refactors `checkProvisioners` into `db2sdk.MatchedProvisioners`
- Adds a separate RBAC subject just for reading provisioner daemons
- Adds matched provisioners information to additional endpoints relating to
  workspace builds and templates
-Updates existing unit tests for above endpoints
-Adds API endpoint for matched provisioners of template dry-run job
-Updates CLI to show warning when creating/starting/stopping/deleting
 workspaces for which no provisoners are available

---------

Co-authored-by: Danny Kopping <danny@coder.com>
2024-12-02 20:54:32 +00:00
Stephen Kirby 372d26a6b0 chore: update release calendar to correct duplicate security support version (#15718) 2024-12-02 12:06:09 -06:00
Edward Angert b06d833012 docs: improve dev containers documentation for user start-up (#15458)
- [x] TODO: verify and expand [What is an image, template, devcontainer,
or
workspace](https://coder.com/docs/@bp-dev-containers/admin#what-is-an-image-template-devcontainer-or-workspace)
- [x] TODO: verify and expand `## Add a devcontainer template to Coder`
- [x] TODO: verify and expand `## Layer and image caching`
- [x] TODO: link to and edit
[dotfiles](https://coder.com/docs/user-guides/workspace-dotfiles) doc
- [x] TODO:
https://github.com/coder/coder/pull/15458/files#diff-be0dd9ff983020129c7a94c628a0fc4a397a9bbc8b5eec92ec38f4b8c83fe167R10


[preview](https://coder.com/docs/@bp-dev-containers/admin/templates/managing-templates/devcontainers)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Co-authored-by: Cian Johnston <cian@coder.com>
Co-authored-by: Ben Potter <ben@coder.com>
Co-authored-by: Edward Angert <2408959-EdwardAngert@users.noreply.gitlab.com>
Co-authored-by: Muhammad Atif Ali <atif@coder.com>
2024-12-02 09:19:04 -08:00
Cian Johnston 694b4e0d3e feat(dogfood/contents): set coder_workspace_tags in dogfood template (#15653)
* Sets `coder_workspace_tags` on our dogfood template to target new tagged provisioner deployment added in coder/dogfood#103
2024-12-02 09:17:40 +00:00
ケイラ 40f12aeca3 chore: update group and role sync notes (#15658) 2024-11-27 14:39:03 -07:00
Hugo Dutka b830c05e3e chore: track usage of built-in example templates (#15671)
Addresses https://github.com/coder/nexus/issues/99.

Changes:
- Save the id of the built-in example template used to create a template
version in the database
- Include the example id in telemetry
2024-11-27 20:01:08 +01:00
Muhammad Atif Ali a9195bfe74 docs: add Amazon DCV Windows module to guides (#15610) 2024-11-26 21:41:22 +05:00
Vincent Vielle 8afb10e090 chore: improve validation of Security tag in swaggerparser (#15660)
Aims to resolve #15605 

There's currently one option valid for the `@Security` tag in
swaggerparser - which fails in the CI if we try to put any other value.

At least one of our endpoints does not accept `CoderSessionToken` as an
option for the authentication and so we need to add new possibilities in
order to keep the documentation up-to-date.

In this PR , I added `ProvisionerKey` which is the way our provisioner
daemon can authenticate to the backend - also modified a bit the code to
simplify other options later.
2024-11-26 07:19:43 +01:00
Eric Paulsen d60b58874e fix: update /builds transition example (#15657) 2024-11-26 00:52:23 +00:00
Cian Johnston e550365e35 chore(docs): update documentation for coder_workspace_tags (#15620)
Adds documentation relating to
https://github.com/coder/coder/issues/15087 and
https://github.com/coder/coder/issues/15427

See also: https://github.com/coder/coder/pull/15578
2024-11-25 21:01:18 +00:00
Cian Johnston 1cdc3e8921 feat!: extract provisioner tags from coder_workspace_tags data source (#15578)
Relates to https://github.com/coder/coder/issues/15087 and
https://github.com/coder/coder/issues/15427

- Extracts provisioner job tags from `coder_workspace_tags` on template
version creation using `provisioner/terraform/tfparse` added in
https://github.com/coder/coder/pull/15236
- Drops a WARN log in coderd if no matching provisioners found.
- Also drops a warning message in the CLI if no provisioners are found.
- To support both CLI and UI warnings, added a
`codersdk.MatchedProvisioners` struct to the `TemplateVersion` response
containing details of how many provisioners were around at the time of
the insert.

Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
2024-11-25 11:19:14 +00:00
Steven Masley 5b7fa78676 chore: add deployment config option to append custom csp directives (#15596)
Allows adding custom static CSP directives to Coder. Niche use case but
makes this easier then creating a reverse proxy that has to replace the
header. We want to preserve our directives, so having an append option
is preferred to a "replace" option via a reverse proxy.


Closes https://github.com/coder/coder/issues/15118
2024-11-21 11:53:53 -06:00
Muhammad Atif Ali dcbcf6740c docs: add guide for CI/CD template testing (#15528)
Co-authored-by: Edward Angert <EdwardAngert@users.noreply.github.com>
2024-11-20 23:58:51 +05:00
Vincent Vielle a518017a88 feat(coderd): add endpoint to fetch provisioner key details (#15505)
This PR is the first step aiming to resolve #15126 - 

Creating a new endpoint to return the details associated to a
provisioner key.

This is an authenticated endpoints aiming to be used by the provisioner
daemons - using the provisioner key as authentication method.

This endpoint is not ment to be used with PSK or User Sessions.
2024-11-20 18:04:47 +01:00
Spike Curtis 9e63caf593 docs: add crypto_keys to list of dbcrypt fields (#15602)
closes: https://github.com/coder/internal/issues/220

Updates docs that talk about what db fields we encrypt.  We've recently added `crypto_keys.secret` to the list, but didn't add it to the docs.
2024-11-20 11:03:46 +04:00
Danielle Maywood 576e1f48fe feat!: allow disabling notifications (#15509)
Resolves https://github.com/coder/coder/issues/15513

Disables notifications when both `$CODER_NOTIFICATIONS_WEBHOOK_ENDPOINT` and `$CODER_EMAIL_SMARTHOST` are unset.

Breaking change: `$CODER_EMAIL_SMARTHOST` is no longer set by default as `localhost:587`, meaning any deployments that make use of this default value will need to add it back.

---------

Co-authored-by: Danny Kopping <danny@coder.com>
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
2024-11-19 15:05:12 +00:00
Steven Masley c3c23ed3d9 chore: add query to fetch top level idp claim fields (#15525)
Adds an api endpoint to grab all available sync field options for IDP
sync. This is for autocomplete on idp sync forms. This is required for
organization admins to have some insight into the claim fields available
when configuring group/role sync.
2024-11-18 14:31:39 -06:00
Sas Swart 814dd6f854 feat(coderd): update API to allow filtering provisioner daemons by tags (#15448)
This PR provides new parameters to an endpoint that will be necessary
for #15048
2024-11-15 11:33:22 +02:00
Aaron Lehmann f1cb3a5b11 fix: correct example for /extend endpoint in the documentation (#15521)
The example in the docs wrongly shows a POST to this endpoint.

Signed-off-by: Aaron Lehmann <alehmann@netflix.com>
2024-11-14 12:13:27 -05:00
Steven Masley 99dd13d4cd chore: add cli command to update organization sync settings (#15459) 2024-11-13 13:44:21 -06:00
Stephen Kirby 75b299071c docs: update version flags (#15501) 2024-11-13 13:40:06 -06:00
Cian Johnston 55dccae5a3 chore(docs): document how to correctly override list(string) parameters (#15497)
- Adds documentation for how to correctly hold --parameter with list(string)
- Adds tests for the aforementioned documented correct finger positions for --parameter list(string)
2024-11-13 15:41:36 +00:00
Muhammad Atif Ali 6ff302b740 docs: add Docker to provider authentication docs (#15494)
Co-authored-by: Edward Angert <EdwardAngert@users.noreply.github.com>
2024-11-13 15:40:41 +00:00
Ethan fa69d1ca74 ci: reenable link checker & fix broken links (#15489)
Follow-up on #15484.
2024-11-13 16:04:10 +11:00
Edward Angert 56e219b50d docs: update template-from-scratch (#15101)
closes https://github.com/coder/internal/issues/104

- [x] update screenshots
- [x] consistent md
- [x] confirm and update `Dockerfile` and `main.tf`
   - matched up to the Docker Containers starter template
- upload template
   - [x] confirm CLI steps
   - [x] add steps in tab for Dashboard
- [x] ~confirm that the expand works~ it doesn't


<https://coder.com/docs/@template-from-scratch-update/tutorials/template-from-scratch>

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2024-11-12 14:01:51 -05:00
Edward Angert eff07a2db0 docs: clarify admin email telemetry (#15485)
add a note to the telemtery doc that explains that we do collect the
admin email


https://coder.com/docs/@telemetry-clarification/admin/setup/telemetry#what-we-collect

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2024-11-12 11:24:13 -05:00
Mathias Fredriksson 78b4967571 docs: fix mention of incorrect env var to enable/disable telemetry (#15467) 2024-11-11 11:12:39 +00:00
Edward Angert 50e95ba676 docs: adjust manual github action screenshot in contributing.md (#15439)
resolves #15407

adjust manual github action screenshot in contributing.md


[preview](https://coder.com/docs/@15407-contrib-image/CONTRIBUTING#deploying-a-pr)
(once ready)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2024-11-08 13:15:57 -05:00
Danny Kopping 111029ec07 chore: clarify template provisioning speed doc (#15383)
I noticed a few inaccuracies in this doc, or aspects which could've been
explained a little more. In other cases, I've added some specificity in
service of clarity.

---------

Signed-off-by: Danny Kopping <danny@coder.com>
Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2024-11-08 16:06:20 +00:00
Steven Masley 782214bcd8 chore: move organizatinon sync to runtime configuration (#15431)
Moves the configuration from environment to database backed, to allow
configuring organization sync at runtime.
2024-11-08 08:44:14 -06:00
Edward Angert f7694568eb docs: add workplace scheduling to manifest (#15384)
- [ ] check links to
<https://coder.com/docs/@workspace-scheduling/admin/templates/managing-templates/schedule#dormancy-threshold-enterprise-premium>
- @mattvollmer reports that
<https://coder.com/docs/templates/managing-templates/schedule#dormancy-threshold-enterprise>
is missing. I'll try to find refs to it



[preview](https://coder.com/docs/@workspace-scheduling/admin/templates/managing-templates/schedule)

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2024-11-08 00:54:52 -05:00
Edward Angert e688ff723b docs: add deploy id to license doc (#15415)
resolves #15414 

adds a section to licensing doc to show where to find the deployment ID


[preview](https://coder.com/docs/@15414-deploy-id/admin/licensing#find-your-deployment-id)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2024-11-07 21:54:11 -08:00
Cian Johnston 9f05b192b4 chore(docs): fix inconsistencies in external provisioner docs (#15416)
This PR:
- Updates the table in `docs/admin/provisioners.md` to include highlight
multi-org changes
- Updates the instructions for the provisionerd helm chart when using
provisioner keys

---------

Co-authored-by: Ben Potter <ben@coder.com>
2024-11-07 13:28:53 +00:00
Ethan 6e18742ad3 ci: replace unmaintained markdown link checker (#15424)
The old one was flaking a bunch and blocking PRs. This is the one
recommended by the maintainer of the old.
2024-11-07 22:30:43 +11:00
Stephen Kirby 1532ea7d2d docs: bump versions in docs for 2.17 (#15387) 2024-11-05 12:53:34 -06:00
Edward Angert 62fa7e5ab8 docs: disable markdown link check on mailto links (#15382)
to satisfy CI

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2024-11-05 12:35:46 -05:00
Vincent Vielle 4fe2c5f09a fix: improve password validation flow (#15132)
Refers to #14984 

Currently, password validation is done backend side and is not explicit
enough so it can be painful to create first users.
We'd like to make this validation easier - but also duplicate it
frontend side to make it smoother.

Flows involved : 
- First user set password
- New user set password
- Change password

---------

Co-authored-by: BrunoQuaresma <bruno_nonato_quaresma@hotmail.com>
2024-11-05 17:22:32 +01:00
Benjamin Peinhardt 040e5cf9f3 docs: provide example regexes to properly escape . characters (#14983) 2024-11-03 10:01:06 -06:00
Edward Angert 1f93b80e09 chore: fix docs/admin links and upgrade notice (#15043)
- Update links to /docs/admin to match the new structure
- TODO: remove the release string from the "upgrade available"
instructions link
- [x]
https://github.com/coder/coder/blob/update-upgrade-config-links/cli/server.go#L646


![2024-10-11_11-35-40](https://github.com/user-attachments/assets/fd95e821-d5ad-4c91-a38a-066046c7072c)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
2024-11-01 19:43:51 +00:00
Stephen Kirby 399c830b51 chore(docs): add info on new build timings in docs (#15310)
Adds information on workspace build timings in workspace lifecycle and
template troubleshooting docs.
2024-11-01 12:17:50 -05:00
Bruno Quaresma e232aee011 feat(site): add agent connection timings (#15276)
Local preview:

<img width="1260" alt="Screenshot 2024-10-29 at 16 16 01"
src="https://github.com/user-attachments/assets/10fdb20d-1f2a-4b0a-a8a1-171050ee620d">


Close https://github.com/coder/internal/issues/116

---------

Co-authored-by: Danny Kopping <danny@coder.com>
2024-11-01 13:29:00 -03:00
Edward Angert 18ef954a03 docs: add new best practice doc to speed up templates and workspaces (#15296)
closes https://github.com/coder/coder/issues/14858

- [x] TODO: update `build-timeline.png`
- [x] TODO: `Best practices` doesn't show up in the sidebar until you're
actually in the doc 🤔


[preview](https://coder.com/docs/@bp-speed-up-templates/tutorials/best-practices/speed-up-templates)

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Co-authored-by: Muhammad Atif Ali <atif@coder.com>
Co-authored-by: Ben Potter <ben@coder.com>
2024-11-01 11:24:35 -05:00
Ethan b1298a3c1e feat: add WorkspaceUpdates tailnet RPC (#14847)
Closes #14716
Closes #14717

Adds a new user-scoped tailnet API endpoint (`api/v2/tailnet`) with a new RPC stream for receiving updates on workspaces owned by a specific user, as defined in #14716. 

When a stream is started, the `WorkspaceUpdatesProvider` will begin listening on the user-scoped pubsub events implemented in #14964. When a relevant event type is seen (such as a workspace state transition), the provider will query the DB for all the workspaces (and agents) owned by the user. This gets compared against the result of the previous query to produce a set of workspace updates. 

Workspace updates can be requested for any user ID, however only workspaces the authorised user is permitted to `ActionRead` will have their updates streamed.
Opening a tunnel to an agent requires that the user can perform `ActionSSH` against the workspace containing it.
2024-11-01 14:53:53 +11:00
Colin Adler 088f21965b feat: add audit logs for dormancy events (#15298) 2024-10-31 17:55:42 -05:00
Danielle Maywood 330acd1270 chore: create ResourceNotificationMessage and AsNotifier (#15301)
Closes https://github.com/coder/coder/issues/15213

This PR enables sending notifications without requiring the auth system
context, instead using a new auth notifier context.
2024-10-31 17:01:51 +00:00
Stephen Kirby e9fbfcc45b chore(docs): include custom roles examples and mention of password reset (#15294)
Added example custom roles for admin inspiration, mention of headless
authentication use case, and user-activated password reset.
2024-10-30 11:41:52 -05:00
Danielle Maywood 823a2ea22e chore(cli): drop 'notification' prefix for configuring email auth (#15270)
Closes https://github.com/coder/coder/issues/14644
2024-10-30 10:06:10 +00:00
Stephen Kirby 25738388d5 chore(docs): add documentation on custom roles (#15280)
These docs were overwritten in the restructure merge.
2024-10-29 20:58:26 -05:00