Skip to content

Commit 5e1da90

Browse files
committed
Merge branch 'main' into colin/wg-trim
2 parents 1baad76 + 65d8482 commit 5e1da90

File tree

24 files changed

+662
-174
lines changed

24 files changed

+662
-174
lines changed

.github/workflows/ci.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ jobs:
137137
138138
# Check for any typos
139139
- name: Check for typos
140-
uses: crate-ci/typos@v1.16.2
140+
uses: crate-ci/typos@v1.16.4
141141
with:
142142
config: .github/workflows/typos.toml
143143

coderd/apidoc/docs.go

Lines changed: 45 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

Lines changed: 43 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codersdk/deployment.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1931,6 +1931,9 @@ const (
19311931
// Template parameters insights
19321932
ExperimentTemplateParametersInsights Experiment = "template_parameters_insights"
19331933

1934+
// Workspaces batch actions
1935+
ExperimentWorkspacesBatchActions Experiment = "workspaces_batch_actions"
1936+
19341937
// Add new experiments here!
19351938
// ExperimentExample Experiment = "example"
19361939
)
@@ -1942,6 +1945,7 @@ const (
19421945
var ExperimentsAll = Experiments{
19431946
ExperimentDeploymentHealthPage,
19441947
ExperimentTemplateParametersInsights,
1948+
ExperimentWorkspacesBatchActions,
19451949
}
19461950

19471951
// Experiments is a list of experiments that are enabled for the deployment.

docs/admin/high-availability.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,27 @@ endpoint. [GCP](https://cloud.google.com/sql/docs/postgres/high-availability), [
66
and other cloud vendors offer fully-managed HA Postgres services that pair
77
nicely with Coder.
88

9-
For Coder to operate correctly, every node must be within 10ms of each other
10-
and Postgres. We make a best-effort attempt to warn the user when inter-Coder
11-
latency is too high, but if requests start dropping, this is one metric to investigate.
9+
For Coder to operate correctly, Coderd instances should have low-latency connections
10+
to each other so that they can effectively relay traffic between users and workspaces no
11+
matter which Coderd instance users or workspaces connect to. We make a best-effort attempt
12+
to warn the user when inter-Coderd latency is too high, but if requests start dropping, this
13+
is one metric to investigate.
14+
15+
We also recommend that you deploy all Coderd instances such that they have low-latency
16+
connections to Postgres. Coderd often makes several database round-trips while processing
17+
a single API request, so prioritizing low-latency between Coderd and Postgres is more important
18+
than low-latency between users and Coderd.
19+
1220
Note that this latency requirement applies _only_ to Coder services. Coder will
13-
operate correctly even with few seconds of latency on
14-
workspace <-> Coder and user <-> Coder connections.
21+
operate correctly even with few seconds of latency on workspace <-> Coder and user <-> Coder
22+
connections.
1523

1624
## Setup
1725

1826
Coder automatically enters HA mode when multiple instances simultaneously connect
1927
to the same Postgres endpoint.
2028

21-
HA brings one configuration variable to set in each Coder
29+
HA brings one configuration variable to set in each Coderd
2230
node: `CODER_DERP_SERVER_RELAY_URL`. The HA nodes use these URLs to communicate
2331
with each other. Inter-node communication is only required while using the
2432
embedded relay (default). If you're using [custom relays](../networking/index.md#custom-relays), Coder ignores `CODER_DERP_SERVER_RELAY_URL` since Postgres is the sole rendezvous for the Coder nodes.

docs/api/enterprise.md

Lines changed: 18 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/api/schemas.md

Lines changed: 25 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/contributing/frontend.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This is a guide to help the Coder community and also Coder members contribute to
66

77
You can run the UI and access the dashboard in two ways:
88

9-
- Build the UI pointing to an external Coder server: `CODER_HOST=https://mycoder.com yarn dev` inside of the `site` folder. This is helpful when you are building something in the UI and already have the data on your deployed server.
9+
- Build the UI pointing to an external Coder server: `CODER_HOST=https://mycoder.com pnpm dev` inside of the `site` folder. This is helpful when you are building something in the UI and already have the data on your deployed server.
1010
- Build the entire Coder server + UI locally: `./scripts/develop.sh` in the root folder. It is useful when you have to contribute with features that are not deployed yet or when you have to work on both, frontend and backend.
1111

1212
In both cases, you can access the dashboard on `http://localhost:8080`. If you are running the `./scripts/develop.sh` you can log in using the default credentials: `admin@coder.com` and `SomeSecurePassword!`.
@@ -18,14 +18,15 @@ All our dependencies are described in `site/package.json` but here are the most
1818
- [React](https://reactjs.org/) as framework
1919
- [Typescript](https://www.typescriptlang.org/) to keep our sanity
2020
- [Vite](https://vitejs.dev/) to build the project
21-
- [Material V4](https://v4.mui.com/) for UI components
21+
- [Material V5](https://mui.com/material-ui/getting-started/) for UI components
2222
- [react-router](https://reactrouter.com/en/main) for routing
2323
- [TanStack Query v4](https://tanstack.com/query/v4/docs/react/overview) for fetching data
2424
- [XState](https://xstate.js.org/docs/) for handling complex state flows
2525
- [axios](https://github.com/axios/axios) as fetching lib
2626
- [Playwright](https://playwright.dev/) for E2E testing
2727
- [Jest](https://jestjs.io/) for integration testing
2828
- [Storybook](https://storybook.js.org/) and [Chromatic](https://www.chromatic.com/) for visual testing
29+
- [PNPM](https://pnpm.io/) as package manager
2930

3031
## Structure
3132

enterprise/coderd/groups.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,11 @@ func (api *API) postGroupByOrganization(rw http.ResponseWriter, r *http.Request)
8181
// @Summary Update group by name
8282
// @ID update-group-by-name
8383
// @Security CoderSessionToken
84+
// @Accept json
8485
// @Produce json
8586
// @Tags Enterprise
8687
// @Param group path string true "Group name"
88+
// @Param request body codersdk.PatchGroupRequest true "Patch group request"
8789
// @Success 200 {object} codersdk.Group
8890
// @Router /groups/{group} [patch]
8991
func (api *API) patchGroup(rw http.ResponseWriter, r *http.Request) {

go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ require (
189189
golang.org/x/tools v0.12.0
190190
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2
191191
golang.zx2c4.com/wireguard v0.0.0-20230325221338-052af4a8072b
192-
google.golang.org/api v0.134.0
192+
google.golang.org/api v0.137.0
193193
google.golang.org/grpc v1.57.0
194194
google.golang.org/protobuf v1.31.0
195195
gopkg.in/natefinch/lumberjack.v2 v2.2.1
@@ -279,7 +279,7 @@ require (
279279
github.com/google/go-cmp v0.5.9 // indirect
280280
github.com/google/go-querystring v1.1.0 // indirect
281281
github.com/google/nftables v0.1.1-0.20230115205135-9aa6fdf5a28c // indirect
282-
github.com/google/s2a-go v0.1.4 // indirect
282+
github.com/google/s2a-go v0.1.5 // indirect
283283
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
284284
github.com/googleapis/enterprise-certificate-proxy v0.2.5 // indirect
285285
github.com/gorilla/css v1.0.0 // indirect
@@ -387,9 +387,9 @@ require (
387387
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20230215201556-9c5414ab4bde // indirect
388388
golang.zx2c4.com/wireguard/windows v0.5.3 // indirect
389389
google.golang.org/appengine v1.6.7 // indirect
390-
google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e // indirect
391-
google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 // indirect
392-
google.golang.org/genproto/googleapis/rpc v0.0.0-20230720185612-659f7aaaa771 // indirect
390+
google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect
391+
google.golang.org/genproto/googleapis/api v0.0.0-20230803162519-f966b187b2e5 // indirect
392+
google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 // indirect
393393
gopkg.in/yaml.v2 v2.4.0 // indirect
394394
howett.net/plist v1.0.0 // indirect
395395
inet.af/peercred v0.0.0-20210906144145-0893ea02156a // indirect

0 commit comments

Comments
 (0)