Commit Graph

1054 Commits

Author SHA1 Message Date
Ben Potter bbb8f836bf feat: build & release cross-platform Docker images (#1178)
* feat: add dockerfile and docker-compose

* build docker images on release

* add Docker dependencies to release.yaml

* remove docker compose for now

* fix license mismatch

* add docker-compose

* rename volume

* add WF dispatch for debugging
2022-05-12 17:59:34 +00:00
Ben Potter 537897c0bb chore: add "needs grooming" label to new issues (#1384) 2022-05-11 14:35:58 -05:00
Colin Adler 97a95f1377 chore: upgrade golangci-lint to v1.46.0 (#1373) 2022-05-10 16:04:23 -05:00
Kyle Carberry 4c35b8174a fix: Prefix paths in find on macOS (#1284)
This fixes paths not resolving in macOS, causing
the build target to fail. This also renames the
site target to specify the index.html, which is
the output artifact of building the site.
2022-05-04 09:47:48 -05:00
Kyle Carberry e860cc4814 fix: Build site in release (#1283)
This was using Mac Make, which is missing some options:
https://github.com/coder/coder/runs/6265845123?check_suite_focus=true#step:10:6
2022-05-04 14:23:48 +00:00
Kyle Carberry 5dcaf940b6 fix: Build site in deploy (#1265) 2022-05-02 23:12:13 +00:00
Kyle Carberry fc642edf51 fix: Use GoReleaser Action in deploy script (#1263)
This reduces conflictions with our Makefile, which is presently
primarily a user script.
2022-05-02 20:00:08 +00:00
Colin Adler 81bef1c83e feat: add audit logging database schema (#1225) 2022-05-02 19:30:46 +00:00
Kyle Carberry e4e60256ac fix: Use "make build" on deploy (#1261)
This was a missed item in https://github.com/coder/coder/pull/1259.
2022-05-02 14:04:45 -05:00
dependabot[bot] 1e6f2cf750 chore: bump hashicorp/setup-terraform from 1 to 2 (#1130)
Bumps [hashicorp/setup-terraform](https://github.com/hashicorp/setup-terraform) from 1 to 2.
- [Release notes](https://github.com/hashicorp/setup-terraform/releases)
- [Changelog](https://github.com/hashicorp/setup-terraform/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/setup-terraform/compare/v1...v2)

---
updated-dependencies:
- dependency-name: hashicorp/setup-terraform
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-25 12:59:47 -05:00
dependabot[bot] 8c27b4e23d chore: bump jaxxstorm/action-install-gh-release from 1.4.0 to 1.5.0 (#1131)
Bumps [jaxxstorm/action-install-gh-release](https://github.com/jaxxstorm/action-install-gh-release) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/jaxxstorm/action-install-gh-release/releases)
- [Commits](https://github.com/jaxxstorm/action-install-gh-release/compare/v1.4.0...v1.5.0)

---
updated-dependencies:
- dependency-name: jaxxstorm/action-install-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-25 11:17:15 -05:00
Steven Masley da3681246e chore: Bump protoc to 3.20.0 (#1104)
* chore: Bump protoc to 3.20.0
* Make gen with 3.20.0 protoc
2022-04-23 01:53:22 +00:00
Joe Previte db1127def1 chore: assign site/ to frontend (#1091) 2022-04-19 11:30:55 -07:00
Garrett Delfosse f46b4cf3da feat: generate typescript types from codersdk structs (#1047) 2022-04-19 00:45:22 +00:00
Kyle Carberry d202f20fdb feat: Add TURN proxying to enable offline deployments (#1000)
* Add turnconn

* Add option for passing ICE servers

* Log TURN remote address

* Add TURN server to coder start
2022-04-18 22:40:25 +00:00
Kyle Carberry 866205c145 feat: Sign MacOS binaries (#1060)
This fixes virus warnings when launching Coder on darwin.
2022-04-18 14:57:41 -05:00
Kyle Carberry 6dedd0caac ci: Don't run internal steps if forked (#1048)
This was causing CI to fail for contributions.
2022-04-16 13:51:01 -04:00
G r e y 148e7cddd3 chore: update semantic types (#1030)
Summary:

PRs like #1025 feel like they deserve a doc: type, but we didn't have one.
Furthermore our definitions for correct and fix were stale.
2022-04-15 16:26:20 -04:00
Colin Adler a13cceea3b chore: run github actions on pull_request instead of push (#1035) 2022-04-15 15:55:13 -04:00
Colin Adler 732e0f063a chore: add dependabot config for terraform examples (#1014) 2022-04-14 16:14:49 -04:00
G r e y f3f39f3770 ci: remove building from test/js (#1005)
Summary:

There's no reason to build in `test/js`, since we have e2e tests that build.

Details:

- Remove superfluous `yarn build` from `test/js` step in CI

Relates to #1004 but does not fix it.
2022-04-14 16:32:34 +00:00
Kyle Carberry 4f0f216015 ci: Add timeouts to limit hanging execution (#976)
For some reason, CI hung for ~6hours last night on `main`.

https://github.com/coder/coder/runs/5982978236?check_suite_focus=true

The fact that it went this long is bad, but it should have cancelled
much earlier.
2022-04-12 09:35:17 -05:00
Kyle Carberry e8b1a57929 feat: Add support for VS Code and JetBrains Gateway via SSH (#956)
* Improve CLI documentation

* feat: Allow workspace resources to attach multiple agents

This enables a "kubernetes_pod" to attach multiple agents that
could be for multiple services. Each agent is required to have
a unique name, so SSH syntax is:

`coder ssh <workspace>.<agent>`

A resource can have zero agents too, they aren't required.

* Add tree view

* Improve table UI

* feat: Allow workspace resources to attach multiple agents

This enables a "kubernetes_pod" to attach multiple agents that
could be for multiple services. Each agent is required to have
a unique name, so SSH syntax is:

`coder ssh <workspace>.<agent>`

A resource can have zero agents too, they aren't required.

* Rename `tunnel` to `skip-tunnel`

This command was `true` by default, which causes
a confusing user experience.

* Add disclaimer about editing templates

* Add help to template create

* Improve workspace create flow

* Add end-to-end test for config-ssh

* Improve testing of config-ssh

* Fix workspace list

* feat: Add support for VS Code and JetBrains Gateway via SSH

This fixes various bugs that made this not work:
- Incorrect max message size in `peer`
- Incorrect reader buffer size in `peer`
- Lack of SFTP support in `agent`
- Lack of direct-tcpip support in `agent`
- Misuse of command from session. It should always use the shell
- Blocking on SSH session, only allowing one at a time

Fixes #833 too.

* Fix config-ssh command with socat
2022-04-12 00:17:18 +00:00
G r e y 78e727a1c4 chore: consolidate js, ts/js labels (#957)
Dependabot automagically applies the `javascript` label, but we use `typescript/js` elsewhere.
2022-04-11 18:29:35 +00:00
dependabot[bot] 9474f66d27 chore: bump actions/setup-go from 2 to 3 (#948)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2 to 3.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 08:54:24 -05:00
G r e y 0a2903c5c5 chore: assign soft ownership for xServices (#932) 2022-04-08 15:17:24 -04:00
Ben Potter c6a0078c35 fix: assign labels for issue templates (#919) 2022-04-07 21:04:56 +00:00
Joe Previte 17848b3b86 chore: add feature request issue template (#913)
* chore: add feature request issue template

* Update .github/ISSUE_TEMPLATE/feature.md

Co-authored-by: G r e y <grey@coder.com>

* Update .github/ISSUE_TEMPLATE/feature.md

Co-authored-by: G r e y <grey@coder.com>

Co-authored-by: G r e y <grey@coder.com>
2022-04-07 10:35:32 -07:00
dependabot[bot] 2e5859f226 chore: bump codecov/codecov-action from 2 to 3 (#898)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2 to 3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-07 11:41:35 -05:00
Joe Previte ce7af872ff docs: add PR template (#873) 2022-04-07 15:27:25 +00:00
Kyle Carberry 770d212094 ci: Enable forks to run CI (#910)
* ci: Enable forks to run CI

All steps that require tokens are optional for forks,
and will be skipped if the owner is not "coder".

* Empty commit to force CI
2022-04-07 08:33:10 -05:00
G r e y 579fd4bc89 chore: speed up chromatic ci (#904)
This is an oversight from #896 . It turns out that because we use the GitHub integration with Chromatic, we don't need to wait for the results to be reported in the action - they get reported in the other checks created by Chromatic.

This option was spit-out in a check:

https://github.com/coder/coder/runs/5859427236?check_suite_focus=true#step:4:38

Relates to #444
2022-04-06 22:40:30 +00:00
G r e y 5782879f2f chore: configure chromatic snapshot tests (#896)
Resolves: #444

Summary:

This commit installs and configures a GH action for chromatic. Chromatic
is used for snapshot testing build-over-build.

Details:

* chore: install chromatic

* chore: add chromatic package.json script

Suggested by the docs for convenience so that we can run chromatic like:

```console
yarn run chromatic ...
```

* chore: gitignore storybook builds

* ci: configure chromatic

This action configures chromatic to run in CI on pushes to all branches.
By running this in CI, we get the following:

- snapshot (build-over-build)
- checks in our CI

The snapshots and build-over-build behavior are per branch; this way we
can work on a feature branch without worrying about changes being made
to mainline independently.

* chore: remove manual storybook build from CI

This is now the responsibility of Chromatic
2022-04-06 17:51:49 -04:00
Joe Previte eefca43064 chore: rename .yaml to .yml (#895)
* chore: rename .yml to .yaml

* chore: remove .yml from prettierrc
2022-04-06 21:32:59 +00:00
Joe Previte 8813788c28 chore: add GitHub issue templates (#889) 2022-04-06 10:59:22 -07:00
G r e y fb4cab78e0 chore: fix site codeowners (#862) 2022-04-04 18:53:51 +00:00
G r e y c2a025d0d7 chore: configure dependabot to trigger weekly (#849) 2022-04-04 14:40:35 +00:00
Colin Adler fd523100bf chore: split queries.sql into files by table (#762) 2022-04-01 15:45:23 -05:00
Kyle Carberry b2261030e6 fix: Build site in release process (#785)
The static site wasn't building prior, so authenticating via CLI was broken!
2022-03-31 18:44:19 +00:00
Kyle Carberry 1b43a4ab91 ci: Limit scopes with semantic (#773)
This should enfore a standardized commit message without a scope.

The repository isn't complex enough to require scopes yet, so we
can punt this down the road!
2022-03-31 10:41:48 -05:00
Colin Adler b33e457f57 chore: use go 1.18 everywhere in ci (#641)
Somehow I missed these?
2022-03-29 19:10:22 +00:00
Colin Adler be8389fd74 chore: update to go 1.18 (#628)
* add make lint to Makefile
2022-03-28 19:14:40 +00:00
Kyle Carberry 27c24de764 chore: Reduce dependabot frequency to weekly (#560)
It was tiring seeing 5+ PRs a day for dependency updates.
Reducing this to a week should save some time!
2022-03-25 11:21:20 -05:00
Kyle Carberry d371a66447 ci: Fix dogfood installation by forcing default configurations (#557)
* ci: Fix dogfood installation by forcing default configurations

The dpkg prompt to override config files was
appearing, but this will auto-approve it.

* Add CAP_NET_BIND_SERVICE to allow listening on :443
2022-03-24 15:02:09 -05:00
Kyle Carberry bf00487174 feat: Add TLS support (#556)
* feat: Add TLS support

This adds numerous flags with inspiration taken from Vault
for configuring TLS inside Coder.

This enables secure deployments without a proxy, like Cloudflare.

* Update cli/start.go

Co-authored-by: Colin Adler <colin@coder.com>

* Fix flag help in coder.env

Co-authored-by: Colin Adler <colin@coder.com>
2022-03-24 14:21:05 -05:00
Kyle Carberry ddd86ab547 feat: Add systemd service and production deployment (#545)
* feat: Add systemd service and production deployment

This modifies CI to use a dpkg produced from release to update and
run Coder on a tiny VM in GCP.

It's intentionally kept simple, because customers should
be able to get this same easy install experience.

* Update globalSetup.ts

* Update globalSetup.ts

* Update globalSetup.ts

* Update coder.yaml

* Use pinned version of Go
2022-03-24 15:07:33 +00:00
Kyle Carberry d665263d37 fix: Improve coverage by uploading PostgreSQL tests (#532)
This also adds a test for workspace creation via the CLI.
2022-03-23 10:03:28 -05:00
Kyle Carberry 26d24f4508 chore: Improve CI builds by caching Go modules (#528)
* chore: Improve CI builds by caching Go modules

* Skip running with `race` on non-Linux systems

* Fix darwin file descriptor error

* Fix log after close

* Improve PostgreSQL test speeds

* Fix parallel connections with PostgreSQL tests

* Fix CI flake

* Separate test/go into PostgreSQL
2022-03-22 17:09:04 -05:00
Kyle Carberry c451f4e685 feat: Add templates to create working release (#422)
* Add templates

* Move API structs to codersdk

* Back to green tests!

* It all works, but now with tea! 🧋

* It works!

* Add cancellation to provisionerd

* Tests pass!

* Add deletion of workspaces and projects

* Fix agent lock

* Add clog

* Fix linting errors

* Remove unused CLI tests

* Rename daemon to start

* Fix leaking command

* Fix promptui test

* Update agent connection frequency

* Skip login tests on Windows

* Increase tunnel connect timeout

* Fix templater

* Lower test requirements

* Fix embed

* Disable promptui tests for Windows

* Fix write newline

* Fix PTY write newline

* Fix CloseReader

* Fix compilation on Windows

* Fix linting error

* Remove bubbletea

* Cleanup readwriter

* Use embedded templates instead of serving over API

* Move templates to examples

* Improve workspace create flow

* Fix Windows build

* Fix tests

* Fix linting errors

* Fix untar with extracting max size

* Fix newline char
2022-03-22 13:17:50 -06:00
dependabot[bot] 2c7ad59a5d chore: bump actions/checkout from 2 to 3 (#507)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 23:58:13 +00:00