219 Commits
Author SHA1 Message Date
Kyle Carberry 23295f7f07 fix: Check for job status on another incoming (#1117)
If a job silently failed, it wasn't possible for another one
to execute. This fixes it by using the API status to return
active state.
2022-04-25 02:22:36 +00:00
Kyle Carberry be974cf280 feat: Add users create and list commands (#1111)
This allows for *extremely basic* user management.
2022-04-24 20:08:26 -05:00
Kyle Carberry 7496c3da81 feat: Add GitHub OAuth (#1050)
* Initial oauth

* Add Github authentication

* Add AuthMethods endpoint

* Add frontend

* Rename basic authentication to password

* Add flags for configuring GitHub auth

* Remove name from API keys

* Fix authmethods in test

* Add stories and display auth methods error
2022-04-23 22:58:57 +00:00
Kyle Carberry 3976994781 chore: Rename "start" to "server" (#1110)
Workspace commands will be aliased at the top-level, so
"start" would easily be confused with starting a workspace.

Server seems like a more appropriate name too.
2022-04-23 12:19:20 -05:00
Garrett Delfosse e181007de1 fix: Add more golang types -> number ts type (#1108) 2022-04-22 21:01:43 +00:00
Steven Masley 548de7d6f3 feat: User pagination using offsets (#1062)
Offset pagination and cursor pagination supported
2022-04-22 15:27:55 -05:00
Asher 3151befb38 chore: un-nest components (#1090)
Closes #936.
2022-04-19 14:16:11 -05:00
Joe Previte 98e46cdd2a chore: use PascalCase for pages files (#1089)
* chore: use PascalCase for pages files

* fixup

* fixup

* fixup

* fixup

* fixup

* fixup
2022-04-19 18:45:03 +00:00
Bruno Quaresma 301451be40 refactor: remove index files from components (#1086) 2022-04-19 13:20:28 -05:00
Presley Pizzo 6c9c1298e4 Reorganize Storybook (#1087) 2022-04-19 13:52:52 -04:00
G r e y 5141d6f970 feat: coder logo html source (#1088) 2022-04-19 13:14:32 -04:00
G r e y c35be02a7e feat: web console logo (#1085) 2022-04-19 12:48:50 -04:00
Presley Pizzo a68b076b96 refactor: Rename Icons and add stories (#1080)
* Rename CloseIcon

* Rename FileCopyIcon, take out of index

* Rename LogoutIcon and remove from index

* Delete icons index files

* Add icon stories

* Lint
2022-04-19 12:38:43 -04:00
Bruno Quaresma b9933d493a refactor: camel case files (#1081) 2022-04-19 11:18:12 -05:00
G r e y 5ce06769cd chore: replace todos with issues (#1066) 2022-04-19 12:16:57 -04:00
Joe Previte 97e07a49e9 chore(webpack): allow process.env.PORT (#1071) 2022-04-19 08:58:03 -07:00
Kyle Carberry c8246e3e8a feat: Add Azure instance identitity authentication (#1064)
This enables zero-trust authentication for Azure instances. Now
we support the three major clouds: AWS, Azure, and GCP 😎.
2022-04-19 13:48:13 +00:00
G r e y 118a47e4e1 fix: types-generated.ts (#1063) 2022-04-18 22:03:37 -04:00
Garrett Delfosse f46b4cf3da feat: generate typescript types from codersdk structs (#1047) 2022-04-19 00:45:22 +00:00
dependabot[bot] a5f36ad4e2 chore: bump @storybook/addon-links from 6.4.21 to 6.4.22 in /site (#1022)
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 6.4.21 to 6.4.22.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.4.22/addons/links)

---
updated-dependencies:
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-18 19:55:50 +00:00
dependabot[bot] 50751a2d6f chore: bump @storybook/addon-essentials from 6.4.21 to 6.4.22 in /site (#1020)
Bumps [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/addons/essentials) from 6.4.21 to 6.4.22.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.4.22/addons/essentials)

---
updated-dependencies:
- dependency-name: "@storybook/addon-essentials"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-18 15:34:39 -04:00
dependabot[bot] 18819e37ee chore: bump @storybook/react from 6.4.21 to 6.4.22 in /site (#1054)
Bumps [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/app/react) from 6.4.21 to 6.4.22.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.4.22/app/react)

---
updated-dependencies:
- dependency-name: "@storybook/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-18 14:16:14 -04:00
Cian Johnston af672803a2 autostart/autostop: move to traditional 5-valued cron string for compatibility (#1049)
This PR modfies the original 3-valued cron strings used in package schedule to be traditional 5-valued cron strings.

- schedule.Weekly will validate that the month and dom fields are equal to *
- cli autostart/autostop will attempt to detect local timezone using TZ env var, defaulting to UTC
- cli autostart/autostop no longer accepts a raw schedule -- instead use the --minute, --hour, --dow, and --tz arguments.
- Default schedules are provided that should suffice for most users.

Fixes #993
2022-04-18 11:04:48 -05:00
dependabot[bot] 48a6cd9cee chore: bump @testing-library/user-event from 14.1.0 to 14.1.1 in /site (#1055)
Bumps [@testing-library/user-event](https://github.com/testing-library/user-event) from 14.1.0 to 14.1.1.
- [Release notes](https://github.com/testing-library/user-event/releases)
- [Changelog](https://github.com/testing-library/user-event/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/user-event/compare/v14.1...v14.1.1)

---
updated-dependencies:
- dependency-name: "@testing-library/user-event"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-18 10:11:32 -05:00
dependabot[bot] 37c1c6840c chore: bump @playwright/test from 1.20.2 to 1.21.0 in /site (#1053)
Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.20.2 to 1.21.0.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.20.2...v1.21.0)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  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-18 14:04:47 +00:00
dependabot[bot] f5eb8a98ff chore: bump @storybook/addon-actions from 6.4.21 to 6.4.22 in /site (#1021)
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 6.4.21 to 6.4.22.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.4.22/addons/actions)

---
updated-dependencies:
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-18 08:55:25 -05:00
dependabot[bot] 5e2b519b36 chore: bump @testing-library/react from 12.1.4 to 12.1.5 in /site (#1019)
Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 12.1.4 to 12.1.5.
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v12.1.4...v12.1.5)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-18 08:54:55 -05:00
dependabot[bot] 65e0533d11 chore: bump @types/node from 14.18.12 to 14.18.13 in /site (#1023)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.18.12 to 14.18.13.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-18 08:53:22 -05:00
dependabot[bot] f56eb87fed chore: bump async from 2.6.3 to 2.6.4 in /site (#1027)
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-18 08:52:52 -05:00
G r e y cf8a20d6f6 refactor: strong type for getFormHelpers name (#1029) 2022-04-15 16:31:23 -04:00
Bruno Quaresma 88e30bec55 feat: add the preferences/account page (#999) 2022-04-15 13:17:50 -04:00
Bruno Quaresma 1c5557279a feat: add footer to the login page (#1012) 2022-04-15 09:38:18 -03:00
Presley Pizzo 76f8ff9f21 feat: Add Footer to every page with nav (#1009)
* Add Footer to AuthAndNav, rename

* Fix in preferences layout

* Remove double footer
2022-04-14 13:58:53 -04:00
Presley PizzoandG r e y 82275a81c7 feat(site): Read users into basic UsersTable (#981)
* Start users

* Set up fake response

* Update handler

* Update types

* Set up page

* Start adding table

* Add header

* Add Header

* Remove roles

* Add UsersPageView

* Add test

* Lint

* Storybook error summary

* Strip Pager to just what's currently needed

* Clean up ErrorSummary while I'm here

* Storybook tweaks

* Extract language

* Lint

* Add missing $

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

* Lint

* Lint

* Fix syntax error

* Lint

Co-authored-by: G r e y <grey@coder.com>
2022-04-14 13:57:55 -04:00
G r e y 30877bb71f ci: reduce maxWorkers in jest tests (#1006)
Summary:

When `maxWorkers` is high, there's a bug in `jest` that causes OOM kills.
Unfortunately, CI is experiencing this as well as local. For now, the best solution
is just reducing `maxWorkers`.

Resolves: #1004
2022-04-14 12:23:16 -04:00
G r e y 42e9956779 feat: workspace view for schedules (#991)
Summary:

This adds the client-side implementation to match the types introduced
in #879 and #844 as well as a card in the Workspaces page to present
workspace the data.

Details:

* Added a convenient line break in the example schedule.Weekly
* Added missing `json:""` annotations in codersdk/workspaces.go
* Installed cronstrue for displaying human-friendly cron strings
* Adjusted/Added client-side types to match codersdk/workspaces.go
* Added new component WorkspaceSchedule.tsx

Next Steps:

The WorkspaceSchedule.tsx card only presents data (on purpose). In order
to make it PUT/modify data, a few changes will be made:

- a form for updating workspace schedule will be created
- the form will wrapped in a dialog or modal
- the WorkspaceSchedule card will have a way of opening the modal which
will likely be generalized up to WorkspaceSection.tsx

Impact:

This is user-facing

This does not fully resolve either #274 or #275 (I may further decompose
that work to reflect reality and keep things in small deliverable
increments), but adds significant progress towards both.
2022-04-13 20:35:47 -04:00
Bruno Quaresma 300c6d0824 feat: add global notification component (#996)
* feat: add global notification component

* fix: update yarn.lock

* fix: pin @testing-library/react-hooks

* fix: update yarn.lock

* refactor: remove displayError
2022-04-13 13:34:06 -05:00
G r e y 5ecc8236b8 chore: fix storybook warnings (#989)
* chore: fix storybook deprecation warning

Removes a deprecated CLI option and uses main.js staticDirs instead.

See: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#64-deprecations

* chore: fix storybook babel warning

Resolves: #533
2022-04-13 12:03:46 -04:00
G r e y 0536a140ed chore: fix storybook fonts (#988)
Summary:

Configures storybook with MUI themes as according to their
documentation. We were previously not aligned with their example.

See: https://storybook.js.org/addons/@react-theming/storybook-addon

Details:

- configure a providerFn for MUI with CssBaseline. We were previously
missing the CssBaseline implementation, causing the inconsistency.

Impact:

Resolves inconsistency between Storybook and production. I had tested
the Tabpanel in production vs Storybook. In storybook, the font had
fallen back to Times New Roman, whereas in production it had fallen back
to Inter. This was because of CssBaseline being configured as a child of
ThemeProvider.

Resolves: #914
2022-04-13 12:03:30 -04:00
dependabot[bot] 103d7eab14 chore: bump @types/react from 17.0.43 to 17.0.44 in /site (#969)
Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 17.0.43 to 17.0.44.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-12 23:45:18 -04:00
dependabot[bot] fb70b3abf3 chore: bump webpack-dev-server from 4.7.4 to 4.8.1 in /site (#970)
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.7.4 to 4.8.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.7.4...v4.8.1)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  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-12 23:45:04 -04:00
dependabot[bot] ce4996668a chore: bump @types/react-dom from 17.0.14 to 17.0.15 in /site (#968)
Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 17.0.14 to 17.0.15.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-12 16:37:12 -04:00
Kyle CarberryandCian Johnston fb9dc4f346 feat: Improve resource preview and first-time experience (#946)
* 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

* Fix config ssh tests

* Update cli/configssh.go

Co-authored-by: Cian Johnston <public@cianjohnston.ie>

* Fix requested changes

* Remove socat requirement

* Fix resources not reading in TTY

Co-authored-by: Cian Johnston <public@cianjohnston.ie>
2022-04-11 18:54:30 -05:00
G r e y 2835bb45e5 chore: bump @testing-library/user-event from ^13.5.0 to 14.1.0 (#972) 2022-04-11 20:33:52 +00:00
dependabot[bot] c97180c18d chore: bump @xstate/react from 2.0.1 to 3.0.0 in /site (#966)
Bumps [@xstate/react](https://github.com/statelyai/xstate) from 2.0.1 to 3.0.0.
- [Release notes](https://github.com/statelyai/xstate/releases)
- [Commits](https://github.com/statelyai/xstate/compare/@xstate/react@2.0.1...@xstate/react@3.0.0)

---
updated-dependencies:
- dependency-name: "@xstate/react"
  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 16:31:50 -04:00
dependabot[bot] 3cb11fc906 chore: bump webpack from 5.71.0 to 5.72.0 in /site (#965)
Bumps [webpack](https://github.com/webpack/webpack) from 5.71.0 to 5.72.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.71.0...v5.72.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  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-11 16:07:57 -04:00
dependabot[bot]andG r e y ffa450ddd4 chore: bump eslint from 8.12.0 to 8.13.0 in /site (#952)
* chore: bump eslint from 8.12.0 to 8.13.0 in /site

Bumps [eslint](https://github.com/eslint/eslint) from 8.12.0 to 8.13.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.12.0...v8.13.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

* more updates

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: G r e y <grey@coder.com>
2022-04-11 16:06:41 -04:00
dependabot[bot] f7b72ddc7a chore: bump xstate from 4.30.6 to 4.31.0 in /site (#962)
Bumps [xstate](https://github.com/statelyai/xstate) from 4.30.6 to 4.31.0.
- [Release notes](https://github.com/statelyai/xstate/releases)
- [Commits](https://github.com/statelyai/xstate/compare/xstate@4.30.6...xstate@4.31.0)

---
updated-dependencies:
- dependency-name: xstate
  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-11 15:08:30 -04:00
dependabot[bot] 0dfba86744 chore: bump @typescript-eslint/parser from 5.18.0 to 5.19.0 in /site (#960)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.18.0 to 5.19.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.19.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  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-11 15:07:53 -04:00
dependabot[bot] 6186594332 chore: bump @storybook/addon-actions from 6.4.20 to 6.4.21 in /site (#953)
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 6.4.20 to 6.4.21.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.4.21/addons/actions)

---
updated-dependencies:
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 14:57:16 -04:00