Commit Graph

335 Commits

Author SHA1 Message Date
Cian Johnston 411ce46442
feat(coderd/healthcheck): add health check for proxy (#10846)
Adds a health check for workspace proxies:
- Healthy iff all proxies are healthy and the same version,
- Warning if some proxies are unhealthy,
- Error if all proxies are unhealthy, or do not all have the same version.
2023-11-24 15:06:51 +00:00
Marcin Tojek 78df68348a
feat: include health severity in reports (#10817) 2023-11-23 16:08:41 +01:00
Colin Adler fbfd192370
chore: update openssl in Dockerfile (#10701)
Includes a security fix for CVE-2023-5363 and CVE-2023-5678.
2023-11-14 13:40:30 -06:00
Marcin Tojek fbd34139b5
refactor(site): use generated Healthcheck API entities (#10650) 2023-11-13 15:58:57 +01:00
Mathias Fredriksson 473585de6c
fix(scripts): forward all necessary ports for remote playwright (#10606) 2023-11-09 12:02:46 +00:00
Mathias Fredriksson e71c53d4d0
chore(site): add remote playwright support and script (#10445) 2023-11-09 13:26:26 +02:00
Cian Johnston 26740cf00d
chore(scripts/rules.go): broaden scope of testingWithOwnerUser linter (#10548)
* Updated testingWithOwnerUser ruleguard rule to detect:
  a) Passing client from coderdenttest.New() to clitest.SetupConfig() similar to what already exists for AGPL code
  b) Usage of any method of the owner client from coderdenttest.New() - all usages of the owner client must be justified with a `//nolint:gocritic` comment.
* Fixed resulting linter complaints.
* Added new coderdtest helpers CreateGroup and UpdateTemplateMeta.
* Modified check_enterprise_import.sh to ignore scripts/rules.go.
2023-11-08 14:54:48 +00:00
Kyle Carberry 5abfe5afd0
chore: rename dbfake to dbmem (#10432) 2023-10-30 17:42:20 +00:00
Colin Adler 7e6b549170
chore: upgrade Terraform to `1.5.7` (#10186) 2023-10-10 12:46:59 -05:00
Cian Johnston c83af5e627
chore(cli): add linter to detect potential spurious usage of owner user in cli tests (#10133)
* Detects the following pattern where the CLI is initialized with a client authenticated as the "first user":

    client := coderdtest.New(t, ...)
    [...]
    user := coderdtest.CreateFirstUser(t, client)
    [...]
    clitest.SetupConfig(t, client, root)

* Updates documentation regarding role permissions on workspaces.
2023-10-10 11:14:20 +01:00
Kayla Washburn 42fb6cab12
chore: add icons for popular programming languages (#10141) 2023-10-09 13:52:06 -06:00
Cian Johnston 5673aca408
feat(cli): add --parameter flag to exp scaletest command (#10132) 2023-10-09 14:08:24 +01:00
Kayla Washburn 71ad5909f2
chore: add icons.json file (#10085) 2023-10-06 13:46:37 -06:00
dependabot[bot] 4df5c1ddec
chore: bump the alpine image from 3.18.3 to 3.18.4 in `Dockerfile.base` (#9993)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 14:09:50 -05:00
Steven Masley beac36027f
chore: generate any interface as Deployment Option in TypeScript (#9917)
* chore: handle interfaces as "any" in typescript

Use generated Deployment Option
2023-09-28 16:14:28 -05:00
Colin Adler 885041a65b
revert: downgrade alpine to `v3.18.3` (#9916) 2023-09-28 20:27:47 +00:00
Colin Adler 92c0237899
chore: upgrade alpine to `v3.18.4` 2023-09-28 19:47:48 +00:00
Kyle Carberry 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
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
Cian Johnston 2ac532982d
feat(coderd/database): generate foreign key constraints and add database.IsForeignKeyViolation (#9657)
* feat(coderd/database): generate foreign key constraints, add database.IsForeignKeyViolation

* address PR comments
2023-09-13 13:28:46 +01:00
Steven Masley 18c34ee456
chore: support external types in typescript codegen (#9633)
* chore: support external types in typescript codegen
* fix enums on external packages
* Support clibase.struct
* Add regexp
* Make gen with updated generator
2023-09-12 18:21:09 -05:00
Marcin Tojek 1a1c230534
fix(docs): skip >> character (#9616) 2023-09-11 12:23:40 +02:00
Cian Johnston 392b11272b
fixup! fix(scripts): modify logic for determining terraform arch (#9595) (#9596) 2023-09-08 11:07:57 +00:00
Cian Johnston a3a16a1586
fix(scripts): modify logic for determining terraform arch (#9595)
Commit fb3616c used a build-arg to set the desired terrafomr
architeture to fetch. This is set in build_docker.sh but not
when building using depot.dev. Baking the logic into the
Dockerfile instead.
2023-09-08 10:47:51 +00:00
Cian Johnston fb3616c37e
fix(scripts): wget terraform directly from releases.hashicorp.com (#9594) 2023-09-08 10:02:18 +00:00
Spike Curtis 3bd0fd396c
feat: add boringcrypto builds for linux (#9543)
This reverts commit da0ef92f77.
2023-09-06 12:48:27 +04: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 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 a1025f92af
refactor(examples): pre-parse frontmatter via scripts/examplegen (#9514)
* refactor(examples): pre-parse frontmatter via scripts/examplegen

This removes 2 MB from the slim binary.

Ref: #9380
2023-09-04 20:15:29 +03:00
Mathias Fredriksson 18c9f33dec
chore: use tailscale extra small buildflags (#9490)
Ref: #9380
2023-09-01 19:14:56 +00:00
Mathias Fredriksson d8718c3818
chore: add `ts_omit_aws` tag to remove aws dependency pulled in by tailscale (#9486)
On Linux, this saves us 7 MB.

Ref: #9380
2023-09-01 18:37:49 +03: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
Ben Potter 173aac959c
fix(systemd): use more reasonable restart limit (#9355) 2023-08-27 14:35:06 -05:00
Muhammad Atif Ali d37f6d80f7
chore(docs): update docs for correct use of shell and console and enforce linewidth (#9245) 2023-08-23 12:27:57 +03:00
Cian Johnston e57d635739
feat: add script to run a local keycloak instance (#9242) 2023-08-22 14:32:03 +01:00
Cian Johnston 5c1ecfbd5f
feat(scripts/develop.sh): provide an easy way to specify access url (#9222)
Allows `develop.sh --access-url="http://host:port"`
2023-08-21 17:23:07 +00: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
Cian Johnston 95458ac8a5
chore(scripts/develop.sh): restore original access url setting (#9174) 2023-08-18 13:24:17 +00:00
Marcin Tojek ea34ec7538
chore(site): regenerate provisioner stub (#9151) 2023-08-18 10:50:43 +02:00
Jon Ayers 2f6687a475
feat: expose Everyone group through UI (#9117)
- Allows setting quota allowances on the 'Everyone' group.
2023-08-17 13:25:16 -05:00
Eric Paulsen c217a0d819
fix!: remove jq from image (#8979)
* fix: remove jq from base and add jq ext image

* Delete Dockerfile.ext-jq

---------

Co-authored-by: Muhammad Atif Ali <atif@coder.com>
2023-08-16 21:20:33 -04:00
Spike Curtis ff9252c706
feat: add provisioner chart to release and docs (#9050)
* Add provisioner chart to release and docs

Signed-off-by: Spike Curtis <spike@coder.com>

* Update docs/admin/provisioners.md

Co-authored-by: Muhammad Atif Ali <atif@coder.com>

* Prettier

Signed-off-by: Spike Curtis <spike@coder.com>

* spell out PSK first time per section

Co-authored-by: Cian Johnston <cian@coder.com>

---------

Signed-off-by: Spike Curtis <spike@coder.com>
Co-authored-by: Muhammad Atif Ali <atif@coder.com>
Co-authored-by: Cian Johnston <cian@coder.com>
2023-08-16 16:26:38 +04:00
phorcys420 f3c707648c
ci: publsh Chocolatey package (#8921) 2023-08-16 15:21:28 +03:00
Muhammad Atif Ali 114ad4624e
ci: upgrade pr deployments workflow (#8924) 2023-08-11 13:49:23 +03:00
Steven Masley 40f3fc3a1c
feat: allow creating manual oidc/github based users (#9000)
* feat: allow creating manual oidc/github based users
* Add unit test for oidc and no login type create
2023-08-10 20:04:35 -05:00
Spike Curtis 21af020386
feat: add external provisioner daemon helm chart (#8939)
* Refactor helm to extract common templates to libcoder

Signed-off-by: Spike Curtis <spike@coder.com>

* Remove comment from libcoder Chart.yaml

Signed-off-by: Spike Curtis <spike@coder.com>

* Add provisioner helm chart

* Fix prettier, linting, docs

Signed-off-by: Spike Curtis <spike@coder.com>

* Log at INFO when provisionerd connects to coderd

Signed-off-by: Spike Curtis <spike@coder.com>

* remove unnecessary exports in helm tests

Signed-off-by: Spike Curtis <spike@coder.com>

---------

Signed-off-by: Spike Curtis <spike@coder.com>
2023-08-10 13:59:43 +04:00
Colin Adler bc862fa493
chore: upgrade tailscale to v1.46.1 (#8913) 2023-08-09 19:50:26 +00:00
phorcys420 53f26b313d
fix(scripts): check if PR list is empty (#8805)
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
2023-08-09 19:22:46 +00:00
Colin Adler a5c59b9934
chore: upgrade to alpine `3.18.3` (#8980) 2023-08-08 12:21:38 -05:00
Dean Sheather b2a84462ab
chore: fix ruleguard xerrors rules (#8967) 2023-08-08 12:32:41 +00:00
Colin Adler 8ee500c59d
fix: generate typescript types for healthcheck pkg (#8846) 2023-08-03 16:20:46 -05:00
Ben Potter 1314cd8fcb
chore: support manual changelog and version 2.0 for releases (#8880)
* chore(release): add manual changelog + 2.0 support

* add comment

* fix typo

* fmt
2023-08-03 12:41:54 -05:00
Bruno Quaresma 2ed453035e
fix: fix develop script and pnpm command (#8878) 2023-08-03 14:15:45 +00:00
Colin Adler e68d508469
chore: bump openssl in base image (#8811) 2023-08-02 16:16:34 -05:00
Colin Adler 4b81cfaa0d
chore: switch from `yarn` to `pnpm` (#8822) 2023-08-02 13:28:16 -05:00
Dean Sheather c575292ba6
fix: fix tailnet netcheck issues (#8802) 2023-08-02 01:50:43 +10:00
Muhammad Atif Ali 6a12912d6e
ci: use a wildcard subdomain for PR deployments (#8801) 2023-08-01 12:02:42 +01:00
Muhammad Atif Ali 3761205bae
ci: further improve pr deployments (#8764) 2023-07-27 12:40:59 +00:00
Muhammad Atif Ali bc55ffdf0d
ci: improve deploy-pr workflow (#8735) 2023-07-27 13:07:53 +03:00
Ammar Bandukwala f28bac1b05
chore(scripts): use fake semver when using sapling (#8747)
The fact that the Sapling commit didn't conform to semver
broke the agent handshake with coderd.
2023-07-26 20:00:21 +00:00
Ammar Bandukwala c32085ca10
chore(scripts): handle Sapling in version.sh (#8687) 2023-07-24 11:11:46 -05:00
Ammar Bandukwala c9ade6f6c5
chore: enforce that site icons are .svg (#8684) 2023-07-23 16:27:11 -05:00
Ammar Bandukwala d56bf52141
chore(scripts): support Sapling in project_root (#8685) 2023-07-23 15:59:49 -05:00
Ammar Bandukwala 9833cd32b3 Revert "chore(scripts): support sappling in project_root"
This reverts commit 6855735085.

This was pushed accidentally.
2023-07-23 19:40:28 +00:00
Ammar Bandukwala 6855735085 chore(scripts): support sappling in project_root 2023-07-23 19:34:44 +00:00
Ben Potter 12b51ca804
ci: fix release notes compare link (#8581)
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
2023-07-21 15:22:54 +03:00
Ben Potter 4821e2e6d8
chore: add jq to base image (#8563)
* chore: add jq to base image

* fix formatting
2023-07-20 07:04:56 -05:00
Bruno Quaresma acc12d3426
feat: add offline docs (#8527) 2023-07-19 13:57:57 -03:00
Mathias Fredriksson 2fae9b0a69
chore(scripts/dbgen): only add arg validation for dbfake (#8578) 2023-07-18 17:26:03 +00:00
Cian Johnston 52b4563106
fix(scripts/develop.sh): use correct variables-file arg for template create (#8520) 2023-07-14 16:31:29 +00:00
Colin Adler 132f1d0eb5
chore: fuzzy match alpine terraform version (#8506) 2023-07-13 14:36:45 -05:00
Steven Masley 3b433181be
chore: add custom querier functions to dbgen (#8496)
* chore: add custom querier functions to dbgen
* chore: parse package was missing some imports, so force them
2023-07-13 13:12:29 -04:00
Ben Potter 44e25185ff
docs: add custom API use cases (#8445) 2023-07-13 13:24:09 +00:00
Mathias Fredriksson 70047ffd15
chore(scripts): use slim and always run make in `coder-dev.sh` (#8418) 2023-07-13 11:51:53 +03:00
Mathias Fredriksson 29e4205abf
ci(scripts): add support for `--force` in `release.sh` (#8469) 2023-07-12 16:31:13 +00:00
Spike Curtis b4057bd74a
feat: make pgCoordinator generally available (#8419)
* pgCoord to GA, fix tests

Signed-off-by: Spike Curtis <spike@coder.com>

* Fix generation and coordinator delete RBAC

Signed-off-by: Spike Curtis <spike@coder.com>

* Fix fakeQuerier -> FakeQuerier

Signed-off-by: Spike Curtis <spike@coder.com>

---------

Signed-off-by: Spike Curtis <spike@coder.com>
2023-07-12 13:35:29 +04:00
Ammar Bandukwala 0115adf9d7
chore(.golangci.yaml): make gocyclo slightly more sensitive (#8383) 2023-07-08 22:43:34 +00:00
Colin Adler 33bdc23e1d
chore(site): fix node vulnerabilities (#8330)
* chore: fix node vulnerabilities

https://github.com/advisories/GHSA-c2qf-rxjj-qqgw
https://github.com/advisories/GHSA-j8xg-fqg3-53r7

* fixup! chore: fix node vulnerabilities

* fixup! chore: fix node vulnerabilities

* fixup! chore: fix node vulnerabilities

* fixup! chore: fix node vulnerabilities

* fixup! chore: fix node vulnerabilities
2023-07-06 10:26:55 -03:00
Colin Adler c0835c443d
chore: pin terraform to 1.5.2 (#8322)
The Alpine ARM builders are no longer behind on releases.
2023-07-05 12:59:58 -05:00
Steven Masley f0bd258ff1
feat: move proxy settings page to deployment options (#8246)
* feat: Move workspace proxy page to deployment options

Workspace proxy settings page is now an admin feature

* WorkspaceProxy response extends region
2023-06-30 11:32:35 -04:00
Colin Adler 97945ae272
fix(scripts): properly shift for `--build-base` option (#8167) 2023-06-22 15:24:03 -05:00
Colin Adler 41e7216df7
chore: upgrade terraform to 1.5.1 (#8160) 2023-06-22 19:08:40 +00:00
Marcin Tojek 4fb4c9b270
chore: add more rules to ensure logs consistency (#8104) 2023-06-21 12:00:38 +02:00
Kyle Carberry bbb0fab1de
chore: merge database gen scripts (#8073)
* chore: merge database gen scripts

* Fix type params gen

* Merge enum into dbgen
2023-06-20 16:24:33 +00:00
Marcin Tojek b1d1b63113
chore: ensure logs consistency across Coder (#8083) 2023-06-20 12:30:45 +02:00
Mathias Fredriksson 3f81f38fcc
ci: fix commit type prefix regexp in release script (#8046)
Previously we were incorrectly categorizing `fix(a/b): ...` as other
because the regexp only expected letters, not `/`. Now we accept any
input within the parenthesis.

---------

Co-authored-by: Cian Johnston <cian@coder.com>
2023-06-15 10:57:18 +00:00
Colin Adler 1288a83e42
chore: upgrade openssl (#7883) 2023-06-06 16:59:56 -05:00
Steven Masley 5d711fc95a
chore: CORs option for yarn dev server (#7630)
* chore: Yarn dev servers require CORs headers for external proxies

Adds a flag to set CORs headers to `*` for yarn dev servers
2023-05-22 20:02:39 +02: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
Steven Masley 2624ee8f12
chore: Remove extra opt and fix 'proxy' alias (#7413)
* chore: Remove extra opt and fix 'proxy' alias
* proxy -> wsproxy
2023-05-05 13:09:04 -05:00
Dean Sheather 5961cf900d
chore: bump terraform from 1.3.4-r3 to r4 in image (#7393)
Looks like 1.3.4-r3 isn't available anymore, and 1.3.4-r4 is available
instead.
2023-05-03 18:21:11 +00:00
Dean Sheather 398d08a0cf
chore: fix ci.yaml deploy step for other regions 2 (#7368) 2023-05-02 01:34:21 +00:00
Dean Sheather 140637448c
chore: fix nfpm.yaml (#7366) 2023-05-01 22:44:11 +00:00
Dean Sheather 3b15234660
chore: add continuous deployment for workspace proxies (#7364) 2023-05-02 08:02:51 +10:00
Steven Masley 4353ad7940
chore: Remove url and wildcard url from moon create (#7224)
* chore: Remove url and wildcard url from moon create
2023-04-20 21:09:14 -05:00
Steven Masley a5a5c4d400
chore: Add workspace proxy enterprise cli commands (#7176)
* feat: Add workspace proxy enterprise cli commands
* chore: Handle custom workspace proxy options. Remove excess
* chore: Add endpoint to register workspace proxies
2023-04-20 09:48:47 -05:00
Dean Sheather fa5387ce07
chore: fix make gen (#7190) 2023-04-18 17:56:52 +00:00
Kyle Carberry d3356fa48e
fix: upgrade terraform in apk (#7146) 2023-04-14 20:10:17 -05:00