Commit Graph

1793 Commits

Author SHA1 Message Date
Kyle Carberry 16e9b1eb1a fix: Add timeouts to every tailnet ping (#4986)
A ping isn't guaranteed to deliver, so these need to have a
tight timeout for tests to not flake.
2022-11-09 20:12:51 +00:00
Garrett Delfosse d277e28427 feat: change template max_ttl to default_ttl (#4843) 2022-11-09 19:36:25 +00:00
Dean Sheather ffc24dcbe0 feat: create tracing.SlogSink for storing logs as span events (#4962) 2022-11-09 12:58:23 -06:00
Kyle Carberry 089659ffb1 fix: Move SQL connection limits to initialization (#4981)
The connection limit wasn't being applied to pubsub, which would
overload the server if a ton of logs were being published at once.

This should fix it, and improve scale a lot!
2022-11-09 16:25:25 +00:00
Mathias Fredriksson 90c34b74de feat: Add connection_timeout and troubleshooting_url to agent (#4937)
* feat: Add connection_timeout and troubleshooting_url to agent

This commit adds the connection timeout and troubleshooting url fields
to coder agents.

If an initial connection cannot be established within connection timeout
seconds, then the agent status will be marked as `"timeout"`.

The troubleshooting URL will be present, if configured in the Terraform
template, it can be presented to the user when the agent state is either
`"timeout"` or `"disconnected"`.

Fixes #4678
2022-11-09 17:27:05 +02:00
Mathias Fredriksson 26ab0d37c1 fix: Protect codersdk.Client SessionToken so it can be updated (#4965)
This feature is used by the coder agent to exchange a new token. By
protecting the SessionToken via mutex we ensure there are no data races
when accessing it.
2022-11-09 15:31:24 +02:00
Dean Sheather d82364b9b5 feat: make trace provider in loadtest, add tracing to sdk (#4939) 2022-11-09 08:10:48 +10:00
Garrett Delfosse 2789fb7cac fix: move experimental flag to server (#4959) 2022-11-08 16:59:39 +00:00
Marcin Tojek bf4a6fb5b5 feat: pprof is always on (#4951) 2022-11-08 15:02:07 +01:00
Marcin Tojek 16384f8594 feat: Add provisioner force-cancel flag (#4947)
* feat: Add provisionerd force cancel flag

* Golden files

* Fix: typesGenerated.ts

* Use single struct for Provisioner config
2022-11-08 14:19:40 +01:00
Kyle Carberry da05bbbdf7 chore: Separate the provisionerd server into it's own package (#4940)
* chore: Separate the provisionerd server into it's own package

This code should be thoroughly tested now that we understand the abstraction.

I separated it to make our lives a bit easier for external provisioner daemons
as well!

* Add tests

* Add workspace builds

* Add test for workspace resources
2022-11-08 01:10:49 +00:00
Marcin Tojek 641aacf793 feat: show banner when workspace is outdated (#4926)
* feat: show banner when workspace is outdated

* Address PR comments

* Fix: writer
2022-11-07 19:12:39 +01:00
Dean Sheather 5f099ea488 feat: loadtest output formats (#4928) 2022-11-08 03:26:50 +10:00
Dean Sheather f9189772d7 feat: add new loadtest type agentconn (#4899) 2022-11-07 17:18:07 +00:00
Kyle Carberry 30281852d6 feat: Add buffering to provisioner job logs (#4918)
* feat: Add bufferring to provisioner job logs

This should improve overall build performance, and especially under load.

It removes the old `id` column on the `provisioner_job_logs` table
and replaces it with an auto-incrementing big integer to preserve order.

Funny enough, we never had to care about order before because inserts
would at minimum be 1ms different. Now they aren't, so the order needs
to be preserved.

* Fix log bufferring

* Fix frontend log streaming

* Fix JS test
2022-11-06 20:50:34 -06:00
Kyle Carberry 1898f67fe0 fix: Ensure the session token is properly passed to instance identity (#4923)
Fixes #4921.
2022-11-06 16:46:51 -06:00
Colin Adler e740aebf26 feat: add provisionerd prometheus metrics (#4909) 2022-11-04 19:03:01 -05:00
Colin Adler 8dd567dd89 fix: use prometheus default registry (#4907) 2022-11-04 20:19:58 +00:00
Mathias Fredriksson 587924fc42 feat: Add golden files to test cli help output (#4897) 2022-11-04 19:48:36 +02:00
Mathias Fredriksson 70048acd73 fix: Disable viper auto-env to avoid assigning to parent structs (#4893)
The viper automatic env mapping and BindEnv were both creating mappings
like `vip.BindEnv("telemetry", "CODER_TELEMETRY")` which we don't want
since `DeploymentConfig.Telemetry` is a struct housing fields.

For some reason, this was causing `DeploymentConfig.Telemetry.URL` to
**not** be assigned its default value when `CODER_TELEMETRY=false` was
set as an environment variable.

Potentially we would want `"telemetry.enable"` to be mapped to
`"CODER_TELEMETRY"` for simplicity. But that behavior is not changed by
this commit.

Arguably, we could remove `vip.SetEnvPrefix` and `vip.SetEnvKeyReplacer`
as well since we're manually controlling all environment variable names
via `formatEnv`.
2022-11-04 19:46:59 +02:00
Colin Adler 1bbe37a602 chore: update tailscale (#4903) 2022-11-04 12:32:55 -05:00
Kyle Carberry 8e743d28c8 fix: Use instance identity session token for git subcommands (#4884)
This broke using gitssh with instance identity!
2022-11-04 09:44:36 -07:00
Geoffrey Huntley e83e6dc583 docs(cli): proxy-trusted-origins should be an ip (#4890) 2022-11-04 03:14:02 +00:00
Mathias Fredriksson 04ae4c036b fix: Avoid parsing telemetry URL when telemetry is disabled (#4881) 2022-11-03 20:09:21 +02:00
Dean Sheather e7dd3f9378 feat: add load testing harness, coder loadtest command (#4853) 2022-11-02 18:30:00 +00:00
Garrett Delfosse ddbae4da59 fix: error if protocol isn't specified in --access-url (#4835) 2022-11-01 12:59:37 -04:00
Colin Adler 4c5bf42355 feat: add option for exporting traces to a provided Honeycomb team (#4816) 2022-11-01 09:15:41 -05:00
Colin Adler cffb723ecc fix: small typos in proxy-trusted-headers help (#4811) 2022-10-31 17:00:04 +00:00
Bruno Quaresma 46e0953876 refactor: Show template versions as timeline (#4800) 2022-10-31 16:38:07 +00:00
Dean Sheather 10df2fd4fb feat: add new required slug property to coder_app, use in URLs (#4573) 2022-10-28 17:41:31 +00:00
Jon Ayers 90f77a3415 feat: add groups support to the CLI (#4755) 2022-10-27 16:49:35 -05:00
Kyle Carberry b34a67e6cb fix: Allow custom Git OAuth URLs (#4758)
Fixes an issue reported in Discord where custom endpoints
weren't working.
2022-10-27 10:38:05 -07:00
sonnysasaka 7d831e31c6 fix: Line gets erased due to updateJob (#4740)
The first updateJob should be called after the first printStage to
guarantee that only stage prints can get erased and overwritten,
otherwise there could be an unrelated line that gets erased.

fixes #3967
2022-10-25 10:27:44 -05:00
Kyle Carberry eec406b739 feat: Add Git auth for GitHub, GitLab, Azure DevOps, and BitBucket (#4670)
* Add scaffolding

* Move migration

* Add endpoints for gitauth

* Add configuration files and tests!

* Update typesgen

* Convert configuration format for git auth

* Fix unclosed database conn

* Add overriding VS Code configuration

* Fix Git screen

* Write VS Code special configuration if providers exist

* Enable automatic cloning from VS Code

* Add tests for gitaskpass

* Fix feature visibiliy

* Add banner for too many configurations

* Fix update loop for oauth token

* Jon comments

* Add deployment config page
2022-10-24 19:46:24 -05:00
Garrett Delfosse 585045b359 feat: support nested structs, structured arrays, and better secret value handling in config (#4727) 2022-10-25 00:11:00 +00:00
John 0783ca3793 cli: version to the $ coder header in CLI (#4709) 2022-10-24 11:17:48 -05:00
Kyle Carberry c41bdc21cb fix: Add names to config properties for the UI (#4718)
This was reverted in the configuration PR, which broke the UI.
2022-10-24 14:37:37 +00:00
Kyle Carberry bf3224e373 fix: Refactor agent to consume API client (#4715)
* fix: Refactor agent to consume API client

This simplifies a lot of code by creating an interface for
the codersdk client into the agent. It also moves agent
authentication code so instance identity will work between
restarts.

Fixes #3485 and #4082.

* Fix client reconnections
2022-10-23 22:35:08 -05:00
Kyle Carberry f75a54cd1e feat: Support x-forwarded-for headers for IPs (#4684)
* feat: Support x-forwarded-for headers for IPs

Fixes #4430.

* Fix realip accepting headers

* Fix unused headers
2022-10-23 13:21:49 -05:00
Dean Sheather d0fb054a55 fix: improve codersdk error messages when not JSON (#4495) 2022-10-21 23:36:31 +00:00
Kyle Carberry 7bc5b89f7a feat: Support config files with viper (#4696) 2022-10-21 17:08:23 -05:00
Garrett Delfosse e8537067ef Revert "Revert "Revert "feat: Support config files with viper"" (#4693)" (#4695)
This reverts commit 372fb1f345.
2022-10-21 16:07:38 -05:00
Garrett Delfosse 372fb1f345 Revert "Revert "feat: Support config files with viper"" (#4693) 2022-10-21 20:55:20 +00:00
Garrett Delfosse a2fb444911 Revert "feat: Support config files with viper (#4558)" (#4692)
This reverts commit c8e299c8f1.
2022-10-21 20:04:27 +00:00
Garrett Delfosse c8e299c8f1 feat: Support config files with viper (#4558) 2022-10-21 19:26:39 +00:00
Dean Sheather 47cb9abfc2 feat: support wildcard apps over tunnel (#4602) 2022-10-21 08:09:44 +10:00
Kyle Carberry 3c40698033 chore: Enforce PostgreSQL >=13 (#4612)
* chore: Enforce PostgreSQL >=13

Fixes #4608.

* Fix version string parsing
2022-10-17 20:02:25 -05:00
Kyle Carberry c5afaffa7e fix: Tidy up closes for nicer output (#4605)
* fix: Tidy up closes for nicer output

There was a context canceled message that would appear
because of traces, and this was using the wrong close.

I don't think it was causing any specific problems, but
it could make a replica warning appear on restart.

* Fix migration and experimental
2022-10-17 18:36:23 -05:00
Kyle Carberry 4e44716b0c docs: add high availability (#4583)
- Rename `CODER_DERP_SERVER_RELAY_ADDRESS`

Co-authored-by: Ammar Bandukwala <ammar@ammar.io>
2022-10-17 14:27:38 -05:00
Colin Adler 29acd25b4e fix: chrome requests hanging over port-forward (#4588) 2022-10-17 11:45:29 -05:00