* add reason field for workspace build
* add the reason field to FE via API
* update BuildReasonMember to BuildReasonInitiator
* add unit tests
* add more unit tests
* add error for unknown transition
* fix lint
* add documentation
* fix unit tests
* fix generated types
* remove nested transaction
* rename migration file
* add ability to activate users
resolves#2254
* added test
* PR feedback
* guarding against null validation_contains field
* fixing type for ParameterSchema
resolves#2161
* added report link to footer
resolves#1885
* added test
* Footer story
* fix broken test
* WIP: feat: Update templates also updates parameters
* Insert params for template version update
* Working implementation of inherited params
* Add "--always-prompt" flag and logging info
* fix: Add reaper to coder agent
- The coder agent runs as PID 1 in some of our Docker workspaces.
In such cases it is the responsibility of the init process to
reap dead processes. Failing to do so can result in an inability
to create new processes by running out of PIDs.
This PR adds a reaper to our agent that is only spawned if it
detects that it is PID1.
This commit changes the `coder agent` path in `ps` listing from
`/tmp/tmp.coderwWs87Y/coder agent` to `./coder agent`.
The path is also updated to `/tmp/coder.wWs87Y`.
There were two options considered for turning `./coder agent` into
`coder agent`:
1. Run `exec -a coder /path/to/coder agent`
2. Run `PATH=/path/to:$PATH exec coder agent`
Option 1 is not supported by `dash`, and thus discarded.
Option 2 duplicates functionality in `coder agent` which _appends_ the
path, here we would want to _prepend_ it to ensure we're starting the
downloaded `coder` binary in case there is a binary with a conflicting
name on the system.
Fixes#2407
* fix: Add flag to toggle telemetry
This allows users to entirely disable tracking from Coder!
Telemetry is enabled by default, so this is opt-out.
* Update cli/server.go
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
* feat: Add anonymized telemetry to report product usage
This adds a background service to report telemetry to a Coder
server for usage data. There will be realtime event data sent
in the future, but for now usage will report on a CRON.
* Fix flake and requested changes
* Add reporting options for setup
* Add reporting for workspaces
* Add resources as they are reported
* Track API key usage
* Ensure telemetry is tracked prior to exit
* Fix socket leak, clean up single use postgres databases
Signed-off-by: Spike Curtis <spike@coder.com>
* Move migrate close defer until after we know it is not nil
Signed-off-by: Spike Curtis <spike@coder.com>
* fix: Use in-memory filesystem for echo provisioner tests
This should reduce IO in CI to shave some time off tests!
* test: Increase timeouts to reduce flakes
It's difficult to understand what's timing out due to a lock
vs. taking a long time. This should help resolve! 🕵️
* add ability to activate users
resolves#2254
* added test
* PR feedback
* guarding against null validation_contains field
* fixing type for ParameterSchema
resolves#2161
- When a workspace is deleted the user is nudged
to create a new workspace. The page to which they
are routed 404s. This PR simply routes them to the
/templates page where they can pick a template for their
new workspace.
- Previously, specifying 'no' to the tunnel prompt just killed
the process. It should be possible to start the server without
a tunnel and not have the process killed.