Commit Graph
8967 Commits
Author SHA1 Message Date
MRColor d8fbbcbd36 feat(helm): add support for nodePort specification in LoadBalancer services helm chart (#16032)
## Short description: 
This pull request introduces support for optionally specify `nodePort`
values when using `LoadBalancer` service type in the Coder Helm chart.
This enhancement addresses a limitation where `httpNodePort` and
`httpsNodePort` values were previously ignored for `LoadBalancer`
services. This PR should expand the service customization options
without disrupting existing configurations.

## Why this is Useful
In some enterprise environments, applications may be required to use
specific ports for compliance with organizational policies or cloud
infrastructure requirements. For instance:

- Reserved port blocks are allocated for specific applications for
security and clarity.
- Ensuring predictable port assignments helps in debugging and
management scenarios.

Since LoadBalancer in Kubernetes operates on top of nodePort, this
feature is useful for enabling enterprises to adhere to such policies if
they whish.

## What Was Changed
- Updated helm/coder/templates/service.yaml:
- Allowed nodePort specification for both NodePort and LoadBalancer
service types.
- Updated helm/coder/templates/values.yaml:
- Updated inline comments to reflect the changes for nodeport values use
cases.
  
### Regarding backward compatibility:
If nodePort is not specified, Kubernetes dynamically assigns a port,
maintaining the current behavior.
### Testing Performed
- Validated through Helm dry-run: nodePort values are rendered correctly
in the resulting Kubernetes YAML.
- Deployed the updated chart in an enterprise Kubernetes cluster.
- Tested coder environment with LoadBalancer service and specified
nodePort values for both HTTP and HTTPS.

## Additional Notes
- This PR expands the nodeport functionality introduced in PR #8993 to
the Loadbalancer service.
- If merged, an update to the documentation to include examples of
LoadBalancer with nodePort values may be useful.
- I've read the contributing guidelines and code of conduct. This is my
first PR for the Coder project, and I hope it meets the community
standards. Any advice, feedback, or help is greatly appreciated!
2025-01-20 13:14:14 +00:00
Mathias Fredriksson 2913fe8677 fix(cli/cliui): handle ptr to custom type (#16200) 2025-01-20 12:48:51 +00:00
Cian Johnston 4ba0b39f03 feat(provisioner/terraform/tfparse): add support for built-in Terraform functions (#16183)
Relates to https://github.com/coder/coder/issues/15977

Adds support for some functions in `tfparse` (only functions that do not
reference local files).
NOTE: for now, I'm importing trivy-iac. If we prefer to avoid a little
dependency, I can do a little copying instead.
2025-01-20 11:03:57 +00:00
dependabot[bot] 7bef4dfda6 chore: bump go.nhat.io/otelsql from 0.14.0 to 0.15.0 (#16112)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-20 11:03:48 +00:00
Mathias Fredriksson 3864c7e3b0 feat(coderd): add endpoint to list provisioner jobs (#16029)
Closes #15190
Updates #15084
2025-01-20 11:18:53 +02:00
Mathias Fredriksson 0e8ef09415 test(coderd/database/dbauthz): compare outputs with cmp (#16161) 2025-01-20 11:12:04 +02:00
Danny KoppingandMuhammad Atif Ali 5b72a4376d chore: improve CI reliability (#16169)
We have an effort underway to replace `dbmem` (#15109), and consequently
we've begun running our full test-suite (with Postgres) on all supported
OSs - Windows, MacOS, and Linux, since #15520.

Since this change, we've seen a marked decrease in the success rate of
our builds on `main` (note how the Windows/MacOS failures account for
the vast majority of failed builds):


![image](https://github.com/user-attachments/assets/a02c15b7-037d-428a-a600-2aed60553ac0)

We're still investigating why these OSs are a lot less reliable. It's
likely that the VMs on which the builds are run have different
characteristics from our Ubuntu runners such as disk I/O, network
latency, or something else.

**In the meantime, we need to start trusting CI failures in `main`
again, as the current failures are too noisy / vague for us to
correct.**

We've also considered hosting our own runners where possible so we can
get OS-level observability to rule out some possibilities.

See the [meeting
notes](https://www.notion.so/coderhq/CI-Investigation-Call-Notes-17dd579be59280d8897cc9fe4bb46695?pvs=6&utm_content=17dd579b-e592-80d8-897c-c9fe4bb46695&utm_campaign=T1ZPT2FL0&n=slack&n=slack_link_unfurl)
where we linked into this for more detail.

This PR introduces several changes:

1. Moves the full test-suite with Postgres on Windows/MacOS to the
`nightly-gauntlet` workflow
tradeoff: this means that any regressions may be more difficult to
discover since we merge to main several times a day
2. Run only the CLI test-suite on each PR / merge to `main` on
Windows/MacOS
3. `test-go` is still running the full test-suite against all OSs
(including the CLI ones), but will soon be removed once #15109 is
completed since it uses `dbmem`
4. Changes `nightly-gauntlet` to run at 4AM: we've seen several
instances of the runner being stopped externally, and we're _guessing_
this may have something to do with the midnight UTC execution time, when
other cron jobs may run
5. Removes the existing `nightly-gauntlet` jobs since they haven't
passed in a long time, indicating that nobody cares enough to fix them
and they don't provide diagnostic value; we can restore them later if
necessary

I've manually run both these new workflows successfully:

- `ci`:
https://github.com/coder/coder/actions/runs/12825874176/job/35764724907
- `nightly-gauntlet`:
https://github.com/coder/coder/actions/runs/12825539092

---------

Signed-off-by: Danny Kopping <danny@coder.com>
Co-authored-by: Muhammad Atif Ali <atif@coder.com>
2025-01-20 07:06:33 +00:00
Phorcys 738a7f6bd9 fix(examples/templates/docker): persist /home/coder instead of /home/${local.user} (#16189)
Fix for #16188
2025-01-19 08:41:55 +05:00
Jaayden Halko fbc2a73bef fix: add groups to deployment settings (#16185)
fixes #16182 

<img width="1177" alt="Screenshot 2025-01-17 at 23 20 04"
src="https://github.com/user-attachments/assets/e0eec4bb-6b50-45e9-a27b-d3a89552562a"
/>
<img width="1163" alt="Screenshot 2025-01-17 at 23 20 12"
src="https://github.com/user-attachments/assets/d8a7129c-0240-4ef5-9f21-84cda5631366"
/>
<img width="1161" alt="Screenshot 2025-01-17 at 23 20 22"
src="https://github.com/user-attachments/assets/0ec78f3d-ec96-46a6-8def-aad4700712ac"
/>
2025-01-17 19:46:28 -05: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
4f438e71cf docs: fix broken links (#16179)
Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Co-authored-by: Cian Johnston <cian@coder.com>
2025-01-17 13:18:48 -05:00
Steven Masley f34e6fd92c chore: implement 'use' verb to template object, read has less scope now (#16075)
Template `use` is now a verb.
- Template admins can `use` all templates (org template admins same in
org)
- Members get the `use` perm from the `everyone` group in the
`group_acl`.
2025-01-17 11:55:41 -06:00
Bruno Quaresma 3217cb85f6 feat: improve usage visibility (#16134)
- Refactor the DAUs chart for clarity by improving the description and updating its title to better reflect the data.  
- Add a license consumption chart to the licenses page.
2025-01-17 12:37:54 -03:00
Mathias Fredriksson 08ffcb74c6 test(Makefile): retry pulling postgres in test-postgres-docker (#16178) 2025-01-17 15:22:50 +00:00
Mathias Fredriksson 7cf62423ec test(cli): fix TestSSH/RemoteForward_Unix_Signal flake (#16172) 2025-01-17 16:53:09 +02:00
Mathias Fredriksson ea8cd55404 test(scaletest/createworkspaces): fix ctx init in multiple tests (#16177) 2025-01-17 14:43:22 +00:00
Mathias Fredriksson f32f7c6862 test(enterprise/coderd): fix ctx init in multiple workspace tests (#16176) 2025-01-17 14:33:58 +00:00
Jaayden Halko 0697308a0b fix: correctly display loading spinner (#16167)
Update the usages of the new spinner component to correctly set the
loading prop
2025-01-17 09:14:23 -05:00
Mathias Fredriksson 7f46e3b1e0 test(Makefile): fix postgresql memory usage (#16170) 2025-01-17 16:07:11 +02:00
Bruno Quaresma eda8190eee feat: open app in tab or slim-window (#16152)
Close https://github.com/coder/terraform-provider-coder/issues/297
2025-01-17 10:01:44 -03:00
Mathias Fredriksson e693b66b47 test(coderd/autobuild): fix context initialization in tests (#16173) 2025-01-17 14:51:53 +02:00
Mathias Fredriksson 860d17ad09 test(cli): fix context init in TestSupportBundle (#16174) 2025-01-17 14:51:38 +02:00
Mathias Fredriksson de874442f8 test(cli/exptest): fix context in TestScaleTestWorkspaceTraffic_UseHostLogin (#16171) 2025-01-17 14:51:24 +02:00
ケイラ cbe300448c chore: improve announcement banner color picker (#16158) 2025-01-16 16:55:17 -07:00
ケイラ 60c4d87113 fix: make announcement editor multiline (#16157) 2025-01-16 12:38:09 -07:00
Thomas Kosiewski 5722f9a2a3 fix(codersdk): fix typo in telemetry option description (#16151)
Fixed typos in telemetry help text by adding spaces between "personal information" and "telemetry when"

Change-Id: I897c5918c6661f9c16fdcb503c1c50e74c8f343a
Signed-off-by: Thomas Kosiewski <tk@coder.com>
2025-01-16 19:21:07 +01:00
Muhammad Atif Ali b3ba0f96f1 chore: use better PR titles for cherry-pick-bot PRs (#16165) 2025-01-16 15:54:03 +00:00
Sas Swart 50bf5ca8fe fix(coderd/database): aggregate user engagement statistics by interval (#16150)
This PR addresses the TODO comment here:

https://github.com/coder/coder/pull/16134/files#diff-1844f895bb005f036da11d800fe2a76b54bfddd481c5d8cb15f210c64679caa5R47

The backend now backfills entries for dates with no status changes.
2025-01-16 17:34:53 +02:00
dependabot[bot] 296dbf0918 chore: bump google.golang.org/api from 0.214.0 to 0.216.0 (#16113)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-16 19:06:16 +05:00
Cian Johnston 3a81aac318 chore(enterprise/coderd): use filesystem mirror for providers in TestWorkspaceTagsTerraform (#16155)
Fixes https://github.com/coder/internal/issues/266 (hopefully)

Each instance of this test has to download the coder/coder Terraform
provider.
To mitigate this, only download the providers once using a
`filesystem_mirror` (ref:
https://developer.hashicorp.com/terraform/cli/config/config-file#provider-installation)
2025-01-15 20:27:18 +00:00
Bruno Quaresma 2052b55904 chore: add link component (#16156)
Component based on [Link
design](https://www.figma.com/design/WfqIgsTFXN2BscBSSyXWF8/Coder-kit?node-id=245-144&p=f&m=dev)
2025-01-15 16:43:27 -03:00
Thomas Kosiewski 0ec48ad990 fix(flake.nix): fix coder binary build (#16154)
Change-Id: I2adc511dd7b4de4e221e74234ec1eae743589caf
Signed-off-by: Thomas Kosiewski <tk@coder.com>
2025-01-15 19:25:36 +01:00
Thomas Kosiewski ad02b741d5 fix(flake.nix): fix site build & add missing inputs for darwin hosts (#16153)
- update `flake.nix`:
  - use `devShells.default` instead of `devShell`
  - include macOS-specific build inputs
  - use the same nodejs version in the default devShell and pnpm frontend build
- update `site/.npmrc` to include tarball URLs for a reproducible Nix build.

Change-Id: I28f0e301298806f251121cc93224740bcc02bcba
Signed-off-by: Thomas Kosiewski <tk@coder.com>
2025-01-15 19:16:40 +01:00
Danielle Maywood 3e3de0588a fix: send workspace create/update notifications to template admins only (#16071)
Relates to https://github.com/coder/coder/issues/15845

Rather than sending the notification to the user, we send it to the
template admins. We also do not send it to the person that created the
request.
2025-01-15 17:43:11 +00:00
ケイラ cd62e3934a feat: add a page to showcase the local installation script (#16122) 2025-01-15 10:42:14 -07:00
Stephen KirbyandEdwardAngert d29ef9cc5c chore(docs): mention skipped january mainline release in calendar (#16138)
We've skipped the January release as most of our engineering team was on
holiday. We'll continue this practice annually.

---------

Co-authored-by: EdwardAngert <EdwardAngert@users.noreply.github.com>
2025-01-15 11:19:04 -06: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
Eng Zer Jun 92d02ad6cb chore: update github.com/cespare/xxhash to v2 (#16094)
`github.com/cespare/xxhash/v2` is the latest version with bug fixes and
improvements. No breaking changes, see
https://go.dev/play/p/4fisKvMhrGR.

Affected lines of code are: 

-
https://github.com/coder/coder/blob/8b9763dd2c5d82046c99437d8acdeaa6b552e8c4/provisioner/terraform/timings.go#L202-L205

-
https://github.com/coder/coder/blob/8b9763dd2c5d82046c99437d8acdeaa6b552e8c4/provisioner/terraform/internal/timings_test_utils.go#L90-L91

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2025-01-15 17:03:29 +02:00
Vincent Vielle a160e8f06c chore(coderd): remove the window option in open_in (#16104)
As we worked on adding a `open_in` parameter for workspace_apps - we
initially created three options :
- window
- slim_window
- tab

After further investigation, `window` should not be used and has to be
removed.

ℹ️ I decided to remove the option instead of deprecating it as we've not
created any release nor documented the feature. Can be discussed.
2025-01-15 15:26:31 +01:00
dependabot[bot] b4fde801f5 chore: bump golang.org/x/tools from 0.28.0 to 0.29.0 in the x group across 1 directory (#16149)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 13:58:12 +00:00
dependabot[bot] 188d822238 chore: bump github.com/spf13/afero from 1.11.0 to 1.12.0 (#16110)
Bumps [github.com/spf13/afero](https://github.com/spf13/afero) from
1.11.0 to 1.12.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 13:42:09 +00:00
dependabot[bot] 9bb3319f3a chore: bump alpine from 3.21.0 to 3.21.2 in /scripts (#16107)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 18:40:43 +05:00
dependabot[bot] 085268640b chore: bump github.com/go-playground/validator/v10 from 10.23.0 to 10.24.0 (#16111)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 18:39:51 +05:00
Dean Sheather 0ecd38c434 chore: remove Tokyo server from dogfood (#16146) 2025-01-15 13:33:48 +00:00
Bruno Quaresma 91fd0c1eab refactor: set min width as 80px for buttons (#16145)
During a [design
discussion](https://www.figma.com/design/OR75XeUI0Z3ksqt1mHsNQw?node-id=1849-2788#1091281774),
I realized that buttons should have a minimum width of 80px.

<img width="304" alt="attachment"
src="https://github.com/user-attachments/assets/55bc444e-b156-442f-9ccd-1dc84bbce7e5"
/>
2025-01-15 10:03:01 -03:00
Sas Swart ab880904e2 feat(coderd/database): order user engagement statistics by date (#16142)
This PR orders user engagement statistics by date as mentioned
[here](https://github.com/coder/coder/pull/16134/files#diff-1844f895bb005f036da11d800fe2a76b54bfddd481c5d8cb15f210c64679caa5R47)
2025-01-15 13:19:25 +02:00
Ethan a252d13724 chore: exclude otlp trace provider from slim builds (#16140)
This adds a build flag to `exporter.go` in `coderd/tracing` that skips
compiling the file in slim builds. This file brings in some relatively
hefty dependencies that were growing the size of the slim binary a few
megabytes. All files that import `exporter.go` also aren't included in
slim builds, so this is safe.

We end up saving 5.4MB on the Linux slim binary.
2025-01-15 20:51:32 +11:00
Ethan 2413106f22 fix: improve shell compatibility of netstat check in test (#16141)
When I wrote the original just the other day, I used `$?`, which is fine
on CI and in most cases, but not when the person running the test has
their system shell set to fish (Fish uses $status) instead. In the
interest of letting this test pass locally, I'll instead just grab the
line count of the grep output. However, `wc` is padded on macos with
spaces, so we need to get rid of those too.
2025-01-15 03:23:53 +00:00
Stephen Kirby 53806906ea chore(docs): tweak replica verbiage on reference architectures (#16076)
A seller noted that the `/` operator made the node count hard to
interpret.
2025-01-14 16:26:10 -06:00