Commit Graph
244 Commits
Author SHA1 Message Date
Atif Ali 5827219812 chore: update module sources in templates to new format (#18026) 2025-05-25 00:15:18 +02:00
Sas Swart 613117bde2 chore: add presets with prebuilds to our dogfood template (#17933)
This PR adds a preset with prebuilds for each region to our dogfood
template. Creating a workspace based on a preset should now save time
compared to creating a workspace from scratch
2025-05-20 14:45:26 +02:00
Mathias Fredriksson 84478bd7d6 fix(dogfood/coder): add missing -f flag (#17906) 2025-05-19 11:25:54 +00:00
Mathias Fredriksson 3dbd4245be fix(dogfood/coder): stop docker containers and prune system on shutdown (#17904)
This change adds docker stop and docker system prune to the shutdown script so 
that it doesn't need to be done by the Docker host which will take a lot longer.

This change greatly speeds up workspace destruction:

```
2025-05-19 12:26:57.046+03:00 docker_container.workspace[0]: Destroying... [id=2685e2f456ba7b280c420219f19ef15384faa52c61ba7c087c7f109ffa6b1bda]
2025-05-19 12:27:07.046+03:00 docker_container.workspace[0]: Still destroying... [10s elapsed]
2025-05-19 12:27:16.734+03:00 docker_container.workspace[0]: Destruction complete after 20s
```

Follow-up for #17110
2025-05-19 13:23:22 +03:00
Mathias Fredriksson fe4c4122c9 fix(dogfood/coder): increase in-container docker daemon shutdown timeout (#17617)
The default is 10 seconds and will not successfully clean up large
devcontainers inside the workspace.

Follow-up to #17528
2025-04-30 17:01:22 +03:00
M Atif Ali c45343aa99 chore(dogfood): add windsurf module (#17558) 2025-04-24 14:14:50 +05:00
M Atif Ali 4759e17acd chore(dogfood): allow provider minor version updates (#17554) 2025-04-24 07:21:31 +00:00
Mathias Fredriksson 1ba02f4297 chore(dogfood): increase container graceful stop time (#17528)
Fixes workspace stop when you've run `devcontainer up` in coder/coder.

The previous attempt in #17110 gave insufficient time.
2025-04-23 13:40:51 +03:00
ケイラ 03890aa904 chore: add jj to dogfood (#17434) 2025-04-17 16:08:51 -06:00
ケイラ 144c60dd87 chore: upgrade fish to v4 (#17440) 2025-04-17 11:17:09 -06:00
Eric PaulsenandThomas Kosiewski d20966d500 chore: update go to 1.24.2 (#17356)
this updates `go` to the latest stable patch version `1.24.2` in:
- `go.mod`
- `dogfood/coder/Dockerfile`
- `.github/actions/setup-go/action.yaml`
- `flake.nix`

written with the assistance of ClaudeCode.

---------

Co-authored-by: Thomas Kosiewski <tk@coder.com>
2025-04-16 11:11:02 -07:00
Benjamin Peinhardt c8c4de5f7a chore(dogfood): add tmux (#17397) 2025-04-15 08:26:13 -05:00
M Atif Ali e54aa442eb chore(dogfood): switch to JetBrains Toolbox module (#17392) 2025-04-14 21:34:52 +05:00
Jon AyersandClaude 8faaa14820 chore: update Terraform to 1.11.4 (#17323)
Co-authored-by: Claude <noreply@anthropic.com>
2025-04-09 22:50:15 -04:00
Jon Ayers 900eb251eb chore: update Terraform to 1.11.3 (#17256)
- Generated with Claude Code
2025-04-04 10:31:45 -04:00
Jon Ayers d6c034d2a3 chore: pin dogfood npm dependencies (#17216) 2025-04-02 03:54:49 -04:00
Jon Ayers 989c3ec62e chore: pin various dependencies in CI files (#17180) 2025-04-01 00:15:15 -04:00
Cian Johnston d7a81f1d9b chore(dogfood): add lsof (#17117)
because lsof is a standard linux utility
2025-03-26 18:58:03 +00:00
Mathias Fredriksson 310f148cb4 fix(dogfood/coder): add shutdown script and graceful agent shutdown (#17110)
By stopping Docker, we can hopefully avoid errors like this:

```
2025-03-26 12:14:53.280+02:00 Error: Error deleting container aa313fca0f72e59d4571afec898392e0ae34567d56c0ad15554c87394d2ca1e1: Error response from daemon: container aa313fca0f72e59d4571afec898392e0ae34567d56c0ad15554c87394d2ca1e1: driver "overlay2" failed to remove root filesystem: unlinkat /var/data/docker/overlay2/2e8e509237c79ebec972cccae9867f3bd6f71d49d4ed68db1b5ba229c3a2ff62/diff/var/lib/docker/overlay2/9c7c4ab0187ece1ca270d146090a8e852808996279d103cb394b2821c472af4c/diff/usr/lib/python3/dist-packages/ansible_collections: directory not empty
```
2025-03-26 13:17:51 +02:00
Cian Johnston 811097ef03 chore(dogfood): update dogfood Go version to 1.24.1 (#17104)
https://github.com/coder/coder/pull/17035 updated the Go version in
`go.mod` and in GH actions but not in `dogfood/coder/Dockerfile` or
`flake.nix`.

This updates the Go version to 1.24 in `dogfood/coder/Dockerfile`.
Unfortunately at the time of writing, Go 1.24 is not available in NixOS.
So that will have to wait.
2025-03-26 10:32:43 +00:00
Jon AyersandClaude 17ddee05e5 chore: update golang to 1.24.1 (#17035)
- Update go.mod to use Go 1.24.1
- Update GitHub Actions setup-go action to use Go 1.24.1
- Fix linting issues with golangci-lint by:
  - Updating to golangci-lint v1.57.1 (more compatible with Go 1.24.1)

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <claude@anthropic.com>
2025-03-26 01:56:39 -05:00
Jon AyersandClaude 8da568b132 chore: update Terraform version from 1.11.0 to 1.11.2 (#17081)
🤖 Generated with [Claude Code](https://claude.ai/code)

---------

Co-authored-by: Claude <claude@anthropic.com>
2025-03-25 00:57:15 -05:00
Cian Johnston 445a059da2 ci: standardize on go 1.22.12 (#17047)
Standardizes on go1.22.12 in go.mod and in dogfood Dockerfile
2025-03-24 16:00:07 +00:00
Dean Sheather 77fe10ead8 chore(dogfood): update EU server from Helsinki to Falkenstein (#17061) 2025-03-24 02:22:34 +11:00
M Atif AliandThomas Kosiewski 4987de654e chore: enable SBOM attestations for docker images (#16894)
- Enable SBOM and provenance attestations in Docker builds
- Installs `cosign` and `syft` in dogfood image
- Adds [github
attestations](https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds)

Signed-off-by: Thomas Kosiewski <tk@coder.com>

---------

Signed-off-by: Thomas Kosiewski <tk@coder.com>
Co-authored-by: Thomas Kosiewski <tk@coder.com>
2025-03-13 21:45:11 +05:00
Thomas Kosiewski 5285c12b9e chore: update terraform to 1.11.1 in nix image (#16880)
Followup PR to #16781, update the terraform version in our Nix devshell.

Additionally: 

1. Switches from DeterminateSystems/nix-installer-action to nixbuild/nix-quick-install-action -- quicker installer, reduces actions time from ~60 seconds to ~1 seconds.
2. Adds nix-community/cache-nix-action for better caching with garbage collection -- avoids unnecessary rebuilding on subsequent runs, reduces nix image build time from ~6 minutes to <4 minutes.
3. Adds nixpkgs-unstable input to use Terraform 1.11.1

Change-Id: I05d6dfd3f3cf1af48cf8a2d9e61b396bcd2b7191
Signed-off-by: Thomas Kosiewski <tk@coder.com>
2025-03-11 16:23:33 +01:00
Cian Johnston 09dd69a7e8 chore(dogfood): include multiple templates under dogfood/ (#16846)
* Renames `dogfood/contents` to `dogfood/coder`.
* Moves `coder-envbuilder` to `dogfood/coder-envbuilder`.
* Updates `dogfood/main.tf` to push `coder-envbuilder` template.
* Replaces hard-coded organization IDs with
`data.coderd_organization.default.id`.
2025-03-11 13:17:40 +00:00
Thomas Kosiewski 9ded2cc7ec fix(flake.nix): synchronize playwright version in nix and package.json (#16715)
Ensure that the version of Playwright installed with the Nix flake is
equal to the one specified in `site/package.json.` -- This assertion
ensures that `pnpm playwright:install` will not attempt to download
newer browser versions not present in the Nix image, fixing the startup
script and reducing the startup time, as `pnpm playwright:install` will
not download or install anything.

We also pre-install the required Playwright web browsers in the dogfood
Dockerfile. This change prevents us from redownloading system
dependencies and Google Chrome each time a workspace starts.

Change-Id: I8cc78e842f7d0b1d2a90a4517a186a03636c5559
Signed-off-by: Thomas Kosiewski <tk@coder.com>

Signed-off-by: Thomas Kosiewski <tk@coder.com>
2025-03-11 13:49:03 +01:00
M Atif Ali e817713dc0 revert: "chore: enable SBOM attestation for image builds" (#16868)
Reverts coder/coder#16852

The CI failed to create the multi-arch manifest.

https://github.com/coder/coder/actions/runs/13773079355/job/38516182819#step:18:341

I personally think we should move to a [multi-arch
Dockerfile](https://docs.docker.com/build/building/multi-platform/#cross-compilation)
instead of creating the manifest manually.
2025-03-10 19:55:03 +00:00
M Atif Ali 05ebece03a chore: enable SBOM attestation for image builds (#16852)
- Added SBOM (Software Bill of Materials) generation during Docker build
to enhance traceability. Refer to Docker documentation on SBOM:
https://docs.docker.com/build/metadata/attestations/sbom/
- Updated Docker build scripts to use BuildKit for provenance and SBOM
support: https://docs.docker.com/build/metadata/attestations/
- Configured Docker daemon in dogfood image to support the Containerd
snapshotter feature to improve performance:
https://docs.docker.com/engine/storage/containerd/

> [!Important]
> We also need to enable `containerd` on depot runners.
> <img width="587" alt="image"
src="https://github.com/user-attachments/assets/1d7f87c7-fdcc-462a-babe-87ac6486ad09"
/>



## Testing

- Tested locally with ` docker buildx build --sbom=true --output
type=local,dest=out -f Dockerfile .` to verify that an SBOM file is
generated.
- Tested in
[CI](https://github.com/coder/coder/actions/runs/13731162662/job/38408790980?pr=16852#step:17:1)
to ensure the image builds without any errors.


Also closes coder/internal#88
2025-03-11 00:24:14 +05:00
M Atif Ali 54745b1d3f chore(dogfood): update Zed URI to use Coder Desktop provided DNS entries (#16847) 2025-03-07 22:27:49 +05:00
Jon Ayers 10f1e0b39a chore: update terraform to 1.11.0 (#16781) 2025-03-04 14:28:41 -05:00
Danny Kopping 546d915d32 chore: install libgbm-dev to allow headless chrome e2e tests to run (#16695)
Without this lib, Chrome can’t set up its offscreen rendering buffers -
apparently.

I've validated this manually in my workspace.

Signed-off-by: Danny Kopping <danny@coder.com>
2025-02-25 12:33:17 +00:00
ケイラ dfa33b11d9 chore: run make clean on workspace startup (#16660) 2025-02-24 10:43:03 -07:00
Stephen Kirby 10326b458c chore(dogfood): add validation on OOM OOD parameters (#16636) 2025-02-24 11:03:05 -06:00
Vincent Vielle 52cc0ce523 chore: add resources_monitoring to dogfood (#16600)
As we recently merged OOM & OOD Notifications - we can now enable it in
the dogfood instance and workspaces so everyone can use it and help
testing it.
2025-02-19 09:11:53 +01:00
Colin AdlerandCian Johnston a777c2694e chore: upgrade terraform to 1.10.5 (#16519)
- Updates `terraform` to
[v1.10.5](https://github.com/hashicorp/terraform/blob/v1.10.5/CHANGELOG.md#1105-january-22-2025)
- Updates provider to >=2.0.0 in provider testdata fixtures
- Fixes provider to required release version for resource monitors
- Fixes missing leading / in volumes in resource monitor tests
---------

Co-authored-by: Cian Johnston <cian@coder.com>
2025-02-18 11:45:22 +00:00
Cian Johnston ec50a35c08 chore(cli): disable agent devcontainer integration by default (#16531)
Until we have more of the building blocks in place, disable the agent
devcontainer integration by default. We'll enable it by default at a
later date.
2025-02-12 10:47:25 +00:00
Cian JohnstonandThomas Kosiewski 6b3e14f3fa fix(dogfood/contents): fix resource metadata under nix (#16349)
Co-authored-by: Thomas Kosiewski <tk@coder.com>
2025-02-04 16:10:10 +01:00
Thomas Kosiewski 6e2dc6ffd2 fix(flake.nix): include dev buildInputs in dogfood nix image (#16325) 2025-01-30 17:47:19 +01:00
Thomas Kosiewski 1336925c9f feat(flake.nix): switch dogfood dev image to buildNixShellImage from dockerTools (#16223)
Replace Depot build action with Nix for Nix dogfood image builds

The dogfood Nix image is now built using Nix's native container tooling instead of Depot. This change:

- Adds Nix setup steps to the GitHub Actions workflow
- Removes the Dockerfile.nix in favor of a Nix-native container build
- Updates the flake.nix to support building Docker images
- Introduces a hash file to track Nix-related changes
- Updates the vendorHash for Go dependencies

Change-Id: I4e011fe3a19d9a1375fbfd5223c910e59d66a5d9
Signed-off-by: Thomas Kosiewski <tk@coder.com>
2025-01-28 16:38:37 +01:00
M Atif Ali d2ff42560f chore(dogfood): dogfood zed editor (#16255)
This requires running `coder config-ssh`.

I intentially kept it as a module so that we can port it to
`coder/`modules` easily when needed.
2025-01-24 15:17:18 +00:00
Phorcys 5cc7c439f3 chore(dogfood): delete lazygit and doctl archives after installing (#16184) 2025-01-18 09:08:53 +10:00
Phorcys 04a48b8327 chore(dogfood): add doctl (#16136) 2025-01-18 06:15:05 +10:00
Thomas Kosiewski e7f108145a fix(flake.nix): install locales on linux host devShells (#16120)
Change-Id: I22dba63d317b41749c807a55e15278006cdcecad
Signed-off-by: Thomas Kosiewski <tk@coder.com>

- Adds neovim and fzf to development tools, removes sapling, and fixes locale issues on Linux systems. 
- Updates Dockerfile.nix syntax to use uppercase `AS` to remove warnings. 
- Refactored conditional logic for strace inclusion using `lib.optional`.
2025-01-15 17:14:55 +01:00
Dean Sheather 0ecd38c434 chore: remove Tokyo server from dogfood (#16146) 2025-01-15 13:33:48 +00:00
Mathias Fredriksson 5a89e89d7e chore(dogfood): unminimize ubuntu image to include man pages (#16133) 2025-01-14 19:10:18 +02:00
Muhammad Atif Ali f4994ca783 chore(dogfood): add vscode-web module (#16081) 2025-01-09 08:03:05 +00:00
Muhammad Atif AliandEdward Angert 94f5d52fdc chore: adopt markdownlint and markdown-table-formatter for *.md (#15831)
Co-authored-by: Edward Angert <EdwardAngert@users.noreply.github.com>
2025-01-03 13:12:59 +00:00
Muhammad Atif Ali 7697005663 chore(dogfood): prevent downloading modules on workspace stop (#15922) 2024-12-19 12:46:41 +05:00