This commit adds a lima example for Coder.
You can now run limactl start --name=coder ./examples/lima/coder.yaml and have a "prod-like" Coder instance up and running within a minute or so.
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
This commit applies some recommended settings to sacrifice durability
for speed for our testing database:
- Mount PGDATA dir on a tmpfs (--tmpfs /tmp)
- Turn off fsync
- Turn off synchronous_commit
- Turn off full_page_writes
Ref: https://www.postgresql.org/docs/current/non-durability.html
* 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