Compare commits

..
1133 Commits
Author SHA1 Message Date
Michael Li fc5121c41e test(e2e): Update test to select other options from Items Per Page (#2417) 2024-07-31 12:12:09 -04:00
Zhihe Li 6e7ededc30 chore: 🤖 Update CLI version and changelog (#2396) 2024-07-30 19:03:22 -04:00
Zhihe Li 0867ba08f4 fix: 🐛 Fix intel macs not getting proper auto-update prompt (#2419) 2024-07-30 18:51:09 -04:00
Wadi 21ec3b30ad refactor: Update Manage Dropdown in Groups Form (#2415)
* Updated the Manage Dropdown button to reflect HDS Design

* refactor: HDS Upgrade for Manage Dropdown inside of groups

* refactor: 💡 Lint fixes

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-14343
2024-07-26 17:19:50 -04:00
219eba67bc fix: 🐛 tag count in list view (#2413)
* fix: 🐛 tag count in list view

* Update addons/api/addon/models/worker.js

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>

* fix: 🐛 error & test

* Update addons/api/addon/models/worker.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

---------

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-07-25 12:40:36 -07:00
Lisbet Alvarez 7c51776c57 fix: 🐛 hide search & pagination for project role grant scopes (#2411)
* fix: 🐛 hide search & pagination for project role grant scopes
2024-07-25 08:09:06 -07:00
Michael Li e73bded6ae test(e2e): Update tests due to 0.17.0 changes (#2401)
* test(e2e): Only clean up org if org hasn't been deleted yet

* test(e2e): Use new worker filter tab

* test(e2e): Update selector for updated Manage button

Some pages now use a Manage button instead of a Manage link. The "Title" selector was not being picked up on the Manage button.

* test(e2e): Fix flakiness due to race condition

The test should navigate to the home page after creating all of the resources using the API

* test(e2e): Add cleanup to test
2024-07-24 14:55:51 -04:00
Lisbet Alvarez 25a99a4fb6 refactor: 💡 small text updates & loading state (#2410)
* refactor: 💡 small text updates & loading state
2024-07-23 09:20:51 -07:00
Zhihe Li 10c128ee3b feat: 🎸 Add debug logging for search times (#2406) 2024-07-19 16:53:50 -04:00
Cameron Perera 1efc3a08aa fix: 🐛 add trim() to values when creating tags (#2405) 2024-07-19 13:14:30 -05:00
Cameron PereraandLisbet Alvarez 03376f0ae6 Fix text formating (#2404)
* refactor: 💡 update create new tags description

✅ Closes: ICU-14463

---------

Co-authored-by: Lisbet Alvarez <lisbet.alvarez@hashicorp.com>
2024-07-19 07:11:03 -07:00
Lisbet Alvarez 13d5c46b1a refactor: 💡 update page title from "add" to "manage" (#2402) 2024-07-18 15:28:47 -07:00
Cameron Perera 96b648634f feat: 🎸 add doc link for create tags view (#2400) 2024-07-17 17:07:01 -05:00
Zhihe Li ec59ee2b1c fix: 🐛 Fix breaking change for changing page size (#2398) 2024-07-17 16:17:17 -04:00
Zhihe Li bea40ec622 chore: 🤖 Add feature flag for client-agent work (#2397) 2024-07-17 15:58:51 -04:00
Wadi cc0edf311c Updated the Manage Dropdown button to reflect HDS Design (#2392) 2024-07-16 21:41:36 -04:00
Cameron Perera 66fb4b2451 feat: 🎸 update workers tags filter to include api_tags (#2394)
✅ Closes: ICU-14436
2024-07-16 17:48:35 -05:00
Zhihe Li ec6ec7511e refactor: 💡 Remove stack traces and add logs for version info (#2391) 2024-07-16 17:51:16 -04:00
Carlos Alcaide Corvo 9404300a9e Fix linux deb artifact name (#2389)
* Avoid adding platform to the .deb binary
2024-07-16 14:29:48 -07:00
Cameron Perera 8cb16dc46c Icu 13894 create edit tags modal (#2384)
* feat: 🎸 add "no tags" state for worker tags

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13894

* feat: 🎸 add edit workflow for worker tags

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13894

* refactor: 💡 update tag action permissions logic

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13894

* refactor: 💡 small change to updateApiTags

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13894

* feat: 🎸 show different tooltip for hcp managed worker tags

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13894

* refactor: 💡 address PR feedback

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13894

* refactor: 💡 address more PR feedback

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13894
2024-07-16 15:49:30 -05:00
Cameron Perera f9af4f0092 Icu 13897 create remove tag modal (#2377)
* feat: 🎸 add action dropdown in tags table

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* feat: 🎸 add removeApiTags method to worker

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* feat: 🎸 add tag removal workflow

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* test: 💍 add tests for removing a worker tag

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* test: 💍 add tests for removing a tag

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* refactor: 💡 fix spelling issue

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* refactor: 💡 use mirage worker serializer to remove empty tag

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* refactor: 💡 update modal id to class

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* refactor: 💡 add autofocus to remove tag modal

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* feat: 🎸 update tags controller attributes

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* refactor: 💡 create normalizer to add empty object for api_tags

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* refactor: 💡 update getter signature

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* refactor: 💡 remove unneeded parens

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* refactor: 💡 remove type from Hds::Button

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* refactor: 💡 update confirmation modal class name

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* feat: 🎸 add emptyObjectIfMissing model attribute

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* refactor: 💡 PR feedback

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897

* refactor: 💡 remove default to null in toggleModal

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13897
2024-07-16 15:49:30 -05:00
Lisbet Alvarez 723101b779 refactor: 💡 move workers section in a target to be in a tab (#2379)
* refactor: 💡 move workers section in a target to be in a tab

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-14332
2024-07-16 15:49:23 -05:00
Cameron Perera 825c9556b6 refactor: 💡 remove worker tags from detail view of worker (#2380)
* refactor: 💡 remove worker tags from detail view of worker

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13890

* refactor: 💡 remove unused styles

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13890

* style: 💄 fix lint error

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13890

* style: 💄 fix stylelint rules

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13890
2024-07-16 15:48:24 -05:00
Cameron Perera 071e0bd617 feat: 🎸 add link to worker docs for creat-tags view (#2381) 2024-07-16 15:48:24 -05:00
Cameron Perera 4e57c863ab Icu 13895 create create new tags route and view (#2368)
* feat: 🎸 create canSetWorkerTags ability for workers

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* feat: 🎸 add create-tags route

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* feat: 🎸 update worker serializer for adding api_tags

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* feat: 🎸 add setApiTags method on worker model

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* style: 💄 update list-wrapper styles after hds upgrade

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* feat: 🎸 add create-tags component for workers

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* feat: 🎸 add creat-tags route and view

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* test: 💍 add acceptance tests for worker create-tags workflow

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* test: 💍 add test for worker tag creation

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* test: 💍 fix test setup for workers

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* test: 💍 add license headers and update setupTest import

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* test: 💍 fix normal serialize test for worker

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* refactor: 💡 create worker PKI type const

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* refactor: 💡 add comments to methods and actions

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* feat: 🎸 create Tag class to use in multiple places

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* refactor: 💡 move apiTags to route controller

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* refactor: 💡 move routeWillChange logic to route

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* refactor: 💡 routeWillChange logic updates

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* refactor: 💡 remove unused services

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* test: 💍 add missing controller tests

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* refactor: 💡 small update to API tags description

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* refactor: 💡 add tracked to Tag class

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* refactor: 💡 use willTransition vs routeWillChange event

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895

* refactor: 💡 use controllerFor in route

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13895
2024-07-16 15:48:23 -05:00
Cameron PereraandLisbet Alvarez 87f84e0c24 feat: 🎸 add tooltip to config tags in table (#2375)
* feat: 🎸 add tooltip to config tags in table

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-14331

* Update addons/core/translations/resources/en-us.yaml

Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>

* test: 💍 fix translation in test

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-14331

---------

Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
2024-07-16 15:48:23 -05:00
Cameron Perera fd5143286f Icu 13892 create tags tab route and view (#2362)
* feat: 🎸 add workers/worker/tags route

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13892

* feat: 🎸 create workers/worker/header component

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13892

* feat: 🎸 create workers/worker/nav component

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13892

* feat: 🎸 create workers/worker/actions component

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13892

* feat: 🎸 add breadcrumbs, header, nav, and actions for tags

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13892

* feat: 🎸 create table to display worker tags

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13892

* chore: 🤖 add license headers

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13892

* refactor: 💡 small changes after flyout changes added

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13892

* refactor: 💡 update manage dropdown to use hds::dropdown

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13892

* test: 💍 fix failing test after HDS refactor

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13892
2024-07-16 15:48:23 -05:00
Cameron Perera 40ebbf8b09 Icu 13889 update tags column to action that opens hds flyout and add link to tags tab if more than 10 tags (#2355)
* refactor: 💡 update worker factory to include api_tags

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13889

* feat: 🎸 add tags flyout for workers table

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13889

* refactor: 💡 move test selector to const

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13889

* refactor: 💡 only show 'view more tags' if more than 10 tags

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13889

* test: 💍 update test name

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13889

* refactor: 💡 update how worker tags are shown in flyout

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13889

* refactor: 💡 add one more api tag for worker in mirage

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13889

* refactor: 💡 fix tagDisplayName signature

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13889

* refactor: 💡 update tag shortener styling

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13889
2024-07-16 15:48:10 -05:00
Cameron Perera f51124cfdb feat: 🎸 create get allTags method that includes tag type (#2349)
* feat: 🎸 create getAllTags method that includes tag type

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13891

* refactor: 💡 use canonical_tags to get tagCount on a worker

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13891

* refactor: 💡 add type to api and config tag list methods

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13891

* refactor: 💡 change worker functions to getters

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13891
2024-07-16 15:46:05 -05:00
Lisbet Alvarez 1bea4882ca docs: ✏️ add doclinks for multi-scope grant work (#2390) 2024-07-16 12:03:22 -07:00
Lisbet Alvarez ea3d040b53 refactor: 💡 update messages & update button to match new change (#2382)
* refactor: 💡 update messages & update button to match new change
2024-07-15 17:23:00 -07:00
Cameron Perera 80d9ce2ec1 refactor: 💡 update button text to Manage custom scopes (#2378) 2024-07-15 17:23:00 -07:00
Lisbet Alvarez 45931be4da refactor: 💡 add grant scopes applied badge (#2374)
* refactor: 💡 add grant scopes applied badge

* test: 💍 add extra asserts
2024-07-15 17:23:00 -07:00
Lisbet Alvarez c340d9ab89 feat: 🎸 add search and filtering to scopes tab in a role (#2371)
* feat: 🎸 add search and filtering to scopes tab in a role

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13886
2024-07-15 17:23:00 -07:00
Wadi 3bcc5aabd8 ICU-13879 (#2372)
* Updated Dropdown in Roles menu to reflect Hds Dropdown

* Added data-test attributes

* Removed mixed rose code

* Fixed lint issues

* Fixed up tests and removed bare text to be replaced with translation.

* Fixed lint issues

* Updated Manage Scopes to reflect HDS self-closing element

* Lint issues
2024-07-15 17:23:00 -07:00
Lisbet Alvarez 4004431c6a chore: 🤖 add missing headers in llb (#2373) 2024-07-15 17:23:00 -07:00
3064e51bc1 feat: 🎸 create manage projects in org route and view (#2365)
* feat: 🎸 create manage projects in org route and view

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13882

---------

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-07-15 17:23:00 -07:00
Cameron Perera e83bb425af refactor: 💡 remove old unused code (#2367) 2024-07-15 17:23:00 -07:00
Lisbet AlvarezandZhihe Li 27abf9e2d9 feat: 🎸 create manage custom scopes route and view (#2359)
* feat: 🎸 create manage custom scopes route and view

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13881

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-07-15 17:23:00 -07:00
Lisbet AlvarezandZhihe Li 89e072401c Icu 13880 create manage scopes route and view with keyword values (#2342)
* feat: 🎸 manage scopes route and page

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13880

* Update addons/core/translations/resources/en-us.yaml

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* Update ui/admin/app/abilities/role.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* Update ui/admin/app/components/form/role/manage-scopes/index.hbs

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-07-15 17:23:00 -07:00
Cameron Perera 85bce84356 feat: 🎸 add No scopes add to roles/role/scopes route (#2338)
* feat: 🎸 add No scopes add to roles/role/scopes route

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13878

* feat: 🎸 add new role ability

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13878

* refactor: 💡 fix permission for setting grant scopes on role

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13878
2024-07-15 17:23:00 -07:00
Cameron Perera 2bc314d271 Icu 12708 add scopes tab route in role route (#2322)
* feat: 🎸 add roles/role/scopes route

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* refactor: 💡 update role and scope mirage factories

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* feat: 🎸 add grantScopes to role model

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* feat: 🎸 fetch all scopes recursively

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* feat: 🎸 add new role grant scopes translations

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* feat: 🎸 add table to list grant scopes on a role

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* test: 💍 acceptance test for grant scope table and controller

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* test: 💍 add unit tests for grantScopes method on role model

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* refactor: 💡 small updates from PR feedback

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* refactor: 💡 update grantScopes to use sort

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* feat: 🎸 update role scope description for each scope type

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* refactor: 💡 make grant_scope_ids sort better

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* refactor: 💡 update global scope to show as Global vs global

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* refactor: 💡 update logic for display grant scope keywords

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* refactor: 💡 small improvement in role.grantScopes

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* refactor: 💡 move scope query to roles/scope route

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708

* refactor: 💡 remove console.log

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12708
2024-07-15 17:23:00 -07:00
Cameron Perera e60b774d05 refactor: 💡 remove grant_scope_id and its uses (#2325)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13877
2024-07-15 17:23:00 -07:00
Cameron Perera c6a917d21b Icu 12707 update role mirage (#2319)
* feat: 🎸 add grant_scope_ids to role mirage

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12707

* feat: 🎸 set grant_scope_ids in onboarding workflow

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12707

* refactor: 💡 set grant_scope_ids when calling updateGrantScopeID

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12707

* refactor: 💡 add TODO for removal of grant_scope_id

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12707
2024-07-15 17:23:00 -07:00
Cameron Perera f9e85aa9aa feat: 🎸 add grant_scope_ids to role model (#2308)
* feat: 🎸 add grant_scope_ids to role model

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12709

* refactor: 💡 remove removeGrantScopes method

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12709

* style: 💄 add braces around if statement

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12709
2024-07-15 17:23:00 -07:00
Lisbet Alvarez c0cecda312 refactor: 💡 use new baseURL and update topic paths (#2109)
* refactor: 💡 use new baseURL and update topic paths
2024-07-15 17:09:08 -07:00
Carlos Alcaide Corvo bfd984d248 Add a postMake arch conversion from x64 to amd64 (#2376)
* Add a postMake arch conversion from x64 to amd64

* Add platform conversion from win32 to windows
2024-07-15 11:30:12 -07:00
Dharini Jeeva ae5a03250f fix: 🐛 add visuallyhidden to empty table columns (#2383) 2024-07-15 10:15:55 -07:00
hashicorp-tsccr[bot]andhashicorp-tsccr[bot] 07c25d766e Result of tsccr-helper -log-level=info gha update -latest . (#2369)
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
2024-07-03 10:43:51 -07:00
Michael Li 12a986b2ba test(e2e): Add test for search and pagination (#2366)
* test(e2e): Add test for search and pagination

* CR: Add comment
2024-06-28 15:04:11 -04:00
Michael Li 5e5c25be82 test(e2e): Add alias test (#2363)
* test(e2e): Add alias test

* test(e2e): Cleanup
2024-06-28 10:24:50 -04:00
Dharini Jeeva 17db3cba68 workflow action for copyright headers (#2345) 2024-06-27 11:06:41 -07:00
Zhihe Li 7de68bacae Revert "fix: 🐛 Fix active session display in targets table (#2321)" (#2364)
This reverts commit fc82980d68.
2024-06-26 17:47:07 -04:00
Zhihe Li 74f3ce516b chore: 🤖 Fix unzip permissions part 2: electric boogaloo (#2360)
* Revert "fix: 🐛 Fix unzipping changing cli permissions (#2356)"

This reverts commit e9d2f249b8.

* chore: 🤖 Fix permissions after unzipping
2024-06-26 13:02:13 -04:00
Carlos Alcaide Corvo 6d97b15591 fix: 🐛 appUpdater support ARM64 (#2327)
Add ARM64 support for the appUpdater
2024-06-25 12:50:17 -07:00
dependabot[bot]andZhihe Li 72cf7b0d71 chore(deps): bump socket.io from 4.6.1 to 4.7.5 (#2358)
Bumps [socket.io](https://github.com/socketio/socket.io) from 4.6.1 to 4.7.5.
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io/compare/4.6.1...4.7.5)

---
updated-dependencies:
- dependency-name: socket.io
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-06-24 11:31:15 -04:00
Michael Li 45db2ad5a6 test(e2e): Add check to detach storage bucket from target (#2352) 2024-06-24 09:35:33 -04:00
Cameron PereraandZhihe Li 2f27a4cfc0 chore: 🤖 Update electron version (#2332)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13697

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-06-21 18:40:46 -04:00
Michael Li e6642959be test(e2e): Fix flakiness when selecting org links (#2348)
* test(e2e): Fix flakiness when selecting links

Some links exist on both the "Global" and "Org" scope (i.e. Storage Policies, Auth Methods). There was some flakiness observed where the test intends to select the "Org" variant of the link, but the test moves too quickly and selects the "Global" variant instead.

This commit ensures that the Org page has loaded after clicking the Org link before trying to navigate to the next thing.

* test(e2e): Address flake due to OK conflict

* test(e2e): Address flake due to OK conflict part 2

* CR: Fix more race conditions
2024-06-21 13:26:13 -04:00
Dharini Jeeva 11009d6f33 fix: 🐛 copyright syntax (#2357) 2024-06-20 14:10:04 -07:00
Zhihe Li e9d2f249b8 fix: 🐛 Fix unzipping changing cli permissions (#2356) 2024-06-20 10:59:52 -04:00
Zhihe Li ff6f1ab2ff chore: 🤖 Update CLI version (#2354) 2024-06-18 14:50:34 -04:00
Lisbet Alvarez ea578c4207 fix: 🐛 styles import file not being found (#2353) 2024-06-18 09:29:26 -07:00
dependabot[bot]andZhihe Li 4d02503790 chore(deps): bump ws from 7.5.3 to 7.5.10 (#2351)
Bumps [ws](https://github.com/websockets/ws) from 7.5.3 to 7.5.10.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.3...7.5.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-06-18 11:52:52 -04:00
Zhihe Li 355ebb12db feat: 🎸 Add more logging for desktop client (#2344) 2024-06-17 18:18:58 -04:00
Lisbet Alvarez c177abb978 chore: 🤖 udate hds from v3.5 to v4 (#2350)
* chore: 🤖 udate hds from v3.5 to v4
2024-06-17 14:31:33 -07:00
Zhihe Li 0094cef9f5 refactor: 💡 Rename client daemon to cache daemon (#2346) 2024-06-17 17:16:07 -04:00
dependabot[bot]andZhihe Li 80b992668d chore(deps): bump braces from 3.0.2 to 3.0.3 in /ui/desktop/electron-app (#2347)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-06-17 13:59:45 -04:00
Michael Li 365545d61c test(e2e): Add checks for LDAP account attributes (#2343)
* test(e2e): Add check for LDAP account attributes

* test(e2e): Refactor to use expect assertions
2024-06-17 10:42:08 -04:00
Michael Li 1a7b3f578c test(e2e): Add multiple credentials to target (#2333) 2024-06-17 10:14:44 -04:00
Michael Li 40c1b3c6b5 test(e2e): Add check for multiple host sources (#2331)
* test(e2e): Add check for multiple host sets

* CR: TCP targets don't have injected credentials

* test(e2e): Add "exact: true" for OK button locators

Sometimes, the OK button will get interfered by resource ids that contain an OK.
2024-06-17 10:01:13 -04:00
Michael Li 09c60c7bcb test(e2e): Add test for worker (#2320)
* test(e2e): Add test for worker

* CR: Fix selector

* test(e2e): Skip test on safari

* test(e2e): Check create config
2024-06-14 14:59:23 -04:00
Wadi 7b6f625d3e Fixed Markdown in Node supported versions (#2340) 2024-06-14 10:21:39 -04:00
Dharini Jeeva 3797bc3a60 fix: 🐛 labels were changed during the refactor (#2341) 2024-06-13 14:18:56 -07:00
Wadi 26adb96396 Readme update to change Node supported versions (#2339)
* Readme update to change Node supported versions
2024-06-13 16:08:30 -04:00
Dharini Jeeva e419b8ee6a chore: 🤖 headers update (#2337) 2024-06-13 10:05:01 -07:00
Zhihe Li bca65d8d5a feat: 🎸 Fix text and persist windows notification (#2330)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13977
2024-06-12 16:40:19 -04:00
Zhihe Li f20723df37 fix: 🐛 Fix session erroring out when getting session from ferry (#2315) 2024-06-12 16:40:19 -04:00
Zhihe Li 3f238140b4 feat: 🎸 Change the default notification on mac to be alert (#2311)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13931
2024-06-12 16:40:19 -04:00
Zhihe Li 8788b5ec9a feat: 🎸 Add support for polling transparent sessions (#2304)
* feat: 🎸 Add support for polling transparent sessions

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13831
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13830
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13832
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13833
2024-06-12 16:40:19 -04:00
Dharini Jeeva e66efa7cc3 recreate LICENSE file (#2335) 2024-06-12 11:09:29 -07:00
Dharini Jeeva bc0fc1aa87 Delete LICENSE (#2334) 2024-06-12 10:24:35 -07:00
Michael Li fc4344c6c5 test(e2e): Update test to add a DHC host set as a source (#2324) 2024-06-11 18:57:10 -04:00
Michael Li 7106f36686 test(e2e): Add test for global settings (#2323) 2024-06-11 18:42:24 -04:00
Michael Li 28e65dbf4f test(e2e): Update ldap test to log in with ldap account (#2314) 2024-06-11 18:30:34 -04:00
Dharini Jeeva 0a9a6c5a67 fix: quotes (#2329)
* chore: 🤖 same as boundary repo

* fix: 🐛 quotes
2024-06-11 13:41:31 -07:00
Dharini Jeeva 720a9b56ee chore: 🤖 update LICENSE txt and fix license (#2328) 2024-06-11 13:00:43 -07:00
hashicorp-copywrite[bot]andCarlos Alcaide Corvo 3157525eb6 [COMPLIANCE] Add Copyright and License Headers (#2326)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
2024-06-11 08:54:49 -07:00
Lisbet Alvarez 12e0982d4b refactor: 💡 remove route-action usage for workers (#2302)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12613
2024-06-10 17:12:49 -07:00
Lisbet Alvarez ea460c1391 refactor: 💡 remove route-action usage for users (#2299)
* refactor: 💡 remove route-action usage for users

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12612
2024-06-10 17:00:57 -07:00
Lisbet Alvarez 2f6e36c035 refactor: 💡 remove route-action usage for targets (#2297)
* refactor: 💡 remove route-action usage for targets

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12611
2024-06-10 16:45:06 -07:00
Zhihe Li fc82980d68 fix: 🐛 Fix active session display in targets table (#2321)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13981
2024-06-10 17:14:40 -04:00
Michael Li 8d217aab2b test(e2e): Update password test to log in with new account (#2313)
* test(e2e): Update password test to log in with new account

* CR: Don't break other tests

Performing a log out in a test when using authenticatedState causes subsequent tests that use the state to fail (it will show up as logged out)

* CR: Only do clean up steps when necessary

* CR: Use const
2024-06-07 13:09:24 -04:00
Zhihe Li 7e89f28949 Icu 13451 desktop client logging (#2318)
* feat: 🎸 Add initial logging for desktop client
2024-06-07 12:12:28 -04:00
Michael Li 5a7e09c70c test(e2e): Add test for minio storage bucket (#2312) 2024-06-06 14:59:13 -04:00
a92701701c Result of tsccr-helper -log-level=info gha update -latest . (#2316)
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
2024-06-04 14:44:17 -07:00
Dharini Jeeva 6397cd80a6 Refactor key value comp (#2180)
* refactor: 💡 keyvalue comp
2024-06-03 13:38:42 -07:00
hashicorp-copywrite[bot] 9b403b3159 [COMPLIANCE] Add Copyright and License Headers (#2317)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2024-06-03 11:52:01 -05:00
Dharini Jeeva 9b1f052a56 chore: Update desktop client license from MPL to BSL (#2307)
* chore: 🤖 license
2024-05-31 11:29:24 -07:00
Carlos Alcaide Corvo 7e5db0bc3d Poc share domain test selectors (#2278)
* Share domain (storage-buckets) selectors and refactor the previous test to rely only on standard selectors and data-test-* when need.
2024-05-31 11:02:55 -07:00
hashicorp-copywrite[bot]andDharini Jeeva 966e16863a [COMPLIANCE] Add Copyright and License Headers (#2309)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2024-05-30 10:30:44 -07:00
Michael Li c0b1373851 test(e2e): 0.16.1 updates (#2310)
* test(e2e): Use AWS region specified in environment

* test(e2e): Update storage bucket label
2024-05-28 17:54:21 -04:00
Lisbet Alvarez b9b4e33f5a refactor: 💡 remove route-action usage for roles (#2292)
* refactor: 💡 remove route-action usage for roles

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12608
2024-05-23 15:35:49 -07:00
Carlos Alcaide Corvo 534c4419e7 As per warning updated browserslist (#2306) 2024-05-23 15:18:53 -07:00
Dharini Jeeva 1c65de4a80 fix: 🐛 target patch with_Aliases field (#2305) 2024-05-23 10:23:49 -07:00
Cameron Perera 5c8e93f5e9 Doc update desktop readme (#2303)
* docs: ✏️ add troubleshooting info for node-gyp errors

* docs: ✏️ clean up linting errors in desktop/README.md

* docs: ✏️ include python install command
2024-05-22 15:03:59 -05:00
hashicorp-copywrite[bot] 5e3e61bc49 [COMPLIANCE] Add Copyright and License Headers (#2301)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2024-05-21 10:01:10 -04:00
Cameron Perera 2394df8435 chore: 🤖 update PR template (#2300) 2024-05-16 13:13:54 -05:00
Lisbet Alvarez a1655312fd refactor: 💡 remove route-action usage for host-catalogs (#2284)
* refactor: 💡 remove route-action usage for host-catalogs

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12606
2024-05-15 11:01:54 -07:00
Carlos Alcaide Corvo fcb9468c59 Add minio missing unit tests (#2253)
* Add MinIO storage bucket creation for scope org

* Add update acceptance tests
2024-05-14 13:39:23 -07:00
hashicorp-copywrite[bot] 3692922b3b [COMPLIANCE] Add Copyright and License Headers (#2296)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2024-05-13 12:59:37 -05:00
Cameron Perera 0691b57e40 Icu 11936 support node 20 stop support node 16 (#2282)
* chore: 🤖 remove .mdx format script in rose addon

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11936

* chore: 🤖 deprecate use of node v16 and include node v20

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11936

* chore: 🤖 update github workflows to use node v18

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11936

* chore: 🤖 update workflows to use node v20

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11936
2024-05-10 13:03:43 -05:00
Michael Li 87e0a075c1 chore: Lint action (#2294) 2024-05-09 11:13:00 -04:00
dependabot[bot]andCarlos Alcaide Corvo a6b9ae4610 chore(deps): bump semver from 5.7.1 to 7.6.0 in /ui/desktop/electron-app (#2285)
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 7.6.0.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v7.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
2024-05-08 12:25:55 -07:00
Carlos Alcaide Corvo e75e908340 Fix icu 13758 refactor node decompress (#2290)
* Uninstall decompress and rely on unzipper
2024-05-08 07:59:26 -07:00
Lisbet Alvarez 9ca1beaa0e refactor: 💡 remove route-action usage for storage-policies (#2286)
* refactor: 💡 remove route-action usage for storage-policies

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12607
2024-05-07 14:02:03 -07:00
Michael Li 91fe148df4 chore: Fix error in Jira Sync workflow (#2289) 2024-05-06 12:37:05 -04:00
Michael Li 4cb9565ca0 chore: Update to use Node20 version of Actions (#2283)
atlassian/gajira-* actions are no longer maintained, but they are using node16, which is soon to be deprecated. This change removes the use of those actions.
2024-05-06 09:55:17 -04:00
eddbdb23d0 Result of tsccr-helper -log-level=info gha update -latest . (#2281)
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
2024-05-03 11:03:45 -07:00
hashicorp-copywrite[bot]andCameron Perera 5762b0df4d [COMPLIANCE] Add Copyright and License Headers (#2277)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2024-05-01 12:29:06 -05:00
Carlos Alcaide Corvo e421b8efc0 chore: 🤖 Add vscode specific to gitignore (#2221)
Add vscode specific stuff for gitignore
2024-05-01 07:39:35 -07:00
Carlos Alcaide Corvo 2d1e15a7bb Update changelog and cli version (#2280)
* Update changelog and cli version
2024-04-30 10:21:25 -07:00
Lisbet Alvarez dd92321b81 fix: 🐛 update label & description (#2279) 2024-04-29 11:52:45 -07:00
Lisbet Alvarez dce45031cb fix: 🐛 recording storage path not being set (#2276) 2024-04-26 15:49:29 -07:00
Zhihe Li 2666ec8244 fix: 🐛 Fix account password not being properly set (#2275) 2024-04-26 13:40:30 -04:00
Michael Li 3674d07762 test(e2e): Address flake (#2274)
Observed a flake when the Recording ID also contained an `OK`, causing a conflict with finding this OK button.
2024-04-25 13:52:26 -04:00
Zhihe Li dccf06cb0c fix: 🐛 Fix error when deleting auth method (#2273)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13624
2024-04-25 11:48:55 -04:00
Carlos Alcaide CorvoandZhihe Li c64e8a2993 Fix storage bucket empty state message (#2272)
* Fix text

* Update addons/core/translations/resources/en-us.yaml

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-04-24 15:08:04 -07:00
Lisbet Alvarez 5ae490c28c fix: 🐛 small updates to cred-library, cred-store & host-catalog (#2271) 2024-04-24 11:16:06 -07:00
Dharini Jeeva bedcdee048 fix: 🐛 permissions (#2269)
* fix: 🐛 permissions
2024-04-24 11:04:11 -07:00
Michael Li bd394d9517 fix: Update LDAP address example (#2270) 2024-04-24 12:22:04 -04:00
Lisbet Alvarez a6bdc4fa24 fix: 🐛 action errors on auth-method refresh (#2268) 2024-04-23 16:37:01 -07:00
Zhihe Li 3e9a06a5b5 fix: 🐛 Fix adding host set error in targets (#2267) 2024-04-23 10:49:33 -04:00
Zhihe Li 19908768a4 fix: 🐛 Fix HDS labels and helpers in host sets (#2266)
* fix: 🐛 Fix HDS labels and helpers in host sets
2024-04-22 20:56:26 -04:00
Dharini Jeeva 4274a045f7 fix: 🐛 add details (#2265) 2024-04-22 13:00:00 -07:00
Lisbet Alvarez 1270458430 fix: 🐛 add missing pagination component to cred stores (#2264)
* fix: 🐛 add missing pagination component to cred stores

* test: 💍 fix cred store acceptance tests
2024-04-22 12:43:39 -07:00
Dharini Jeeva 4c342061d3 fix: 🐛 aliasing bugs (#2257)
* fix: 🐛 aliasing bugs
2024-04-22 12:16:00 -07:00
Dharini Jeeva 5ce83d9239 fix: 🐛 title (#2263) 2024-04-22 10:57:40 -07:00
Lisbet Alvarez 148f2db941 refactor: 💡 remove route-action usage for auth-methods (#2178)
* refactor: 💡 remove route-action usage for auth-methods

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12603
2024-04-22 10:33:06 -07:00
hashicorp-copywrite[bot] f65f483611 [COMPLIANCE] Add Copyright and License Headers (#2262)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2024-04-22 11:47:53 -05:00
Lisbet Alvarez cc9003a118 fix: 🐛 required & optional labels in oidc auth-methods form (#2261) 2024-04-22 09:05:29 -07:00
Michael Li 20f8c99013 test(e2e): Fixes for 0.16.0 (#2258) 2024-04-22 10:39:53 -04:00
Dharini Jeeva 536ebc1c0f chore: 🤖 add doc links for aliases (#2260) 2024-04-19 13:37:51 -07:00
Zhihe Li 79a932bebb feat: 🎸 Add aliases to list view (#2256)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13487
2024-04-19 16:18:32 -04:00
Carlos Alcaide Corvo f246c24a08 Add field validation for scope within Storage bucket creation (#2259) 2024-04-19 11:42:24 -07:00
Michael Li d31cfca138 chore(e2e): Update playwright to 1.43 (#2254)
When running the Admin UI e2e tests against 0.16.0, there were some issues with trying to click on a link on the new pagination tables (links were not seen as visible). For some reason, updating the playwright version fixed this.
2024-04-18 11:49:46 -04:00
Carlos Alcaide Corvo 298e804500 Fix an afterModel check to avoid reloading the page when the queryParam gets updated (#2255) 2024-04-18 08:03:13 -07:00
Dharini Jeeva f9cd1c331f feat: 🎸 show associated aliases in target detail page (#2249)
* feat: 🎸 show associated aliases in target detail page
2024-04-17 12:39:34 -07:00
Dharini Jeeva a0fa66a14d fix: 🐛 plural title (#2252) 2024-04-17 12:26:58 -07:00
Dharini Jeeva 086d9da028 fix: 🐛 place modal outside table (#2251) 2024-04-17 11:40:23 -07:00
Cameron Perera 9b20b150eb fix: 🐛 transition aborted error when deleting group (#2250) 2024-04-17 11:13:58 -05:00
Zhihe Li 6bbddc56b1 fix: 🐛 Fix windows being unable to search client daemon (#2245)
When using the client daemon to search on windows, we use
the CLI instead of the unix socket for our requests.
Unfortunately that means we spawn a separate process to
retrive the results and one idiosyncracy of this is that
`spawnSync` buffers its outputs which means we were hitting
the default max buffer size. `spawn` doesn't have this
issue because it streams its outputs and we didn't previously
use `spawnSync` for any command that produced large amounts
of output.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13466
2024-04-17 07:40:09 -07:00
Carlos Alcaide Corvo 0870a8f623 MinIO support for Admin UI (#2248)
Add support for MinIO creation form and list
2024-04-16 14:17:23 -07:00
Cameron Perera 98c16ad422 fix: 🐛 add missing scope_id from credential sources for targets (#2247) 2024-04-16 11:31:54 -05:00
Zhihe LiandCameron Perera 9156c8612e fix: 🐛 Add back scope_id as part of request query parameter (#2246)
Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2024-04-16 11:15:16 -05:00
Lisbet Alvarez a43756895d fix: 🐛 auth-methods deleted items are showing on table view (#2244)
* fix: 🐛 auth-methods deleted items are showing on table view
2024-04-15 16:30:43 -07:00
Lisbet Alvarez adc50a939f refactor: 💡 remove uneeded rose cards component (#2243)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13321
2024-04-15 10:37:26 -07:00
hashicorp-copywrite[bot] 37cbb74c76 [COMPLIANCE] Add Copyright and License Headers (#2242)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2024-04-15 11:51:03 -05:00
Dharini Jeeva 80b633a063 Alias clear modal (#2239)
* fix: 🐛 permissions to create aliases within targets
2024-04-15 09:15:38 -07:00
Dharini Jeeva bd65c91ff9 chore: 🤖 alias target route (#2228) 2024-04-12 16:36:17 -07:00
Lisbet Alvarez c550faddb4 Icu 13218 update indexed db parser unit tests to test for filtering on boolean fields (#2238)
* test: 💍 unit tests for bool fields
* chore: 🤖 add deprecation handling

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13218
2024-04-12 16:22:27 -07:00
Cameron Perera 5e7c25a1fa refactor: 💡 update groups and workers "new" button to HDS (#2236) 2024-04-12 14:55:34 -04:00
ded8bdadd1 Icu 12592 add filtering pagination support for auth methods (#2209)
* feat: 🎸 add filtering & pagination to auth methods

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12592

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2024-04-12 14:55:34 -04:00
Cameron Perera 13da35c06b Icu 13357 create loading screen for admin UI list routes (#2231)
* test: 💍 fix failing tests

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13357

* feat: 🎸 add generic loading indicator for admin ui

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13357

* feat: 🎸 add custom loading logic for search and filtering

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13357

* chore: 🤖 fix lint error

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13357

* refactor: 💡 remove commented helper for sessions list

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13357

* style: 💄 update loading indicator margin to relative unit

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13357

* refactor: 💡 remove unneeded custom loading action

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13357
2024-04-12 14:55:34 -04:00
Lisbet Alvarez d52957d87b fix: 🐛 breadcrumbs on scopes route not showing since model move (#2235) 2024-04-12 14:55:34 -04:00
Zhihe Liandcameronperera 33d359e692 Fix tests from rebase (#2233)
* fix: 🐛 Fix tests broken by rebase onto main

---------

Co-authored-by: cameronperera <cameron.perera@hashicorp.com>
2024-04-12 14:55:34 -04:00
Cameron Perera 626bdc2c92 Icu 13374 add permission checks for filtering resources in sessions and targets (#2226)
* refactor: 💡 hide active sessions filter if no list permissions

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13374

* test: 💍 add active sessions filter permissions test

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13374

* refactor: 💡 add permissions check for targets and users

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13374

* refactor: 💡 address PR feedback

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13374

* refactor: 💡 move user permission check to a helper func

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13374

* refactor: 💡 move permissions logic to user and target helper

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13374
2024-04-12 14:55:34 -04:00
Lisbet Alvarez edba33bbda Icu 13359 refactor query requests for resources added to indexed db (#2224)
* refactor: 💡 update query requests for resources in indexedDB

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13359
2024-04-12 14:55:34 -04:00
Zhihe Li 5d32d987bc feat: 🎸 Update how we store tokens in indexed-db (#2223)
Added logic to make the list tokens stored in indexed DB more granular.
I get a hash of the query parameters that will get sent to the controller
and use that as the id for the token. This also means extra logic for when
a token is invalid as we will need to delete all tokens of the same
resource type.
2024-04-12 14:55:34 -04:00
Lisbet Alvarez 6c59baa413 refactor: 💡 reduce network requests & call indexedDB directly (#2217)
* refactor: 💡 reduce network requests & call indexedDB directly

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13251
2024-04-12 14:55:34 -04:00
Cameron Perera c2c0b38187 fix: 🐛 move query inside list permission check (#2222)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13356
2024-04-12 14:55:34 -04:00
Lisbet Alvarez 1d7892230c Icu 13302 add filtering pagination support for scopes (#2216)
* feat: 🎸 add filtering and pagination to scopes

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13302
2024-04-12 14:55:34 -04:00
Cameron Perera ece9c9b0c8 refactor: 💡 add include_terminated param to sessions query (#2219)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13130
2024-04-12 14:55:34 -04:00
Lisbet Alvarez 9a43c74e60 refactor: 💡 add active sessions column to targets table (#2196)
* refactor: 💡 add active sessions column to targets table

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13085

* test: 💍 add test case

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13085
2024-04-12 14:55:33 -04:00
Cameron Perera eb4ec5f6de refactor: 💡 update Dropdown component to have name & toggleText (#2218)
* refactor: 💡 update Dropdown component to have name & toggleText

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13336

* test: 💍 remove hds class selector

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13336
2024-04-12 14:55:33 -04:00
Zhihe Li a39b208b48 Icu 12781 add filtering pagination support for host catalogs (#2213)
* feat: 🎸 Add searching for host catalogs

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12781
2024-04-12 14:55:33 -04:00
Lisbet AlvarezandZhihe Li 22353e7df6 Icu 12782 add filtering pagination support for credential stores (#2212)
* feat: 🎸 add filtering & pagination support for credential-store

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12782

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-04-12 14:55:33 -04:00
Cameron Perera 713ffd8d1b fix: 🐛 add parentScope.id to refresh action for sessions (#2215)
* fix: 🐛 add parentScope.id to refresh action for sessions

* refactor: 💡 remove scope_id from users and targets query
2024-04-12 14:55:33 -04:00
Cameron Perera 6e75439652 Icu 12587 add filtering pagination support for sessions (#2194)
* feat: 🎸 add pagination and filtering to sessions page

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 fix handling of null values in indexed-db-query

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 add method signatures where missing

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 address PR feedback

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* fix: 🐛 add override for table header color when sortable

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 remove poller and add manual refresh action

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 remove force_refresh from sessions route queries

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 add user getter to session model

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 remove logicalOperator value from queries

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 move action to controller from router

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 remove cleanValues from indexed-db-query

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 remove potential null values for user/target ids

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 add async/await back to cancelSession

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 update sessions route

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 use translation string for Sessions

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* test: 💍 fix controller test

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 add scope_id to filters for query

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 remove scope_id and recursive in sessions query

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587

* refactor: 💡 how user query to use global and org scope

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12587
2024-04-12 14:55:33 -04:00
Cameron PereraandZhihe Li be96daa499 Icu 12591 add filtering pagination support for groups (#2205)
* refactor: 💡 move model hook to groups/index

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12591

* feat: 🎸 add pagination to groups list view

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12591

* feat: 🎸 add searching to groups

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12591

* fix: 🐛 update scopeId to scope_id

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12591

* test: 💍 clean up test refactor

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12591

* refactor: 💡 update how groupsExisit is set

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12591

* refactor: 💡 update mirage config for groups

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12591

* test: 💍 fix failing groups create tests

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12591

* refactor: 💡 add groups mirage config back

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12591

* refactor: 💡 use translation string for Groups

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12591

* refactor: 💡 update how groups are queried

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12591

* Update ui/admin/tests/acceptance/groups/list-test.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* refactor: 💡 update groups translation to title_plural

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12591

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-04-12 14:55:33 -04:00
Zhihe Li 9f11e8a25d fix: 🐛 Fix setting up indexed db when user logins first time (#2211) 2024-04-12 14:55:33 -04:00
Lisbet Alvarez 8be4e93a3c Icu 12590 add filtering pagination support for roles (#2204)
* feat: 🎸 add search & pagination for roles

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12590
2024-04-12 14:55:33 -04:00
Lisbet Alvarez a78522e09a feat: 🎸 add search & pagination support for users (#2195)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12589
2024-04-12 14:55:33 -04:00
Zhihe LiandLisbet Alvarez a26662eca5 feat: 🎸 Add filtering/pagination for admin ui targets (#2072)
* feat: 🎸 Add filtering/pagination for admin ui targets

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12193

* test: 💍 add acceptance test cases

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12193

* test: 💍 cleanup tests and add controller tests

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12193

---------

Co-authored-by: Lisbet Alvarez <lisbet.alvarez@hashicorp.com>
2024-04-12 14:55:33 -04:00
Zhihe LiandLisbet Alvarez d72fa0d6e3 feat: 🎸 Add indexedDb parser (#2068)
* feat: 🎸 Add indexedDb parser

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12164

---------

Co-authored-by: Lisbet Alvarez <lisbet.alvarez@hashicorp.com>
2024-04-12 14:55:33 -04:00
Zhihe Li bd5e3da1f4 feat: 🎸 Initial setup of IndexedDB (#2064)
* feat: 🎸 Initial setup of IndexedDB

* fix: 🐛 Rethrow errors up from indexed db handler
2024-04-12 14:55:33 -04:00
Dharini Jeeva f74f4d4a20 Target aliases list view (#2225)
target aliases list view
2024-04-11 14:18:38 -07:00
dependabot[bot]andZhihe Li 9bd45164bf chore(deps): bump tar from 6.1.11 to 6.2.1 in /ui/desktop/electron-app (#2230)
Bumps [tar](https://github.com/isaacs/node-tar) from 6.1.11 to 6.2.1.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v6.1.11...v6.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-04-11 14:05:30 -04:00
dependabot[bot] 363879c3c3 chore(deps): bump tar from 6.1.15 to 6.2.1 (#2232)
Bumps [tar](https://github.com/isaacs/node-tar) from 6.1.15 to 6.2.1.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v6.1.15...v6.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-11 13:41:15 -04:00
Lisbet Alvarez 0b4fd6765e fix: 🐛 modal bubbling up when user has not updated model (#2227)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13106
2024-04-09 12:05:15 -07:00
Dharini Jeeva c8839d6db1 Icu 12933 updates to target model to support aliasing (#2214)
* feat: 🎸 target aliases association API, form creation
2024-04-05 16:35:23 -07:00
Johan Brandhorst-SatzkornandZhihe Li ac5110d94a feat: 🎸 authenticate to ferry on authentication (#2203)
* feat: 🎸 authenticate to ferry on authentication

Replace the 'boundary daemon add-token' command with a simple
'boundary auth-tokens read -id <token_id>', relying on the boundary
CLI to do the work of sending the token to the client and Ferry
daemons.

* refactor: 💡 Use CLI to add tokens to daemons for all platforms

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-04-03 12:41:13 -04:00
hashicorp-tsccr[bot]andhashicorp-tsccr[bot] 78bcc103c2 Result of tsccr-helper -log-level=info gha update -latest . (#2210)
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
2024-04-02 10:21:39 -07:00
dependabot[bot]andZhihe Li fe0cffdf0b chore(deps): bump express from 4.18.2 to 4.19.2 (#2208)
Bumps [express](https://github.com/expressjs/express) from 4.18.2 to 4.19.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.2...4.19.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-03-28 17:45:02 -04:00
Michael Li 79f4c2bc5d test(e2e): Update credential library form behavior (#2207)
* test(e2e): Update credential library form behavior

* fix(e2e):  Fix some locators due to form updates
2024-03-28 15:05:57 -04:00
Devon AndersonandZhihe Li 9843310dfb Icu 12860 retain values in form fields in credential library when switching types (#2169)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12860

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-03-27 15:18:58 -04:00
Dharini Jeeva db75b2e292 chore: 🤖 aliases list view (#2197)
* chore: 🤖 aliases list view
2024-03-25 16:54:15 -07:00
Cameron Perera ac1d98bbec fix: 🐛 show change cluster url when no auth methods (#2201)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-13133
2024-03-25 14:24:53 -05:00
Cameron Perera 0c6744581d fix: 🐛 remove recursive param from list scopes endpoint (#2199)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12543
2024-03-25 13:47:07 -05:00
hashicorp-copywrite[bot] fb345f045e [COMPLIANCE] Add Copyright and License Headers (#2202)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2024-03-25 10:31:51 -07:00
Michael Li b1085def48 test(e2e): Add check for playing back session recording (#2198) 2024-03-25 12:13:27 -04:00
Michael Li 499b0fde31 refact(e2e): Convert to match "create" helper convention (#2200) 2024-03-22 16:22:34 -04:00
dependabot[bot]andCameron Perera bbf9c95267 chore(deps): bump follow-redirects from 1.15.4 to 1.15.6 (#2187)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.4 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.4...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2024-03-22 11:07:56 -05:00
Dharini Jeeva 2dbcc1c0af Alias create (#2193)
* feat: 🎸 create alias
2024-03-21 09:50:51 -07:00
Michael Li 6d88206491 refact(e2e): Update create helper methods (#2191) 2024-03-20 09:38:59 -04:00
de20df445c [COMPLIANCE] Add Copyright and License Headers (#2188)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2024-03-19 21:56:39 -05:00
Michael Li 45ad7a8f3b fix(e2e): Address flake in log in/log out test (#2189) 2024-03-19 16:52:30 -04:00
798cfc6828 chore: 🤖 Update desktop client changelog (#2183)
Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
2024-03-19 12:23:50 -07:00
Lisbet Alvarez d93986c4e2 refactor: 💡 remove route-action usage from credential-stores (#2172)
* refactor: 💡 remove route-action usage from credential-stores

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12604
2024-03-18 16:34:37 -07:00
Michael Li 879c196887 refact(e2e): Move env outside of helper methods (#2186)
* refact(e2e): Move env outside of UI helper methods

* refact(e2e): Move env outside of CLI helpers
2024-03-18 15:53:39 -04:00
Lisbet Alvarez 98170ed01e refactor: 💡 Remove route-action usage for managed-groups (#2168)
* refactor: 💡 Remove route-action usage for managed-groups

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12619
2024-03-18 10:34:54 -07:00
Dharini Jeeva 47a218cf8f chore: Add routes for aliases (#2185)
alias resource routes
2024-03-15 14:48:32 -07:00
Dharini Jeeva 879a58dcb8 feat: 🎸 mirage support and initial route for aliases (#2181)
* feat: 🎸 mirage support and initial route for aliases
2024-03-15 14:24:20 -07:00
Stan RyzhovandMichael Li f100190ac1 test: 💍 Add storage policies e2e-test (#2175)
* test: 💍 Add storage policies e2e-test

✅ Closes: ICU-12883

* chore: Adjust required env for e2e-tests

✅ Closes: ICU-12883

* CR: Refactor helper method to pass in env

---------

Co-authored-by: Michael Li <michael.li@hashicorp.com>
2024-03-15 11:55:13 -04:00
Lisbet Alvarez 0902e42cb0 refactor: 💡 remove route-action usage for groups (#2176)
* refactor: 💡 remove route-action usage for groups

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12605
2024-03-14 13:28:43 -07:00
Michael Li 6b0958e4d8 test(e2e): Admin UI test fixes (#2182) 2024-03-14 14:17:54 -04:00
Cameron Perera 82ea70f44b fix: 🐛 update destination path for autoUpdater workflow (#2179)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12878
2024-03-13 10:46:22 -05:00
hashicorp-copywrite[bot] 0bb72040db [COMPLIANCE] Add Copyright and License Headers (#2177)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2024-03-11 11:51:45 -05:00
Michael Li 9d9a38510b test(e2e): Add test for SSH certification injection (#2170) 2024-03-07 17:05:45 -05:00
Lisbet Alvarez a54aecee07 refactor: 💡 remove route-action usage in accounts (#2134)
* refactor: 💡 remove route-action usage in accounts

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12616
2024-03-07 09:24:28 -08:00
Devon Anderson 7dab184bb9 chore: 🤖 Migrate form.input to Hds:TExtInput::Field (#2149)
* chore: 🤖 Migrate `form.input` to `Hds:TExtInput::Field`

Migrate `form/account/oidc` and `form/account/password` forms to use
`Hds::TextInput::Field` instead of `form.input`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12457

* refactor: 💡 argument clean up

argument clean up

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12457

* refactor: 💡 switch to `readonly` arument instead of `disabled`

switch to `readonly` arument instead of `disabled`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12457

* refactor: 💡 fix incorrect attributes

fix incorrect attributes

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12457

* refactor: 💡 fix failing test

fix failing test

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12457
2024-03-07 10:12:33 -05:00
Lisbet Alvarez f068ac0b0c refactor: 💡 remove usage of route-action for app route (#2135)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12615
2024-03-04 10:13:59 -08:00
Michael Li d07c33ca41 test(e2e): Add test for SSH Credential Injection with Vault SSH Private Key (#2166) 2024-03-01 13:35:47 -05:00
hashicorp-tsccr[bot]andhashicorp-tsccr[bot] f073de774d Result of tsccr-helper -log-level=info gha update -latest . (#2167)
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
2024-03-01 09:48:29 -08:00
Michael Li 1040a05880 test(e2e): Add LDAP Admin UI e2e test (#2164) 2024-02-29 16:51:32 -05:00
Lisbet Alvarez 002f64d676 update cli version and update changelog (#2165)
* docs: ✏️ update cli version and update changelog
2024-02-28 10:31:34 -08:00
Devon Anderson c09efbae10 chore: 🤖 Migrate form.inut to Hds::TextInput::Field (#2151)
* chore: 🤖 Migrate `form.inut` to `Hds::TextInput::Field`

Migrate `form/create-worker-led` form to use `Hds:Text::InputField`
instead of `form.input`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12477

* refactor: 💡 Added `optional` and `requred` arguments for fields

Added `optional` and `require` arguments for all needed fields.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12477

* refactor: 💡 fix failing test

fix failing test

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12477
2024-02-28 13:02:02 -05:00
Devon Anderson 060f995f94 chore: 🤖 Migrate form.input to Hds::TextInput::Field (#2143)
* chore: 🤖 Migrate `form.input` to `Hds::TextInput::Field`

Migrate `form/credential` forms for for `json`, `ssh_private_key`,
`username_password`, and `form/credential-store` forms for `static` and
`vault` to use `Hds::TextInput::Field` instead of `form.input`.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12461

* refactor: 💡 fix broken test

fix broken test

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12461

* refactor: 💡 fix broken test

fix broken test

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12461

* refactor: 💡 added `@hasVisibilityToggle` back and clean up test

Added `@hasVisibilityToggle` back and clean up test by use `data-test-*`
attributes for error messaging

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12461

* refactor: 💡 set `@hasVisiblityToggle` to default

set `@hasVisiblityToggle` to default

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12461

* refactor: 💡 field argument clean up

field argument cleanup

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12461

* refactor: 💡 switch `disabled` argument to `readonly`

switch `disabled` argument to `readonly`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12461

* refactor: 💡 clean up attribute order

clean up field attribute order

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12461
2024-02-28 12:21:37 -05:00
Devon Anderson f1c5c99664 chore: 🤖 Migrate form.input to Hds::TextInput::Field (#2147)
* chore: 🤖 Migrate `form.input` to `Hds::TextInput::Field`

Migrate `form/host-set/aws`, `form/host-set/azure` and
`form/host-set/static` forms to use `Hds::TextInputField` instead of
`form.input`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12469

* Update index.hbs

removed `@isOptional` field.

* Update index.hbs

removed `@isOptional` argument

* refactor: 💡 fix lint errors

fix lint

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12469

* refactor: 💡 field argument cleanup

field argument cleanup

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12469

* refactor: 💡 switch `disabled` argument to `readonly`

switch `disabled` argument to `readonly`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12469

* refactor: 💡 order of attributes

change order of attributes

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12469
2024-02-28 10:18:22 -05:00
af5fb8e814 chore(deps): bump es5-ext from 0.10.53 to 0.10.63 (#2162)
Bumps [es5-ext](https://github.com/medikoo/es5-ext) from 0.10.53 to 0.10.63.
- [Release notes](https://github.com/medikoo/es5-ext/releases)
- [Changelog](https://github.com/medikoo/es5-ext/blob/main/CHANGELOG.md)
- [Commits](https://github.com/medikoo/es5-ext/compare/v0.10.53...v0.10.63)

---
updated-dependencies:
- dependency-name: es5-ext
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-02-27 16:49:29 -05:00
Devon Anderson cf5334556f chore: 🤖 Migrate form.input to Hds::TextInput:Field (#2150)
* chore: 🤖 Migrate `form.input` to `Hds::TextInput:Field`

Migrate  `form/manage-groups/oidc`, `form/user` and `form/worker` forms
to use `Hds::TextInput::Field` instead of `form.input`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12473

* refactor: 💡 argument clean up

argument clean up

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12473

* refactor: 💡 refactor InfoField arguments for `readonly`

Refactor InfoField component's arguments for `readonly` instead of
`disabled`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12473
2024-02-27 14:57:54 -05:00
Dharini Jeeva 5c6c9bb69f fix: 🐛 move config processing to mirage serializer (#2163) 2024-02-27 11:25:51 -08:00
Devon Anderson 26a77edbc7 chore: 🤖 Migrate form.inpu to use Hds::TextInput::Field` (#2145)
* chore: 🤖 Migrate `form.inpu` to use Hds::TextInput::Field`

Migrate `form/group`, `form/host-static`, `form/host-catalog/aws` and
`form/host-catalog/azure` forms to use `Hds::TextInputField instead of
`form.input`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12466

* refactor: 💡 use `data-test` attributes for testing

use `data-test` attributes for testing error messaging.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12466

* refactor: 💡 field argument cleanup

field argument cleanup

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12466

* refactor: 💡 switch `disabled` argument to `readonly`

switch `disabled` argument to `readonly`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12466
2024-02-27 13:52:50 -05:00
Dharini Jeeva 3fc865d226 Fix credential library mocks (#2161)
* fix: 🐛 vault cred library mocks
2024-02-27 09:41:28 -08:00
Devon Anderson 47d7ceccf7 chore: Migrate form.input to use Hds text input field (#2154)
* chore: 🤖 Migrate `form.input` to use `Hds` form input field

Migrate `form.input` for `clusterurl.hbs` to use
`Hds::Form::TextInput::Field`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12478

* refactor: 💡 removed unused `data-test` attribute

removed unused `data-test` attribute

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12478
2024-02-27 09:31:48 -05:00
Dharini Jeeva 38df28be55 fix: 🐛 change delete to detach Storage policy from a scope (#2160)
* fix: 🐛 change delete to detach Storage policy from a scope
2024-02-26 12:50:38 -08:00
Dharini Jeeva 6d7c86a08c fix: 🐛 spelling (#2159)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12813
2024-02-26 11:18:34 -08:00
Michael Li 58a31b880b test(e2e): Add enterprise tests for creating TCP/SSH targets (#2158) 2024-02-26 12:59:34 -05:00
Dharini Jeeva 453ab7911d doc: var name (#2140)
* fix: 🐛 var name
2024-02-23 15:52:08 -08:00
Dharini Jeeva 93c8d481fd Icu 12567 add new field credential mapping overrides (#2156)
* chore: 🤖 add credential type select list
2024-02-23 10:07:52 -08:00
Carlos Alcaide Corvo 956f6fd04d refactor: 💡 Adopt HDS copy snippet Desktop UI (#2146)
* refactor: 💡 Adopt HDS copy snippet Desktop UI

Adopt HDS copy snippet and delete usage of Copyable custom component
2024-02-22 13:56:56 -08:00
dependabot[bot]andZhihe Li 912be13744 chore(deps): bump ip from 1.1.8 to 1.1.9 in /ui/desktop/electron-app (#2155)
Bumps [ip](https://github.com/indutny/node-ip) from 1.1.8 to 1.1.9.
- [Commits](https://github.com/indutny/node-ip/compare/v1.1.8...v1.1.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-02-22 15:28:18 -05:00
dependabot[bot]andZhihe Li fc1b91c8f9 chore(deps): bump ip from 1.1.5 to 1.1.9 (#2153)
Bumps [ip](https://github.com/indutny/node-ip) from 1.1.5 to 1.1.9.
- [Commits](https://github.com/indutny/node-ip/compare/v1.1.5...v1.1.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-02-22 15:10:54 -05:00
Devon Anderson 8e40b01caf refactor: 💡 Quick fix for client_secret attributes (#2157)
`client_secret` attribute needed to be `@type` instead of `type`
2024-02-22 14:52:31 -05:00
Devon Anderson 20181c978f refactor: 💡 Migrate form.input to Hds::TextInput::Field (#2142)
* refactor: 💡 Migrate `form.input` to `Hds::TextInput::Field`

Migrate the use of `form.input` to `Hds::TextInput::Field` for OIDC and
Password auth-method form

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12459

* Update index.hbs

move `name` attribute to top of attribute list for readers

* refactor: 💡 fix `step` and `min` arguments

fix `step` and `min` arguments

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12459

* refactor: 💡 clean up order of arguments and add `data-test` att

clean up order of arguments and add `data-test` attributes

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12459

* refactor: 💡 Add `@isOptional` attribute to all needed fields

Add `@isOptiona` attributes to all needed fields

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12459

* Update index.hbs

add `@hasVisibilityToggle`

* refactor: 💡 fix lint

fix lint

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12459

* refactor: 💡 quick attribute refactor

quick attribute refactor

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12459
2024-02-22 13:22:18 -05:00
Lisbet Alvarez db78f1ae4d docs: ✏️ update enos readme (#2139)
* docs: ✏️ update enos readme

* docs: ✏️ update cmd

* docs: ✏️ update wording

* docs: ✏️ add link

* docs: ✏️ use diff slack channel
2024-02-20 17:57:21 -08:00
Dharini Jeeva 592bb15022 chore: 🤖 add credential type select list (#2144)
* chore: 🤖 add credential type select list
2024-02-16 15:57:14 -08:00
Carlos Alcaide Corvo f002e14673 [Admin UI] Adopt HDS::Copy::Snippet (#2141)
* refactor: 💡 Adopt HDS copy snippet

Adopt HDS copy snippet and delete usage of Copyable custom component
within Admin UI.
2024-02-16 02:19:43 -08:00
Devon Anderson a1b455e5eb refactor: 💡 Migrate last form.fieldset over to use Hds (#2138)
* refactor: 💡 Migrate last `form.fieldset` over to use Hds

Migrate last `form.fieldset` over to use `Hds::FormFieldset`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-9427

* refactor: 💡 removed `fieldset` from `RadioCard`

Removed unneeded `fieldset` from `RadioCard`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-9427
2024-02-15 09:51:39 -05:00
Dharini Jeeva 786e6130cd feat: 🎸 allow session recording deletion (#2132)
* feat: 🎸 allow session recording deletion
2024-02-13 13:26:23 -08:00
hashicorp-copywrite[bot] 4db8b8e1e7 [COMPLIANCE] Add Copyright and License Headers (#2137)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2024-02-12 16:31:46 -05:00
Lisbet Alvarez 4be8d10323 Icu 12557 refresh not working as intended on windows (#2133)
* fix: 🐛 add flag

* refactor: 💡 add true val

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12557
2024-02-09 11:58:41 -08:00
Devon Anderson c79a1fca79 chore: 🤖 Create select field render for the Form::Field::ListWrapper (#2112)
* chore: 🤖 Create `select` field render for the `Form::Field::ListWrapper`
component

Create a `select` field render for the `Form::Field::ListWrapper`
component.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12271

* refactor: 💡 Added additional test

Added additional testing around removing and adding an option, and
refactored for better usability

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12271

* refactor: 💡 Refactored getter to check for option and model arg

Refactore getter to check for options and model args.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12271

* refactor: 💡 Use select field with `signing_algorithms`

Use select field with `signing_algorithms`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12271

* refactor: 💡 fix test

fix test

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12271

* refactor: 💡 fix failing test

fix failing test

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12271

* refactor: 💡 fix update auth-method test

fix update auth-method test

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12271
2024-02-09 08:42:15 -05:00
Cameron Perera d2d332b7d1 refactor: 💡 only show scopes with auth methods at authenticate (#2129)
* refactor: 💡 only show scopes with auth methods at authenticate

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-2355

* test: 💍 verify scopes with no auth methods are hidden

when authenticating

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-2355

* refactor: 💡 update logic for fetching scopes and auth methods

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-2355

* refactor: 💡 PR feedback changes

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-2355

* refactor: 💡 added unless block back to template

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-2355

* refactor: 💡 update admin authenticate route and template

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-2355

* test: 💍 add test for orgs with no auth methods admin ui

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-2355
2024-02-08 10:01:20 -06:00
022ac0fffe Result of tsccr-helper -log-level=info gha update -latest . (#2126)
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
2024-02-07 16:42:38 -08:00
Cameron Perera f3622fb92b feat: 🎸 remove Type of Worker from worker details page (#2131)
* feat: 🎸 remove Type of Worker from worker details page

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12409

* refactor: 💡 remove unused translation

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12409
2024-02-06 14:48:28 -06:00
Zhihe Li f8b5dcd824 fix: 🐛 Add error notification if adding token to daemon fails (#2127)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12488
2024-02-05 14:21:13 -05:00
Alex 056008e13e chore: 🤖 replace Rose::CodeEditor with Hds::CodeBlock on new worker page (#2128)
* chore: 🤖 replace `Rose::CodeEditor` with `Hds::CodeBlock` for new workers
2024-02-05 09:50:08 -08:00
Alex ea03d6e488 chore: 🤖 update HDS to 3.5.0 (#2116)
* chore: update to 3.4.1

`@hashicorp/design-system-components` to `3.4.1`
 - `@hashicorp/ember-flight-icons` to `4.0.5`

* chore: update to 3.5.0
2024-01-31 15:49:02 -05:00
Zhihe Li 06cc64e6af fix: 🐛 Add refresh button back (#2124) 2024-01-30 19:54:34 -05:00
Lisbet Alvarez 4d3c993b0f refactor: 💡 move token call to be inside try-catch (#2123) 2024-01-30 16:01:00 -08:00
Cameron Perera cb972cfc8a refactor: 💡 update how we determine is pagination is supported (#2122) 2024-01-30 17:41:57 -06:00
Lisbet Alvarez 13f1c5cc23 docs: ✏️ remove bug fix from changelog (#2121) 2024-01-30 08:45:22 -08:00
Cameron Perera f366f0a858 fix: 🐛 update id to ids for target onboarding creation (#2120)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12412
2024-01-30 09:13:20 -06:00
Cameron Perera 08d9801829 refactor: 💡 add -addr flag to add-token command (#2118)
* refactor: 💡 add -addr flag to add-token command

* style: 💄 remove old comment
2024-01-29 14:44:50 -06:00
Lisbet Alvarez 3f17435507 fix: 🐛 fix transition aborted error on storage bucket creation (#2119)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12402
2024-01-29 12:00:07 -08:00
Lisbet Alvarez b63ddadf45 chore: 🤖 update changelog and version for v2.0.0 (#2117)
* chore: 🤖 update changelog and version for v2.0.0

* chore: 🤖 add pr link
2024-01-26 15:43:57 -08:00
Zhihe LiandCameron Perera 3721f63edf fix: 🐛 Fix client daemon usage on windows (#2115)
* fix: 🐛 Fix client daemon usage on windows

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12365

* refactor: 💡 Fix error handling

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12365

---------

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2024-01-26 16:57:15 -06:00
Dharini Jeeva 8f34d83c15 Redirect on reapply error (#2114)
* chore: 🤖 redirect to list on reapply error
2024-01-26 10:13:16 -08:00
Cameron Perera def6959ee7 feat: 🎸 user can update clusterURL when controller unsupported (#2113)
* feat: 🎸 user can update clusterURL when controller unsupported

* test: 💍 add cluster url tests
2024-01-26 11:33:40 -06:00
Michael Li e76cc2eeeb test(admin/e2e): Fix yarn scripts (#2111) 2024-01-25 15:49:09 -05:00
Lisbet Alvarez 9a47a3ac5a Icu 12179 add doc links for storage policies (#2107)
* chore: 🤖 add doclinks for storage policies

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12179
2024-01-24 16:18:39 -08:00
Dharini Jeeva 2e1cba641c chore: 🤖 translation check and label (#2110) 2024-01-24 15:21:51 -08:00
Cameron Perera 842a84296a refactor: 💡 remove icon from sessions table for session id (#2108) 2024-01-24 16:12:07 -06:00
Cameron PereraandZhihe Li b86ce41e68 fix: 🐛 use filter query param to filter by org scope id (#2103)
* fix: 🐛 use filter query param to filter by org scope id

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12309

* refactor: 💡 remove duplicate call for scopes.scope model

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12309

* refactor: 💡 add filter to allTargets and sessions query

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12309

* refactor: 💡 reset query params for targets and sessions

on org scope change

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12309

* refactor: 💡 remove open/close parens from filter string

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12309

* refactor: 💡 Update logic on when to reset query parameters

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12309

* refactor: 💡 filter sessions query by parent scope isOrg

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12309

* refactor: 💡 update to & from transition references

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12309

* refactor: 💡 update to & from transition references for sessions

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12309

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-01-24 10:18:28 -06:00
Zhihe Li 5f9a66e421 fix: 🐛 Handle when requests to client daemon are returning 403 (#2105) 2024-01-23 16:31:21 -05:00
Dharini Jeeva 24fdd926f1 chore: 🤖 toggle translation based on state (#2106) 2024-01-23 12:13:50 -08:00
Dharini Jeeva db50bfc9df fix: 🐛 delete and retain_until should be readonly and Scope level policies (#2104)
* fix: 🐛 delete and retain_until should be readonly

* fix: 🐛 global scope should have policies from self and orgs
2024-01-23 11:31:43 -08:00
Zhihe Li 3f4beaada8 feat: 🎸 Add warning when upgrading to 2.0 for desktop client (#2101) 2024-01-22 19:06:01 -05:00
Lisbet Alvarez 5a9cbdd913 refactor: 💡 change filter name (#2102) 2024-01-22 14:07:11 -08:00
hashicorp-copywrite[bot] 314c1b36f4 [COMPLIANCE] Add Copyright and License Headers (#2100)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2024-01-22 12:12:44 -05:00
Zhihe Li f71fc3a0a4 fix: 🐛 Fix errors not getting propagated up from client daemon (#2099) 2024-01-19 18:13:33 -05:00
Dharini Jeeva 5a74220f38 fix: 🐛 policy UI bug fix (#2098)
* fix: 🐛 policy UI bug fix
2024-01-19 14:06:51 -08:00
Cameron Perera 3f2fc63b5b fix: 🐛 remove client daemon params and pass remaining params (#2097)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12301
2024-01-19 11:44:01 -06:00
Zhihe Li c0793cd254 test: 💍 Add tests for MQL expression generator (#2096) 2024-01-18 11:39:29 -05:00
Dharini JeevaandLisbet Alvarez fb9a080d2e feat: reapply storage policies to session recording (#2095)
* refactor: 💡 add global settings link

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12257

* fix: 🐛 route

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12257

* fix: 🐛 comment

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12257

* feat: 🎸 add reapply sp to session recording page

* fix: 🐛 normalize

* feat: 🎸 upates

* fix: 🐛 logs

* fix: 🐛 comment

* test: 💍 add tests

* fix: 🐛 normalizer, style

* fix: 🐛 normalize

* fix: 🐛 normalizw

* fix: 🐛 normalize

* test: 💍 add tests for serializer n normalizer

* fix: 🐛 name

* fix: 🐛 do not delete, send null

* fix: 🐛 return

---------

Co-authored-by: Lisbet Alvarez <lisbet.alvarez@hashicorp.com>
2024-01-17 14:37:54 -05:00
Lisbet Alvarez 9e0467cbf0 refactor: 💡 add global settings link (#2093)
refactor: 💡 add global settings link (#2093)
2024-01-17 08:37:09 -08:00
Devon Anderson c48fdb2017 refactor: 💡 Migrate worker detail view table to Hds::Table (#2081)
* refactor: 💡 Migrate `worker` detail view table to `Hds::Table`

Migrate `worker` detail view for `config_tags` table to `Hds::Table`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11720

* refactor: 💡 fix lint errors

fix lint errors

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11720

* refactor: 💡 quick clean up of specificity for worker detail
view

Quick refactor and clean up of specificity for worker detail view

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11720

* refactor: 💡 include styles in `.list-wrapper-field` selector

Include styles in `.list-wrapper-field` selector

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11720
2024-01-17 09:34:08 -05:00
hashicorp-copywrite[bot]andCarlos Alcaide Corvo 60c5e25902 [COMPLIANCE] Add Copyright and License Headers (#2094)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
2024-01-16 11:14:56 -08:00
Cameron Perera 1488bdf95e Icu 12027 let the user know if the dc isnt compatible with the controller and link them to the previous version (#2073)
* chore: 🤖 allow use of hashicorp release endpoints in desktop

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* refactor: 💡 use page_size to bypass pagination in query adapter

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* refactor: 💡 add list_token mirage scopes list response

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* feat: 🎸 add logic for unsupported controllers

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* refactor: 💡 add comment to application adapter change

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* refactor: 💡 rename scopes controller method

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* refactor: 💡 remove scopes controller

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* refactor: 💡 use beforeModel and setupController hook for scopes

along with converting scopes model back to original state

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* refactor: 💡 remove styling to hide modal dismiss button

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* refactor: 💡 update comment for opening external links

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* refactor: 💡 revert model hook changes for scopes

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* test: 💍 remove target connect test from scopes acceptance tests

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* test: 💍 add tests for unsupported controller logic

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* test: 💍 update modal test to waitFor elements to render

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* refactor: 💡 remove use of set and get from scopes router

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* refactor: 💡 default isPaginationSupported to false

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* test: 💍 remove unsupported controller tests

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* test: 💍 add tests back but skip them

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027

* test: 💍 fix failing tests

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12027
2024-01-16 10:17:47 -05:00
Lisbet AlvarezandZhihe Li 9e6d647949 Icu 12137 add additional session sorting and add default filters (#2084)
* chore: 🤖 add additional session sorting and add default filters

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12137

* test: 💍 fix test

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12137

* Update ui/desktop/app/controllers/scopes/scope/projects/sessions/index.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-01-16 10:17:46 -05:00
Zhihe Li 2e36d3c3e2 feat: 🎸 Add fallback if client daemon is down or errors (#2085)
* feat: 🎸 Add fallback if client daemon is down or errors
* test: 💍 Add tests for client daemon being down

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12026
2024-01-16 10:17:46 -05:00
Cameron Perera 9046c01238 feat: 🎸 target list will update according to org scope selected (#2083)
* feat: 🎸 target list will update according to org scope selected

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12205

* refactor: 💡 add comment to resetController logic

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12205

* feat: 🎸 filter sessions by org selected at global level

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12205
2024-01-16 10:17:46 -05:00
Zhihe Li ba0c7d5683 feat: 🎸 Add loading indicators for initial loads of resources (#2074)
* feat: 🎸 Add loading indicators for initial loads of resources

* refactor: 💡 Use HDS application state component

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12025
2024-01-16 10:17:46 -05:00
Zhihe Li 16a054519f fix: 🐛 Fix display of no results from type filter (#2075) 2024-01-16 10:17:46 -05:00
Lisbet Alvarez a1fbfdc1ad Icu 11804 filter targets by type (#2063)
* feat: 🎸 filter targets by type

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11804

* refactor: 💡 remove console.log

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11804

* docs: ✏️ fix comment typo

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11804
2024-01-16 10:17:46 -05:00
Lisbet Alvarez 21122f1f29 Icu-12125 cap the number of items rendered in dropdown component (#2060)
* perf: ⚡️ cap the number of items rendered in dropdown component

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12125
2024-01-16 10:17:46 -05:00
Cameron Perera a899ad0b74 refactor: 💡 uncomment on click handler for dropdown component (#2061)
* refactor: 💡 uncomment on click handler for dropdown component

* test: 💍 fix test
2024-01-16 10:17:46 -05:00
Lisbet Alvarez c7483e5602 feat: 🎸 filter sessions by status & scope (#2058)
* feat: 🎸 filter sessions by status

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12067
2024-01-16 10:17:46 -05:00
Cameron Perera 7fa2541ddb Icu 12069 clear current filters component for scopes filter (#2051)
* feat: 🎸 add filters applied tags under search/filter bar

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069

* feat: 🎸 create Rose::FilterTags component

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069

* refactor: 💡 use Rose::FilterTags component in targets list

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069

* refactor: 💡 update FilterTags to handle multiple queryParams

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069

* test: 💍 update dropdown component tests -  applyFilter

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069

* feat: 🎸 create filter-tags component in core

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069

* chore: 🤖 update core addon to export styles

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069

* refactor: 💡 remove filter-tags component from rose addon

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069

* chore: 🤖 update sass package version

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069

* feat: 🎸 use FilterTags component in targets list screen

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069

* refactor: 💡 reduce component complexity

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069

* chore: 🤖 add sinon to core

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069

* refactor: 💡 update how FilterTags displays filters

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069

* refactor: 💡 trucate long tag names

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069

* refactor: 💡 wrap FilterTags component in if this.filters

to fix issue of static text displaying before the dynamic tags

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069

* refactor: 💡 address feedback

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12069
2024-01-16 10:17:46 -05:00
Lisbet AlvarezandZhihe Li 05553643a6 feat: 🎸 filter sessions by target (#2053)
* feat: 🎸 filter sessions by target

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12066

* docs: ✏️ add missing comment

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12066

* refactor: 💡 make action reusable

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12066

* refactor: 💡 remove unnecessary block

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12066

* refactor: 💡 fix tests, add hds app state

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12066

* perf: ⚡️ set limit of targets rendered in dropdown

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12066

* fix: 🐛 change from displayName to name

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12066

* Update addons/core/addon/components/dropdown/index.hbs

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* refactor: 💡 remove # from if statement and remove .slice

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12066

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-01-16 10:17:46 -05:00
Zhihe Li 47cf7995d3 feat: 🎸 Add active session filter (#2052)
* feat: 🎸 Add active session filter

* fix: 🐛 Fix tests and verify client daemon calls are correct

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11803
2024-01-16 10:17:46 -05:00
Lisbet AlvarezandZhihe Li c06d18940d Icu 11916 add flyout for session in prgoress field (#2042)
* feat: 🎸 sessions flyout for targets list view

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11916

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-01-16 10:17:46 -05:00
Zhihe Li 1122735b87 fix: 🐛 Fix returning mirage data from client daemon mock (#2050) 2024-01-16 10:17:46 -05:00
Cameron Perera 9fec047506 Icu 12060 move rose filterable dropdown to core (#2048)
* feat: 🎸 generate new dropdown component in core

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060

* feat: 🎸 add template and class code to new dropdown component

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060

* chore: 🤖 add lodash package to core addon

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060

* test: 💍 add tests for core/dropdown component

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060

* refactor: 💡 use new core/dropdown in targets list screen

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060

* refactor: 💡 remove rose/filterabledropdown

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060

* feat: 🎸 add maxHeight to core/dropdown component

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060

* style: 💄 fix lint errors in dropdown/index-tests

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060

* refactor: 💡 update height to match designs

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060

* chore: 🤖 remove lodash from ui/admin

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060

* chore: 🤖 remove lodash from ui/desktop

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060

* chore: 🤖 move lodash to devDep in core

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060

* chore: 🤖 add lodash as core dependency

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060

* test: 💍 use waitUntil & findAll instead of setTimeout

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060

* chore: 🤖 add lodash as peerDependency for core

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060

* refactor: 💡 update waitUntil with suggestion from PR

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12060
2024-01-16 10:17:46 -05:00
Zhihe Li 916b261cdf refactor: 💡 Optimize the retrieval of targets for scopes filter (#2047) 2024-01-16 10:17:46 -05:00
Zhihe Li 15da4ea69f fix: 🐛 Fix failing tests from rebase onto main (#2045) 2024-01-16 10:17:46 -05:00
Lisbet Alvarez f801f595f7 Icu 11915 add session in progress field to the table and populate it (#2028)
* initial support for sessions in targets list view
2024-01-16 10:17:46 -05:00
Cameron Perera 7af8e71a2d Icu 11802 filter targets by project scope (#2022)
* feat: 🎸 add ability to filter targets by scope

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 update model hook signature comment

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 remove await from cancel session route transition

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 add comments to new controller methods

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 add options to query for all targets

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 handle ESC key press for dropdown

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* feat: 🎸 add searching within scope dropdown list

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 set pushToStore to false for all target query

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 handle scopes not having names

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 move fetch allTargets to controller

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 fix rebase conflicts

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* test: 💍 fix test

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 update allTargets query to have empty query

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 change let to const

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 add replace: true to scopes query param

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 add allTargets fetch back to model hook

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 change on search to on input to trigger action

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* test: 💍 fix test by adding more target returns to stub

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* feat: 🎸 create filterable-dropdown rose component

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* feat: 🎸 finish Rose::FilterableDropdown component

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* feat: 🎸 use FilterableDropdown in targets table

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 🤖 move methods comment

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 render Rose::FilterableDropdown correctly in test

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* test: 💍 remove generated comments from tests

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 improve readability of itemOptions getter

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* refactor: 💡 change block parameters to uppercase

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802

* test: 💍 skip generated tests until adding more

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11802
2024-01-16 10:17:46 -05:00
Zhihe Li 15d815c271 feat: 🎸 Add pagination component to targets (#2023)
* feat: 🎸 Add pagination component to targets
* test: 💍 Fix tests and add helper for client daemon search
* refactor: 💡 Update the returns from client daemon

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11905
2024-01-16 10:17:45 -05:00
Zhihe Li dfd484dbca fix: 🐛 Add support for not equals in MQL expression parsing (#2029) 2024-01-16 10:17:45 -05:00
Zhihe Li 50e4a2adbc feat: 🎸 Do not stop client daemon if it was already started (#2021)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11932
2024-01-16 10:17:45 -05:00
Zhihe Li 7bc2ccb5ae refactor: 💡 Use a native class for the client daemon handler (#2026) 2024-01-16 10:17:45 -05:00
Zhihe Li 3f11019ef0 feat: 🎸 Add pagination support to client daemon handler (#2016)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11743
2024-01-16 10:17:45 -05:00
Zhihe Li 1135f88cb7 feat: 🎸 Add debouncing for the search bar (#2008)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11851
2024-01-16 10:17:45 -05:00
221ab1f7bd Icu 11748 add free search for targets (#1995)
* refactor: 💡 fix how we access socket_address from status call

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* feat: 🎸 add free search capability to targets list

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* test: 💍 update test asserts to look for hds appl state title

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* refactor: 💡 remove filtering for yes, no, & narrow-results

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* refactor: 💡 add aria-label to dropdown search input

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* refactor: 💡 add to handleInput signature comment

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* refactor: 💡 move buildQuery to client daemon handler

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* refactor: 💡 Add new parser for MQL expressions

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* refactor: 💡 use queryParams for searching

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* fix: 🐛 Fix some MQL expressions not being properly filtered

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* style: 💄 update handleSearchInput comment signature

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11748

* Update addons/api/addon/utils/mqlQuery.js

Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
2024-01-16 10:17:45 -05:00
Zhihe Li 4bf1a88764 feat: 🎸 Add handler to make search requests to client daemon (#1989)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11691
2024-01-16 10:17:45 -05:00
Zhihe Li b8b970ce4d feat: 🎸 Add initial setup for client daemon integration (#1987)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11702
2024-01-16 10:17:45 -05:00
dharini 25c6ed6100 chore: 🤖 fieldname update 2024-01-16 10:17:45 -05:00
Lisbet AlvarezandZhihe Li 550dee9ae0 Icu 11861 add sorting to session recording (#2005)
* refactor: 💡 add sorting to session recordings & sessions

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11861

* Update ui/admin/app/routes/scopes/scope/session-recordings.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2024-01-16 10:17:45 -05:00
Lisbet Alvarez 776c46f129 refactor: 💡 replace store.findAll with store.query (#2002)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11825
2024-01-16 10:17:45 -05:00
Lisbet Alvarez 6ae3067dd9 refactor: 💡 remove unnecessary sorting due to pagination change (#1996)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11787
2024-01-16 10:17:45 -05:00
Dharini Jeeva 459029530b chore: 🤖 Add support for pagination in query method (#1991)
* chore: 🤖 Add support for pagination in query method
2024-01-16 10:17:45 -05:00
Zhihe Li 7dbd581a37 feat: 🎸 Add setup for api handlers 2024-01-16 10:17:45 -05:00
Devon Anderson 9bbd914a3a refactor: 💡 Added middle alignment to all Hds::Tables (#2088)
Added middle alignment using `@valign='middle'` to all `Hds::Tables`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-12168
2024-01-15 10:23:32 -05:00
Dharini Jeeva 276713697a chore: 🤖 move overridable next to select (#2092)
* chore: 🤖 move overridable next to select

* fix: 🐛 lint
2024-01-12 17:20:30 -08:00
Dharini Jeeva ba786d2172 policy association form (#2089)
* feat: 🎸 add storage policy api and mirage
2024-01-12 15:01:16 -08:00
Dharini Jeeva ee4e19ace7 Add more options retain (#2090)
* chore: 🤖 add more options to rentention policy

* fix: 🐛 log

* fix: 🐛 exclude days
2024-01-12 14:33:36 -08:00
Dharini Jeeva eefb9eba4f feat: 🎸 scope policy association api changes (#2086)
scope policy association API changes
2024-01-12 11:29:19 -08:00
Dharini Jeeva 1cb3b708a2 feat: 🎸 create storage policy (#2079)
* feat: 🎸 add storage policy
2024-01-12 11:07:18 -08:00
Devon Anderson 8ad4e93ff7 refactor: 💡 Migrate workers-tags over to use Hds::Table (#2070)
* refactor: 💡 Migrate `workers-tags` over to use `Hds::Table`

Migrate `workers-tags` in `worker-create` form to use `Hds::Table`
instead of `Rose::Table`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11722

* refactor: 💡 Use `Form::Field::List::Wrapper` for table

Use `Form::Field::List::Wrapper` for table implementation.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11722

* refactor: 💡 Refactored how `worker_tags` is used in `table`

Cleaned up how `worker_tags` is used in the `Form::Field::ListWrapper`
component

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11722

* refactor: 💡 removed `console.log`

removed console.log

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11722
2024-01-11 17:23:24 -05:00
Devon Anderson 9241b7dd0e refactor: 💡 Migrate hostslist within host-set to Hds::Table (#2049)
* refactor: 💡 Migrate `hosts`list within host-set to `Hds::Table`

Migrate `hosts` list within host-set to `Hds::Table` from `Rose::Table`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11728

* Update index.hbs

Not using `data-test` attribute for testing

* Update index.hbs

removed unused `data-test` selector

* refactor: 💡 quick lint error fix

Fix lint error in `hosts/index.hbs`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11728

* refactor: 💡 refactor test to use `data-test` selector

Refactored hosts-test to use `data-test` selectors for grabbing
`Hds::Dropdown` toggle and interactive instead of long nested selector.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11728

* Update index.hbs

spelling fix

* Update hosts-test.js

fixed spelling errors

* refactor: 💡 fix lint errors

Fix lint errors

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11728

* refactor: 💡 Use `Hds::Code::Snippet`

Migrate from `Copyable` component to use `Hds::Code::Snippet`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11728

* refactor: 💡 refactor incorrect use of `Hds::Code::Snippet`

Refactor the incorrect usage of `Hds::Code::Snippet`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11728

* refactor: 💡 refactor header of `Hds::Table`

Refactor conditional header of `Hds::Table`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11728

* refactor: 💡 Refactored conditional header translations

Refactored conditional header translations to live in controller file
for `scopes/scope/host-catalogs/host-catalog/host-sets/host-set/hosts`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11728

* refactor: 💡 Move conditional check for header labels into `js`

Move conditional logic for checking header lables into `controller` file

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11728

* refactor: 💡 Quick refactor for columns getter

Quick refactor to clean up getter that conditionally renders column
header label based on `isStatic` boolean

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11728

* refactor: 💡 Refactor `host-sets/host-set/hosts` tablee

Refactor `host-sets/host-set/hosts` table to adhere more to codebase

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11728

* refactor: 💡 rearrange attributes order for table

Rearrange attributes order for `Hds::Table` to keep inline with codebase
patterns.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11728
2024-01-11 16:49:47 -05:00
0beec7b8fe [COMPLIANCE] Add Copyright and License Headers (#2077)
* [COMPLIANCE] Add Copyright and License Headers

* style: 💄 fix linting error

---------

Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
Co-authored-by: Lisbet Alvarez <lisbet.alvarez@hashicorp.com>
2024-01-10 16:49:12 -08:00
dependabot[bot] 9bcaa6dc68 chore(deps): bump follow-redirects from 1.15.2 to 1.15.4 (#2082)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.2 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.2...v1.15.4)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-10 14:39:48 -05:00
Dharini Jeeva 3f178363d9 chore: 🤖 add attach and detach storage policy permissions (#2080)
* chore: 🤖 add attach and detach storage policy permissions
2024-01-09 11:39:28 -08:00
Devon Anderson 3810217ce7 refactor: 💡 Migrate credential-libraries-list to Hds::Table (#2067)
* refactor: 💡 Migrate `credential-libraries-list` to `Hds::Table`

Migrate `credential-libraries-list` to `Hds::Table` instead of
`Rose::Table`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11724

* refactor: 💡 Fix broken test for navigating to `credentials-libraries`

Fix broken test for navigating to `credentials-libraries`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11724
2024-01-09 10:27:44 -05:00
Dharini Jeeva b79eebf73a feat: storage policies list view (#2071)
policies list view
2024-01-08 15:12:49 -08:00
Zhihe Li b3abb658ab chore: 🤖 Fix breaking change in labeler when upgrading to v5 (#2078) 2024-01-08 15:06:46 -05:00
hashicorp-tsccr[bot]andhashicorp-tsccr[bot] 245cfb395e Result of tsccr-helper -log-level=info gha update -latest . (#2065)
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
2024-01-08 14:10:13 -05:00
Devon Anderson adfa118ae5 refactor: 💡 Migrate credentials-list to Hds::Table (#2059)
* refactor: 💡 Migrate `credentials-list` to `Hds::Table`

Migrate `credentials-list` to `Hds::Table`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11725

* refactor: 💡 Refactor table to use `B.data`

Originally the Proxy(Array) was not being taking in as a correct model
object when using the `@columns` synthax, now it seems to work perfectly
fine.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11725
2024-01-05 12:23:46 -05:00
Devon Anderson cf0f4ab56a refactor: 💡 Refactor credential-stores-list to use Hds (#2066)
Refactor `credential-stores-list` to use `Hds::Tables`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11723
2024-01-05 11:18:22 -05:00
Dharini Jeeva f40878034d fix: 🐛 transform (#2069)
* fix: 🐛 transform

* fix: 🐛 return null if undefined

* fix: 🐛 return null if no object
2024-01-03 17:37:14 -08:00
Dharini Jeeva 01a986e08b chore: 🤖 new routes for storage policy (#2056)
chore: 🤖 new routes for storage policy (#2056)
2024-01-03 12:05:23 -08:00
Dharini Jeeva e3406d9a95 feat: storage policy API and mirage changes (#2054)
* feat: 🎸 add storage policy API and mirage
2024-01-03 11:52:17 -08:00
Devon Anderson d4adbe4317 refactor: 💡 Migrate host-catalogs list to Hds::Table (#2055)
* refactor: 💡 Migrate host-catalogs list to `Hds::Table`

Migrated host-catalogs list to use `Hds::Table` instead of `Rose::Table`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11726

* refactor: 💡 use `Hds::Text` component

Use `Hds::Text::Code` component for `code` element.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11726

* refactor: 💡 Use `Hds::Text` and `Hds::Code::Snippet`

Refactor element to use `Hds`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11726

* refactor: 💡 refactor incorrect usage of `Hds::Code::Snippet`

Refactor incorrect usage of `Hds::Code::Snippet`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11726
2024-01-02 12:02:26 -05:00
Devon Anderson 01d4a329ab refactor: 💡 Migrate host-sets-list in host catalog to Hds (#2057)
* refactor: 💡 Migrate host-sets-list in host catalog to `Hds`

Migrate `host-catalog` `host-sets` list to use `Hds::Table`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11727

* refactor: 💡 refactor incorrect use of `Hds::Code::Snippet`

Revactor incorrect use of `Hds::Code::Snippet`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11727

* Update index.hbs

color for text should be `secondary`

* Update index.hbs

lint error

* refactor: 💡 quick lint fix

quick lint fix

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11727
2024-01-02 10:15:19 -05:00
Michael Li 659067dd08 test(admin/e2e): Add tags to tests (#2046) 2023-12-20 15:06:38 -05:00
Devon AndersonandCameron Perera ade1601d8d refactor: 💡 Refactor sessions-list to use Hds::Table (#2043)
* refactor: 💡 Refactor `sessions-list` to use `Hds::Table`

Refactor `sessions-list` to use `Hds::Table` instead of `Rose::table`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11732

* refactor: 💡 Use `Hds::Text` component for `code` elements

Refactor `code` elements to use `Hds::Text::Code` component for text.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11732

* Update ui/admin/app/templates/scopes/scope/sessions/index.hbs

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>

* refactor: 💡 Refactor the condition around the `cancelSession`
 route-action, to use the `SessionAbility` for permssion to cancel
 session. Upgrade `Rose::Button` to `Hds::Button`.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11732

---------

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2023-12-14 17:27:09 -05:00
Devon Anderson 4550cd0965 refactor: 💡 Migrate host-catalog/host-list to use Hds (#2044)
* refactor: 💡 Migrate `host-catalog/host-list` to use `Hds`

Migrate `host-catalog/host-list` to use `Hds::Table`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11729

* refactor: 💡 `Hds::Text` refactor

Refactored `code` and `p` tag elements to use new `HDS::Text` elements

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11729
2023-12-14 14:48:10 -05:00
Devon Anderson 0bbc33d073 refactor: 💡 Refactor targets-list to use Hds (#2041)
Migrate `targets-list` from `Rose::Table` to `Hds::Table`.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11733
2023-12-13 10:28:32 -05:00
Devon Anderson 69a4eb53b9 refactor: 💡 Refactor workers list to use Hds::Table (#2038)
* refactor: 💡 Refactor workers list to use `Hds::Table`

Refactor workers list to use `Hds::Table` instead of `Rose`.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11734

* Refactored `workers-list` table to use `margin-top` custom css instead
of removing the background from `Rose::Toolbar`
2023-12-12 14:52:31 -05:00
Dharini Jeeva d06111c803 fix: 🐛 target cred sources association (#2040) 2023-12-11 16:32:58 -08:00
Carlos Alcaide Corvo b51c8203ee chore: 🤖 Upgrade eslint-plugin-qunit (#2011)
* chore: 🤖 Upgrade eslint-plugin-qunit

* Delete unnecessary assert.expect from tests
2023-12-08 12:56:00 -08:00
Carlos Alcaide Corvo a94572214c chore: 🤖 Refactor main element padding (#2030)
* chore: 🤖 Refactor main element padding

Refactor main element padding to achieve consistency within all our
UI's. This is a quick solution until we adopt app-frame and follow the
same layouting pattern within all our UI's

✅ Closes: ICU-11960

* Delete unnecessasry @use size
2023-12-08 12:31:13 -08:00
Dharini Jeeva 751b5bef78 chore: 🤖 add skip prompts toggle (#2036)
* chore: 🤖 add skip prompts toggle
2023-12-08 09:17:36 -08:00
Kristin BradleyandDharini Jeeva 77f8235ebf Replace Rose::CodeEditor with Hds::CodeBlock within Desktop client (HDS-2827) (#2020)
* HDS-2827 Replace Rose::CodeEditor with Hds::CodeBlock on Create New Worker page

* HDS-2827 Replace Rose::CodeEditor with Hds::CodeBlock in credentials panel

* HDS-2827 Remove un-needed getters, fix formatting errors

* HDS-2827 Revert instances of Hds::CodeBlock added to create workers page

* HDS-2827 Fix failing test

* Apply suggestions from code review

* HDS-2827 Delete old unused css

* HDS-2827 Delete old css

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-12-08 12:03:47 -05:00
9782f7e243 feat: 🎸 Implement time-remaining helper into desktop UI (#2018)
* feat: 🎸 implement helper

Implement `time-remainig` helper to display duration of a session for
desktop app.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487

* refactor: 💡 Refactored scenarios

Refactored `ipc.js` scenario to include `expiration_time` for a new
session.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487

* fix: 🐛 Fix add expiration_time when user has no grants to read (#2024)

* refactor: 💡 refactor styles

Removed `div` and added `Hds::Badge` to `h1` element.  Condensed and
renamed styling for title to `session-details-info`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487

* Refactored `projects/targets` controller to return the correct `expiration_time` field returned from CLI.  Cleaned up CSS for `session-details-info` attribute and wrapped `@model.displayname` in span tag.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487

* Update ui/desktop/app/controllers/scopes/scope/projects/targets/index.js

mixed naming expiration field on payload to store

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* refactor: 💡 refactored page header

Refactored `sessions` header to use `<Hds::Text::Dislpay/>` instead of a
span.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487

* refactor: 💡 refactor cli response

Refactor `expiration` field from CLI response to be the correct
definition

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487

* refactor: 💡 refactor sessions layout

Removed span as parent of header information, and pushed styles to
yielded page.header. Fixed stub in test

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10487

---------

Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-12-07 16:01:57 -05:00
Michael Li 6328cc1fcf test(admin/e2e): Update tests to account for changes in 0.14.3 (#2033)
* test(admin/e2e): Modify password locators due to new Show Password button

* test(admin/e2e): Update breadcrumbs locators due to design updates

Previously, all breadcrumb items were links, but that is no longer the case for the active breadcrumb.
2023-12-07 11:42:04 -05:00
Dharini Jeeva b986064447 fix: 🐛 name (#2035) 2023-12-07 08:14:09 -08:00
Dharini Jeeva 6fbf243c31 fix: 🐛 oidc account id (#2034) 2023-12-06 16:10:44 -08:00
Carlos Alcaide Corvo 66eca93f56 chore: 🤖 Upgrade electron-forge (#2031)
Upgrade electron-forge to the latest version
2023-12-05 14:11:02 -08:00
45d706dd40 Result of tsccr-helper -log-level=info -pin-all-workflows . (#2025)
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
2023-12-04 15:06:17 -08:00
Carlos Alcaide Corvo 99cf4c8d81 chore: 🤖 Update DC main element padding (#2009)
Update Desktop Client main element padding to look like app-frame HDS implementation within cloud-ui.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10497
2023-12-04 14:06:45 -08:00
Carlos Alcaide Corvo 49923d968e chore: 🤖 Upgrade browserslist (#2019) 2023-12-04 10:44:58 -08:00
hashicorp-copywrite[bot] b4a83a46d1 [COMPLIANCE] Add Copyright and License Headers (#2027)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2023-12-04 09:13:32 -08:00
Kristin Bradleyanddharini 238ced63f7 HDS-2827 Bump HDS to latest version (#2017)
* HDS-2827 Bump HDS to latest version

* HDS-2827 Bump up to latest version

* chore: 🤖 yarn lock

---------

Co-authored-by: dharini <dharini@hashicorp.com>
2023-11-30 13:02:08 -05:00
dependabot[bot]andDharini Jeeva 602e4e62c3 chore(deps): bump semver from 5.7.1 to 5.7.2 (#2014)
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-11-28 18:13:08 -08:00
Devon Anderson f282dbb5b1 feat: 🎸 Create time-remaining helper (#2012)
* feat: 🎸 create helper

Create `time-remaining` helper to track remaining session time.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10519

* refactor: 💡 Clean up code for time-remaining helper

Moved time remaining helper into `core` addons folder. Cleaned up the
`time-remaining` helper to use the `DurationUnitFormat` service.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10519

* Update session.hbs

removed test implementation

* refactor: 💡 files added for helper

files added for helper

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10519

* Update session.hbs

fix linting

* refactor: 💡 fix uneeded spacing

Fix spacing on hbs file used for testing time-remaining helper

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10519

* refactor: 💡 refactor time-remaining helper

Cleaned up code that was returning a string if `differenceInSeconds` was
less than or equal to zero. Code is now conditionally checking in the
`differenceInSeconds` variable if the `difference` is greater than zero.
If it is not then it will return zero and let the `DurationUnitFormat`
handle the rest.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10519

* refactor: 💡 fix failing test

Fix failing `time-remaining` test

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-10519
2023-11-28 17:42:22 -05:00
Dharini Jeeva 3f2f2ba756 feat: 🎸 Allow prompts in oidc auth method form (#2007)
* feat: 🎸 Allow prompts in OIDC auth method form
2023-11-28 11:59:16 -08:00
Carlos Alcaide Corvo 02a89bd7ba Chore upgrade eslint and deps (#2010)
* chore: 🤖 Upgrade eslint 

* chore: 🤖 Upgrade eslint-config-prettier

* chore: 🤖 Upgrade eslint-plugin-ember 

* chore: 🤖 Upgrade eslint-plugin-n
2023-11-27 15:31:39 -08:00
Kristin Bradley a891f7a1a5 Boundary: Delete RoseFooter files (HDS-2805) (#2003)
* HDS-2805 Delete RoseFooter files
2023-11-27 07:58:54 -08:00
Devon Anderson 019b3e7390 chore: 🤖 Update stylelint config dependency (#2000)
* chore: 🤖 Update dependency

Updated `styelint-config-standard-scss` to fix incorrect peer dependency
warning for `styelint`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11818

* Update _notify.scss

remove test for media query

* refactor: 💡 refactor media queries

Refactor all media queries to include `context` notation.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11818
2023-11-22 15:42:24 -05:00
Zhihe Li bcf004b8a4 Reformat codebase with trailing commas in functions (#2006)
* style: 💄 Update trailing commas in API

* style: 💄 Update trailing commas in core

* style: 💄 Update trailing commas in rose

* style: 💄 Update trailing commas in admin

* style: 💄 Update trailing commas in desktop
2023-11-22 14:07:41 -05:00
Carlos Alcaide Corvo cb3a9e3bdc chore: 🤖 Add custom key handler for windows (#2001)
* chore: 🤖 Add custom key handler for windows

Add custom key handler only for Windows OS so we achieve Ctrl+C to copy
within the embedded terminal

* Await for clipboard promise to complete
2023-11-22 09:21:25 -08:00
Lisbet AlvarezandCarlos Alcaide Corvo 4127f6abd7 chore: 🤖 update test release trigger (#1978)
* chore: 🤖 add trigger for new workflow
---------

Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
2023-11-20 13:12:23 -08:00
hashicorp-copywrite[bot] 45a3cb8d34 [COMPLIANCE] Add Copyright and License Headers (#1999)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2023-11-20 08:41:36 -08:00
Kristin Bradley e96171cab0 Replace Rose::Footer with Hds::AppFooter component (HDS-2805) (#1994)
* HDS-2805 Replace Rose::Footer with Hds::AppFooter
2023-11-17 15:30:44 -08:00
Devon Anderson a7bf9a1071 fix: 🐛 testing upgrading ember-electron (#1997)
This is a test to see if upgrading ember-electron will fix issues with
`yarn start:desktop` build failures
2023-11-17 12:38:53 -05:00
Devon Anderson 3b3a00e1ee Upgrade desktop UI to Ember 4.12.2 (#1990)
* Upgrade desktop UI to Ember 4.12.2

* refactor: 💡 refactor scripts

Refactor concurrently scripts, and removed duplicate entries in
`eslintrc.js`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747

* refactor: 💡 peer dependencies

Revert changes to `peerDependencies`.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747

* refactor: 💡 revert config back before upgrade

Revert `styelint-standard-config-scss` back to 6.0.0 so that it can be
put into seperate ticket.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747

* Update _notify.scss

fix misspelling

* refactor: 💡 revert dependency

Revert `stylelint-config-standard-scss` back to original version

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11747
2023-11-15 11:29:24 -05:00
Carlos Alcaide Corvo 222f0c35b8 Upgrade playwright within desktop as blocker to run node 18 within gh runners (#1993) 2023-11-10 17:10:26 -08:00
Zhihe Li 666491548d fix: 🐛 Fix broken hot reloading for desktop client (#1992) 2023-11-10 14:23:32 -05:00
Devon Anderson 2558ee1353 chore: 🤖 Upgrading to Ember 4.12.2 (#1988)
* chore: 🤖 Upgrading to Ember 4.12.2

Upgrading `admin/ui` to Ember 4.12.2

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11330

* refactor: 💡 Removed unused package

Removed unused `stylelint` package for `css`

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11330

* refactor: 💡 removed unused dependency

Removed `stylelint-prettier` dependency

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11330
2023-11-10 11:21:52 -05:00
Dharini Jeeva c5edd4dd52 Update auth methods form (#1981)
Update auth methods form (#1981)
2023-11-07 11:27:48 -08:00
hashicorp-copywrite[bot] f102e7fca2 [COMPLIANCE] Add Copyright and License Headers (#1986)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2023-11-06 09:28:39 -08:00
Lisbet AlvarezandZhihe Li f593e6a8b1 chore: 🤖 update cli version & changelog in desktop (#1985)
* chore: 🤖 update cli version in desktop

* docs: ✏️ update changelog

* Update ui/desktop/CHANGELOG.md

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-11-03 16:03:07 -07:00
Cameron PereraandDharini Jeeva f54d48c380 refactor: 💡 allow target connection even with no read ability (#1984)
* refactor: 💡 allow target connection even with no read ability

* Update ui/desktop/tests/acceptance/projects/targets/index-test.js

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

* refactor: 💡 remove unneeded await from transitionTo

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-11-03 16:01:51 -05:00
0129784322 fix url when user tries to access resource with incorrect url (#1958)
* refactor: 💡 auth-method, account, & managed abilities & routes

* refactor: 💡 credential store resources abilities & routes

* refactor: 💡 group abilities & routes

* refactor: 💡 host-catalog resources abilities & routes

* refactor: 💡 role abilities & routes

* test: 💍 fix route-info-test

* test: 💍 fix host serializer tests

* test: 💍 fix create-test for host-sets

* refactor: 💡 session recording resources abilities & routes

* refactor: 💡 storage bucket abilities & routes

* refactor: 💡 target abilities & routes

* refactor: 💡 user abilities & routes

* refactor: 💡 worker abilities & routes

* refactor: 💡 remove ability changes and add comments

* Update ui/admin/app/utils/route-info.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* test: 💍 add test cases and rename util file

* refactor: 💡 remove dup file and update imports

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11282

* docs: ✏️ update comments & remove console.log

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11282

* Update ui/admin/app/routes/scopes/scope/auth-methods/auth-method.js

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-11-02 16:08:25 -07:00
Zhihe Li 7317ca2ff5 fix: 🐛 Fix issue with brokered credentials that overflow (#1982)
✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11368
2023-11-02 15:16:22 -04:00
Zhihe Li 1ddabf4980 feat: 🎸 Add checks for cancel permissions in desktop sessions (#1980)
* feat: 🎸 Add checks for cancel permissions in desktop sessions

* chore: 🤖 Move model hook from session to session.index
2023-11-02 13:42:51 -04:00
Devon AndersonandLisbet Alvarez a574023c05 chore: 🤖 Upgrade addons/rose dependencies (#1973)
* chore: 🤖 Upgrade addons/rose dependencies

Upgraded `addons/rose` dependencies to match other addons. Lint fixes,
and fixed scripts for concurrently

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11587

* v4.4.1...v4.12.2

* Update ember-try.js

change scenarios to match 4.12.2

* Update addons/rose/tests/integration/components/rose/button-test.js

Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>

* Update ember-try.js

originally had the right scenarios for 4.
12.2

* chore: 🤖 upgrade ember-cli-babel

Upgrade ember-cli-babel to match other addons

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11587

* Update button-test.js

fix test declaration statement

---------

Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
2023-11-01 15:52:00 -04:00
Cameron Perera 861562201b refactor: 💡 remove unused target/sessions controller (#1979) 2023-11-01 13:54:36 -05:00
4cdcaefe15 Result of tsccr-helper -log-level=info -pin-all-workflows . (#1977)
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-11-01 11:22:41 -07:00
Dharini Jeeva e2487b7e98 Fix electron clipboard action (#1976)
* fix: 🐛 allow clipboard write action
2023-11-01 10:06:03 -07:00
Cameron Perera f879bbb1ec Session permissions issue (#1975)
* refactor: 💡 session isCancelable to isAvailable

* refactor: 💡 check for target info for showing target details

* refactor: 💡 add fallback for session data from connect command

* refactor: 💡 remove extra divs

* refactor: 💡 remove await from peekRecord of a session

* test: 💍 add test for no read permission for sessions

* test: 💍 reset global qunit after test is done
2023-11-01 11:22:18 -05:00
Zhihe Li 933e272764 fix: 🐛 Add read:self permission for sessions in ability check (#1974) 2023-11-01 12:06:40 -04:00
dependabot[bot]andZhihe Li 2953635aeb chore(deps): bump browserify-sign from 4.2.1 to 4.2.2 (#1969)
Bumps [browserify-sign](https://github.com/crypto-browserify/browserify-sign) from 4.2.1 to 4.2.2.
- [Changelog](https://github.com/browserify/browserify-sign/blob/main/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/browserify-sign/compare/v4.2.1...v4.2.2)

---
updated-dependencies:
- dependency-name: browserify-sign
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-10-31 12:38:55 -04:00
hashicorp-copywrite[bot]andZhihe Li 194561e1f8 [COMPLIANCE] Add Copyright and License Headers (#1972)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-10-31 12:17:53 -04:00
Zhihe Li 4a3d8eee63 feat: 🎸 Allow auto connect to SSH targets on windows (#1971) 2023-10-30 18:16:40 -04:00
Dharini Jeeva 7d6f3df140 chore: update HDS to 3.0.2 (#1970)
* chore: 🤖 update to hds 3.0.2
2023-10-30 12:56:38 -07:00
Dharini Jeeva 722acdc1fc chore: 🤖 refactor key value list component, text input support (#1957)
refactor: 💡 refactor list wrapper component and fix test
2023-10-30 12:30:05 -07:00
Carlos Alcaide Corvoandcameronperera 3f8e39d0e1 Host set permission issue (#1968)
* refactor: 💡 allow for graceful error handling when connecting

to a target where host-sets cannot be fetched

* refactor: 💡 update for loop to for...of loop

* Move fetching host from target to session domain

* Decouple getting target host-sets and getting hosts from the host-sets, now this code is extracted in 2 methods. Now if the user does not have permissions to fetch host or host-sets we do not show an error and we allow for quick-connect approach

* Fix a check within getHostsFromHostSets

* Change a for loop for Promise.all within getTargetHostSets

* Change a for loop for Promise.All within getHostsFromHostSets

* Delete unnecessary condition

* Delete unnecessary condition

* chore: 🤖 remove host sources from target mirage factory

by default it uses address when using 'withAssociations'

* test: 💍 update target address tests to use 'withOneHost'

* test: 💍 remove connect tests from scopes acceptance tests

* refactor: 💡 remove can initiate connect target ability

and associated code and tests

* refactor: 💡 update target model afterModel hook, and preconnect

* refactor: 💡 revert 'withAssociations' mirage change

* test: 💍 add tests for permissions issues for host-sets and host

* test: 💍 visiting session without permissions to read hosts

---------

Co-authored-by: cameronperera <cameron.perera@hashicorp.com>
2023-10-30 12:54:37 -05:00
Devon Anderson 9e7852f18d chore: 🤖 Upgrade addons/core to Ember 4.12.2 (#1965)
* chore: 🤖 Upgrade `addons/core` to Ember 4.12.2

Upgrade `addons/core` to Ember 4.12.2

✅ Closes: ICU-11341

* refactor: 💡 testing updating plugin-proposal-decorators version

Update `@babel/plugin-proposal-decorators` to latest version.

* refactor: 💡 testing legacy plugin-proposa-decorators version

Testin `legacy` version for `plugin-proposal-decorators` plugin

* refactor: 💡 testing plugin-proposal-decorators

Testing `@babel/plugin-proposal-decorators`

* refactor: 💡 Revert @babel/exlint-parser to previous version

Revert `@babel/eslint-parser` to use version 2018 EcmaScript version
until further research is done on latest versions

* Update package.json

put @babel/core back into `devDependencies`

* refactor: 💡 testing linging changes

Pushed ember-tempalate-lint, prettier, and ember template lint plugin
for prettier to latest versions to test why CI builds are not passing.

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-11341
2023-10-27 11:10:30 -04:00
hashicorp-copywrite[bot]andZhihe Li c548c381bf [COMPLIANCE] Add Copyright and License Headers (#1966)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-10-24 14:31:07 -04:00
Zhihe Li 63be0f3aec chore: 🤖 Update commitizen hook to add jira link automatically (#1959) 2023-10-24 13:07:27 -04:00
Susmitha Girumala 8e4fac5ce2 Manually trigger admin ui build (#1964) 2023-10-20 10:16:06 +02:00
Dharini Jeeva 2a9666285a fix: 🐛 name (#1963) 2023-10-20 00:41:25 -07:00
Dharini Jeeva bff94d6b4d fix: 🐛 release name (#1962) 2023-10-20 00:12:08 -07:00
Michael Li 5b8fc06e21 test(admin/e2e): Update test timeout to 60s (#1955) 2023-10-17 13:06:21 -04:00
Lisbet AlvarezandZhihe Li a20483d1af update breadcrumbs to use hds::breadcrumbs (#1934)
* refactor: 💡 initial changes for updating breadcrumbs to use hds

* refactor: 💡 add breadcrumbs to all paths

* refactor: 💡 add more hds breadcrumbs to remaining paths

* refactor: 💡 remove BreadCrumbs from templates

* refactor: 💡 remove breadcrumb only controller files

* test: 💍 remove unnused test files & add missing tests

* test: 💍 update tests

* test: 💍 add missing scope in test

* test: 💍 fix test

* refactor: 💡 remove icons

* refactor: 💡 remove addon and use service instead

* docs: ✏️ add comment to breadcrumb service

* test: 💍 update service unit test

* docs: ✏️ add comments to breadcrumb components

* Update ui/admin/app/components/breadcrumbs/container/index.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-10-17 09:45:34 -07:00
dependabot[bot] 0bf5221389 chore(deps): bump @babel/traverse from 7.15.0 to 7.23.2 (#1954)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.15.0 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 15:59:41 +02:00
hashicorp-copywrite[bot] 297db470bd [COMPLIANCE] Add Copyright and License Headers (#1953)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2023-10-16 13:29:31 -04:00
Dharini Jeeva 91a6023145 Refactor key value list component (#1949)
* refactor: 💡 update keyvalue list component to allow only rows
2023-10-12 14:42:23 -07:00
Devon Anderson 7b96dd1f81 Upgrade addons/auth to Ember 4.12 (#1947)
* Ember `addon/auth` upgrade v4.4.1...v4.12.2

* Update .npmignore

* refactor: 💡 Quick refactor

Refactor `.eslintrc.js` to current `ecmaVersion` and use latest
`babelOptions`. Revert `.prettier.js` to use previous overrides. Setup
scripts to use `concurrently` instead of `npm-run-all`

* refactor: 💡 removed `npm-run-all`

Removed `npm-run-all` from package.json
2023-10-11 17:17:42 -04:00
Carlos Alcaide Corvo aee55cb171 Chore icu 9086 audit resolutions (#1928) 2023-10-11 12:09:23 +02:00
Carlos Alcaide Corvo 370b3ea1fb Chore icu 9085 audit resolutions (#1927)
* chore: 🤖 Delete shell-quote from resolutions

* chore: 🤖 Delete hawk from resolutions

* chore: 🤖 Modify resolutions for async
2023-10-11 11:38:34 +02:00
Carlos Alcaide Corvo 4f972a82d6 chore: 🤖 Modify ansi-html resolution (#1922) 2023-10-11 10:48:06 +02:00
Zhihe Li 2e7399f293 fix: 🐛 Fix electron not inheriting path variable in production (#1948) 2023-10-10 20:16:34 -04:00
Cameron Perera b3c976bf19 chore: 🤖 add post-connection workflow to desktop CHANGELOG (#1923)
* chore: 🤖 add post-connection workflow to desktop CHANGELOG

✅ Closes: ICU-11079

* chore: 🤖 remove electron upgrade entry

* chore: 🤖 update CLI version to 0.14.0

* chore: 🤖 update desktop release date
2023-10-10 15:31:26 -05:00
Zhihe Li 7ac7843f5e backport: 🤖 Fix usage of deprecated hub cli (#1944) 2023-10-06 15:56:34 -04:00
987a530fc0 Result of tsccr-helper -log-level=info -pin-all-workflows . (#1937)
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-10-06 15:23:16 -04:00
Stan Ryzhov 0357efee2a test: 💍 Add delete resources e2e UI test (#1931)
✅ Closes: ICU-10897
2023-10-06 11:10:25 -04:00
dependabot[bot]andDharini Jeeva 6915a1f5cb chore(deps-dev): bump postcss from 8.4.18 to 8.4.31 (#1941)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.18 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.18...8.4.31)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-10-05 16:49:37 -07:00
Zhihe Li 4693689f21 fix: 🐛 Fix an issue with HDS css causing scrollbars/whitespace (#1942)
✅ Closes: ICU-11292
2023-10-05 18:11:14 -04:00
dependabot[bot] 9017f8b74f chore(deps-dev): bump electron in /ui/desktop/electron-app (#1940)
Bumps [electron](https://github.com/electron/electron) from 26.2.1 to 26.2.4.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v26.2.1...v26.2.4)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-05 15:05:22 -04:00
Zhihe Li 262df46fac fix: 🐛 Fix edge case with showing host modal (#1939)
✅ Closes: ICU-11285
2023-10-04 18:57:17 -04:00
Dharini Jeeva 7993422b0d fix: 🐛 allow ldap managed groups in role/principals route (#1938) 2023-10-02 13:52:35 -07:00
Michael Li 958b91264f test(admin/e2e): Fixes for Admin UI test suite (#1935)
* test(admin/e2e): Update locator for worker filter textbox

* test(admin/e2e): Update locator for the New button

* test(admin/e2e): Update locator for New link

* fixup! test(admin/e2e): Update locator for worker filter textbox
2023-10-02 10:07:37 -04:00
Lisbet Alvarez bac3593b97 fix: 🐛 host modal renders whenever there is an error during connection (#1936)
* fix: 🐛 host modal renders whenever there is an error

✅ Closes: ICU-11231

* test: 💍 add test case to make sure fix is working properly

* fix: 🐛 toggle flag back to false and remove @tracked

* fix: 🐛 host modal should also close after host connection error

* refactor: 💡 change toggle to toggleModal

* test: 💍 rename toggle in test cases
2023-10-02 07:26:10 -05:00
Cameron Perera 406e45f039 fix: 🐛 dynamic storage bucket showing as static (#1933) 2023-09-28 12:10:35 -05:00
Devon Anderson 58cd75ef67 fix: 🐛 ICU-11208 fix view of role scopes (#1929)
* fix: 🐛 ICU-11208 fix view of role under org, and
project scope

Fixed view of role under org, and project scope.

✅ Closes: ICU-11208

* refactor: 💡 Refactor scopes in roll

Refactor role to disregard subscopes for project scope

✅ Closes: ICU-11208

* refactor: 💡 refactor test

Refactor test to include test for a role having the correct grand scopes

✅ Closes: ICU-11208

* refactor: 💡 refactor test

Refactor test to test that role fectches scopes correctly

* quick refactor of previous test commit to grab the
role id from the response and use it in the next request

* refactor: 💡 refactor test

refactor test for scope fetching
2023-09-28 12:55:52 -04:00
Zhihe Li 4de41763b7 fix: 🐛 Fix polyfill not working correctly (#1932)
✅ Closes: ICU-11211
2023-09-27 17:45:53 -04:00
Devon Anderson c4e9f383a1 fix: 🐛 Fix translations (#1930)
Fix translations for `role_external_id` helper text

✅ Closes: ICU-11217
2023-09-27 14:20:56 -04:00
Lisbet Alvarez db4a693951 fix: 🐛 add polyfill for randomUUID (#1926) 2023-09-26 14:21:20 -07:00
Zhihe Li f6e7529b38 fix: 🐛 Stop sending ssh command when session initiated in CLI (#1925)
✅ Closes: ICU-11209
2023-09-26 16:36:13 -04:00
Lisbet Alvarez f4768c69a5 chore: 🤖 enable ldap feature flag for all envs (#1924) 2023-09-26 10:04:49 -07:00
Zhihe Li 16f8b6d4fb fix: 🐛 Fix not calling logout properly in OIDC (#1921) 2023-09-26 10:40:36 -04:00
hashicorp-copywrite[bot] 2fd45c552f [COMPLIANCE] Add Copyright and License Headers (#1920)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2023-09-25 14:22:44 -04:00
Zhihe Li 11dc3fb9c8 fix: 🐛 Fix usage of spawn statements with boundary and node-pty (#1917) 2023-09-22 18:58:15 -04:00
Lisbet AlvarezandZhihe Li 5666564b05 refactor: 💡 Simplify cannot-connect message (#1918)
* refactor: 💡 Simplify cannot-connect message

✅ Closes: ICU-11155

* Update addons/core/translations/resources/en-us.yaml

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-09-22 18:58:15 -04:00
Lisbet Alvarez 0a8d14b53f test: 💍 update acceptance tests in desktop UI (#1916)
* test: 💍 update acceptance tests in desktop UI

✅ Closes: ICU-11130

* test: 💍 move tests to target-test.js

* test: 💍 add another test case for targets list view
2023-09-22 18:58:15 -04:00
Lisbet Alvarez 3740bb079a Icu-11111 don't display empty modal when a target has no target address and no host sources (#1909)
* fix: 🐛 disable connect buttons & add message

✅ Closes: ICU-11111

* test: 💍 add test cases

* fix: 🐛 buttons on list view & add getter to target model

* refactor: 💡 use can ability instead and remove Promise.all

* test: 💍 fix expect number
2023-09-22 18:58:15 -04:00
Cameron Perera 3d0a57d459 refactor: 💡 remove custom xterm styles (#1915) 2023-09-22 18:58:14 -04:00
Zhihe Li 674fb44c75 feat: 🎸 Enabled ASAR for desktop client builds (#1914) 2023-09-22 18:58:14 -04:00
Cameron Perera 7afd7f7e0d refactor: 💡 update styles for canvas elements (#1912) 2023-09-22 18:58:14 -04:00
Cameron Perera 22059e0aa0 Icu 10981 show host address in host details sidebar (#1913)
* refactor: 💡 update yarn.lock

* feat: 🎸 show host address if present

✅ Closes: ICU-10981
2023-09-22 18:58:14 -04:00
Zhihe Li 513e5847f0 feat: 🎸 Resize terminal container dynamically (#1910)
✅ Closes: ICU-11108
2023-09-22 18:58:14 -04:00
Cameron Perera a4a48a9108 fix: 🐛 xterm csp policy violation (#1911)
* fix: 🐛 xterm csp policy violation

* refactor: 💡 add newline for lint rule
2023-09-22 18:58:14 -04:00
Zhihe Li 2a8ebe88de feat: 🎸 Prevent automatically sending SSH command on windows (#1906)
✅ Closes: ICU-11109
2023-09-22 18:58:14 -04:00
Cameron Perera f3c72b0100 refactor: 💡 add host modal hover indication (#1902)
✅ Closes: ICU-11063
2023-09-22 18:58:14 -04:00
Cameron Perera c5cffd5137 feat: 🎸 create Host Modal for connecting to specific modal (#1898)
✅ Closes: ICU-10432
2023-09-22 18:58:14 -04:00
Cameron Perera 02ce3341bd Icu 11057 update shell styles (#1900)
* refactor: 💡 add border-radius and padding to desktop shell

✅ Closes: ICU-11057

* refactor: 💡 update padding to padding-left
2023-09-22 18:58:14 -04:00
Cameron Perera a6b497cacd fix: 🐛 fix cancel session failing after shell has started (#1899)
✅ Closes: ICU-11035
2023-09-22 18:58:14 -04:00
Cameron Perera ed1d73d29c feat: 🎸 display target address in sidebar if present (#1895)
✅ Closes: ICU-10980
2023-09-22 18:58:14 -04:00
Zhihe Li 5aa425ee05 feat: 🎸 Add flag to ssh command to not prompt for known hosts (#1894) 2023-09-22 18:58:14 -04:00
Cameron Perera 6d7624bc9f refactor: 💡 fix proxy-url to render above body and sidebar (#1893) 2023-09-22 18:58:14 -04:00
Cameron Perera 1102c94875 refactor: 💡 move sidebar into session details tab (#1892)
✅ Closes: ICU-10961
2023-09-22 18:58:14 -04:00
Carlos Alcaide CorvoandZhihe Li 1f3689ffdf Chore terminal tweaks (#1890)
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-09-22 18:58:14 -04:00
Cameron Perera edd42ee927 feat: 🎸 add host details to session details screen if present (#1889)
* feat: 🎸 add host details to session details screen if present

✅ Closes: ICU-10282

* refactor: 💡 update style for host details

* refactor: 💡 update styles for sidebar details

* refactor: 💡 remove unneeded class selector
2023-09-22 18:58:14 -04:00
Cameron Perera f0a848721a feat: 🎸 allow for connection for target with single host (#1887)
* feat: 🎸 allow for connection for target with single host

✅ Closes: ICU-10431

* refactor: 💡 small code clean up

* refactor: 💡 move host fetch to model hook
2023-09-22 18:58:14 -04:00
85913acc61 Desktop Client Session Terminal (#1884)
* refactor: 💡 Turn on sandboxing for renderer process (#1870)

* chore: 🤖 add tabs for details and terminal view (#1871)

* feat: 🎸 Allow creating multiple terminals (#1872)

* chore: 🤖 add remove method to terminal (#1875)

* feat: 🎸 Clean up terminal tab (#1876)

* feat: 🎸 Handle resizing xterm and node-pty (#1879)

* feat: 🎸 Clean up killing terminals (#1881)

* refactor: 💡 Rename tabs component (#1882)

---------

Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-09-22 18:58:14 -04:00
Cameron Perera 374b21bcff feat: 🎸 update connect logic for targets with static addresses (#1874)
* feat: 🎸 update connect logic for targets with static addresses

✅ Closes: ICU-10430

* refactor: 💡 remove console logs

* refactor: 💡 add missing awaits
2023-09-22 18:58:14 -04:00
Cameron Perera 8f043e8cf5 refactor: 💡 update how proxy-url determins default proxy info (#1869) 2023-09-22 18:58:14 -04:00
Cameron Perera a831bd06a5 feat: 🎸 add Proxy URL info to session detail screen (#1868)
* feat: 🎸 add Proxy URL info to session detail screen

✅ Closes: ICU-10311

* chore: 🤖 add setupIntl to proxy-url tests

* refactor: 💡 update styles for proxy-url component

* refactor: 💡 display proxy info based on target type

* refactor: 💡 move proxy-url into session specific directory

* refactor: 💡 change template logic for which command to show

* refactor: 💡 remove isSSH getter for session/proxy-url
2023-09-22 18:58:14 -04:00
Cameron Perera 9ce79b3d14 feat: 🎸 redirect to targets list when canceling (#1866)
from the sessions detail screen

✅ Closes: ICU-10760
2023-09-22 18:58:13 -04:00
Cameron Perera 4dcf1675ba refactor: 💡 add loading indicator to connect and cancel actions (#1867)
✅ Closes: ICU-10677
2023-09-22 18:58:13 -04:00
Cameron Perera 2544493b06 fix: 🐛 add flex-shrink to flight-icon to avoid icon shrinking (#1859) 2023-09-22 18:58:13 -04:00
Cameron PereraandDharini Jeeva d5d2045fb5 Icu 10315 add credentials panel (#1855)
* feat: 🎸 add credentials panel for session detail screen

✅ Closes: ICU-10315

* fix: 🐛 remove use of A in sessions list array

* refactor: 💡 fix class name to apply style to both detail screen

* refactor: 💡 add comment to resetController on session route

* refactor: 💡 add @value to HDS Toggle in session detail page

* refactor: 💡 class name refactor for credential panel

* refactor: 💡 remove unneeded div around CodeEditor

* refactor: 💡 change border units from rem to px

* feat: 🎸 create CredentialsPanel component

* Update ui/desktop/tests/integration/components/credentials-panel-test.js

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

* refactor: 💡 update credential panel styles

* style: 💄 fix lint error for desktop styles

* chore: 🤖 yarn.lock update

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-09-22 18:58:13 -04:00
Cameron Perera b300e898ff refactor: 💡 initial change to target connect workflow (#1840)
* refactor: 💡 initial change to target connect workflow

✅ Closes: ICU-10605

* refactor: 💡 change back to findRecord for a session
2023-09-22 18:58:13 -04:00
Cameron Perera d55c563004 Icu 10495 session detail sidebar content (#1837)
* chore: 🤖 fix model hook signature

* feat: 🎸 add target details to session details page

✅ Closes: ICU-10495

* style: 💄 fix missing "}" in model signature
2023-09-22 18:58:13 -04:00
Cameron Perera 340429fdb5 Icu 10521 add route logic from sessions list to session detail screen (#1834)
* feat: 🎸 add canRead ability for session model

* refactor: 💡 create constant values for session status types

* feat: 🎸 add link to session detail from sessions list

✅ Closes: ICU-10521
2023-09-22 18:58:13 -04:00
Cameron Perera 0100f8b497 feat: 🎸 add target details sidebar panel to target detail page (#1832)
✅ Closes: ICU-10302
2023-09-22 18:58:13 -04:00
Cameron Perera 4b9496b4f2 Icu 10491 create route for session/session-id (#1825)
* fix: 🐛 call displayName on model

* feat: 🎸 add sessions/session-id route and base layout

✅ Closes: ICU-10491
2023-09-22 18:58:13 -04:00
Cameron Perera 4b68ea0fa4 refactor: 💡 remove unneeded div for layout of target details (#1821)
✅ Closes: ICU-10513
2023-09-22 18:58:13 -04:00
Cameron Perera e7ec4dd25e refactor: 💡 add "Connect for more info" panel to target details (#1819)
✅ Closes: ICU-10283
2023-09-22 18:58:13 -04:00
Cameron Perera f83d214524 refactor: 💡 Update Target Details header (#1818)
✅ Closes: ICU-10243
2023-09-22 18:58:13 -04:00
Cameron Perera 1b1e002581 refactor: 💡 add base layout to target details screen (#1812)
✅ Closes: ICU-10280
2023-09-22 18:58:13 -04:00
Cameron Perera 55eca5037e refactor: 💡 Remove targets/target-id/hosts route and tests (#1810)
* refactor: 💡 Remove targets/target-id/hosts route and tests

✅ Closes: ICU-10316

* refactor: 💡 Remove targets/target-id/sessions route and tests (#1811)

* refactor: 💡 Remove targets/target-id/sessions route and tests

✅ Closes: ICU-10317

* refactor: 💡 remove targets/target-id/sessions controller
2023-09-22 18:58:13 -04:00
Cameron Perera 3af58204ba refactor: 💡 remove unused template code (#1803)
✅ Closes: ICU-10422
2023-09-22 18:58:13 -04:00
Cameron Perera 0b2ac7f676 chore: 🤖 add post connection workflow feature flag (#1799)
✅ Closes: ICU-10269
2023-09-22 18:58:13 -04:00
Dharini Jeeva d0a505558b refactor: 💡sb dynamic credential type secret fields and how we serialize (#1907)
* refactor: 💡 secret fields and how we serialize
2023-09-20 14:55:05 -07:00
Dharini Jeeva 1b84a70ca0 feat: (LDAP) add attributes to model and component (#1908)
* feat: 🎸 add two new fields to LDAP form
2023-09-20 09:18:30 -07:00
Dharini Jeeva 0abb95378e test: 💍 add extra test for credentialType (#1905)
* test: 💍 add extra test for credentialType

* Update ui/admin/tests/acceptance/storage-buckets/create-test.js
2023-09-19 15:58:52 -07:00
Carlos Alcaide Corvo 7175bb58ea chore: 🤖 Upgrade Electron to 26.x (#1904) 2023-09-19 15:28:17 -07:00
Dharini Jeeva 78d1e09a0d Icu 11022 update dynamic credentials in sb form (#1901) 2023-09-18 14:23:30 -07:00
Dharini Jeeva 4910070c95 feat: 🎸 add support for dynamic credentials in storage bucket (#1897)
* feat: 🎸 add support for dynamic credentials in storage bucket
2023-09-18 13:26:38 -07:00
Carlos Alcaide Corvo 3cb8417a89 fix: 🐛 Fix outdated yarn lock (#1896) 2023-09-12 14:42:21 -07:00
Carlos Alcaide Corvo 8b0aa4532b Chore icu 9090 audit resolutions desktop (#1888)
* chore: 🤖 Delete plist from desktop resolutions

* chore: 🤖 Delete plist from resolutions

* chore: 🤖 Delete lzma-native from resolutions

* chore: 🤖 Delete minimist from desktop resolutions

* chore: 🤖 Delete got from desktop resolutions

* Modify got resolution
2023-09-12 09:20:10 -07:00
Dharini Jeeva 29e57935f6 Icu 10926 add dynamic credential fields in sb model (#1891)
* feat: 🎸 add support for dynamic credentials in storage bucket
2023-09-11 15:31:57 -07:00
Carlos Alcaide Corvo f4c153a132 Chore icu 9089 audit resolutions desktop (#1886)
* chore: 🤖 Modify electron-app resolutions for jsonpointer

* chore: 🤖 Delete from electron-app resolutions node-fetch
2023-09-06 14:40:07 -07:00
dependabot[bot] 1875ae34db chore(deps-dev): bump electron in /ui/desktop/electron-app (#1885)
Bumps [electron](https://github.com/electron/electron) from 25.3.2 to 25.5.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v25.3.2...v25.5.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-06 15:42:41 -05:00
Dharini Jeeva 3d6e9f3a2c chore: 🤖 updates to pr template (#1852)
* chore: 🤖 updates to pr template
2023-09-06 12:10:23 -07:00
Cameron Perera 51cfe1adf4 chore: 🤖 bump HDS to 2.11.0 (#1883) 2023-09-06 13:24:51 -05:00
Dharini Jeeva 12a8ef3ad3 chore: 🤖 remove devtron (#1880) 2023-09-06 10:01:58 -07:00
Michael Li 0c80f4ba40 test(admin/e2e): Rename variables for clarity (#1878) 2023-09-06 10:49:09 -04:00
Stan RyzhovandMichael Li 61b81a3bb5 test: 💍 Add create group and roles e2e UI test (#1877)
* test: 💍 Add create group and roles e2e UI test

✅ Closes: ICU-10557

---------

Co-authored-by: Michael Li <michael.li@hashicorp.com>
2023-09-05 17:34:50 -04:00
Stan Ryzhov 6190ea71a0 test: 💍 Add create password auth method test (#1843) 2023-09-05 10:00:19 -04:00
hashicorp-tsccr[bot]andhashicorp-tsccr[bot] 3e9c93e6b1 Result of tsccr-helper -log-level=info -pin-all-workflows . (#1873)
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
2023-09-01 13:26:03 -04:00
Dharini Jeeva 3f731867ac fix: 🐛 toarray deprecation warning (#1865) 2023-08-25 09:43:02 -07:00
Cameron Perera 638753d7bc chore: 🤖 remove prop-type resolution (#1862)
* chore: 🤖 remove prop-type resolution

* chore: 🤖 update yarn.lock
2023-08-24 09:54:03 -05:00
Dharini Jeeva 48c201299a Chore upgrade rose to ember 4 (#1864)
* chore: 🤖 upgrade rose to ember 4
2023-08-23 13:57:24 -07:00
Dharini Jeeva eed62ac515 fix: 🐛 filterby deprecation warning (#1861) 2023-08-23 11:04:41 -07:00
Cameron Perera 7349867b76 refactor: 💡 set max number for session recording duration fakes (#1860) 2023-08-23 09:49:15 -05:00
Zhihe Li fab566714a chore: 🤖 Change port to be set in package script (#1858) 2023-08-22 13:01:44 -04:00
Dharini Jeeva 36aa333d48 chore: 🤖 remove storybook related files (#1856) 2023-08-21 16:20:39 -07:00
Dharini Jeeva af05799e12 fix: 🐛 proxy promise deprecation (#1851)
* fix: 🐛 proxy promise deprecation
2023-08-21 14:17:44 -07:00
Zhihe Li 5cfd841c41 chore: 🤖 Remove extra file that got added from ember upgrade (#1854) 2023-08-21 14:31:34 -04:00
Dharini Jeeva 8a0f5fbe9f Icu 10582 retire storybook (#1849)
* refactor: 💡 retire storybook
2023-08-17 09:37:39 -07:00
Carlos Alcaide CorvoandLisbet Alvarez 9e515d7a3a Chore icu 9840 upgrade node v2 (#1847)
* Upgrade node engines version within addons?

* chore: 🤖 Upgrade node engines version within UI's

* Add Node information on Readme

* Upgrade node engines within root package.json

* Node engines upgrade to v16 and v18

* Update README.md

Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>

---------

Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
2023-08-16 14:58:14 -07:00
Dharini Jeeva 33ba168655 chore: 🤖 silence deprecate_early_static warnings (#1845)
* chore: 🤖 silence deprecate_early_static warnings
2023-08-16 10:38:04 -07:00
Cameron Perera 4a7dafc7d2 chore: 🤖 update hds to 2.10.0 (#1848)
* chore: 🤖 update hds to 2.10.0

* chore: 🤖 limit resolution scope to rose addon
2023-08-16 09:02:54 -05:00
Dharini Jeeva bf343c0b8c chore: 🤖 fix deprecation warning for firstobject usage (#1844) 2023-08-15 13:20:08 -07:00
Dharini Jeeva 40673c180c chore: fix sortby deprecation warning (#1842)
chore: 🤖 install lodash and fix sortby deprecation
2023-08-15 11:36:57 -07:00
Dharini Jeeva 6d1b80aaf0 chore: fix to get rid of deprecate-non-strict-relationships warning (#1835)
* chore: 🤖 add explicit inverse relationship
2023-08-14 16:15:26 -07:00
Zhihe Lianddharini 0e9042f588 Upgrade api to ember 4.12 (#1833) (#1839)
* chore: 🤖 Upgrade API layer to ember 4.12

* chore: 🤖 Upgrade ember-data to 4.12

* fix: 🐛 Fix breaking change from usage of internal method

* chore: 🤖 Remove stylelint in API addon

* test: 💍 Fix broken API tests

* chore: 🤖 get rid of toArray

* test: 💍 Fix tests broken by ember data changes

---------

Co-authored-by: dharini <dharini@hashicorp.com>
2023-08-14 17:03:59 -04:00
Cameron Perera 77b47e2cb3 chore: 🤖 specify port to 4201 for desktop development (#1836)
* chore: 🤖 specify port to 4201 for desktop development

* docs: ✏️ update desktop README port info
2023-08-10 17:08:35 -05:00
Michael Li 735e124642 test(admin/e2e): Updates to the dynamic host catalog e2e test (#1830)
* test(admin/e2e): Return to the host list page

* test(admin/e2e): Remove unneeded second host set check
2023-08-09 12:16:45 -04:00
NatashaKabandCameron Perera 60626e49b1 Icu 10370 use hds table in injected app credential sources (#1828)
* refactor: 💡 Use HDS tables in user accounts

* refactor: 💡 Use HDS table in injected app credential sources

---------

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2023-08-08 08:40:41 -05:00
hashicorp-copywrite[bot] ef0e3b60e7 [COMPLIANCE] Add Copyright and License Headers (#1829)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2023-08-07 15:22:47 -04:00
Devon Anderson e089d1c3ff refactor: 💡 Refactor ldap account view and serializer (#1826)
* refactor: 💡 Refactor ldap account view and serializer

Refactor LDAP account view to only show `InfoField` fields if values are
not `undefined`.  Also fixed bug for updating accounts.

✅ Closes: ICU-10514

* refactor: 💡 clean up code

Quick cleanup of code for accounts

* Update account.js

change text for commit

* Update index.hbs

* refactor: 💡 format hbs

format hbs
2023-08-04 19:46:44 -04:00
Devon Anderson de77f8807d refactor: 💡 refactor LDAP form error messaging (#1816)
* refactor: 💡 refactor form error messaging

Refactor LDAP form.  Removed unused field level errors that aren't part
of the API response.

✅ Closes: ICU-10462

* refactor: 💡 Refactor test

Refactor LDAP create and update test.

* Update index.hbs

removed error field-level check for `bind_dn` and `bind_password`

* refactor: 💡 fix linting

fix linting
2023-08-04 19:30:41 -04:00
Cameron Perera 18833c9f22 Icu 10516 move metadata list to rose (#1824)
* feat: 🎸 Add rose metadata-list component

✅ Closes: ICU-10516

* refactor: 💡 remove metadata-list component from admin app
2023-08-04 14:09:20 -05:00
Zhihe Li 0c49790fa1 chore: 🤖 Update prepare-commit-msg to not execute when rebasing (#1827) 2023-08-04 14:37:55 -04:00
NatashaKabandCameron Perera 3caf81fc47 Icu 10504 use hds table in desktop sessions list (#1823)
* refactor: 💡 Use HDS tables in user accounts

* refactor: 💡 Use HDS table in desktop sessions list

* refactor: 💡 Added back the commit Zed mentioned

* refactor: 💡 Added a comment for the session status class

---------

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2023-08-04 12:26:08 -04:00
Devon Anderson c425bb7686 fix: 🐛 accounts update refactor (#1822)
* fix: 🐛 accounts update refactor

Changed `type` and `auth_method_id` on `accounts` model to `readOnly` so
it is not sent in API payload.

✅ Closes: ICU-10503

* refactor: 💡 fix test

Refactor test to not include removed attributes.

* refactor: 💡 refactor test

Fix test
2023-08-04 07:46:58 -04:00
Dharini Jeeva ed51b6b3a9 fix: 🐛 replace deprecated substr with substring (#1820) 2023-08-03 15:05:52 -07:00
Carlos Alcaide Corvo 35d69f23d7 Chore icu 9083 audit resolutions (#1814)
* chore: 🤖 Delete ember-template-recast from resolutions

* chore: 🤖 Modify markdown-it from resolutions

* Delete mout from resolutions

* chore: 🤖 Delete nanoid from resolutions
2023-08-03 09:14:15 -07:00
NatashaKab 964423c35c Icu 10368 use hds table in desktop targets list (#1817)
* refactor: 💡 Use HDS tables in user accounts

* refactor: 💡 Use HDS tables in desktop targets list

* refactor: 💡 Fixed indentantion problem suggested by cameron
2023-08-03 11:20:49 -04:00
Dharini Jeeva cc3c4b2720 update electron version on desktop client (#1815)
* chore: 🤖 upgrade electron
2023-08-02 15:57:17 -07:00
hashicorp-tsccr[bot]andhashicorp-tsccr[bot] 9b18c40686 Result of tsccr-helper -log-level=info -pin-all-workflows . (#1813)
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
2023-08-01 14:12:02 -07:00
Lisbet AlvarezandCarlos Alcaide Corvo 3fc4708415 chore: 🤖 upgrade faker js from v7 to v8 (#1808)
* chore: 🤖 upgrade faker js from v7 to v8

✅ Closes: ICU-10373

* refactor: 💡 remove deprecated modules from factories

* test: 💍 fix failing tests

---------

Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
2023-08-01 13:31:20 -07:00
Cameron Perera 6dee7cad62 Icu 10439 refactor layout sidebar into rose layout body content (#1807)
* feat: 🎸 Add BodyContent component to Rose::Layout

* refactor: 💡 remove Layout Sidebar and use Rose Layout Sidebar

✅ Closes: ICU-10439

* fix: 🐛 add media specific styles to rose body content styles

* refactor: 💡 update media rule max width to xlarge
2023-07-31 11:48:38 -05:00
Lisbet Alvarez d49f3b72a6 feat: 🎸 CRUDL capabilites for ldap managed-group (#1805)
* feat: 🎸 CRUDL capabilites for ldap managed-group

✅ Closes: ICU-10100

* refactor: 💡 managed-group serializer & remove members tab

* refactor: 💡 show members tab

* fix: 🐛 add type getters in managed group model

* refactor: 💡 fix column name
2023-07-28 13:52:04 -07:00
NatashaKab e5a026ed34 Icu 10367 use hds table in target host sources (#1806)
* refactor: 💡 Use HDS tables in user accounts

* refactor: 💡 Use HDS tables in target host sources
2023-07-28 15:27:56 -04:00
Dharini Jeeva 438de7d1af chore: 🤖 fix missing account ids (#1809) 2023-07-28 10:08:50 -07:00
Lisbet AlvarezandDharini Jeeva 3b284fac66 refactor: 💡 update to allow state change & update edit action (#1797)
* refactor: 💡 update to allow state change & update edit action

✅ Closes: ICU-10078

* test: 💍 add more update and delete test cases

* refactor: 💡 auth-method serializer

* refactor: 💡 add secret input fields

* refactor: 💡 remove changes to ldap auth method serializer

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-07-27 14:25:40 -07:00
NatashaKab 790048a8d6 Icu 10366 use hds table in brokered credential sources (#1802)
* refactor: 💡 Use HDS tables in user accounts

* refactor: 💡 Use HDS tables in brokered-credential-sources
2023-07-27 12:51:52 -04:00
Dharini Jeeva 05d62f3da5 Icu 10104 ldap accounts update (#1785)
* chore: 🤖 Add support for ldap account creation
2023-07-27 09:18:29 -07:00
Stan Ryzhov e3557e297b test: 💍 Add tcp target update test (#1800)
✅ Closes: ICU-9772
2023-07-26 15:52:50 -04:00
Devon Anderson c12e61d617 feat: 🎸 Create LDAP CRUD:read (#1798)
* feat: 🎸 create CRUD:read

Create LDAP CRUD:read details form by adding
`client_certificate_key_hmac` and `bind_password_hmac` attributes.

✅ Closes: ICU-10064

* refactor: 💡 refactor ldap details view

Revert details view for LDAP to not show HMAC
2023-07-26 15:11:47 -04:00
Cameron Perera 1e43e4ad95 chore: 🤖 update HDS to v2.8.0 (#1801)
✅ Closes: ICU-10270
2023-07-26 11:21:13 -05:00
Dharini Jeeva b12427a02a Icu 10307 create a new helper (#1791)
* chore: 🤖 truncate helper for longer list
2023-07-25 14:14:19 -07:00
Lisbet Alvarez f16f295290 test: 💍 add create acceptance test for ldap auth method (#1788)
* test: 💍 add create acceptance test for ldap auth method

✅ Closes: ICU-10076

* refactor: 💡 change client cert field to textarea and fix test

* test: 💍 add additional test case
2023-07-25 12:45:27 -07:00
hashicorp-copywrite[bot]andCameron Perera ea5d0d427a [COMPLIANCE] Add Copyright and License Headers (#1795)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2023-07-25 15:26:11 -04:00
Devon Anderson 10b91ed21e refactor: 💡 refactor test and serializer (#1786)
* refactor: 💡 refactor test and serializer

Refactor `auth-method` mirage serializer to delete secret attributes.
Refactor `auth-method` mirage serializer unit test for LDAP

✅ Closes: ICU-10025

* refactor: 💡 merge main

merge main

* refactor: 💡 rebase

rebase

* refactor: 💡 refactor serializer and test

Refactor serializer normalize method to delete secret attributes field.

* refactor: 💡 refactor test

Refactor failing test due to deleting secrets in mirage

* refactor: 💡 refactor test

changed assertion

* refactor: 💡 refactor test

change assertion expect

* refactor: 💡 refactor test

Refactor `auth-method-test` to include normalize oidc and ldap secrets

* refactor: 💡 rebase

rebase
2023-07-25 14:52:12 -04:00
Randall MoreyandCarlos Alcaide Corvo 2a03d0b0ec chore: 🤖 test of key/value header label association (#1767)
* chore: 🤖 test of key/value header label association

* Change variable name

---------

Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
2023-07-25 11:29:05 -07:00
Zhihe Li 5f4abea78d chore: 🤖 Point ember-pollster to new hashicorp repo (#1796) 2023-07-25 12:11:37 -04:00
NatashaKabandDharini Jeeva b81084fb8d Icu 10209 use hds table in member list view (#1794)
* chore: 🤖 Retire rose form textarea

✅ Closes: ICU-9425

* refactor: 💡 Added the disabled feature requested by Dharini

* refactor: 💡 Rose tables to HDS tables in Users

* refactor: 💡 Removed implementation of rose tables in users

* refactor: 💡 use hds table in groups list view

* refactor: 💡 Removed the group list class Dharini mentioned

* refactor: 💡 Resolved the conflicts in user list table and group

* refactor: 💡 Use hds table in role list view

* refactor: 💡 Use HDS tables for user accounts

* refactor: 💡 Fixed the linting error

* refactor: 💡 Use HDS tables in member list view

* refactor: 💡 Use HDS tables in member list view

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-07-23 22:02:24 -04:00
dependabot[bot]andCarlos Alcaide Corvo b82d316e9b chore(deps): bump word-wrap in /ui/desktop/electron-app (#1790)
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
2023-07-21 14:50:59 -07:00
dependabot[bot] f1dbaaf5cb chore(deps): bump word-wrap from 1.2.3 to 1.2.4 (#1789)
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...
2023-07-21 14:24:37 -07:00
NatashaKabandDharini Jeeva 8cd8724589 Icu 10210 use hds table in principal list view (#1792)
* chore: 🤖 Retire rose form textarea

✅ Closes: ICU-9425

* refactor: 💡 Added the disabled feature requested by Dharini

* refactor: 💡 Rose tables to HDS tables in Users

* refactor: 💡 Removed implementation of rose tables in users

* refactor: 💡 use hds table in groups list view

* refactor: 💡 Removed the group list class Dharini mentioned

* refactor: 💡 Resolved the conflicts in user list table and group

* refactor: 💡 Use hds table in role list view

* refactor: 💡 Use HDS tables for user accounts

* refactor: 💡 Fixed the linting error

* refactor: 💡 Use HDS tables in principal list view

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-07-19 16:49:37 -04:00
Lisbet AlvarezandDharini Jeeva 52cf2c0c53 feat: 🎸 ldap auth-method new form component (#1782)
* feat: 🎸 ldap auth-method new form component

✅ Closes: ICU-10073

* style: 💄 fix linting error and add comment

* style: 💄 add spacing and make titles more bold

* Update ui/admin/app/components/form/auth-method/ldap/index.hbs

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

* refactor: 💡 pr feedback updates

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-07-18 15:12:47 -07:00
Devon AndersonandDharini Jeeva 50b0ab32b6 refactor: 💡 refactor mirage factory (#1787)
* refactor: 💡 refactor mirage factory

Refactor `LDAP/managed-groups` factory to only return specific
`auth-method` type

✅ Closes: ICU-10284

* refactor: 💡 refactor default scenario

Refactor default scenario to use imported `types`

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-07-18 17:47:20 -04:00
Dharini Jeeva f5087ab4ee Icu 10082 ldap account creation form (#1783)
* chore: 🤖 Add support for LDAP account creation
2023-07-18 13:55:02 -07:00
NatashaKabandDharini Jeeva 0a80ae3c9d Icu 10208 use hds table in account list view (#1784)
* chore: 🤖 Retire rose form textarea

✅ Closes: ICU-9425

* refactor: 💡 Added the disabled feature requested by Dharini

* refactor: 💡 Rose tables to HDS tables in Users

* refactor: 💡 Removed implementation of rose tables in users

* refactor: 💡 use hds table in groups list view

* refactor: 💡 Removed the group list class Dharini mentioned

* refactor: 💡 Resolved the conflicts in user list table and group

* refactor: 💡 Use hds table in role list view

* refactor: 💡 Use HDS tables for user accounts

* refactor: 💡 Fixed the linting error

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-07-18 12:57:52 -04:00
Dharini Jeeva 52c2483161 feat: 🎸 add support for ldap managed group in serializer (#1781) 2023-07-17 15:32:46 -07:00
NatashaKabandDharini Jeeva 6e344fa5ec refactor: 💡 use hds table in role list (#1779)
* refactor: 💡 use hds table in role list

* refactor: 💡 Fixed the tests that were failing

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-07-17 18:14:27 -04:00
Cameron Perera b2b08929a3 test: 💍 fix flaky session recording player assertion (#1780) 2023-07-17 08:51:09 -05:00
Cameron Perera df1b311b1a refactor: 💡 migrate two rose buttons to hds in desktop client (#1777)
✅ Closes: ICU-10149
2023-07-14 17:05:57 -05:00
NatashaKabandDharini Jeeva e60d11eddd Icu 10178 use hds table in groups list view (#1768)
* chore: 🤖 Retire rose form textarea

✅ Closes: ICU-9425

* refactor: 💡 Added the disabled feature requested by Dharini

* refactor: 💡 Rose tables to HDS tables in Users

* refactor: 💡 Removed implementation of rose tables in users

* refactor: 💡 use hds table in groups list view

* refactor: 💡 Removed the group list class Dharini mentioned

* refactor: 💡 Resolved the conflicts in user list table and group

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-07-14 15:39:57 -04:00
Dharini Jeeva c8f5952e66 chore: 🤖 add ldap to managed groups model (#1778) 2023-07-14 11:53:29 -07:00
Lisbet Alvarez 228f8d33b4 refactor: 💡 add serialize method for ldap account type (#1774)
✅ Closes: ICU-10057
2023-07-14 11:09:45 -07:00
Devon AndersonandLisbet Alvarez b6f93c45bc refactor: 💡Mirage changes to LDAP (#1770)
* refactor: 💡 refactor mirage changes

Mirage changes to LDAP resource

✅ Closes: ICU-10027

* Update auth-method.js

removed curly braces from values

* Update addons/api/mirage/generated/factories/auth-method.js

using faker to create domains for `urls` attribute

Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>

* Update auth-method.js

update `user_filter` and `group_filter` with new example values

* refactor: 💡 refactor mirage config

Refactor mirage config to include state change for LDAP

---------

Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
2023-07-14 13:33:10 -04:00
Devon AndersonandZhihe Li 56df65bf8e refactor: 💡 refactor managed grouped mirage data for LDAP (#1775)
* refactor: 💡 refactor managed grouped mirage data for LDAP

✅ Closes: ICU-10055

* refactor: 💡 refactor mirage data factor

Refactor mirage data factory for managed-groups

* Update addons/api/mirage/factories/managed-group.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-07-14 13:12:27 -04:00
Dharini Jeeva 7ee52ea06f refactor: 💡 application serializeAttribute (#1772)
* refactor: 💡 application serializeAttribute
2023-07-14 09:46:47 -07:00
Zhihe Li 66fc50bf9e Chore/update ember intl (#1773)
* Revert "chore: 🤖 Add patch-package to fix ember-intl for windows builds (#1742)"

This reverts commit cd557a86cc.

* chore: 🤖 Update ember-intl
2023-07-14 11:04:01 -04:00
Lisbet Alvarez 15b769bd28 refactor: 💡 mirage changes to support ldap account type (#1769)
* refactor: 💡 mirage changes to support ldap account type

✅ Closes: ICU-10052

* refactor: 💡 use switch statement and use curly braces
2023-07-13 10:28:38 -07:00
Devon AndersonandDharini Jeeva d7b6eba2af [ICU-10024] feat: Revise auth-method model (#1762)
* feat: 🎸 Revised auth-method model

Revised auth-method model to include LDAP attributes

✅ Closes: ICU-10024

* chore: 🤖 create transform for `account_attribute_maps`

Create transform to handle `account_attribute_maps` array

* refactor: 💡 Refactor transform and serializer

Refactor `account_claims_map` transforms overall name and logic to be
used for `account_attributes_map`.  Also refactored serializer to
serialize auth-method data, by type.

✅ Closes: ICU-100024

* refactor: 💡 refactor transform

Refactor `account_claim_maps` transform.

* Update addons/api/addon/serializers/auth-method.js

changing naming of serialize method

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

* refactor: 💡 refactor serializer

Refactor naming convention for serializer methods and added comments for
attributes.

* refactor: 💡 quick refactor

fixed name for method call in serializer

* refactor: 💡 refactor attributes and serializer

Refactor attributes for `auth-methods` to use the `for` option to select
which attribute belongs to which auth-method.

* Update auth-method.js

comment change

* refactor: 💡 rebase

rebase

* Update addons/api/addon/serializers/auth-method.js

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

* Update addons/api/addon/serializers/auth-method.js

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

* Update addons/api/addon/serializers/auth-method.js

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

* Update addons/api/addon/serializers/auth-method.js

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

* Update addons/api/addon/serializers/auth-method.js

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

* refactor: 💡 refactor serialize attribute method

refactor serialize attribute method not not include type for password,
and instead let `serializePassword` handle serialization

* refactor: 💡 refactor serializer

Refcator serializer to not include password type in attribute serializer
and added `for` to one missing attribute.

* Update addons/api/addon/serializers/auth-method.js

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-07-13 09:19:38 -04:00
Carlos Alcaide Corvo 5bf50eba79 Chore icu 9087 audit resolutions electron app (#1765)
* chore: 🤖 Delete normalize-url from electron-app resolutions

* chore: 🤖 Delete jszip from electron-app resolutions

* chore: 🤖 Delete path-parse from electron-app resolutions
2023-07-12 14:35:05 -07:00
b7e67ba293 docs: ✏️ add list of recommended tooling (#1747)
* docs: ✏️ add list of recommended tooling

* Update README.md

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

* Update README.md

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
2023-07-12 13:53:39 -07:00
Lisbet Alvarez 56e8a73100 refactor: 💡 update accounts model with ldap account attributes (#1766)
✅ Closes: ICU-10050
2023-07-12 10:57:14 -07:00
Lisbet Alvarez ba0edd603d feat: 🎸 add ldap type to dropdown in list view (#1763)
* feat: 🎸 add ldap type to dropdown in list view

✅ Closes: ICU-10071

* test: 💍 fix broken tests & add new test
2023-07-12 10:29:20 -07:00
ef8eb0e407 chore(deps): bump semver from 5.7.1 to 5.7.2 (#1761)
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
2023-07-12 11:55:27 -04:00
NatashaKabandDharini Jeeva 7db77c6c6d Icu 10120 use hds table in users list view (#1764)
* chore: 🤖 Retire rose form textarea

✅ Closes: ICU-9425

* refactor: 💡 Added the disabled feature requested by Dharini

* refactor: 💡 Rose tables to HDS tables in Users

* refactor: 💡 Removed implementation of rose tables in users

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-07-12 10:28:13 -04:00
Lisbet AlvarezandDharini Jeeva ff2e320267 refactor: 💡 use hds checkbox field instead of rose checkbox (#1754)
* refactor: 💡 use hds checkbox field instead of rose checkbox

✅ Closes: ICU-9423

* Update ui/admin/app/components/form/auth-method/oidc/index.hbs

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

* Update ui/desktop/app/controllers/scopes/scope/projects/sessions/index.js

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

* fix: 🐛 remove isInvalid arg

* refactor: 💡 move array conversion to model hook

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-07-11 12:56:30 -07:00
dependabot[bot]andZhihe Li e3824f8c16 chore(deps-dev): bump stylelint from 14.14.0 to 15.10.1 (#1759)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.14.0 to 15.10.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.14.0...15.10.1)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-07-11 13:21:20 -04:00
Lisbet Alvarez ffe9fcd223 feat: 🎸 enable feature flag in dev environment (#1760)
✅ Closes: ICU-10091
2023-07-11 09:05:26 -07:00
NatashaKab a8d99b6eef chore: 🤖 Retire rose form textarea (#1735)
* chore: 🤖 Retire rose form textarea
2023-07-10 12:30:46 -07:00
Carlos Alcaide Corvo 23006f2449 chore: 🤖 Patch @storybook and all its deps to ~6.4.0 (#1758) 2023-07-10 10:46:19 -07:00
Carlos Alcaide Corvo e5688ffc95 Chore icu 9088 desktop audit resolutions (#1757)
* chore: 🤖 Delete ansi-regex from resolutions

* chore: 🤖 Delete tar from resolutions in electron-app

* chore: 🤖 Delete nth-check from resolutions electron-app
2023-07-10 10:07:22 -07:00
Carlos Alcaide Corvo aa358c81b2 Chore icu 9082 audit resolutions (#1756)
* chore: 🤖 Delete node-fetch from resolutions

* chore: 🤖 Delete shelljs from resolutions
2023-07-10 09:42:42 -07:00
Carlos Alcaide Corvo 900f5de08c docs: ✏️ Add Projects info to main readme (#1755) 2023-07-10 09:00:43 -07:00
Carlos Alcaide Corvo 74eb68b007 Chore icu 9081 audit resolutions (#1753)
* chore: 🤖 modify resolutions for set-value

* chore: 🤖 Modify ansi-regex resolutions

* chore: 🤖 Delete ember-cli-babel from resolutions
2023-07-06 08:52:27 -07:00
Carlos Alcaide Corvo c3cc2137ab Chore icu 9080 audit resolutions (#1752)
* chore: 🤖 modify resolutions for set-value

* chore: 🤖 Modify ansi-regex resolutions

* chore: 🤖 Delete ember-cli-babel from resolutions
2023-07-05 13:51:02 -07:00
Devon Anderson 508d66e375 fix: 🐛 Removing status badging from desktop client (#1749)
* fix: 🐛 Removing status badging from desktop client

Removed status badges for `targets` and `sessions` in desktop client
app.

✅ Closes: ICU-9790

* refactor: 💡 Bring back status badging for session

Session status badging can stay due to session can only be canceled by
the user in desktop client and does give an immediate status to the
session.

✅ Closes: ICU-9790

* refactor: 💡 merge changes
2023-07-05 11:03:32 -04:00
Lisbet Alvarez f1e612385d refactor: 💡 add support for named block content in form actions (#1746)
* refactor: 💡 add support for named block content in form actions

✅ Closes: ICU-9507

* refactor: 💡 remove yielded variables
2023-06-29 12:54:04 -07:00
Carlos Alcaide Corvo 0127f7adbd Docs change enos destroy command (#1751)
* Change destroy enos command

* Run doc:toc
2023-06-29 11:16:40 -07:00
Zhihe Li c86e232eaa chore: 🤖 Update semver (#1750) 2023-06-29 12:53:03 -04:00
NatashaKab 0adca93414 Icu 9881 remove use of rose form textarea from admin UI (#1744)
* refactor: 💡 Changing rose textarea to hds
2023-06-28 15:05:36 -07:00
Carlos Alcaide CorvoandLisbet Alvarez 9126bbfda9 docs: ✏️ Add desktop troubleshooting content (#1745)
* docs: ✏️ Add desktop troubleshooting content

Co-authored-by: Lisbet Alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
2023-06-27 08:54:34 -07:00
Zhihe Li 3c2b74684a fix: 🐛 Add header for dynamic host catalog hosts page (#1743)
✅ Closes: ICU-9629
2023-06-26 11:55:39 -04:00
Lisbet Alvarez b005b09cda chore: 🤖 use trusted SHA for atlassian/gajira-comment (#1739)
✅ Closes: ICU-9815
2023-06-23 11:59:10 -07:00
Zhihe Li cd557a86cc chore: 🤖 Add patch-package to fix ember-intl for windows builds (#1742)
✅ Closes: ICU-9914
2023-06-23 14:35:18 -04:00
Carlos Alcaide Corvo 4334d51da3 Chore icu 9079 audit resolutions (#1741)
* chore: 🤖 Delete path-parse from resolutions

* chore: 🤖 Modify nth-check resolutions

* chore: 🤖 Delete tmpl from resolutions
2023-06-23 11:03:57 -07:00
Carlos Alcaide Corvo 51d88af211 chore: 🤖 Upgrade semver within electron-app (#1740) 2023-06-23 10:03:56 -07:00
Lisbet Alvarez 6875e7c771 chore: 🤖 remove unnecessary steps in codeql analysis workflow (#1729)
* chore: 🤖 remove unnecessary steps in codeql analysis workflow

✅ Closes: ICU-9816

* refactor: 💡 undo strategy removal
2023-06-22 13:09:33 -07:00
Cameron Perera cdb5025fb9 chore: 🤖 add config for copywrite tool and compliance scan (#1734) 2023-06-22 14:41:50 -05:00
Carlos Alcaide Corvo eacfcebd6c Chore icu 9078 audit resolutions (#1737)
* chore: 🤖 Delete normalize-url from resolutions

* chore: 🤖 Modify glob-parent resolutions

* chore: 🤖 Delete Tar from resolutions
2023-06-22 12:16:26 -07:00
Carlos Alcaide Corvo f28b520ffa chore: 🤖 Deprecate cross-os (#1736)
Deprecate cross-os and use shx
2023-06-22 10:22:29 -07:00
Randall Morey 92aef2fd0d Merge pull request #1733 from hashicorp/compliance/add-headers
[COMPLIANCE] Add Copyright and License Headers
2023-06-20 06:49:37 -07:00
Randall Morey 2d521b1135 fix: 🐛 fix formatting issue for lint step 2023-06-19 11:19:45 -07:00
hashicorp-copywrite[bot] e8f15e2eab [COMPLIANCE] Add Copyright and License Headers 2023-06-19 16:23:53 +00:00
Carlos Alcaide Corvo c029962f43 Delete hosted-git-info from resolutions (#1732) 2023-06-16 15:18:04 -07:00
Randall Morey 2945446c63 Merge pull request #1720 from hashicorp/chore-upgrade-hds
chore: 🤖 upgrade to HDS 2.7
2023-06-16 13:38:34 -07:00
Randall Morey 1898fb3c34 Merge branch 'main' into chore-upgrade-hds 2023-06-16 12:57:48 -07:00
Randall Morey b12f748cfc chore: 🤖 update yarn lock 2023-06-16 12:01:34 -07:00
Carlos Alcaide Corvo 60c33bc6ec Chore icu 9123 upgrade storybook (#1727)
* chore: 🤖 Add new framework config object for storybook

* chore: 🤖 Fix an unmeet peer dependency

* chore: 🤖 Deprecate static dir flag. Upgrade Storybook to 6.4

* Changes after merging with main
2023-06-16 11:00:55 -07:00
Randall Morey 3625ff9bcf Merge branch 'main' into chore-upgrade-hds 2023-06-16 10:09:06 -07:00
Carlos Alcaide Corvo ab26d0c846 Chore icu 9077 audit resolutions (#1725)
* chore: 🤖 Modify clean-css resolutions

* chore: 🤖 Delete mem from resolutions

* chore: 🤖 Modify minimist resolutions

* Changes after merging with main
2023-06-16 09:45:06 -07:00
Carlos Alcaide Corvo 80e77d9b5a Chore icu 9076 audit resolutions (#1724)
* chore: 🤖 Modify browserslist resolution

* chore: 🤖 Modify ws resolutions

* chore: 🤖 Modify trim-newlines resolutions
2023-06-16 09:14:56 -07:00
Carlos Alcaide Corvo 82186d05da Chore icu 9075 audit resolutions (#1722)
* chore: 🤖 Modify underscore in resolutions

* chore: 🤖 Modify hosted-git-info resolutions

* chore: 🤖 Modify trim resolutions

* chore: 🤖 Change versioning type for trim sem ver
2023-06-16 08:44:22 -07:00
Randall Morey a8202bea25 chore: 🤖 cleanup styles and apply margin to button set 2023-06-15 17:23:29 -07:00
Randall Morey bedec5fc42 Merge branch 'main' into chore-upgrade-hds 2023-06-15 15:21:02 -07:00
Randall Morey 04fc1e9590 Merge pull request #1721 from hashicorp/merge-ent-main
Backport from ent main
2023-06-15 15:07:28 -07:00
Randall Morey 9cf347ed08 chore: 🤖 update yarn lock after ent merge 2023-06-15 13:37:38 -07:00
Randall Morey 5b8f79ace3 fix: 🐛 fix minor styling issues due to changes in HDS 2.7 2023-06-14 18:06:45 -07:00
Randall Morey 09f19b5c0f chore: 🤖 upgrade to HDS 2.7 2023-06-14 15:21:39 -07:00
hc-github-team-secure-boundary 82d748f2ab Merge pull request #343 from hashicorp/oss/merge-main-6a26093c182c1195118dc1091e405b056296314f
[main] OSS to ENT merge of (6a26093)
2023-06-14 17:11:24 -04:00
hc-github-team-secure-boundary 1c29ebf941 Merge pull request #342 from hashicorp/oss/merge-main-e5a03bcc910e38af73f01ed5b4abc167ea156d6f
[main] OSS to ENT merge of (e5a03bc)
2023-06-14 16:55:28 -04:00
github-team-secure-boundary e6a5668d22 Merge Boundary UI OSS branch 'main' at commit 6a26093c1 2023-06-14 20:41:59 +00:00
Carlos Alcaide Corvo 6a26093c18 Chore icu 9074 audit resolutions (#1717)
* chore: 🤖 Delete yargs-parser from resolutions

* chore: 🤖 Delete merge from resolutions

* chore: 🤖 Delete xmlhttprequest-ssl from resolutions
2023-06-14 13:41:27 -07:00
lisbet-alvarez bda7a46386 Merge branch 'main' into oss/merge-main-e5a03bcc910e38af73f01ed5b4abc167ea156d6f 2023-06-14 13:36:34 -07:00
Carlos Alcaide Corvoandlisbet-alvarez 83ed0041c4 Add retrieving lost session recording link to docs. (#337)
* Add retrieving lost session recording link to docs

* Update ui/admin/app/templates/scopes/scope/session-recordings/session-recording/channels-by-connection/channel/index.hbs

Co-authored-by: lisbet-alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
2023-06-14 13:28:26 -07:00
github-team-secure-boundary 632fe571d5 Merge Boundary UI OSS branch 'main' at commit e5a03bcc9 2023-06-14 20:18:28 +00:00
lisbet-alvarez e5a03bcc91 chore: 🤖 remove deprecated set-output cmd from jira.yml (#1716)
* chore: 🤖 remove deprecated set-output cmd from jira.yml

✅ Closes: ICU-9783
2023-06-14 13:17:55 -07:00
hc-github-team-secure-boundary c856a31413 Merge pull request #341 from hashicorp/oss/merge-main-6f5203c61fe2aec0ac6f4852047f1624067bf04b
[main] OSS to ENT merge of (6f5203c)
2023-06-14 15:29:04 -04:00
github-team-secure-boundary 870d340185 Merge Boundary UI OSS branch 'main' at commit 6f5203c61 2023-06-14 19:12:37 +00:00
Carlos Alcaide Corvo 6f5203c61f Chore icu 9073 audit resolutions (#1715)
* Delete highlight.js from resolutions

* Delete hoek from resolutions

* Delete elliptic from resolutions
2023-06-14 12:12:05 -07:00
hc-github-team-secure-boundary a14c22cb12 Merge pull request #340 from hashicorp/oss/merge-main-d75877263ee031500e57d5108eed575da2bda462
[main] OSS to ENT merge of (d758772)
2023-06-13 16:24:30 -04:00
github-team-secure-boundary 999c992e6f Merge Boundary UI OSS branch 'main' at commit d75877263
# Conflicts:
#	yarn.lock
2023-06-13 20:06:11 +00:00
Carlos Alcaide Corvo d75877263e Chore icu 9072 audit resolutions (#1713)
* chore: 🤖 Delete caniuse-lite from resolutions

* chore: 🤖 Delete immer from resolutions

* chore: 🤖 Delete node-notifier from resolutions
2023-06-13 13:05:39 -07:00
Dharini Jeeva b6331adfa8 chore: 🤖 add doc links to storage buckets and session recording (#336)
* chore: 🤖 add doc links to storage buckets and session recording
2023-06-13 12:01:02 -07:00
Cameron Perera 4f51988891 refactor: 💡 fix border-radius styles of asciinema player (#339) 2023-06-13 13:03:55 -05:00
hc-github-team-secure-boundary aac65ef3d9 Merge pull request #338 from hashicorp/oss/merge-main-2680301f98d88e94b100f33e5548d5eb67fcdb20
[main] OSS to ENT merge of (2680301)
2023-06-12 19:48:44 -04:00
github-team-secure-boundary e58bfe7090 Merge Boundary UI OSS branch 'main' at commit 2680301f9 2023-06-12 23:30:20 +00:00
hc-github-team-secure-boundary 07ec22c90d Merge pull request #335 from hashicorp/oss/merge-main-edf623adf07eaff5a730a728020ce3bc03ba6d7b
[main] OSS to ENT merge of (edf623a)
2023-06-12 13:06:16 -04:00
github-team-secure-boundary b965b830be Merge Boundary UI OSS branch 'main' at commit edf623adf 2023-06-12 15:39:35 +00:00
Randall Morey d48e702cd8 chore: 🤖 add placeholder to storage field (#332) 2023-06-09 01:52:37 +00:00
hc-github-team-secure-boundary 50a5ec0c43 Merge pull request #334 from hashicorp/oss/merge-main-37c0c55a6033e552bc8f4d5b707db731fb618b87
[main] OSS to ENT merge of (37c0c55)
2023-06-08 19:47:34 -04:00
github-team-secure-boundary a67719cbbc Merge Boundary UI OSS branch 'main' at commit 37c0c55a6 2023-06-08 23:31:46 +00:00
Zhihe Li 178e92a812 fix: 🐛 Fix asciicast errors not being shown properly (#333)
✅ Closes: ICU-9673
2023-06-08 19:13:34 -04:00
lisbet-alvarez 2a6a41104a fix: 🐛 look at correct object to display error message (#330)
✅ Closes: ICU-9662
2023-06-08 10:12:39 -07:00
hc-github-team-secure-boundary 80d72ddb82 Merge pull request #331 from hashicorp/oss/merge-main-863c080196567e98841555d3b7c6b91a84b5825c
[main] OSS to ENT merge of (863c080)
2023-06-07 21:47:14 -04:00
github-team-secure-boundary e438ce227a Merge Boundary UI OSS branch 'main' at commit 863c08019 2023-06-08 01:29:12 +00:00
Dharini Jeeva 0cd4439b71 fix: 🐛 add storage bucket within target (#324)
* fix: 🐛 add storage bucket within target
2023-06-07 15:45:46 -07:00
Devon Anderson c0b590dad2 refactor: 💡 Refactor default option in scope field and desc (#328)
* refactor: 💡 Refactor default option in scope field and desc

Refactor default option for scope field to be 'Choose an option' instead
of 'Global', so user can explicitly select their scope.  Refactor scope
field descriptions to give different context based on if the selection
is 'global' or an 'org' scope.

✅ Closes: ICU-9641

* refactor: 💡 refactor translations

Added correct translations for default, global, and org. Added small bit
of logic to help with switch of text on `onChange` event.
2023-06-07 18:04:18 -04:00
Carlos Alcaide Corvo 596ae9d817 fix: 🐛 Storage bucket region field not editable (#329)
* fix: 🐛 Storage bucket region field not editable
2023-06-07 12:56:15 -07:00
Cameron Perera b01d5f0271 refactor: 💡 Show View instead of Play if channel not asciicast (#325)
* refactor: 💡 Show View instead of Play if channel not asciicast

✅ Closes: ICU-9524

* refactor: 💡 every third channel is missing mime_types

* refactor: 💡 create new abilities for channel-recording

* refactor: 💡 use abilities for button logic for channels

* test: 💍 update channel-recording ability tests

* refactor: 💡 fix ChannelRecording ability import name

* refactor: 💡 change ability name to canPlay from canPlayChannel

* refactor: 💡 update OverrideChannelRecording ability methods
2023-06-07 14:15:55 -05:00
hc-github-team-secure-boundary 0ac8ec0290 Merge pull request #327 from hashicorp/oss/merge-main-547d44f1bdbc02777ac5da13cb382abd96c3ba09
[main] OSS to ENT merge of (547d44f)
2023-06-06 21:33:24 -04:00
github-team-secure-boundary 882e73c3e5 Merge Boundary UI OSS branch 'main' at commit 547d44f1b 2023-06-07 01:16:28 +00:00
Cameron Perera cf602c77d3 fix: 🐛 player test not waiting for player to initialize (#326)
* fix: 🐛 player test not waiting for player to initialize

* refactor: 💡 move back to channels assert out of waitUntil

* refactor: 💡 use includesText instead of hasAnyText
2023-06-06 18:08:49 -05:00
Cameron Perera 4071024853 refactor: 💡 fix indexed-display-name for readability (#323)
* refactor: 💡 fix indexed-display-name for readability

* refactor: 💡 rename reverse-indexed-display-name helper

from indexed-display-name to reverse-indexed-display-name
2023-06-06 12:52:07 -07:00
hc-github-team-secure-boundary 3a600b0b8c Merge pull request #321 from hashicorp/oss/merge-main-6e96676beb0b610a5d1f3f3ac53ffa0d9c0f9221
[main] OSS to ENT merge of (6e96676)
2023-06-05 18:10:36 -04:00
lisbet-alvarez 0d12d61044 Merge branch 'main' into oss/merge-main-6e96676beb0b610a5d1f3f3ac53ffa0d9c0f9221 2023-06-05 14:54:49 -07:00
Cameron Perera 9bd969c1f6 refactor: 💡 update indexed-display-name helper (#322) 2023-06-05 16:27:54 -05:00
Lisbet Alvarez 16b466d1de test: 💍 fix button selectors 2023-06-05 14:24:35 -07:00
github-team-secure-boundary 0d05de36fc Merge Boundary UI OSS branch 'main' at commit 6e96676be 2023-06-05 20:39:12 +00:00
Carlos Alcaide Corvo 35f5547bf4 Use storage bucket ID if name is not present (#320)
* Use storage bucket ID if name is not present
2023-06-05 09:52:27 -07:00
Carlos Alcaide Corvo da01862910 Add description to disable credential rotation (#318) 2023-06-05 07:58:37 -07:00
Dharini Jeeva 857e455caa fix: 🐛 remove session recording fields from tcp target (#317)
* fix: 🐛 remove session recording fields from tcp target
2023-06-02 16:03:17 -07:00
Zhihe Li 1409ec9fa5 fix: 🐛 Fix deep linked channels not loading data correctly (#315)
✅ Closes: ICU-9562
2023-06-02 17:48:34 -04:00
hc-github-team-secure-boundary cdc66a13c1 Merge pull request #316 from hashicorp/oss/merge-main-de10b275d34c0e70e1641ba7ba657df9d2a8388f
[main] OSS to ENT merge of (de10b27)
2023-06-02 13:53:22 -04:00
github-team-secure-boundary 4271b13a35 Merge Boundary UI OSS branch 'main' at commit de10b275d 2023-06-02 17:34:24 +00:00
Zhihe Li 34b3b04e76 chore: 🤖 Remove artifact builds for session recording branch (#314) 2023-06-01 17:52:52 -04:00
Zhihe Li 15b738d4ad Merge pull request #313 from hashicorp/session-recording
Merge session recording feature branch
2023-06-01 16:06:28 -04:00
Dharini Jeeva 97c95153d3 chore: 🤖 add description and doc link (#311) 2023-06-01 12:32:52 -07:00
Zhihe Li d8b73c253a Merge branch 'main' of https://github.com/hashicorp/boundary-ui-enterprise into session-recording 2023-06-01 15:00:26 -04:00
Carlos Alcaide Corvo 06cd27f974 Stop using format-date-iso-human which avoids T and timezone to use format-date-iso which includes T and TZ (#312) 2023-06-01 11:52:07 -07:00
hc-github-team-secure-boundary e6cc8a80c0 Merge pull request #310 from hashicorp/oss/merge-main-b94f3d164e4c9600e0fd985e45bbf7691d0ca1df
[main] OSS to ENT merge of (b94f3d1)
2023-06-01 13:31:46 -04:00
github-team-secure-boundary 77257e0d5d Merge Boundary UI OSS branch 'main' at commit b94f3d164 2023-06-01 17:13:40 +00:00
Randall Morey 8200c37842 chore: 🤖 add resource descriptions (#308) 2023-06-01 09:37:23 -07:00
hc-github-team-secure-boundary f8b25513f1 Merge pull request #309 from hashicorp/oss/merge-main-80748b28fb9fbd0a8804d0bbcc415844be272d04
[main] OSS to ENT merge of (80748b2)
2023-06-01 12:28:47 -04:00
github-team-secure-boundary bc44926ee0 Merge Boundary UI OSS branch 'main' at commit 80748b28f 2023-06-01 16:08:35 +00:00
Zhihe Liandcameronperera 204d2537d7 refactor: 💡 Add loading substate for channels (#303)
* refactor: 💡 Add loading substate for channels

* refactor: 💡 Use conditional block for session recording player

* style: 💄 Use a unicode ellipsis instead of periods

* refactor: 💡 rename asciiCast to asciicast (#307)

---------

Co-authored-by: cameronperera <cameron.perera@hashicorp.com>
2023-06-01 14:15:38 +00:00
Zhihe Li e36ee56de1 Merge from main (#305)
Merge from main
2023-05-31 17:13:56 -07:00
Cameron Perera d130a019d7 refactor: 💡 update to new filesize package and output format (#306) 2023-05-31 18:36:37 -05:00
hc-github-team-secure-boundary e2caa0654c Merge pull request #304 from hashicorp/oss/merge-main-963b5d465d99cf7116e98e798bd5555dfaa6a2a8
[main] OSS to ENT merge of (963b5d4)
2023-05-31 18:52:00 -04:00
github-team-secure-boundary ef15f93f11 Merge Boundary UI OSS branch 'main' at commit 963b5d465 2023-05-31 22:33:59 +00:00
Cameron PereraandZhihe Li 63c6d24363 fix: 🐛 add message for channels that cannot be played back (#302)
* fix: 🐛 Fix isAsciicast check

✅ Closes: ICU-9511

* fix: 🐛 add message for channels that cannot be played back

* Update ui/admin/app/templates/scopes/scope/session-recordings/session-recording/channels-by-connection/channel.hbs

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* refactor: 💡 update not supported message

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-05-31 15:01:12 -05:00
Zhihe Li 4ac6259d2a fix: 🐛 Fix isAsciicast check (#301)
✅ Closes: ICU-9511
2023-05-31 15:27:30 -04:00
Randall MoreyandZhihe Li 2cd4995c92 Feature worker recording storage path (#299)
* refactor: 💡 refactor worker form fieldset to use HDS

* feat: 🎸 add recording_storage_path optional config for workers

* chore: 🤖 tweak language and add learn-more link

* chore: 🤖 add additional feature check

* Update addons/core/translations/resources/en-us.yaml

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* chore: 🤖 use hds inline link

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-05-31 11:28:27 -07:00
hc-github-team-secure-boundary c90566aa77 Merge pull request #300 from hashicorp/oss/merge-main-9d7a23fcc4db76c3c4f8da3ca4b85d060c57d73d
[main] OSS to ENT merge of (9d7a23f)
2023-05-31 13:17:41 -04:00
github-team-secure-boundary 041931c13e Merge Boundary UI OSS branch 'main' at commit 9d7a23fcc 2023-05-31 17:01:03 +00:00
Carlos Alcaide Corvo 55b1ea7350 Change start_time for created_time (#297)
* Change started_time for created_time for session details within channels by connection
2023-05-30 13:15:04 -07:00
Randall Morey 998df39560 fix: 🐛 scopeModel should check for ID before calling peekRecord (#298) 2023-05-30 10:37:35 -07:00
Cameron Perera 3d9836a55b Icu 9482 add no connection message for session recording with no connections (#294)
* refactor: 💡 add controller for channels-by-connection/index

* feat: 🎸 show message for new session that have no connections

✅ Closes: ICU-9482

* feat: 🎸 add message for failed session with no connections (#296)

✅ Closes: ICU-9489

* refactor: 💡 remove '-' from 'in progress' usage
2023-05-30 11:34:07 -05:00
hc-github-team-secure-boundary 0614ce7b16 Merge pull request #293 from hashicorp/oss/merge-main-2a11d75ccf77ebe6a51b8448697840a6830c3083
[main] OSS to ENT merge of (2a11d75)
2023-05-26 14:34:11 -04:00
github-team-secure-boundary 520b369413 Merge Boundary UI OSS branch 'main' at commit 2a11d75cc 2023-05-26 18:15:31 +00:00
Cameron Perera 0aef13446b Update ember player (#290)
* chore: 🤖 update ember-asciinema-player

* refactor: 💡 update player styles after player update

* test: 💍 update class selector for player test

* refactor: 💡 remove custom border-width from player styles
2023-05-26 13:05:34 -05:00
Cameron Perera 9d7905402e Fix player fullscreen issue (#292)
* refactor: 💡 layout grid columns

* fix: 🐛 fix issue where player stays at fullscreen size on exit

✅ Closes: ICU-9456
2023-05-26 12:27:27 -05:00
Dharini Jeeva 0d161a5623 fix: 🐛 form abandon confirmation popup in enable session recording route (#289)
* fix: 🐛 form abandon confirmation popup
2023-05-25 15:54:32 -07:00
lisbet-alvarez abeee7dc1b refactor: 💡 disable uneditable storage bucket form fields (#279)
* refactor: 💡 disable uneditable storage bucket form fields

✅ Closes: ICU-9430

* refactor: 💡 update fields to be readOnly in edit mode & tests

* refactor: 💡 remove duplicate field
2023-05-25 14:43:20 -07:00
Cameron Perera 502eba304d refactor: 💡 hide metadata items if undefined (#288)
* refactor: 💡 hide metadata items if undefined

* refactor: 💡 hide channel metadata if undefined
2023-05-25 14:58:06 -05:00
Cameron Perera 33afb64476 feat: 🎸 add no channels message for empty connections (#287)
✅ Closes: ICU-9443
2023-05-25 10:31:51 -05:00
Dharini Jeeva bf13b71807 refactor: 💡 title case, remove ID (#286) 2023-05-24 16:02:39 -07:00
Zhihe Li c63c95fd51 chore: 🤖 Update serializer for storage buckets (#282) 2023-05-24 21:57:30 +00:00
Zhihe Li 67a23a50fe Merge pull request #285 from hashicorp/merge-from-main
Merge from main
2023-05-24 17:37:38 -04:00
Cameron Perera fe96668721 Icu 9442 add session recording status to details sidebar (#284)
* refactor: 💡 make icon not required for metadata list items

* refactor: 💡 update class name for SessionRecording Status badge

* feat: 🎸 display SessionRecording Status on Details sidebar

✅ Closes: ICU-9442
2023-05-24 16:26:19 -05:00
Zhihe Li 3170d52090 Merge branch 'main' of https://github.com/hashicorp/boundary-ui-enterprise into merge-from-main 2023-05-24 15:18:02 -04:00
hc-github-team-secure-boundary f6120f2959 Merge pull request #283 from hashicorp/oss/merge-main-59183b9b209f57259bd263d3a5a97001a01d66bf
[main] OSS to ENT merge of (59183b9)
2023-05-24 14:41:56 -04:00
github-team-secure-boundary 309ab982d7 Merge Boundary UI OSS branch 'main' at commit 59183b9b2 2023-05-24 18:21:36 +00:00
Cameron Perera 2659163b37 Icu 9418 hide play button if session recording is still in progress (#281)
* feat: 🎸 add isAvailable method to session recording model

✅ Closes: ICU-9418

* feat: 🎸 hide play button if session recording in-progress

* refactor: 💡 use translation for channel list play button

* refactor: 💡 move Play translation to actions from resources
2023-05-24 12:46:32 -05:00
7e2af27453 Add session-recording status component (#278)
* Add status component

* Update ui/admin/app/components/session-recording/status/index.js

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

* refactor: 💡 update SessionRecording::Status component

* refactor: 💡 fix linting issues

---------

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-05-24 11:28:18 -05:00
Zhihe Li fd6931108d chore: 🤖 Update times/durations to more accurately reflect api (#277) 2023-05-23 18:57:47 -04:00
Cameron Perera a63776e76f Icu 9415 remove sorted computed value for connections channels (#276)
* refactor: 💡 remove sorted connections from session recording

Removed from session recording model and respective templates

✅ Closes: ICU-9415

* refactor: 💡 remove sorted channels from connections model

and removed from the appropriate templates and breadcrumb
2023-05-23 16:10:39 -05:00
hc-github-team-secure-boundary 041814d9e6 Merge pull request #275 from hashicorp/oss/merge-main-fde4ec4e05908939503fea866c5599132d67918d
[main] OSS to ENT merge of (fde4ec4)
2023-05-23 15:56:19 -04:00
github-team-secure-boundary 97ea2cbbaa Merge Boundary UI OSS branch 'main' at commit fde4ec4e0 2023-05-23 19:38:10 +00:00
lisbet-alvarez 7cb9ae9f3b refactor: 💡 disable delete action for storage bucket (#273)
* refactor: 💡 disable delete action for storage bucket
2023-05-23 08:47:54 -07:00
Randall Morey 4e09aae653 chore: 🤖 pin ember-asciinema-player to latest and pass @poster (#272) 2023-05-22 16:42:40 -07:00
hc-github-team-secure-boundary f23b2eb4e5 Merge pull request #271 from hashicorp/oss/merge-main-8d77bc60b3bc5cd2234e90d76b2ab33eb1be1ae6
[main] OSS to ENT merge of (8d77bc6)
2023-05-22 19:05:41 -04:00
github-team-secure-boundary a3462d3c71 Merge Boundary UI OSS branch 'main' at commit 8d77bc60b 2023-05-22 22:46:45 +00:00
Zhihe Li 55f7406576 chore: 🤖 Update storage buckets to handle new api changes (#266) 2023-05-22 17:28:48 -04:00
Randall Morey 1a57e2b96d chore: 🤖 secret input should default to type password (#269)
* chore: 🤖 secret input should default to type password

* chore: 🤖 storage bucket aws key fields should be passwords
2023-05-22 12:27:06 -07:00
Carlos Alcaide Corvo 9f500b6627 Change the time we show, before we used start_time, now we use created_time (#263) 2023-05-22 11:36:14 -07:00
hc-github-team-secure-boundary d8ea78c4b0 Merge pull request #270 from hashicorp/oss/merge-main-379f317d8b03e573cc2e35ccde06b040d8dc1862
[main] OSS to ENT merge of (379f317)
2023-05-22 14:33:12 -04:00
github-team-secure-boundary 4928407310 Merge Boundary UI OSS branch 'main' at commit 379f317d8 2023-05-22 18:17:17 +00:00
hc-github-team-secure-boundary 2e41abe67f Merge pull request #268 from hashicorp/oss/merge-main-fe81a626fa7c30647f6966cbadc56ac63954d5bc
[main] OSS to ENT merge of (fe81a62)
2023-05-22 11:55:05 -04:00
Randall Morey 8d883073e1 fix: 🐛 fix mismtach between fe/be feature flag strings (#264)
* fix: 🐛 fix mismtach between fe/be feature flag strings

* chore: 🤖 add development can helper to recompute on flags
2023-05-22 08:49:30 -07:00
github-team-secure-boundary 20fdabe738 Merge Boundary UI OSS branch 'main' at commit fe81a626f 2023-05-22 15:38:34 +00:00
hc-github-team-secure-boundary 8ef8871a01 Merge pull request #267 from hashicorp/oss/merge-main-a2cc33d405f006a128fc0649e58d7ffc81f15651
[main] OSS to ENT merge of (a2cc33d)
2023-05-19 19:26:05 -04:00
github-team-secure-boundary c5032b0d82 Merge Boundary UI OSS branch 'main' at commit a2cc33d40 2023-05-19 23:11:27 +00:00
hc-github-team-secure-boundary 3c1eaf25e9 Merge pull request #265 from hashicorp/oss/merge-main-e6664b882faecacc4e9ffa64d18dedcb14534d61
[main] OSS to ENT merge of (e6664b8)
2023-05-19 17:53:00 -04:00
github-team-secure-boundary d37a8772f3 Merge Boundary UI OSS branch 'main' at commit e6664b882 2023-05-19 20:00:25 +00:00
Dharini Jeeva f0550290e2 fix: 🐛 target form width (#262) 2023-05-18 16:23:26 -07:00
Dharini Jeeva d9054a9ffe fix: 🐛 scope name (#261) 2023-05-18 15:31:53 -07:00
Zhihe Li a03202f51c chore: 🤖 Include created_time as part of session recordings (#260) 2023-05-18 17:27:32 -04:00
Carlos Alcaide Corvo 6802f4a4da refactor: 💡 Add template conditionals for dates and duration (#257)
Add template conditionals within session-recordings for start_date,
end_date and duration fields.
2023-05-18 09:08:44 -07:00
hc-github-team-secure-boundary 9f0b22ea34 Merge pull request #259 from hashicorp/oss/merge-main-6dd0423923dc66282f44c46257102840c0348504
[main] OSS to ENT merge of (6dd0423)
2023-05-17 17:49:48 -04:00
github-team-secure-boundary 6dd536a1f0 Merge Boundary UI OSS branch 'main' at commit 6dd042392 2023-05-17 21:31:42 +00:00
Randall Morey 1afe8af15a Session recording and storage bucket abilities cleanup (#256)
* refactor: 💡 cleanup session recording abilities

* refactor: 💡 use super call instead of duplicating check

* refactor: 💡 cleanup storage bucket abilities
2023-05-17 12:24:31 -07:00
Zhihe Li ed5416477d chore: 🤖 More updates for models and mirage (#253) 2023-05-17 12:01:34 -04:00
hc-github-team-secure-boundary 14f0cae2b0 Merge pull request #255 from hashicorp/oss/merge-main-e8a10b313135baf91a18066cf45f3b36bfee54df
[main] OSS to ENT merge of (e8a10b3)
2023-05-16 17:31:13 -06:00
github-team-secure-boundary 1b11dc986a Merge Boundary UI OSS branch 'main' at commit e8a10b313 2023-05-16 23:11:13 +00:00
hc-github-team-secure-boundary 40bec2ed24 Merge pull request #254 from hashicorp/oss/merge-main-7d909551ac45a0649bd11adc10b8f8dbe270cce9
[main] OSS to ENT merge of (7d90955)
2023-05-16 10:54:40 -06:00
github-team-secure-boundary be33200c85 Merge Boundary UI OSS branch 'main' at commit 7d909551a 2023-05-16 16:38:24 +00:00
hc-github-team-secure-boundary bd0361d611 Merge pull request #252 from hashicorp/oss/merge-main-3b3d6ab50fb690e307479b925302ad08f13d2732
[main] OSS to ENT merge of (3b3d6ab)
2023-05-11 16:31:42 -06:00
github-team-secure-boundary 5a75833b79 Merge Boundary UI OSS branch 'main' at commit 3b3d6ab50 2023-05-11 22:15:58 +00:00
Randall Morey 6e0cc57509 chore: 🤖 enable UI build/cache on session-recording llb (#250) 2023-05-11 14:48:50 -07:00
hc-github-team-secure-boundary 88ce2b41e2 Merge pull request #251 from hashicorp/oss/merge-main-4c80f8d8ff3f2ddc7468283fd1ed77e058f7ab08
[main] OSS to ENT merge of (4c80f8d)
2023-05-11 15:13:56 -06:00
github-team-secure-boundary c5ec9e7300 Merge Boundary UI OSS branch 'main' at commit 4c80f8d8f 2023-05-11 20:55:59 +00:00
hc-github-team-secure-boundary f10eeb2294 Merge pull request #249 from hashicorp/oss/merge-main-b344c5fc18e51208dfaab6d166844770e8ad66db
[main] OSS to ENT merge of (b344c5f)
2023-05-10 16:28:12 -06:00
github-team-secure-boundary b44128c791 Merge Boundary UI OSS branch 'main' at commit b344c5fc1 2023-05-10 22:08:06 +00:00
hc-github-team-secure-boundary 6d6ccddc4e Merge pull request #248 from hashicorp/oss/merge-main-fd72b414e03fc9a319715b9c046fbb45b148cd8e
[main] OSS to ENT merge of (fd72b41)
2023-05-10 14:35:41 -07:00
github-team-secure-boundary 03c98a4c6f Merge Boundary UI OSS branch 'main' at commit fd72b414e 2023-05-10 21:14:56 +00:00
Zhihe Li 57cb86acad Merge branch 'main' of https://github.com/hashicorp/boundary-ui-enterprise into session-recording 2023-05-10 10:53:20 -04:00
hc-github-team-secure-boundary d8f42098cb Merge pull request #247 from hashicorp/oss/merge-main-5723d8efb5e4f990ea4aa7eb54f4be11a5e9f6f1
[main] OSS to ENT merge of (5723d8e)
2023-05-09 15:23:24 -07:00
github-team-secure-boundary 005661ead5 Merge Boundary UI OSS branch 'main' at commit 5723d8efb 2023-05-09 22:07:10 +00:00
Dharini Jeeva 5844768f57 chore: 🤖 add disable cred rotation field to storage bucket creation form (#246)
* chore: 🤖 add disable cred rotation field
2023-05-09 14:06:05 -07:00
Zhihe Li 03fd24f1ec chore: 🤖 Update storage bucket aws plugin name (#245) 2023-05-08 18:25:42 +00:00
Zhihe Li 0dee7b5a02 chore: 🤖 Update session recording API (#243)
* chore: 🤖 Update session recording API

* chore: 🤖 Update usage of scope id for targets

* chore: 🤖 Update scope id usage for user in session recordings
2023-05-08 18:05:01 +00:00
Carlos Alcaide Corvo 308a393202 refactor: 💡 Refactor layout-sidebar (#238)
* refactor: 💡 Refactor layout-sidebar

Refactor layout-sidebar to assign a fix width to the sidebar part of the
layout

✅ Closes: ICU-9164
2023-05-05 15:05:02 -07:00
Cameron Perera d08e4be0c6 refactor: 💡 update how project & target are displayed in table (#242)
* refactor: 💡 update how project & target are displayed in table

✅ Closes: ICU-9165

* refactor: 💡 update gap to use rem

* refactor: 💡 update with PR feedback

* refactor: 💡 use flex-direction column instead of display block
2023-05-05 13:49:57 -05:00
hc-github-team-secure-boundary fbfad4e649 Merge pull request #244 from hashicorp/oss/merge-main-041990322fb625ae6517a9e6fe44303c4634714d
[main] OSS to ENT merge of (0419903)
2023-05-05 11:42:04 -07:00
github-team-secure-boundary d8da619b9c Merge Boundary UI OSS branch 'main' at commit 041990322 2023-05-05 18:27:36 +00:00
Devon Anderson 1d3914e5ac refactor: 💡 changed title description for provider in storage buckets (#239)
* refactor: 💡 changed title description for provider

Change title from `AWS` to `Amazon S3` in the provider <InfoField /> for
storage buckets.

✅ Closes: ICU-9166

* refactor: 💡 quick refactor

Refactor of Amazon title in table description
2023-05-04 17:13:22 -04:00
Zhihe Li aed2bd5851 Merge branch 'main' of https://github.com/hashicorp/boundary-ui-enterprise into session-recording 2023-05-04 15:48:59 -04:00
hc-github-team-secure-boundary 19793ae5d3 Merge pull request #241 from hashicorp/oss/merge-main-3d1ac0a4e024c9d8d8c72879cef034682fa90c7c
[main] OSS to ENT merge of (3d1ac0a)
2023-05-04 12:48:41 -07:00
github-team-secure-boundary f69cbf0e33 Merge Boundary UI OSS branch 'main' at commit 3d1ac0a4e 2023-05-04 19:14:37 +00:00
lisbet-alvarez bf0b7d56b7 refactor: 💡 update storage bucket scope helper text (#240)
✅ Closes: ICU-9167
2023-05-04 12:00:15 -07:00
Carlos Alcaide CorvoandZhihe Li bdc9f86394 Chore session recordings bits and pieces (#237)
* Add the word up & down to the bytes strings

* Add string duration to all the duration strings that are out of a table

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-05-03 10:56:24 -07:00
Cameron Perera 7c06d7f2d4 feat: 🎸 Update Channel identifiers and breadcrumb (#235)
* feat: 🎸 Update Channel identifiers and breadcrumb

* refactor: 💡 updates after PR feedback

* refactor: 💡 remove unneeded function

* refactor: 💡 move all of indexedDisplayName into plain function
2023-05-03 11:03:48 -05:00
Zhihe Li c8c111a7e9 Merge pull request #236 from hashicorp/merge-from-main
Merge from main
2023-05-02 17:57:51 -04:00
Zhihe Li d10b0a7bff Merge branch 'main' of https://github.com/hashicorp/boundary-ui-enterprise into merge-from-main 2023-05-02 17:23:14 -04:00
Cameron Perera 49fb722a68 feat: 🎸 change Connection titles to Connection 1 vs the ID (#234)
* feat: 🎸 change Connection titles to Connection 1 vs the ID

✅ Closes: ICU-8667

* refactor: 💡 address PR feedback
2023-05-02 12:59:30 -05:00
hc-github-team-secure-boundary 880fba6844 Merge pull request #233 from hashicorp/oss/merge-main-ffd36003e0e6125eb3660a4ab89b4d28aa93537d
[main] OSS to ENT merge of (ffd3600)
2023-05-01 11:37:01 -07:00
github-team-secure-boundary 665e273a17 Merge Boundary UI OSS branch 'main' at commit ffd36003e 2023-05-01 18:16:53 +00:00
Cameron Perera 1a7a91d899 refactor: 💡 use tranlations for list.Item text property (#232) 2023-04-28 14:34:04 -05:00
Cameron Perera 0c524019df Channels by connection screen updates (#231)
* feat: 🎸 add session recording id to details sidebar section

* refactor: 💡 change sidebar section headers to h2

* feat: 🎸 Add Channel ID under page title and modify spacing

* feat: 🎸 add relevant IDs to connection and channel screens
2023-04-28 13:23:12 -05:00
hashicorp-tsccr[bot]andhashicorp-tsccr[bot] ee1c32da7e Result of tsccr-helper -pin-all-workflows . (#227)
Co-authored-by: hashicorp-tsccr[bot] <hashicorp-tsccr[bot]@users.noreply.github.com>
2023-04-28 11:45:18 -04:00
hc-github-team-secure-boundary a42ef89c82 Merge pull request #230 from hashicorp/oss/merge-main-f6a9c4c526a74687c85af80f92bfbb7d714837eb
[main] OSS to ENT merge of (f6a9c4c)
2023-04-27 12:44:02 -07:00
github-team-secure-boundary 55fb9bc5c5 Merge Boundary UI OSS branch 'main' at commit f6a9c4c52 2023-04-27 19:25:10 +00:00
Cameron Perera ed460e9231 refactor: 💡 remove link until we have a destination url (#228) 2023-04-27 13:55:40 -05:00
hc-github-team-secure-boundary e986847922 Merge pull request #229 from hashicorp/oss/merge-main-9bd356e9d1923a0953607b6c44db91469fafc01e
[main] OSS to ENT merge of (9bd356e)
2023-04-27 11:26:12 -07:00
github-team-secure-boundary 9d2fca27ca Merge Boundary UI OSS branch 'main' at commit 9bd356e9d 2023-04-27 18:07:31 +00:00
Cameron Perera 1c5c0c84fe feat: 🎸 add channel ID to channel table & copyable link for ID (#226)
* feat: 🎸 add channel ID to channel table & copyable link for ID

✅ Closes: ICU-9051

* feat: 🎸 add IDs to channels-by-connection template
2023-04-27 12:08:01 -05:00
Carlos Alcaide Corvo 0d9602f4ba refactor: 💡 Refactor session-recordings routes (#222)
* refactor: 💡 Refactor session-recordings routes
2023-04-27 09:35:52 -07:00
hc-github-team-secure-boundary 27bb249e1a Merge pull request #225 from hashicorp/oss/merge-main-46d8758fbad620963a9f9b360870121825d63edb
[main] OSS to ENT merge of (46d8758)
2023-04-26 12:54:36 -07:00
github-team-secure-boundary 993664f365 Merge Boundary UI OSS branch 'main' at commit 46d8758fb 2023-04-26 19:38:36 +00:00
Cameron Perera 451fcdbfeb feat: 🎸 add getAsciicast permission to channel route & template (#221)
✅ Closes: ICU-8695
2023-04-26 13:41:41 -05:00
hc-github-team-secure-boundary fd377815a0 Merge pull request #224 from hashicorp/oss/merge-main-a05d07919aefa81ec3508b46d16c1377ab516a8d
[main] OSS to ENT merge of (a05d079)
2023-04-26 10:56:09 -07:00
github-team-secure-boundary fadf055d9f Merge Boundary UI OSS branch 'main' at commit a05d07919 2023-04-26 17:38:33 +00:00
hc-github-team-secure-boundary e66282e289 Merge pull request #223 from hashicorp/oss/merge-main-d0e00c9ea7e21ce8ccb441c64be0f6481e4c77a5
[main] OSS to ENT merge of (d0e00c9)
2023-04-26 09:41:33 -07:00
github-team-secure-boundary 3e62f9cbb3 Merge Boundary UI OSS branch 'main' at commit d0e00c9ea 2023-04-26 16:22:00 +00:00
+1 2d5323b07a Merge main into session recording (#219)
* fix: 🐛 add model hook to host route for dynamic host catalogs (#1659)

* fix: 🐛 add model hook to host route for dynamic host catalogs

✅ Closes: ICU-8594

* refactor: 💡 remove page formatting for host route

* [COMPLIANCE] Add Copyright and License Headers (#1660)

Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>

* chore(deps-dev): bump webpack from 5.59.1 to 5.76.0 (#1654)

Bumps [webpack](https://github.com/webpack/webpack) from 5.59.1 to 5.76.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.59.1...v5.76.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Randall Morey <randall@randallmorey.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>

* Feature metadata (#1661)

* feat: 🎸 load edition from controller-metadata.json

* refactor: 💡 rename edition and add licensed features support

* chore: 🤖 support dev toggling of licensed features

* chore: 🤖 rename ent edition

* Update ui/admin/app/services/feature-edition.js

* Update ui/admin/app/instance-initializers/feature-edition.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* chore: 🤖 cleanup

* chore: 🤖 feature edition disabled in tests / fix test cases

* test: 💍 remove feature disable calls in tests

* test: 💍 fix broken tests

* fix: 🐛 fix config bug

* fix: 🐛 fix broken test due to feature flags

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* fix: 🐛 Fix missing translation (#1662)

Fix missing translation on the toggle color theme selector

* Resolutions audit: Delete 3 oldest resolutions (#1663)

* Delete bl from resolutions

* Delete tough-cookie from resolutions

* Delete npm from resolutions

* chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 (#1665)

Bumps [http-cache-semantics](https://github.com/kornelski/http-cache-semantics) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/kornelski/http-cache-semantics/releases)
- [Commits](https://github.com/kornelski/http-cache-semantics/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: http-cache-semantics
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: 🤖 Update electron-forge/* packages (#1666)

Update electron-forge/* packages

* feat: 🎸 Add support to display external name for dynamic hosts (#1664)

* feat: 🎸 Add support to display external name for dynamic hosts

✅ Closes: ICU-8795

* test(admin/e2e): Add create target with address test (#1667)

* chore: 🤖 update design system package (#1668)

* test(admin/e2e): Define expected private key for vault credential store test (#1671)

* test: 💍 (admin-e2e): Add test to create different credentials (#1670)

* chore: 🤖 add json5 to resolutions per dependabot alerts (#1672)

* chore: 🤖 add json5 to resolutions per dependabot alerts

* fix: 🐛 remove unecessary resolutions

* chore: 🤖 upgrade @storybook/ember-cli-storybook to 0.6.0 (#1669)

* chore: 🤖 update @storybook/ember-cli-storybook to 0.6.0

✅ Closes: ICU-6588

* chore: 🤖 remove css-what from resolutions

* refactor: 💡 update selector for delete storage bucket test

* chore: 🤖 fix yarn.lock

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: lisbet-alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Randall Morey <randall@randallmorey.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
Co-authored-by: github-team-secure-boundary <hc-github-team-secure-boundary@hashicorp.com>
Co-authored-by: hc-github-team-secure-boundary <82989682+hc-github-team-secure-boundary@users.noreply.github.com>
Co-authored-by: Stan Ryzhov <60649800+stasryzhov@users.noreply.github.com>
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-04-25 16:22:12 -05:00
hc-github-team-secure-boundary 4e874419ef Merge pull request #218 from hashicorp/oss/merge-main-61269f901a3979c6b6db68557dfb0f8dee55c30b
[main] OSS to ENT merge of (61269f9)
2023-04-24 10:24:21 -07:00
Cameron Perera 1717968e59 Icu 9020 move connection channel sorting to model (#217)
* test: 💍 add tests for sorted connection and channels

* feat: 🎸 Add sorted property for connections and channels

✅ Closes: ICU-9020
2023-04-24 12:10:17 -05:00
github-team-secure-boundary cd4ede8f7c Merge Boundary UI OSS branch 'main' at commit 61269f901 2023-04-24 17:05:47 +00:00
Zhihe Li 05830925d5 fix: 🐛 Fix scope model in nested users/targets (#214) 2023-04-24 12:07:23 -04:00
Carlos Alcaide Corvo df0cea890d refactor: 💡 Refactor Start date format within session-recording (#209)
* refactor: 💡 Refactor Start date format within session-recording
2023-04-24 08:37:09 -07:00
Carlos Alcaide CorvoandCameron Perera db408a9acd feat: 🎸 Add related info to session recording and player (#195)
* feat: 🎸 Add related info to session recording and player

---------

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2023-04-24 08:17:27 -07:00
Cameron Perera 87aea507f8 refactor: 💡 enable permission for listing session recordings (#215)
✅ Closes: ICU-9003
2023-04-21 16:39:13 -05:00
Cameron Perera 2de336186c refactor: 💡 Update session recording route model signature (#216) 2023-04-21 16:24:26 -05:00
Cameron Perera ebe504ff6a feat: 🎸 sort Connections and Channels by start_time (#213)
✅ Closes: ICU-8962
2023-04-21 12:20:25 -05:00
hc-github-team-secure-boundary 16b0e60488 Merge pull request #212 from hashicorp/oss/merge-main-6cb9c2ab1beb2366daa36b4a21471ebdd00e6087
[main] OSS to ENT merge of (6cb9c2a)
2023-04-20 15:54:39 -07:00
github-team-secure-boundary cabb88030e Merge Boundary UI OSS branch 'main' at commit 6cb9c2ab1 2023-04-20 22:38:20 +00:00
hc-github-team-secure-boundary 22992f126f Merge pull request #211 from hashicorp/oss/merge-main-3ea8ade8289807090f7776f3390e943b30e4d7ae
[main] OSS to ENT merge of (3ea8ade)
2023-04-20 12:01:01 -07:00
github-team-secure-boundary b7ae805180 Merge Boundary UI OSS branch 'main' at commit 3ea8ade82 2023-04-20 18:07:49 +00:00
Carlos Alcaide Corvo f1fde7f2a4 fix: 🐛 Fix channel information (#210)
Fix Channel information, before we were using session-recording (wrong)
now we are using the channel-recording
2023-04-20 10:38:33 -07:00
Randall MoreyandDharini Jeeva c11aa3d4f2 refactor: 💡 loading of buckets in recordings routes could fail (#208)
* refactor: 💡 loading of buckets in recordings routes could fail

* Update ui/admin/app/controllers/scopes/scope/session-recordings/index.js

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

* Update ui/admin/app/controllers/scopes/scope/session-recordings/index.js

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>

---------

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2023-04-19 14:06:18 -07:00
Zhihe Li 26d676f134 fix: 🐛 Fix deleted resources existing on session recordings (#205) 2023-04-19 15:51:56 -04:00
Cameron Perera 85651d4776 refactor: 💡 sort connection_recordings by start_time (#207)
* refactor: 💡 sort connection_recordings by start_time

✅ Closes: ICU-8961

* refactor: 💡 remove ember array cast for connection_recordings

* refactor: 💡 let to const
2023-04-19 13:46:23 -05:00
Zhihe Li 4c9811739c refactor: 💡 Update list session recording API (#203)
* refactor: 💡 Update list session recording API
2023-04-19 12:34:31 -04:00
hc-github-team-secure-boundary eabdd07d25 Merge pull request #206 from hashicorp/oss/merge-main-1c392f72b9a588bc6ba14449a90b73a9da4e8644
[main] OSS to ENT merge of (1c392f7)
2023-04-19 08:23:16 -07:00
github-team-secure-boundary e69e82f9a8 Merge Boundary UI OSS branch 'main' at commit 1c392f72b 2023-04-19 15:09:50 +00:00
hc-github-team-secure-boundary b1c727c8ca Merge pull request #204 from hashicorp/oss/merge-main-ec0b610f8bbe83c978938fb6efcf60cf8a5d3607
[main] OSS to ENT merge of (ec0b610)
2023-04-18 15:32:20 -07:00
github-team-secure-boundary b01e12d543 Merge Boundary UI OSS branch 'main' at commit ec0b610f8 2023-04-18 21:41:52 +00:00
Carlos Alcaide Corvo 61a3e17c5e fix: 🐛 Use channel recording information (#202)
Use channel recording information instead of session recording when on
channel screen
2023-04-18 13:00:18 -07:00
Carlos Alcaide Corvo 40cddd829e refactor: 💡 Refactor link list panel (#199)
* refactor: 💡 Refactor link list panel
2023-04-18 10:58:04 -07:00
Cameron Perera a48fd5d9f4 refactor: 💡 remove Type column from channel table (#201)
* refactor: 💡 remove Type column from channel table

✅ Closes: ICU-8772

* refactor: 💡 remove Type reference from Channel details sidebar

* refactor: 💡 remove unused Type translation
2023-04-18 12:30:37 -05:00
Cameron Perera ceefb0b31c refactor: 💡 update start prompt styles to display none (#200) 2023-04-18 10:54:01 -05:00
Cameron Perera c05e7002d8 refactor: 💡 Update Asciinema player control bar styles (#197)
* refactor: 💡 Update Asciinema player control bar styles

✅ Closes: ICU-8416

* refactor: 💡 remove rem from bottom set to 0 (zero)

* style: 💄 fix stylesheet linter issues
2023-04-17 17:48:41 -05:00
hc-github-team-secure-boundary bd9ddac64b Merge pull request #198 from hashicorp/oss/merge-main-9795353545dd7491c14014519af11fba8afee967
[main] OSS to ENT merge of (9795353)
2023-04-17 13:29:42 -07:00
github-team-secure-boundary 0bf11a611d Merge Boundary UI OSS branch 'main' at commit 979535354 2023-04-17 20:15:37 +00:00
Carlos Alcaide Corvo afd89bddb3 feat: 🎸 Add MetadataList component (#193)
Add MetadataList component and use of it within session-recordings

✅ Closes: ICU-8232
2023-04-17 12:49:08 -07:00
hc-github-team-secure-boundary 07d679ba3b Merge pull request #196 from hashicorp/oss/merge-main-054881dc4ee26f9dc13bc7a977bad0cce272ce24
[main] OSS to ENT merge of (054881d)
2023-04-17 10:35:10 -07:00
github-team-secure-boundary 51925b9947 Merge Boundary UI OSS branch 'main' at commit 054881dc4 2023-04-17 17:23:04 +00:00
hc-github-team-secure-boundary bc8d69cdf1 Merge pull request #194 from hashicorp/oss/merge-main-a4395b85a687af0bdbb215189fd55cd749ab8275
[main] OSS to ENT merge of (a4395b8)
2023-04-17 09:04:10 -07:00
github-team-secure-boundary 0773358abd Merge Boundary UI OSS branch 'main' at commit a4395b85a 2023-04-17 15:44:17 +00:00
Dharini Jeeva 09796ac8a3 target session recording enablement acceptance test (#192)
* test: 💍 target session recording enablement tests
2023-04-07 11:56:28 -07:00
lisbet-alvarez c91a33a796 feat: 🎸 delete action for storage bucket (#191)
* feat: 🎸 delete action for storage bucket

✅ Closes: ICU-8229
2023-04-07 10:44:48 -07:00
lisbet-alvarez 33af4cd7ea Icu 8801 update settings icon to link in target edit screen (#188)
* refactor: 💡 update settings icon to link in target edit screen

* style: 💄 whitespace

✅ Closes: ICU-8801

* test: 💍 remove unnecessary a11yAudit() check

* test: 💍 fix test

* refactor: 💡 fix translation

* refactor: 💡 settings link shouldn't be visible under button
2023-04-06 10:45:19 -07:00
hc-github-team-secure-boundary a4a97bc9e6 Merge pull request #190 from hashicorp/oss/merge-main-509925ff10a5176f9fdd08de6ce12d23390d5a93
[main] OSS to ENT merge of (509925f)
2023-04-06 12:47:26 -04:00
github-team-secure-boundary 149ad02fa4 Merge Boundary UI OSS branch 'main' at commit 509925ff1 2023-04-06 16:29:52 +00:00
hc-github-team-secure-boundary d9b585040b Merge pull request #189 from hashicorp/oss/merge-main-d5c8389ae28ed7ece7e749622cf917f295d24a90
[main] OSS to ENT merge of (d5c8389)
2023-04-05 21:22:35 -04:00
github-team-secure-boundary 8c580666f2 Merge Boundary UI OSS branch 'main' at commit d5c8389ae 2023-04-06 01:04:43 +00:00
Randall Morey affcb420c7 chore: 🤖 add session-recording to licensedFeatures (#185) 2023-04-05 16:55:08 -07:00
lisbet-alvarezandZhihe Li 6a48c31d83 feat: 🎸 add storage bucket card on ssh target (#163)
* feat: 🎸 storage bucket card on ssh target

✅ Closes: ICU-8631

* Update ui/admin/app/routes/scopes/scope/targets/target/index.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-04-05 10:49:15 -07:00
Cameron Perera 9fc4be7b61 refactor: 💡 fix active link style issue with SR Player (#183)
* refactor: 💡 fix active link style issue with SR Player

✅ Closes: ICU-8774

* refactor: 💡 update player hds link to hds button and styles

* refactor: 💡 add translation for "Back to channels" text

* test: 💍 add Intl setup hook to player test
2023-04-05 10:02:19 -05:00
Dharini Jeeva 2c93c378c4 Fix feature flag session recording target (#187)
* chore: 🤖 wrap target session recording with feature flag

* fix: 🐛 test

* fix: 🐛 test

* fix: 🐛 use ember truth helper
2023-04-04 12:20:45 -07:00
Dharini Jeeva 639d57f927 Icu 8704 enable session recording route model hook (#180)
* feat: 🎸 target session recording toggle
2023-04-04 11:01:00 -07:00
Dharini JeevaandZhihe Li dc479d45b2 chore: 🤖 yarn lock up to date (#184)
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-04-04 09:44:25 -07:00
Cameron Perera cdaab19d1f test: 💍 fix flaky session-recording player render test (#186) 2023-04-04 11:10:28 -05:00
2a9c4507d2 Main to session recording (#178)
* fix: 🐛 add model hook to host route for dynamic host catalogs (#1659)

* fix: 🐛 add model hook to host route for dynamic host catalogs

✅ Closes: ICU-8594

* refactor: 💡 remove page formatting for host route

* [COMPLIANCE] Add Copyright and License Headers (#1660)

Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>

* chore(deps-dev): bump webpack from 5.59.1 to 5.76.0 (#1654)

Bumps [webpack](https://github.com/webpack/webpack) from 5.59.1 to 5.76.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.59.1...v5.76.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Randall Morey <randall@randallmorey.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>

* Feature metadata (#1661)

* feat: 🎸 load edition from controller-metadata.json

* refactor: 💡 rename edition and add licensed features support

* chore: 🤖 support dev toggling of licensed features

* chore: 🤖 rename ent edition

* Update ui/admin/app/services/feature-edition.js

* Update ui/admin/app/instance-initializers/feature-edition.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* chore: 🤖 cleanup

* chore: 🤖 feature edition disabled in tests / fix test cases

* test: 💍 remove feature disable calls in tests

* test: 💍 fix broken tests

* fix: 🐛 fix config bug

* fix: 🐛 fix broken test due to feature flags

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* chore: 🤖 yarn.lock update

* fix: 🐛 fix test features

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: lisbet-alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
Co-authored-by: github-team-secure-boundary <hc-github-team-secure-boundary@hashicorp.com>
Co-authored-by: hc-github-team-secure-boundary <82989682+hc-github-team-secure-boundary@users.noreply.github.com>
2023-04-03 20:28:31 -07:00
lisbet-alvarez 7080b07ab3 Link list panel component (#182)
* chore: 🤖 update parent branch

* chore: 🤖 fix merge conflict

* chore: 🤖 merge conflict

* refactor: 💡 merge conflict

* chore: 🤖 update branch

* fix: 🐛 translation

* refactor: 💡 use <ul> & <li> and make entire row a link
2023-04-03 18:12:44 -07:00
hc-github-team-secure-boundary dd42866111 Merge pull request #181 from hashicorp/oss/merge-main-9fa816757b1d5de9c3d113706ae3ff1eaebfb3f8
[main] OSS to ENT merge of (9fa8167)
2023-04-03 10:45:09 -07:00
github-team-secure-boundary cbd866999a Merge Boundary UI OSS branch 'main' at commit 9fa816757 2023-04-03 17:34:14 +00:00
Zhihe Li 811025bccb refactor: 💡 Remove session recording type check and update name (#179) 2023-04-03 11:56:05 -04:00
hc-github-team-secure-boundary b977c27280 Merge pull request #176 from hashicorp/oss/merge-main-7350c0e08c4c53464166c537534864a0629b1875
[main] OSS to ENT merge of (7350c0e)
2023-03-31 19:39:15 -07:00
github-team-secure-boundary b91c706948 Merge Boundary UI OSS branch 'main' at commit 7350c0e08 2023-04-01 02:21:13 +00:00
Zhihe Li 62ec3fe914 refactor: 💡 Add channel ability for asciicasts (#174) 2023-03-31 21:19:46 +00:00
Carlos Alcaide Corvo 3bf2620b2c Feat get asciicast from model (#175)
* Get the asciicast from the model
2023-03-31 13:55:58 -07:00
Cameron Perera 8c01ec2f20 feat: 🎸 update player to allow routing to provided route (#173)
✅ Closes: ICU-8381
2023-03-31 14:10:36 -05:00
Dharini Jeeva 02d8b7e77c fix: 🐛 target enable session recording (#172)
* fix: 🐛 target enable session recording save

* fix: 🐛 remove from adapter
2023-03-31 10:14:19 -07:00
Carlos Alcaide Corvo e4944fac89 feat: 🎸 Add related channel information (#162)
* feat: 🎸 Add related channel information
2023-03-30 18:31:30 -07:00
Carlos Alcaide Corvo b9fea822d0 Feat - ICU 8234 helper format-bytes-size (#170)
* feat: 🎸 Add format-bytes-size helper
2023-03-30 17:00:02 -07:00
Cameron Perera 0349b4c804 feat: 🎸 add View text to session recording list item button (#171) 2023-03-30 15:02:00 -05:00
Cameron Perera 7faab01452 refactor: 💡 add permission to read a session recording (#167)
* refactor: 💡 add permission to read a session recording

* test: 💍 remove a11yAudit from test temporarily

* refactor: 💡 add aria-label to fix allyAudit violation (#168)

* refactor: 💡 add aria-label to fix allyAudit violation

* refactor: 💡 update standalone link to icon only button
2023-03-30 11:11:40 -05:00
Devon AndersonandZhihe Li ae66e68bad chore: 🤖 add related test for target sidebar (#166)
* chore: 🤖 add related test for target sidebar

Add related acceptance test for `session-recording` sidebar integration
into `target` form.

✅ Closes: ICU-8590

* Update read-test.js

* refactor: 💡 fix test

Fix failing test for sidebar component.

* Update ui/admin/tests/acceptance/targets/read-test.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* Update ui/admin/tests/acceptance/targets/read-test.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-03-30 08:29:52 -04:00
Devon Anderson 60de33598a feat: 🎸 create enable-session-recording view (#165)
* feat: 🎸 create enable-session-recording view

Create `enable-session-recording` ui view.

✅ Closes: ICU-8592

* refactor: 💡 refactor scss for enable-session-recording

Refactor scss to use `rem` instead of Rose mixins for sizing.

✅ Closes: ICU-8592

* refactor: 💡 removed integration test

Removed integration test for `form/enable-session-recording`. User
testing will come from targets acceptance test.

✅ Closes: ICU-8592
2023-03-29 15:45:40 -04:00
Cameron Perera 63c573964f feat: 🎸 add permissions check for session recording navigation (#164) 2023-03-29 12:30:05 -05:00
Zhihe Li 3693ee88c0 refactor: 💡 Change bytes to be strings (#161) 2023-03-28 16:20:40 -04:00
Cameron PereraandRandall Morey 179cc1d0e2 refactor: 💡 show "Storage Bucket" on session recording screen (#160)
* refactor: 💡 show "Storage Bucket" on session recording screen

if no storage bucket found

* Update ui/admin/app/templates/scopes/scope/session-recordings/session-recording/index.hbs

Co-authored-by: Randall Morey <randall@randallmorey.com>

* refactor: 💡 fix lint issue

---------

Co-authored-by: Randall Morey <randall@randallmorey.com>
2023-03-28 14:22:12 -05:00
Carlos Alcaide Corvo 502f04d02a refactor: 💡 Add Project name to session-recordings list (#152)
* refactor: 💡 Add Project name to session-recordings list
2023-03-28 09:48:22 -07:00
Cameron Perera 992be8c4fb feat: 🎸 add sidebar data for session recording screen (#158)
* feat: 🎸 add sidebar data for session recording screen

✅ Closes: ICU-8610

* refactor: 💡 add logic for no storage bucket linked to target

* refactor: 💡 update comments
2023-03-28 11:25:50 -05:00
Zhihe Li 1f581fcc75 chore: 🤖 Remove type on channel recordings (#155) 2023-03-28 16:08:15 +00:00
lisbet-alvarezandZhihe Li b3dc1f236d refactor: 💡 use secret input component for secret access key (#156)
* refactor: 💡 use secret input component for secret access key

use new component and update test files

✅ Closes: ICU-8645

* Update ui/admin/app/components/form/storage-bucket/index.hbs

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* refactor: 💡 revise translation wording

* style: 💄 fix linting space issue

* refactor: 💡 only rollback changes for specific attribute

* style: 💄 change button text color in dark mode for a11yAudit

* refactor: 💡 add function to cancel changes to secrets

* Update ui/admin/app/components/form/storage-bucket/index.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-03-28 15:46:25 +00:00
Zhihe Li 2f5da06eec fix: 🐛 Fix targets sometimes not having a storage bucket id (#159) 2023-03-28 11:12:58 -04:00
Dharini Jeeva 971ab2be61 feat: 🎸 target session recording configure on edit mode (#144)
* feat: 🎸 target session recording sidebar
2023-03-27 13:38:32 -07:00
Zhihe Li f0e1101479 feat: 🎸 Add abilities to target for storage buckets (#148)
✅ Closes: ICU-8081
2023-03-27 18:46:34 +00:00
Cameron Perera 983eee2742 feat: 🎸 move channel info to HDS table (#154)
* feat: 🎸 move channel info to HDS table

✅ Closes: ICU-8609

* refactor: 💡 change standalone link to hds.button

* refactor: 💡 use hds typography tokens for table titles
2023-03-27 11:43:05 -05:00
Zhihe Li 97588e88c7 refactor: 💡 Update mirage data (#157) 2023-03-27 15:11:38 +00:00
Carlos Alcaide Corvo 304b76cb69 fix: 🐛 Fix breadcrumb and field name (#153)
Fix breadcrumb and field name
2023-03-24 16:27:21 -07:00
Carlos Alcaide Corvo 20ef3a3b9e feat: 🎸 Add Channel data from mirage (#151)
* feat: 🎸 Add Channel data from mirage

✅ Closes: ICU-8635
2023-03-24 10:28:29 -07:00
Zhihe Li 581d49ab76 refactor: 💡 Update storage bucket route to use recursive (#150) 2023-03-24 11:51:55 -04:00
Devon AndersonandZhihe Li 85f2561a72 Icu 8559 use secret input component for access key (#146)
* feat: 🎸 create edit storage-bucket view

Create edit storage bucket view for single storage bucket

✅ Closes: ICU-8240

* Update ui/admin/tests/acceptance/storage-buckets/update-test.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* Update ui/admin/tests/acceptance/storage-buckets/update-test.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* refactor: 💡 merge upstream

merge upstream

✅ Closes: ICU-8240

* feat: 🎸 implement secret-input component

Implement `secret-input` component for `access_key_id` field in the
`storage-bucket` new and edit forms.

✅ Closes: ICU-8559

* refactor: 💡 refactored storage-bucket form

We will still conditionally render regular `Hds::Form::TextInput::Field`
for new `storage-bucket` and render `Form::Field::SecretInput` for
detail view and edit view.

✅ Closes: ICU-8559

* refactor: 💡 fixed failing test for storage bucket from

Fixed failing test for edit button now that secret-input has been
implemented

✅ Closes: ICU-8559

* Update ui/admin/app/components/form/storage-bucket/index.hbs

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* Update index.js

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-03-24 11:17:06 -04:00
Zhihe Li e460a5e429 chore: 🤖 Update models to new field names (#149) 2023-03-24 10:52:55 -04:00
Cameron Perera b5045f1851 feat: 🎸 add empty state views for session recordings screen (#145)
* chore: 🤖 rebase session-recording

* refactor: 💡 update calls to fetch recordings and buckets
2023-03-23 15:55:10 -05:00
Zhihe Li d503b614bc refactor: 💡 Fix mirage data (#147) 2023-03-23 16:18:45 -04:00
Devon AndersonandZhihe Li 458fd167e3 feat: 🎸 create edit storage-bucket view (#137)
* feat: 🎸 create edit storage-bucket view

Create edit storage bucket view for single storage bucket

✅ Closes: ICU-8240

* Update ui/admin/tests/acceptance/storage-buckets/update-test.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* Update ui/admin/tests/acceptance/storage-buckets/update-test.js

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* refactor: 💡 merge upstream

merge upstream

✅ Closes: ICU-8240

* Update update-test.js

removed unneeded await on assertion

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-03-23 12:33:31 -04:00
Zhihe Li 456a5944e0 feat: 🎸 Add mirage data for storage bucket id on targets (#141)
✅ Closes: ICU-8080
2023-03-23 12:09:39 -04:00
Dharini Jeeva a51a74875d Merge pull request #143 from hashicorp/add-feature-flag
chore: 🤖 add session-recording flag to updated configs
2023-03-23 21:15:48 +05:30
dharini b74c4ae03d chore: 🤖 add session-recording flag to updated configs 2023-03-23 11:44:57 +05:30
Dharini Jeeva ea5a8c1edc Merge pull request #132 from hashicorp/ICU-8523-create-secret-input-form-field
Icu 8523 create secret input form field
2023-03-23 11:08:02 +05:30
dharini e5b09c415f fix: 🐛 translation 2023-03-23 10:45:28 +05:30
dharini b8c38dd0b3 chore: 🤖 var names 2023-03-23 10:28:16 +05:30
Randall Morey 3f526d2770 Merge branch 'main' into session-recording 2023-03-22 17:20:53 -07:00
Carlos Alcaide Corvo a81540fae8 Merge pull request #139 from hashicorp/feat-add-breadcrumbs-session-recordings
Feat add breadcrumbs session recordings
2023-03-22 15:41:47 -07:00
Carlos Alcaide ca5b9f1d24 Add channels-by-connection to the breadcrumbs 2023-03-22 15:25:46 -07:00
Cameron Perera 84de198359 refactor: 💡 update player header styles (#136) 2023-03-22 17:07:46 -05:00
lisbet-alvarez c144275358 chore: 🤖 add new route enable session recording (#140)
✅ Closes: ICU-8542
2023-03-22 14:48:44 -07:00
Carlos Alcaide 9bf03b0fba Add acceptance test for session-recordings/session-recording/channels-by-connection/channel 2023-03-22 08:15:59 -07:00
Zhihe Li 31b0a57639 feat: 🎸 Add new target field for storage bucket (#133)
✅ Closes: ICU-8077
2023-03-22 10:52:33 -04:00
dharini fcc156a194 chore: 🤖 move component invocation to a separate PR 2023-03-22 16:52:58 +05:30
dharini 3f86f45869 fix: 🐛 undo change 2023-03-22 16:42:58 +05:30
dharini b33efbd5c3 chore: 🤖 style updates, incl var arg to make it read-write 2023-03-22 16:34:31 +05:30
Carlos Alcaide db2d26df9a Add acceptance test for session-recordings/session-recording controller 2023-03-21 17:35:43 -07:00
hc-github-team-secure-boundary e94a7370d4 Merge pull request #138 from hashicorp/oss/merge-main-ee2fa6df7d1eb70fa2f856750387d743500c4eae
[main] OSS to ENT merge of (ee2fa6d)
2023-03-21 18:54:27 -04:00
github-team-secure-boundary 1b2213ebc8 Merge Boundary UI OSS branch 'main' at commit ee2fa6df7 2023-03-21 22:41:59 +00:00
Carlos Alcaide 2e06d01c39 Add breacrumbs for session-recording/channel-by-connection/channel 2023-03-21 13:20:13 -07:00
Carlos Alcaide 48031cca64 Add breadcrumbs to session-recording 2023-03-21 13:07:39 -07:00
Zhihe Li 1e7268ff54 feat: 🎸 Add mirage data for ascii casts and use fetch (#129)
* feat: 🎸 Add mirage data for ascii casts and use fetch

✅ Closes: ICU-8189
2023-03-21 15:52:58 -04:00
Carlos Alcaide Corvo 06af1a9fc4 Merge pull request #134 from hashicorp/feat-ICU-8419-session-recordings-list
feat: 🎸 Session recordings list
2023-03-21 10:59:20 -07:00
Carlos Alcaide a364407b27 Typo 2023-03-21 10:43:18 -07:00
lisbet-alvarez 638fc9afdf test: 💍 acceptance tests for creation of a storage bucket (#131)
* test: 💍 create acceptance tests for storage buckets

✅ Closes: ICU-8239
2023-03-21 10:42:38 -07:00
Carlos Alcaide 774d9a8bff Add acceptance test 2023-03-21 10:38:19 -07:00
Zhihe Li 3d6d474bd7 refactor: 💡 Return all storage buckets from mirage (#135) 2023-03-21 12:53:05 -04:00
dharini 96b2bcd6ff fix: 🐛 style, remove comment 2023-03-21 14:42:54 +05:30
Carlos Alcaide 0d47a37cdf Add breadcrumbs 2023-03-20 14:20:11 -07:00
Carlos Alcaide c08c9cc50d Change typographies within table 2023-03-20 14:13:46 -07:00
Carlos Alcaide 57d31d4ccf feat: 🎸 Session recordings list
Add session recordings list

✅ Closes: ICU-8419
2023-03-20 13:27:24 -07:00
dharini 5984a60ae1 chore: 🤖 scss lint 2023-03-20 23:36:27 +05:30
Zhihe Li a829727b1b Feat/update models (#128)
* feat: 🎸 Add mime types field

* feat: 🎸 Add duration field to models
2023-03-20 14:06:15 -04:00
dharini 2beb7ec4e3 chore: 🤖 undo 2023-03-20 23:15:16 +05:30
dharini 78497a87ea chore: 🤖 style 2023-03-20 23:14:03 +05:30
dharini a67093efdd feat: 🎸 secret input field 2023-03-20 22:48:37 +05:30
hc-github-team-secure-boundary 03ec3856aa Merge pull request #130 from hashicorp/oss/merge-main-acd719140dcb4aac4700316c6267bdc1961c39bc
[main] OSS to ENT merge of (acd7191)
2023-03-17 17:47:59 -04:00
github-team-secure-boundary 0cc5d9b7ec Merge Boundary UI OSS branch 'main' at commit acd719140 2023-03-17 21:35:14 +00:00
lisbet-alvarez c81e3357d7 feat: 🎸 create form component for storage bucket (#118)
* feat: 🎸 create form component for storage bucket

✅ Closes: ICU-8235
2023-03-17 08:31:51 -07:00
lisbet-alvarez 2c97809730 test: 💍 add related acceptance tests (#122)
* test: 💍 modify acceptance tests for listing a bucket

✅ Closes: ICU-8230
2023-03-17 08:05:59 -07:00
Carlos Alcaide Corvo 8df181e00d Merge pull request #127 from hashicorp/refactor-use-new-session-recording-route
refactor: 💡 Stop using recording store to use session-recording
2023-03-16 14:42:39 -07:00
Zhihe Li 39d43daf7a Icu 8190 ember data recording asciicast (#124)
* feat: 🎸 Add asciicast getter and adapter

✅ Closes: ICU-8190
2023-03-16 15:25:16 -04:00
Carlos Alcaide c6bcfd32d5 refactor: 💡 Stop using recording store to use session-recording 2023-03-16 11:46:11 -07:00
Zhihe Li d08ce29e5a Chore/update model names (#125)
* chore: 🤖 Rename recording to session-recording

* chore: 🤖 Update names for connection models

* chore: 🤖 Update channel models to new name

* chore: 🤖 Update remaining models after merge conflict
2023-03-16 13:49:04 -04:00
Carlos Alcaide Corvo 24f50b3e2d Merge pull request #121 from hashicorp/feat-use-mirage-for-recordings-navigation
feat: 🎸 Use mirage data for simple navigation
2023-03-16 09:44:33 -07:00
Carlos Alcaide f2cd8ec742 Merge remote-tracking branch 'origin/session-recording' into feat-use-mirage-for-recordings-navigation 2023-03-16 09:12:20 -07:00
Zhihe Li 962b0d31ea Merge branch 'main' of https://github.com/hashicorp/boundary-ui-enterprise into session-recording 2023-03-16 10:51:47 -04:00
hc-github-team-secure-boundary 4d2dc80044 Merge pull request #126 from hashicorp/oss/merge-main-bd6eee8eb38dad24018f58648883b0fbd1c73c33
[main] OSS to ENT merge of (bd6eee8)
2023-03-16 10:38:16 -04:00
github-team-secure-boundary 543b8bf5ae Merge Boundary UI OSS branch 'main' at commit bd6eee8eb 2023-03-16 14:20:08 +00:00
Carlos Alcaide Corvo 45a60dc5c4 Merge pull request #119 from hashicorp/feat-ICU-8233-format-time-duration
feat: 🎸 Add format-time-duration helper
2023-03-15 16:40:34 -07:00
Zhihe Li bf2029eb54 feat: 🎸 Add abilities for session recordings (#120)
* feat: 🎸 Add abilities for session recordings

✅ Closes: ICU-8079
2023-03-15 15:45:51 -04:00
Zhihe Li 5992829fa2 feat: 🎸 Add serializer and adapter for storage bucket (#117)
* feat: 🎸 Add serializer and adapter for storage bucket

✅ Closes: ICU-8358
2023-03-15 15:18:02 -04:00
Devon Anderson a28e7810e7 feat: 🎸 add edit functionality to list item for storage bucket (#116)
* feat: 🎸 add edit functionality to list item for storage bucket

Add edit option which navigates to the storage bucket details view.

✅ Closes: ICU-8228

* refactor: 💡 refactor styling for dropdown

Pushed some override stylings into `overrides.scss` in addon styles.

✅ Closes: ICU-8228

* refactor: 💡 commit to validate not box-shadow withouth override

This is just a commit to show a vercel view of dropdown without
overrides.

✅ Closes: ICU-8228

* refactor: 💡 refactor hds themes

Added `light-mode` mixin to the `.ember-application.rose-theme-light`
selector to fix missing `box-shadow` colors.

✅ Closes: ICU-8228
2023-03-15 12:23:14 -04:00
Carlos Alcaide 826a565a81 feat: 🎸 Use mirage data for simple navigation
Use provided mirage data for simple navigation from the list of session
recordings to a detailed channel within a connection
2023-03-14 14:37:41 -07:00
Carlos Alcaide e0a595c9ec Update test with new format 2023-03-14 12:41:43 -07:00
Carlos Alcaide 7782739d2d Change durationUnitFormat style from short to narrow 2023-03-14 12:28:54 -07:00
Carlos Alcaide 59850651b8 feat: 🎸 Add format-time-duration helper
Add format-time-duration helper to provide human-readable duration
string

✅ Closes: ICU-8233
2023-03-14 09:56:47 -07:00
Zhihe Li ce83346461 Icu 8073 mirage recording connection channel (#109)
* feat: 🎸 Add mirage data for recordings, connections, channels

✅ Closes: ICU-8073
2023-03-10 14:20:58 -05:00
lisbet-alvarezandZhihe Li 7af4625457 Icu 8226 create an empty screen when there are no storage buckets (#114)
* feat: 🎸 add new link to create storage bucket

✅ Closes: ICU-8225

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2023-03-10 11:03:29 -08:00
f65bf21a33 Icu 8227 display storage buckets (#113)
* create list UI for storage-buckets

* refactor: 💡 removed future code

Removed code that was used in testing

✅ Closes: ICU-8227

* Update app.scss

fixed lint

* Update ui/admin/app/templates/scopes/scope/storage-buckets/index.hbs

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* Update addons/core/translations/resources/en-us.yaml

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* Update ui/admin/app/templates/scopes/scope/storage-buckets/index.hbs

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>

* Update en-us.yaml

moving this into forms translation

* Update en-us.yaml

moving edit into `actions` translations for `storage-bucket` dropdown

* refactor: 💡 yaml cleanup

Refactored storage bucket list translations

✅ Closes: ICU-8227

* refactor: 💡 refactored storage-bucket list

Refactored `storage-bucket` list to have copyable id and removed
`border-collapse` from `reset.scss` that was causing `HDS::Table` not to
have rounded edges.

✅ Closes: ICU-8227

* Update ui/admin/app/routes/scopes/scope/storage-buckets.js

Co-authored-by: lisbet-alvarez <107949262+lisbet-alvarez@users.noreply.github.com>

* refactor: 💡 quick refactor for scope.hbs

Refactored sidebar navigation for `storage-bucket` to include navigate
override ability for `storage-bucket`

✅ Closes: ICU-8227

* refactor: 💡 refactored hbs file for storage-bucket list

Removed unneeded storage bucket list wrapper div.

✅ Closes: ICU-8227

---------

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
Co-authored-by: lisbet-alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
2023-03-10 13:41:57 -05:00
Carlos Alcaide Corvo 9d8e2c94bb Merge pull request #115 from hashicorp/feat-add-side-bar-layout-to-channel-view
Feat add side bar layout to channel view
2023-03-09 12:41:39 -08:00
Carlos Alcaide 4bfb39dff8 Merge remote-tracking branch 'origin/session-recording' into feat-add-side-bar-layout-to-channel-view 2023-03-09 12:05:17 -08:00
Carlos Alcaide Corvo ff920229d0 Merge pull request #111 from hashicorp/ICU-8380-style-ember-asciinema-player-for-session-recording-player-component
refactor: 💡 style ember-asciinema-player
2023-03-09 12:02:50 -08:00
Carlos Alcaide 498091c550 Add Sidebar layout component within channel view 2023-03-09 11:58:26 -08:00
Carlos Alcaide 1ec6bd28f0 Fix lint issue 2023-03-09 11:45:28 -08:00
Carlos Alcaide 1d6b9275f0 Merge remote-tracking branch 'origin/session-recording' into ICU-8380-style-ember-asciinema-player-for-session-recording-player-component 2023-03-09 11:33:38 -08:00
Carlos Alcaide Corvo d2fd92affe Merge pull request #110 from hashicorp/feat-ICU-8145-component-sidebar
feat: 🎸 Add component sidebar in Admin UI
2023-03-09 11:30:06 -08:00
Carlos Alcaide 9f4e521534 Apply changes requested on PR 2023-03-09 09:34:16 -08:00
lisbet-alvarez 0aedfc1147 Icu 8225 create a new link to create storage bucket (#106)
* feat: 🎸 add new link to create storage bucket

✅ Closes: ICU-8225
2023-03-09 08:58:29 -08:00
lisbet-alvarez 4f0b3f71fd chore: 🤖 can abilities for storage bucket (#97)
* chore: 🤖 add can list, navigate, and create

✅ Closes: ICU-8244
2023-03-09 08:57:50 -08:00
Carlos Alcaide 6a5a27348b Change unit of measurement 2023-03-08 11:42:38 -08:00
Carlos Alcaide bd3cfab5fd Add media query to layour-sidebar, add grid gap and areas 2023-03-08 11:39:47 -08:00
Cameron Perera cb1524b6cc style: 💄 fix lint issues for player styles 2023-03-08 13:05:47 -06:00
Carlos Alcaide 634ec086f2 Delete sidebar inner styles 2023-03-08 11:05:35 -08:00
Cameron Perera 9e42712b9f refactor: 💡 style ember-asciinema-player
✅ Closes: ICU-8380
2023-03-08 12:30:58 -06:00
Carlos Alcaide 78392ff9b4 feat: 🎸 Add component sidebar in Admin UI
Add layout component sidebar in Admin UI and a view (Session recordings)
already using it

✅ Closes: ICU-8145
2023-03-08 10:02:42 -08:00
lisbet-alvarez 94c3027392 test: 💍 acceptance tests for navigation link (#102)
* test: 💍 acceptance tests for navigation link

✅ Closes: ICU-8224
2023-03-08 08:42:20 -08:00
Cameron Perera ef55d71a55 refactor: 💡 allow passthrough in mirage for asciicast data (#108) 2023-03-07 16:41:33 -06:00
Zhihe Li f878e3404e Merge branch 'main' of https://github.com/hashicorp/boundary-ui-enterprise into session-recording 2023-03-07 17:29:37 -05:00
hc-github-team-secure-boundary 1a118c2589 Merge pull request #107 from hashicorp/oss/merge-main-3ba53dfc2e05ce4e02a27c99e67c8fbcb99ae24c
[main] OSS to ENT merge of (3ba53df)
2023-03-07 17:07:40 -05:00
github-team-secure-boundary 1cfe997ca9 Merge Boundary UI OSS branch 'main' at commit 3ba53dfc 2023-03-07 21:55:57 +00:00
Zhihe Li b9cf61932b feat: 🎸 Add session recording models (#100)
* feat: 🎸 Add session recording models

✅ Closes: ICU-8075
2023-03-07 16:38:41 -05:00
Carlos Alcaide Corvo b91b7ef4bb Add navigation to Session Recordings (#105)
* Add navigation from Session recordings to session recording (detail)

* Add navigation from session recording (detail) to a specific channel detail

* Comment model code
2023-03-07 12:55:52 -06:00
Cameron Perera 449ea383c9 Icu 8329 create custom boundary wrapper for ember asciinema player (#103)
* refactor: 💡 fix broken page title translations

* feat: 🎸 create SessionRecording::Player component

✅ Closes: ICU-8329
2023-03-07 11:04:51 -06:00
Cameron Perera 1b5eb6c01f refactor: 💡 manually build ascii cast data for player (#104) 2023-03-07 11:04:33 -06:00
Carlos Alcaide Corvo 0c63951907 Merge pull request #99 from hashicorp/feat-ICU-8242-sidebar-navigation
feat: 🎸 Sidebar navigation to Session recordings
2023-03-06 09:30:54 -08:00
Carlos Alcaide a3502b489e feat: 🎸 Sidebar navigation to Session recordings 2023-03-03 13:16:27 -08:00
Carlos Alcaide Corvo 5d64460ca8 Merge pull request #98 from hashicorp/fix-outdated-yarn-lock
fix: 🐛 Outdated yarn.lock
2023-03-03 13:05:11 -08:00
lisbet-alvarez 6d6b4bee05 chore: 🤖 add storage bucket link on left sidebar (#94)
* chore: 🤖 update branch

* chore: 🤖 add storage bucket link to org scope as well

* refactor: 💡 remove link form org scope

✅ Closes: ICU-8222
2023-03-03 12:03:34 -08:00
Carlos Alcaide e735e6a487 fix: 🐛 Outdated yarn.lock 2023-03-03 10:57:15 -08:00
Zhihe Li cd30f4e5ce feat: 🎸 Add mirage data for storage buckets (#91)
* feat: 🎸 Add mirage data for storage buckets

✅ Closes: ICU-8074
2023-03-03 13:27:14 -05:00
Zhihe Li 4d62e67f2a feat: 🎸 Add storage bucket models (#85)
* feat: 🎸 Add storage bucket models

✅ Closes: ICU-8076
2023-03-03 12:56:28 -05:00
Devon Anderson c30bc3a554 chore: 🤖 create storage bucket route (#95)
* chore: 🤖 create storage bucket route

Create `storage-bucket` route and update `yaml` files

✅ Closes: ICU-8132

* refactor: 💡 removed future translations

Removed translations tha will be coming for new storage-bucket form.

✅ Closes: ICU-8217
2023-03-03 12:43:47 -05:00
Cameron Perera 75f0192540 Icu 8328 import ember asciinema player (#93)
* chore: 🤖 add @hashicorp/ember-asciinema-player to admin UI

✅ Closes: ICU-8328

* feat: 🎸 show ember-asciinema player in channels view

* chore: 🤖 remove @hashicorp/ember-asciinema-player as dependency

* chore: 🤖 fix ember-asciinema-player source URL for install

* chore: 🤖 update yarn.lock
2023-03-02 15:56:47 -06:00
Zhihe Li bf32231266 Merge branch 'main' of https://github.com/hashicorp/boundary-ui-enterprise into session-recording 2023-03-02 14:28:15 -05:00
hc-github-team-secure-boundary b2b4de2633 Merge pull request #96 from hashicorp/oss/merge-main-0a761119441d26449fee25d08b476c0b54863471
[main] OSS to ENT merge of (0a76111)
2023-03-02 14:25:45 -05:00
github-team-secure-boundary 5f670ed46f Merge Boundary UI OSS branch 'main' at commit 0a761119 2023-03-02 19:08:22 +00:00
hc-github-team-secure-boundary c1eb2ea5e6 Merge pull request #92 from hashicorp/oss/merge-main-c7546af207e38f1223388f5c603f25476e64b368
[main] OSS to ENT merge of (c7546af)
2023-03-02 10:44:22 -05:00
github-team-secure-boundary 75a7eae35b Merge Boundary UI OSS branch 'main' at commit c7546af2 2023-03-02 15:26:14 +00:00
Devon Anderson 32e7b45f4a refactor: 💡 revise storage buckets route (#86)
* refactor: 💡 revise storage buckets route

Move `storage-buckets` route outside of nested `session-recordings`

✅ Closes: ICU-8307

* Update en-us.yaml

removed unneeded resource

* Update en-us.yaml

* refactor: 💡 clean up translations

Cleaned up multiple readable strings in translations.

✅ Closes: ICU-8307
2023-03-02 10:08:13 -05:00
Cameron Perera c74d53931c feat: 🎸 create routes for session-recording and channels (#89)
* feat: 🎸 create routes for session-recording and channels

✅ Closes: ICU-8241

* refactor: 💡 add hardcoded ids to make route navigation possible

these are temporary and will be removed upon feature completion

* refactor: 💡 rename channels route to channels-by-connection
2023-03-01 15:58:59 -06:00
Zhihe Li 319591b2e8 Merge branch 'main' of https://github.com/hashicorp/boundary-ui-enterprise into session-recording 2023-03-01 16:46:59 -05:00
hc-github-team-secure-boundary 2cadbfe83b Merge pull request #90 from hashicorp/oss/merge-main-7eb6a101a2dd43279de0ffe8372c00ee41668dca
[main] OSS to ENT merge of (7eb6a10)
2023-03-01 11:46:05 -05:00
github-team-secure-boundary f7daf83ec0 Merge Boundary UI OSS branch 'main' at commit 7eb6a101 2023-03-01 16:30:10 +00:00
hc-github-team-secure-boundary 3742b92ad6 Merge pull request #87 from hashicorp/oss/merge-main-3d610427d09106956402a117a235337d1e03ac57
[main] OSS to ENT merge of (3d61042)
2023-03-01 10:55:48 -05:00
github-team-secure-boundary 83fbc8bf1c Merge Boundary UI OSS branch 'main' at commit 3d610427 2023-03-01 15:40:23 +00:00
Zhihe Li 07a260431d Merge branch 'main' of https://github.com/hashicorp/boundary-ui-enterprise into session-recording 2023-02-28 18:05:59 -05:00
lisbet-alvarez 4631906508 add storage buckets route (#82) 2023-02-28 13:20:31 -08:00
hc-github-team-secure-boundary c796da65d2 Merge pull request #84 from hashicorp/oss/merge-main-a0fe6c86f6b3460f645efb6f5cad5b05c1f02ecf
[main] OSS to ENT merge of (a0fe6c8)
2023-02-28 16:13:12 -05:00
github-team-secure-boundary ecd73b9ded Merge Boundary UI OSS branch 'main' at commit a0fe6c86f 2023-02-28 20:56:13 +00:00
Devon Anderson 0386e9fc11 Merge pull request #81 from hashicorp/ICU-8270-create-session-recording-route
chore: 🤖 create session-recording route
2023-02-28 13:23:57 -05:00
Devon Anderson 458e02b23a Update session-recordings.js 2023-02-28 13:03:58 -05:00
dvonanderson 3d0477b957 chore: 🤖 added all of the uncommitted files
Session-recording files
2023-02-28 11:27:40 -05:00
Devon Anderson e26c0aa264 Merge pull request #79 from hashicorp/ICU-8215-create-session-recording-route
chore: 🤖 added session-recordings route
2023-02-28 11:23:12 -05:00
dvonanderson 774377db76 chore: 🤖 create session-recording route
Create `session-recording` route with empty landing page. Added
translations to `resources.yaml` file.

✅ Closes: ICU-8270
2023-02-28 11:18:50 -05:00
lisbet-alvarez b0c3bd11f7 ICU-8130 add session-recording feature flag (#78)
* ICU-8130 add session-recording feature flag
2023-02-28 08:09:08 -08:00
hc-github-team-secure-boundary 1ab518f50d Merge pull request #80 from hashicorp/oss/merge-main-f5cb07248d36080bb63e5b184ac4ee8ba198bb5f
[main] OSS to ENT merge of (f5cb072)
2023-02-28 10:31:25 -05:00
github-team-secure-boundary a11e562821 Merge Boundary UI OSS branch 'main' at commit f5cb0724 2023-02-28 15:14:56 +00:00
Devon Anderson 18ecef4c0b Update en-us.yaml
changed `session-recordings` to `session-recording` in resources.yaml
2023-02-27 19:05:19 -05:00
dvonanderson 32719d38a2 chore: 🤖 added session-recordings route
Created new `session-recordings` and `sessions-recordings/index` route

✅ Closes: ICU-8215
2023-02-27 17:56:44 -05:00
hc-github-team-secure-boundary beac9e4465 Merge pull request #77 from hashicorp/oss/merge-main-2dc50570b780b921a7149ed3c6e53977dd1e6464
[main] OSS to ENT merge of (2dc5057)
2023-02-27 14:12:48 -05:00
github-team-secure-boundary 9660f1fb12 Merge Boundary UI OSS branch 'main' at commit 2dc50570 2023-02-27 18:54:48 +00:00
hc-github-team-secure-boundary 695dbed7e3 Merge pull request #76 from hashicorp/oss/merge-main-1f3a8ef135d1eadcfe6cc9428e80d32e1dbd223a
[main] OSS to ENT merge of (1f3a8ef)
2023-02-24 14:19:47 -05:00
github-team-secure-boundary b7cb9a36fe Merge Boundary UI OSS branch 'main' at commit 1f3a8ef1 2023-02-24 19:00:06 +00:00
hc-github-team-secure-boundary 184a3f7d84 Merge pull request #75 from hashicorp/oss/merge-main-a8bbf91a0aaeb889a7073639f120a7f5f8b87a42
[main] OSS to ENT merge of (a8bbf91)
2023-02-24 13:27:51 -05:00
github-team-secure-boundary 35b831c60f Merge Boundary UI OSS branch 'main' at commit a8bbf91a 2023-02-24 18:11:57 +00:00
hc-github-team-secure-boundary d16f787aa0 Merge pull request #74 from hashicorp/oss/merge-main-7816772ef2e1e57125fa905c12450b0f17a39b2e
[main] OSS to ENT merge of (7816772)
2023-02-23 18:46:46 -05:00
github-team-secure-boundary 0a7b4d28ba Merge Boundary UI OSS branch 'main' at commit 7816772e 2023-02-23 23:31:21 +00:00
hc-github-team-secure-boundary 9d620e3d99 Merge pull request #73 from hashicorp/oss/merge-main-7fbdefba59d332217da9a8a6eefbb5016a43d285
[main] OSS to ENT merge of (7fbdefb)
2023-02-23 15:34:52 -05:00
github-team-secure-boundary 7f7d0ccafd Merge Boundary UI OSS branch 'main' at commit 7fbdefba 2023-02-23 20:22:19 +00:00
hc-github-team-secure-boundary a8bcd9d521 Merge pull request #72 from hashicorp/oss/merge-main-0b992bb0117168fda7cffbb5b8828983f4943000
[main] OSS to ENT merge of (0b992bb)
2023-02-22 15:30:33 -05:00
github-team-secure-boundary 1700f8aabb Merge Boundary UI OSS branch 'main' at commit 0b992bb0 2023-02-22 20:14:40 +00:00
hc-github-team-secure-boundary 75ef4c04fa Merge pull request #70 from hashicorp/oss/merge-main-7db1edda1ce4001353b7785a6e129ce0f4570c98
[main] OSS to ENT merge of (7db1edd)
2023-02-16 17:34:46 -05:00
github-team-secure-boundary f072e38c27 Merge Boundary UI OSS branch 'main' at commit 7db1edda 2023-02-16 22:07:13 +00:00
hc-github-team-secure-boundary 2b98c8164c Merge pull request #69 from hashicorp/oss/merge-main-76147af3574f1e584c835de5905570de9536b048
[main] OSS to ENT merge of (76147af)
2023-02-15 15:31:28 -05:00
github-team-secure-boundary 73a1abf0dc Merge Boundary UI OSS branch 'main' at commit 76147af3 2023-02-15 19:42:24 +00:00
hc-github-team-secure-boundary cb7a7624e8 Merge pull request #68 from hashicorp/oss/merge-main-2d1ed7b8bde405fafd9aaa104e00f2263d094223
[main] OSS to ENT merge of (2d1ed7b)
2023-02-15 14:40:27 -05:00
github-team-secure-boundary 876e6c9fae Merge Boundary UI OSS branch 'main' at commit 2d1ed7b8 2023-02-14 21:32:54 +00:00
Zhihe Li eea5844691 Merge pull request #67 from hashicorp/oss/merge-main-e1432c2750936d589362debf474fd2a6dedbd912
[main] OSS to ENT merge of (e1432c2)
2023-02-13 19:15:52 -05:00
Zhihe Li ec63519058 Merge pull request #66 from hashicorp/oss/merge-main-deb9bba3ef364fecdb30a5266a7c71d5e1a4fa8d
[main] OSS to ENT merge of (deb9bba)
2023-02-13 19:14:24 -05:00
github-team-secure-boundary fcb2beb654 Merge Boundary UI OSS branch 'main' at commit e1432c27 2023-02-13 19:20:51 +00:00
github-team-secure-boundary 9b1051f74f Merge Boundary UI OSS branch 'main' at commit deb9bba3 2023-02-13 18:39:18 +00:00
hc-github-team-secure-boundary e5db4e6fa1 Merge pull request #65 from hashicorp/oss/merge-main-49f2a4a08ba541bf7d477281b20c31b3848e5c9a
[main] OSS to ENT merge of (49f2a4a)
2023-02-10 17:39:14 -05:00
github-team-secure-boundary 3e12c50baa Merge Boundary UI OSS branch 'main' at commit 49f2a4a0 2023-02-10 22:39:07 +00:00
hc-github-team-secure-boundary 6bcdb1e84d Merge pull request #64 from hashicorp/oss/merge-main-3adfb08cb32911cf3cb9dcf1c68b93d6585c8b4b
[main] OSS to ENT merge of (3adfb08)
2023-02-09 17:44:39 -05:00
github-team-secure-boundary 6bba06393e Merge Boundary UI OSS branch 'main' at commit 3adfb08c 2023-02-09 22:44:33 +00:00
hc-github-team-secure-boundary 9da3b967eb Merge pull request #63 from hashicorp/oss/merge-main-540c9e21026b3aa426b8c7fd26dd1c1c6524997e
[main] OSS to ENT merge of (540c9e2)
2023-02-09 17:01:04 -05:00
github-team-secure-boundary cbce11a263 Merge Boundary UI OSS branch 'main' at commit 540c9e21 2023-02-09 22:00:57 +00:00
hc-github-team-secure-boundary 9b1501d294 Merge pull request #62 from hashicorp/oss/merge-main-aff993b2b5150a9d33278420c88ef96db646ba0e
[main] OSS to ENT merge of (aff993b)
2023-02-09 13:58:34 -05:00
github-team-secure-boundary eae7d5a784 Merge Boundary UI OSS branch 'main' at commit aff993b2 2023-02-09 18:58:27 +00:00
hc-github-team-secure-boundary fe1dc865f1 Merge pull request #61 from hashicorp/oss/merge-main-823de4f59811b27b637d175eef2e5569f1328454
[main] OSS to ENT merge of (823de4f)
2023-02-06 14:16:46 -05:00
github-team-secure-boundary 91066d4e0f Merge Boundary UI OSS branch 'main' at commit 823de4f5 2023-02-06 19:16:39 +00:00
hc-github-team-secure-boundary 00f104427f Merge pull request #60 from hashicorp/oss/merge-main-df4590de96184be6224b9530faf961402746a027
[main] OSS to ENT merge of (df4590d)
2023-02-06 13:48:16 -05:00
github-team-secure-boundary 1eba9d3e77 Merge Boundary UI OSS branch 'main' at commit df4590de 2023-02-06 18:48:10 +00:00
hc-github-team-secure-boundary f2989cb29b Merge pull request #59 from hashicorp/oss/merge-main-d0beb6eabde64a8d0310321491aa584867490295
[main] OSS to ENT merge of (d0beb6e)
2023-02-06 12:46:50 -05:00
github-team-secure-boundary eb5dad4079 Merge Boundary UI OSS branch 'main' at commit d0beb6ea 2023-02-06 17:46:44 +00:00
hc-github-team-secure-boundary 3f43c9d60c Merge pull request #58 from hashicorp/oss/merge-main-e6548f4d59b849343cc98dd0db6311fabd4e3602
[main] OSS to ENT merge of (e6548f4)
2023-02-06 10:29:00 -05:00
github-team-secure-boundary f8a429480a Merge Boundary UI OSS branch 'main' at commit e6548f4d 2023-02-06 15:28:53 +00:00
hc-github-team-secure-boundary 7d2fb2a302 Merge pull request #57 from hashicorp/oss/merge-main-82bee42959b84a72644826b2b2ceecafe21239c0
[main] OSS to ENT merge of (82bee42)
2023-02-03 17:54:07 -05:00
github-team-secure-boundary b33c37a8a3 Merge Boundary UI OSS branch 'main' at commit 82bee429 2023-02-03 22:54:02 +00:00
hc-github-team-secure-boundary 8fa5a57efd Merge pull request #56 from hashicorp/oss/merge-main-2d6e26de8462c783b5888ead62be764ba7c8d0e1
[main] OSS to ENT merge of (2d6e26d)
2023-02-03 09:50:11 -05:00
github-team-secure-boundary 2688c4292e Merge Boundary UI OSS branch 'main' at commit 2d6e26de 2023-02-03 14:50:05 +00:00
hc-github-team-secure-boundary 9643c3ad0b Merge pull request #55 from hashicorp/oss/merge-main-277e5ce19788f0783bc002cc4f56695ddb0adaba
[main] OSS to ENT merge of (277e5ce)
2023-02-02 13:08:54 -05:00
github-team-secure-boundary 986f0a91d3 Merge Boundary UI OSS branch 'main' at commit 277e5ce1 2023-02-02 18:08:47 +00:00
hc-github-team-secure-boundary 3c69443a0c Merge pull request #54 from hashicorp/oss/merge-main-f0530e1f8f8d36441d210d3608a9c761d8aaf086
[main] OSS to ENT merge of (f0530e1)
2023-02-01 10:46:59 -08:00
github-team-secure-boundary 0c1543e13c Merge Boundary UI OSS branch 'main' at commit f0530e1f 2023-02-01 18:46:53 +00:00
hc-github-team-secure-boundary a0c5c067be Merge pull request #53 from hashicorp/oss/merge-main-e3772352ea9d50f42e248297456ec58855ec8e80
[main] OSS to ENT merge of (e377235)
2023-01-31 14:02:52 -08:00
github-team-secure-boundary 5c6171ea52 Merge Boundary UI OSS branch 'main' at commit e3772352 2023-01-31 22:02:46 +00:00
hc-github-team-secure-boundary 6bc9482914 Merge pull request #52 from hashicorp/oss/merge-main-007fc4960b16ab8f6290e37fe816126c6a480cd0
[main] OSS to ENT merge of (007fc49)
2023-01-31 12:08:04 -08:00
github-team-secure-boundary 3aed54cb33 Merge Boundary UI OSS branch 'main' at commit 007fc496 2023-01-31 20:07:58 +00:00
hc-github-team-secure-boundary 3941c92f52 Merge pull request #51 from hashicorp/oss/merge-main-9b998ece1b04fb35091b1991aa8048828a850cfb
[main] OSS to ENT merge of (9b998ec)
2023-01-27 06:48:22 -08:00
github-team-secure-boundary 1c591b2d0b Merge Boundary UI OSS branch 'main' at commit 9b998ece 2023-01-27 14:48:17 +00:00
hc-github-team-secure-boundary b27ff9c12b Merge pull request #50 from hashicorp/oss/merge-main-f71418732e511bfe546bafca494717cc7b765895
[main] OSS to ENT merge of (f714187)
2023-01-27 06:35:31 -08:00
github-team-secure-boundary d4db9cd848 Merge Boundary UI OSS branch 'main' at commit f7141873 2023-01-27 14:35:25 +00:00
hc-github-team-secure-boundary 096ddb1061 Merge pull request #49 from hashicorp/oss/merge-main-d7f54af7e486cff41cc9875fd5e52fe5ae743593
[main] OSS to ENT merge of (d7f54af)
2023-01-25 15:12:57 -08:00
github-team-secure-boundary 566b89275a Merge Boundary UI OSS branch 'main' at commit d7f54af7 2023-01-25 23:12:51 +00:00
hc-github-team-secure-boundary b04f80af37 Merge pull request #48 from hashicorp/oss/merge-main-de986c3df49c0b72f36a4d3b67883dcb756bc77e
[main] OSS to ENT merge of (de986c3)
2023-01-25 12:49:00 -08:00
github-team-secure-boundary c1feb0894f Merge Boundary UI OSS branch 'main' at commit de986c3d 2023-01-25 20:48:55 +00:00
hc-github-team-secure-boundary 5543e3bde5 Merge pull request #47 from hashicorp/oss/merge-main-df70c76b29698e2c8759e45df184e932cc753f71
[main] OSS to ENT merge of (df70c76)
2023-01-23 15:28:04 -08:00
github-team-secure-boundary d733054059 Merge Boundary UI OSS branch 'main' at commit df70c76b 2023-01-23 23:27:58 +00:00
hc-github-team-secure-boundary e442454db8 Merge pull request #46 from hashicorp/oss/merge-main-57fcab4c535501cdf9c86edb93e77c06b98e6590
[main] OSS to ENT merge of (57fcab4)
2023-01-23 14:49:05 -08:00
github-team-secure-boundary 4b26e454bc Merge Boundary UI OSS branch 'main' at commit 57fcab4c 2023-01-23 22:49:00 +00:00
hc-github-team-secure-boundary cbf17aa0d1 Merge pull request #45 from hashicorp/oss/merge-main-b41b6ee3e320c03b8dd8a43abb61586eb320aebf
[main] OSS to ENT merge of (b41b6ee)
2023-01-23 14:29:19 -08:00
github-team-secure-boundary 3b8c5164af Merge Boundary UI OSS branch 'main' at commit b41b6ee3 2023-01-23 22:29:13 +00:00
hc-github-team-secure-boundary 178a8a8187 Merge pull request #44 from hashicorp/oss/merge-main-da59684f254aafeba5cdd80575fdc69644bd4bf3
[main] OSS to ENT merge of (da59684)
2023-01-23 11:34:08 -08:00
github-team-secure-boundary 3c8641d6f3 Merge Boundary UI OSS branch 'main' at commit da59684f 2023-01-23 19:34:03 +00:00
hc-github-team-secure-boundary cf654f2aaf Merge pull request #43 from hashicorp/oss/merge-main-cf16bf8e3388fa72c48fdb80c7b1026e3d2dc331
[main] OSS to ENT merge of (cf16bf8)
2023-01-23 08:30:19 -08:00
github-team-secure-boundary 59ced85765 Merge Boundary UI OSS branch 'main' at commit cf16bf8e 2023-01-23 16:30:11 +00:00
hc-github-team-secure-boundary aaa1960994 Merge pull request #42 from hashicorp/oss/merge-main-67219d07ebc2c3ecda4d9b27a8a9892b70705996
[main] OSS to ENT merge of (67219d0)
2023-01-23 07:25:56 -08:00
github-team-secure-boundary 61d7d13046 Merge Boundary UI OSS branch 'main' at commit 67219d07 2023-01-23 15:25:51 +00:00
hc-github-team-secure-boundary ca09da3861 Merge pull request #41 from hashicorp/oss/merge-main-812e509003bd7914ad0969ddc21a05eca942e434
[main] OSS to ENT merge of (812e509)
2023-01-20 10:45:31 -08:00
github-team-secure-boundary ddd906acaf Merge Boundary UI OSS branch 'main' at commit 812e5090 2023-01-20 18:45:25 +00:00
hc-github-team-secure-boundary 60f373d010 Merge pull request #40 from hashicorp/oss/merge-main-54d5d34981adc521c98e47b29410d432a85a001c
[main] OSS to ENT merge of (54d5d34)
2023-01-19 16:53:40 -08:00
github-team-secure-boundary 4a63e9ed40 Merge Boundary UI OSS branch 'main' at commit 54d5d349 2023-01-20 00:53:33 +00:00
hc-github-team-secure-boundary 173776ecb9 Merge pull request #39 from hashicorp/oss/merge-main-ee854971829fc9a57c4de27d78b16299ebacd173
[main] OSS to ENT merge of (ee85497)
2023-01-19 12:47:21 -08:00
github-team-secure-boundary caa9d86808 Merge Boundary UI OSS branch 'main' at commit ee854971 2023-01-19 20:47:16 +00:00
hc-github-team-secure-boundary d13d6cccbe Merge pull request #38 from hashicorp/oss/merge-main-a6b2acc14d0de00ff5b8aa2a3568f1d57db99393
[main] OSS to ENT merge of (a6b2acc)
2023-01-18 20:27:12 -08:00
github-team-secure-boundary 7b62b2447d Merge Boundary UI OSS branch 'main' at commit a6b2acc1 2023-01-19 04:27:06 +00:00
hc-github-team-secure-boundary 799ba95258 Merge pull request #37 from hashicorp/oss/merge-main-06b96c0315181d2b27d473686a79351f1d6f0bd8
[main] OSS to ENT merge of (06b96c0)
2023-01-18 09:18:46 -08:00
github-team-secure-boundary 024724a8ef Merge Boundary UI OSS branch 'main' at commit 06b96c03 2023-01-18 17:18:38 +00:00
hc-github-team-secure-boundary 5fb6a90741 Merge pull request #36 from hashicorp/oss/merge-main-3d0be5ef483e94d4a1f489e3d8d9fc05c5045f8d
[main] OSS to ENT merge of (3d0be5e)
2023-01-17 14:08:50 -08:00
github-team-secure-boundary ce949c7fc8 Merge Boundary UI OSS branch 'main' at commit 3d0be5ef 2023-01-17 22:08:44 +00:00
hc-github-team-secure-boundary cb1a20146a Merge pull request #35 from hashicorp/oss/merge-main-07cf9fc533e6e525973e0ebdeba2aa6d3ac1d5e0
[main] OSS to ENT merge of (07cf9fc)
2023-01-17 12:40:34 -08:00
github-team-secure-boundary e331b6e4db Merge Boundary UI OSS branch 'main' at commit 07cf9fc5 2023-01-17 20:40:29 +00:00
hc-github-team-secure-boundary 8f1a223c67 Merge pull request #34 from hashicorp/oss/merge-main-0cecb0d85690d53d6f56f6d42f5bea0f31d0786a
[main] OSS to ENT merge of (0cecb0d)
2023-01-17 12:01:28 -08:00
github-team-secure-boundary a326d8981d Merge Boundary UI OSS branch 'main' at commit 0cecb0d8 2023-01-17 20:01:23 +00:00
hc-github-team-secure-boundary d5ae49558d Merge pull request #33 from hashicorp/oss/merge-main-bfc275e0f6e92b54f2226dd2d8fc107cc179248c
[main] OSS to ENT merge of (bfc275e)
2023-01-17 10:45:07 -08:00
github-team-secure-boundary 756e060a1b Merge Boundary UI OSS branch 'main' at commit bfc275e0 2023-01-17 18:45:01 +00:00
hc-github-team-secure-boundary a4803199c5 Merge pull request #32 from hashicorp/oss/merge-main-1f229fb44467f674c1599b09f31a115bb93ee6ac
[main] OSS to ENT merge of (1f229fb)
2023-01-13 15:16:28 -08:00
github-team-secure-boundary 5da52b1d14 Merge Boundary UI OSS branch 'main' at commit 1f229fb4 2023-01-13 23:16:24 +00:00
hc-github-team-secure-boundary 03f6715724 Merge pull request #31 from hashicorp/oss/merge-main-583d6de49b509246a3595f893c05294e4e3a58e0
[main] OSS to ENT merge of (583d6de)
2023-01-13 13:17:59 -08:00
github-team-secure-boundary dac8f2398c Merge Boundary UI OSS branch 'main' at commit 583d6de4 2023-01-13 21:17:52 +00:00
hc-github-team-secure-boundary 1527c0fb18 Merge pull request #30 from hashicorp/oss/merge-main-cf66235948af6d0e8306e77f0644f8019fa8ecc6
[main] OSS to ENT merge of (cf66235)
2023-01-13 10:22:57 -08:00
github-team-secure-boundary fc06cb6cd2 Merge Boundary UI OSS branch 'main' at commit cf662359 2023-01-13 18:22:50 +00:00
hc-github-team-secure-boundary a810dcb5b6 Merge pull request #29 from hashicorp/oss/merge-main-b02dc0aa43d37e319338ecb0f755d5c37dfd1e63
[main] OSS to ENT merge of (b02dc0a)
2023-01-12 14:29:24 -08:00
github-team-secure-boundary cf91e67d2e Merge Boundary UI OSS branch 'main' at commit b02dc0aa 2023-01-12 22:29:18 +00:00
hc-github-team-secure-boundary 3870a19a27 Merge pull request #28 from hashicorp/oss/merge-main-f7c80c88697661ec510f307bf66dc5cd1b7fd51e
[main] OSS to ENT merge of (f7c80c8)
2023-01-11 13:47:34 -08:00
github-team-secure-boundary ceffe48c79 Merge Boundary UI OSS branch 'main' at commit f7c80c88 2023-01-11 21:47:28 +00:00
hc-github-team-secure-boundary bb04329b48 Merge pull request #27 from hashicorp/oss/merge-main-c31f9e98be58d9264ad796c9400dbb323dd910e9
[main] OSS to ENT merge of (c31f9e9)
2023-01-11 10:04:46 -08:00
github-team-secure-boundary beb16a0540 Merge Boundary UI OSS branch 'main' at commit c31f9e98 2023-01-11 18:04:41 +00:00
hc-github-team-secure-boundary 4a901247c9 Merge pull request #26 from hashicorp/oss/merge-main-b58eda11223f1035fd2eabb2c66853903c6aadcf
[main] OSS to ENT merge of (b58eda1)
2023-01-11 08:56:21 -08:00
github-team-secure-boundary 2e708d4a5d Merge Boundary UI OSS branch 'main' at commit b58eda11 2023-01-11 16:56:16 +00:00
hc-github-team-secure-boundary d654fb6522 Merge pull request #25 from hashicorp/oss/merge-main-7509fa345b88bdde29887bfcc5897d5e3825dd78
[main] OSS to ENT merge of (7509fa3)
2023-01-10 15:25:52 -08:00
github-team-secure-boundary c36f9041ac Merge Boundary UI OSS branch 'main' at commit 7509fa34 2023-01-10 23:25:46 +00:00
hc-github-team-secure-boundary 9e3d067033 Merge pull request #24 from hashicorp/oss/merge-main-ad37b489b7b13a688392969a54c01d459b6a6b78
[main] OSS to ENT merge of (ad37b48)
2023-01-10 14:19:12 -08:00
github-team-secure-boundary 1a978f804b Merge Boundary UI OSS branch 'main' at commit ad37b489 2023-01-10 22:19:05 +00:00
hc-github-team-secure-boundary 764e67b208 Merge pull request #23 from hashicorp/oss/merge-main-63f619b1ffb16f62716683aab19e09b0285c619c
[main] OSS to ENT merge of (63f619b)
2023-01-10 13:29:03 -08:00
github-team-secure-boundary 868adf096a Merge Boundary UI OSS branch 'main' at commit 63f619b1 2023-01-10 21:28:57 +00:00
hc-github-team-secure-boundary b87912944c Merge pull request #22 from hashicorp/oss/merge-main-f41631c745b7c470974ef5bd6cfe28bc832ab4dd
[main] OSS to ENT merge of (f41631c)
2023-01-10 13:08:00 -08:00
github-team-secure-boundary a51b13c48f Merge Boundary UI OSS branch 'main' at commit f41631c7 2023-01-10 21:07:55 +00:00
hc-github-team-secure-boundary 6bff44211a Merge pull request #21 from hashicorp/oss/merge-main-1bd057bb4c39d8911f83054e1584336eaab8a2ef
[main] OSS to ENT merge of (1bd057b)
2023-01-10 09:57:40 -08:00
github-team-secure-boundary 36b826858b Merge Boundary UI OSS branch 'main' at commit 1bd057bb 2023-01-10 17:57:30 +00:00
hc-github-team-secure-boundary 26b895d4d9 Merge pull request #20 from hashicorp/oss/merge-main-6a8d563e06e4a7ac3803aae5f891e452e0a54ffc
[main] OSS to ENT merge of (6a8d563)
2023-01-10 07:47:35 -08:00
github-team-secure-boundary c52d39d7e8 Merge Boundary UI OSS branch 'main' at commit 6a8d563e 2023-01-10 15:47:29 +00:00
hc-github-team-secure-boundary 7afd8d759d Merge pull request #19 from hashicorp/oss/merge-main-2c72f85da1536accabd9f7504d430d14d6f77c1a
[main] OSS to ENT merge of (2c72f85)
2023-01-09 11:33:17 -08:00
github-team-secure-boundary b5e802ee6c Merge Boundary UI OSS branch 'main' at commit 2c72f85d 2023-01-09 19:33:12 +00:00
hc-github-team-secure-boundary 6d418a81f9 Merge pull request #18 from hashicorp/oss/merge-main-73be8268a69fdcf0ee2c17dd69093c707662c2c2
[main] OSS to ENT merge of (73be826)
2023-01-09 10:42:02 -08:00
github-team-secure-boundary 3d32811cbe Merge Boundary UI OSS branch 'main' at commit 73be8268 2023-01-09 18:41:55 +00:00
hc-github-team-secure-boundary 777b5186f5 Merge pull request #16 from hashicorp/oss/merge-main-c21f011bb29f32ffa99a8bdad5db8fb09e1e20e5
[main] OSS to ENT merge of (c21f011)
2023-01-09 08:49:30 -08:00
github-team-secure-boundary 273be2a715 Merge Boundary UI OSS branch 'main' at commit c21f011b 2023-01-09 16:49:25 +00:00
hc-github-team-secure-boundary f5eff16c01 Merge pull request #15 from hashicorp/oss/merge-main-ed91b268617a38d5c5e8f68ede1ca8edd1e6b5dc
[main] OSS to ENT merge of (ed91b26)
2023-01-06 11:52:04 -05:00
github-team-secure-boundary 322d795e26 Merge Boundary UI OSS branch 'main' at commit ed91b268 2023-01-06 16:51:59 +00:00
hc-github-team-secure-boundary 9e6c31de06 Merge pull request #14 from hashicorp/oss/merge-main-044bd14e21b2750e959ca07e3ed3b351677e4e6b
[main] OSS to ENT merge of (044bd14)
2023-01-05 15:33:28 -05:00
github-team-secure-boundary 434fb56d6b Merge Boundary UI OSS branch 'main' at commit 044bd14e 2023-01-05 20:33:21 +00:00
Randall Morey 984d444edc chore: 🤖 remove GH pages workflow 2023-01-04 15:03:14 -08:00
hc-github-team-secure-boundary bc52070f2a Merge pull request #13 from hashicorp/oss/merge-main-d8d1c797f5d2a277ac12def72cefd28f1ff3aca1
[main] OSS to ENT merge of (d8d1c79)
2023-01-03 16:40:55 -05:00
github-team-secure-boundary 82e8ebb9ac Merge Boundary UI OSS branch 'main' at commit d8d1c797 2023-01-03 21:40:49 +00:00
hc-github-team-secure-boundary 03a95baed3 Merge pull request #12 from hashicorp/oss/merge-main-49ce67b69e5907931c448f0b80ab1aeac6e3e790
[main] OSS to ENT merge of (49ce67b)
2023-01-03 14:43:29 -05:00
github-team-secure-boundary d49ca59187 Merge Boundary UI OSS branch 'main' at commit 49ce67b6 2023-01-03 19:43:24 +00:00
hc-github-team-secure-boundary 542aa40630 Merge pull request #11 from hashicorp/oss/merge-main-5612abce4ae1c598c650f4391ee9bfbb9aaa5868
[main] OSS to ENT merge of (5612abc)
2023-01-03 14:15:36 -05:00
github-team-secure-boundary f5be679612 Merge Boundary UI OSS branch 'main' at commit 5612abce 2023-01-03 19:15:31 +00:00
Randall Morey 438b9dd11d fix: 🐛 fix build step 2022-12-24 17:29:48 -05:00
Randall Morey cb89d0102d fix: 🐛 fix workflow build step 2022-12-24 17:27:40 -05:00
Randall Morey 5caf2ff4c3 fix: 🐛 fix gh pages build path 2022-12-24 16:35:36 -05:00
Randall Morey 3951a8e2d1 Merge pull request #7 from hashicorp/chore-gh-pages
chore: 🤖 add gh pages workflow
2022-12-24 15:40:19 -05:00
Randall Morey edf4cbdce1 chore: 🤖 add gh pages workflow 2022-12-24 15:39:10 -05:00
hc-github-team-secure-boundary 60cae87c73 Merge pull request #6 from hashicorp/oss/merge-main-07e64a7406e9c211731888cdc40f3fab9d01bc07
[main] OSS to ENT merge of (07e64a7)
2022-12-23 15:12:18 -05:00
github-team-secure-boundary ddef715d08 Merge Boundary UI OSS branch 'main' at commit 07e64a74 2022-12-23 20:12:12 +00:00
hc-github-team-secure-boundary 8d53bb3568 Merge pull request #4 from hashicorp/oss/merge-main-2393698d0d6db903d4534910bc5bb0659db87d10
[main] OSS to ENT merge of (2393698)
2022-12-23 11:34:33 -05:00
github-team-secure-boundary 643df25e12 Merge Boundary UI OSS branch 'main' at commit 2393698d 2022-12-23 16:34:26 +00:00
hc-github-team-secure-boundary 3a9d629b9d Merge pull request #3 from hashicorp/oss/merge-main-f3dbd7cdab52fc382af402f4192ebbe0ab2985ae
[main] OSS to ENT merge of (f3dbd7c)
2022-12-22 17:41:55 -05:00
github-team-secure-boundary 1b6a5879f1 Merge Boundary UI OSS branch 'main' at commit f3dbd7cd 2022-12-22 22:41:50 +00:00
hc-github-team-secure-boundary 1907f1600b Merge pull request #2 from hashicorp/oss/merge-main-f2c0458fb5cb8d42dcd8a6a63e3b4b52259b9049
[main] OSS to ENT merge of (f2c0458)
2022-12-22 17:10:47 -05:00
github-team-secure-boundary fc642bfc6a Merge Boundary UI OSS branch 'main' at commit f2c0458f 2022-12-22 22:10:39 +00:00
Michele Degges e24a481548 OSS->ENT merge (#1) 2022-12-22 16:21:14 -05:00
2353 changed files with 67003 additions and 33311 deletions

No files matched your search

+19
View File
@@ -0,0 +1,19 @@
schema_version = 1
project {
license = "BUSL-1.1"
copyright_year = 2024
# (OPTIONAL) A list of globs that should not have copyright/license headers.
# Supports doublestar glob patterns for more flexibility in defining which
# files or folders should be ignored
header_ignore = [
".github/**",
".husky/**",
"**/node_modules/**",
"**/dist/**",
"**/coverage/**",
"ui/desktop/electron-app/out/**",
"ui/desktop/electron-app/ember-dist/**",
]
}
+1 -1
View File
@@ -1,5 +1,5 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0
# SPDX-License-Identifier: BUSL-1.1
contact_links:
- name: Ask a question
+15 -8
View File
@@ -1,23 +1,30 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0
# SPDX-License-Identifier: BUSL-1.1
addons:
- addons/**/*
- changed-files:
- any-glob-to-any-file: "addons/**/*"
api-addon:
- addons/api/**/*
- changed-files:
- any-glob-to-any-file: "addons/api/**/*"
auth-addon:
- addons/auth/**/*
- changed-files:
- any-glob-to-any-file: "addons/auth/**/*"
styles-addon:
- addons/rose/**/*
- changed-files:
- any-glob-to-any-file: "addons/rose/**/*"
ui:
- ui/**/*
- changed-files:
- any-glob-to-any-file: "ui/**/*"
admin:
- ui/admin/**/*
- changed-files:
- any-glob-to-any-file: "ui/admin/**/*"
desktop:
- ui/desktop/**/*
- changed-files:
- any-glob-to-any-file: "ui/desktop/**/*"
+15 -12
View File
@@ -1,17 +1,20 @@
:tickets: [Jira ticket](https://hashicorp.atlassian.net/browse/JIRA_TICKET_NUMBER)
# Description
<!-- Add a brief description of changes here -->
## Description
<!-- Uncomment line below to manually add link to JIRA ticket -->
<!-- :tickets: [Jira ticket](https://hashicorp.atlassian.net/browse/JIRA_TICKET_NUMBER) -->
<!--
Replace PATH_TO_FEATURE with Vercel link
-->
## Screenshots (if appropriate)
:technologist: [Admin preview](PATH_TO_FEATURE)
## How to Test
<!-- Add steps to test this change. Include any other necessary relevant links -->
:rose: [Rose preview](PATH_TO_FEATURE)
## Checklist
<!-- strikethrough the checklist item that is not relevant to your change -->
:desktop_computer: [Desktop preview](PATH_TO_FEATURE)
<!-- Add a brief description of changes here. Include any other necessary relevant links -->
### Screenshots (if appropriate):
- [ ] I have added before and after screenshots for UI changes
- [ ] I have added JSON response output for API changes
- [ ] I have added steps to reproduce and test for bug fixes in the description
- [ ] I have commented on my code, particularly in hard-to-understand areas
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
+94
View File
@@ -0,0 +1,94 @@
#!/usr/bin/env bash
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
set -euo pipefail
# Configure Git
git config --global user.email "hc-github-team-secure-boundary@hashicorp.com"
git config --global user.name "github-team-secure-boundary"
# Fetch branches from ENT
git fetch origin
BRANCH=${1}
echo "BRANCH to merge is $BRANCH"
git checkout "${BRANCH}"
# Checkout OSS repo
git remote add oss-remote https://github.com/hashicorp/boundary-ui.git
git fetch oss-remote
# Merge oss/${BRANCH} into ent/${BRANCH}
git_merge_branch="${2}"
git checkout -b "${git_merge_branch}"
latest_oss_commit="$(git rev-parse --short oss-remote/${BRANCH})"
echo "Trying to merge the latest oss commit - ${latest_oss_commit} from oss/${BRANCH} into ent/${BRANCH}"
if ! errors=$(git merge -m "Merge Boundary UI OSS branch '${BRANCH}' at commit ${latest_oss_commit}" "${latest_oss_commit}"); then
# Here we can try to auto resolve conflicts
# This logic will vary from project to project. The below is just an example.
# We'll try to resolve package.json and yarn.lock conflicts by taking the OSS changes
conflicts=$(git diff --name-only --diff-filter=U)
printf "Found conflicts:\n${conflicts}\n"
# Resolve package.json conflicts by taking oss
if echo "$conflicts" | grep -q package.json; then
echo "Checking out oss package.json..."
git checkout --theirs package.json
git add package.json
fi
# Resolve yarn.lock conflicts by taking oss
if echo "$conflicts" | grep -q yarn.lock; then
echo "Checking out oss yarn.lock..."
git checkout --theirs yarn.lock
git add yarn.lock
fi
# If we can commit all the changes without conflict, we have resolved everything automatically
if ! git commit --no-edit; then
echo "Auto Merge failed, creating a draft PR"
git merge --abort
git clean -xfd
git fetch oss-remote
git checkout "${OSS_BRANCH}"
git checkout -b "${OSS_LOCAL_BRANCH}"
git push -f --set-upstream origin "${OSS_LOCAL_BRANCH}"
gh pr create \
--draft \
--fill-first \
--label "oss-merge" \
-B "${BASE_BRANCH}" \
-H "${OSS_LOCAL_BRANCH}" \
-a "${ACTOR}" \
-t "[${BASE_BRANCH/oss\/release\//}] OSS to ENT merge of (${SHA::7})" \
-b "${BASE_BRANCH/oss\//} upstream merge of (${SHA::7})
Merge failed, Please fix the conflicts using github UI or using the following commands:
\`\`\`bash
git checkout ${BASE_BRANCH}
git pull
git checkout ${OSS_LOCAL_BRANCH}
git merge ${BASE_BRANCH}
# fix conflicts and commit
git push origin ${OSS_LOCAL_BRANCH}
\`\`\`"
exit 0
fi
fi
# Check that there are actually changes to merge by comparing the
# merge branch to the current checked out branch
if (git diff ${BRANCH} --exit-code > /dev/null); then
echo "there are no changes to merge"
exit 0
fi
git push origin "${git_merge_branch}"
gh pr create \
--fill-first \
--label "oss-merge" \
-B "${BASE_BRANCH}" \
-H "${MERGE_BRANCH}" \
-a ${ACTOR} \
-t "[${BASE_BRANCH/oss\/release\//}] OSS to ENT merge of (${SHA::7})" \
-b "${BASE_BRANCH/oss\//} upstream merge of (${SHA::7})"
gh pr merge --auto --merge
# This PR will be need to be approved manually
+26 -24
View File
@@ -3,49 +3,51 @@ on:
push:
branches:
- main
- "release/**"
workflow_dispatch:
jobs:
dependencies:
name: Install dependencies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
id: node-modules-cache
with:
path: '**/node_modules'
path: "**/node_modules"
key: node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 16
node-version: 20
- run: yarn install
build-admin-ui-oss:
name: Build Admin UI OSS
needs: [dependencies]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
id: node-modules-cache
with:
path: '**/node_modules'
path: "**/node_modules"
key: node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-
- name: Build
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 16
node-version: 20
- run: yarn run build:ui:admin:oss
- name: Upload artifact admin-ui
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: admin-ui
path: ./ui/admin/dist/
- name: Upload artifact OSS admin UI
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: admin-ui-oss
path: ./ui/admin/dist/
@@ -54,21 +56,21 @@ jobs:
needs: [dependencies]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
id: node-modules-cache
with:
path: '**/node_modules'
path: "**/node_modules"
key: node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-
- name: Build
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 16
node-version: 20
- run: yarn run build:ui:admin:enterprise
- name: Upload artifact enterprise admin UI
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: admin-ui-ent
path: ./ui/admin/dist/
@@ -77,21 +79,21 @@ jobs:
needs: [dependencies]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
id: node-modules-cache
with:
path: '**/node_modules'
path: "**/node_modules"
key: node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-
- name: Build
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 16
node-version: 20
- run: yarn run build:ui:admin:hcp
- name: Upload artifact HCP admin UI
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: admin-ui-hcp
path: ./ui/admin/dist/
@@ -0,0 +1,34 @@
name: "Trigger Build Artifacts for Testing"
on:
workflow_dispatch:
inputs:
branch:
description: Please use tag-like format n.n.n-someword (1.111.11-beta)
required: true
product_version:
required: true
type: string
description: The version number belonging to the oss binary to be used
commit:
required: true
type: string
description: The git SHA of the oss artifacts to be used
jobs:
trigger-gha-build-artifacts-for-testing:
runs-on: ubuntu-latest
steps:
- name: Release description
if: github.event_name == 'workflow_dispatch'
run: |
echo "Triggering Build Artifacts for Testing using BRANCH and TEST_TAG ${{ github.event.inputs.branch }}"
- name: Trigger Build Artifacts for Testing in boundary-ui-releases
run: |
export GITHUB_TOKEN="${{ secrets.ELEVATED_GITHUB_TOKEN }}"
gh workflow run build-artifacts-for-testing.yml \
--repo hashicorp/boundary-ui-releases \
--ref main \
-f TAG="${{ inputs.branch }}" \
-f PRODUCT_VERSION="${{ inputs.product_version }}" \
-f COMMIT="${{ inputs.commit }}" \
+5 -19
View File
@@ -7,7 +7,7 @@ name: "CodeQL"
on:
push:
branches: [main, release-v0.1.0]
branches: [main]
pull_request:
# The branches below must be a subset of the branches above
branches: [main]
@@ -27,23 +27,14 @@ jobs:
language: ['javascript']
# Learn more...
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
steps:
- name: Checkout repository
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@9a866ed4524fc3422c3af1e446dab8efa3503411 # codeql-bundle-20230418
uses: github/codeql-action/init@8f1a6fed33af5212fab8a999d004627ae8901d1b # codeql-bundle-v2.17.5
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -51,11 +42,6 @@ jobs:
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@9a866ed4524fc3422c3af1e446dab8efa3503411 # codeql-bundle-20230418
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -68,4 +54,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@9a866ed4524fc3422c3af1e446dab8efa3503411 # codeql-bundle-20230418
uses: github/codeql-action/analyze@8f1a6fed33af5212fab8a999d004627ae8901d1b # codeql-bundle-v2.17.5
+10
View File
@@ -0,0 +1,10 @@
name: Check Copyright Headers
on: pull_request
jobs:
copywrite:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: hashicorp/setup-copywrite@32638da2d4e81d56a0764aa1547882fc4d209636 # v1.1.3
- name: Check Header Compliance
run: copywrite headers --plan
+43 -24
View File
@@ -19,36 +19,33 @@ jobs:
id: boundary-team-role
run: |
TEAM=boundary
ROLE="$(hub api orgs/hashicorp/teams/${TEAM}/memberships/${{ github.actor }} | jq -r '.role | select(.!=null)')"
ROLE="$(gh api orgs/hashicorp/teams/${TEAM}/memberships/${{ github.actor }} | jq -r '.role | select(.!=null)')"
if [[ -n ${ROLE} ]]; then
echo "Actor ${{ github.actor }} is a ${TEAM} team member, skipping ticket creation"
else
echo "Actor ${{ github.actor }} is not a ${TEAM} team member"
fi
echo "::set-output name=role::${ROLE}"
echo "role=${ROLE}" >> $GITHUB_OUTPUT
env:
GITHUB_TOKEN: ${{ secrets.JIRA_SYNC_GITHUB_TOKEN }}
- name: Login
uses: atlassian/gajira-login@45fd029b9f1d6d8926c6f04175aa80c0e42c9026 # v3.0.1
env:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
- name: Set ticket type
if: github.event.action == 'opened' && !steps.boundary-team-role.outputs.role
id: set-ticket-type
run: |
if [[ "${{ github.event_name }}" == "pull_request_target" ]]; then
echo "::set-output name=type::PR"
echo "type=PR" >> $GITHUB_OUTPUT
else
echo "::set-output name=type::ISS"
echo "type=ISS" >> $GITHUB_OUTPUT
fi
- name: Create ticket
if: github.event.action == 'opened' && !steps.boundary-team-role.outputs.role
uses: tomhjp/gh-action-jira-create@3ed1789cad3521292e591a7cfa703215ec1348bf # v0.2.1
env:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
with:
project: ICU
issuetype: "GH Issue"
@@ -62,27 +59,49 @@ jobs:
if: github.event.action != 'opened'
id: search
uses: tomhjp/gh-action-jira-search@04700b457f317c3e341ce90da5a3ff4ce058f2fa # v0.2.2
env:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
with:
# cf[10089] is Issue Link custom field
jql: 'issuetype = "GH Issue" and cf[10089]="${{ github.event.issue.html_url || github.event.pull_request.html_url }}"'
- name: Sync comment
if: github.event.action == 'created' && steps.search.outputs.issue
uses: atlassian/gajira-comment@v2.0.2 # TSCCR: no entry for repository "atlassian/gajira-comment"
uses: tomhjp/gh-action-jira-comment@6eb6b9ead70221916b6badd118c24535ed220bd9 # v0.2.0
env:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
with:
issue: ${{ steps.search.outputs.issue }}
comment: "${{ github.actor }} ${{ github.event.review.state || 'commented' }}:\n\n${{ github.event.comment.body || github.event.review.body }}\n\n${{ github.event.comment.html_url || github.event.review.html_url }}"
- name: Close ticket
if: (github.event.action == 'closed' || github.event.action == 'deleted') && steps.search.outputs.issue
uses: atlassian/gajira-transition@38fc9cd61b03d6a53dd35fcccda172fe04b36de3 # v3.0.1
with:
issue: ${{ steps.search.outputs.issue }}
transition: Done
- name: Transitions
id: transitions
if: steps.search.outputs.issue
run: |
if [[ "${{ github.event.action }}" == "closed" || "${{ github.event.action }}" == "deleted" ]]; then
echo "Closing ticket"
echo "name=Done" >> "$GITHUB_OUTPUT"
elif [[ "${{ github.event.action }}" == "reopened" ]]; then
echo "Reopening ticket"
echo "name=Reopen" >> "$GITHUB_OUTPUT"
fi
- name: Reopen ticket
if: github.event.action == 'reopened' && steps.search.outputs.issue
uses: atlassian/gajira-transition@38fc9cd61b03d6a53dd35fcccda172fe04b36de3 # v3.0.1
with:
issue: ${{ steps.search.outputs.issue }}
transition: "To Do"
# Transition issue API reference: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest-api-3-issue-issueidorkey-transitions-post
- name: Transition ticket
if: steps.transitions.outputs.name
run: |
transitions="$(curl --silent \
--url "${{ secrets.JIRA_BASE_URL }}rest/api/3/issue/${{ steps.search.outputs.issue }}/transitions" \
--user "${{ secrets.JIRA_USER_EMAIL }}:${{ secrets.JIRA_API_TOKEN }}" \
--header "Accept: application/json")"
id="$(echo "${transitions}" | jq -r '.transitions[] | select(.name == "${{ steps.transitions.outputs.name }}") | .id')"
curl --silent \
--url "${{ secrets.JIRA_BASE_URL }}rest/api/3/issue/${{ steps.search.outputs.issue }}/transitions" \
--user "${{ secrets.JIRA_USER_EMAIL }}:${{ secrets.JIRA_API_TOKEN }}" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data "$(printf '{"transition": {"id": "%s"}}' "${id}")"
+1 -1
View File
@@ -6,6 +6,6 @@ jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@ba790c862c380240c6d5e7427be5ace9a05c754b # v4.0.3
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
+16 -16
View File
@@ -6,17 +6,17 @@ jobs:
name: Install dependencies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
id: node-modules-cache
with:
path: '**/node_modules'
key: node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 16
node-version: 20
- run: yarn install
compliance:
@@ -24,17 +24,17 @@ jobs:
needs: [dependencies]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
id: node-modules-cache
with:
path: '**/node_modules'
key: node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 16
node-version: 20
- run: yarn run compliance:licenses
lint:
@@ -43,17 +43,17 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
id: node-modules-cache
with:
path: '**/node_modules'
key: node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 16
node-version: 20
- run: yarn lint
test:
@@ -62,13 +62,13 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
id: node-modules-cache
with:
path: '**/node_modules'
key: node-modules-${{ hashFiles('**/yarn.lock') }}
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version: 16
node-version: 20
- run: yarn test
+24
View File
@@ -0,0 +1,24 @@
name: OSS → ENT Merge
on:
repository_dispatch:
types: [ oss-merge ]
jobs:
oss-merge:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
- run: |
git fetch --prune --unshallow
./.github/scripts/merge.sh "${BASE_BRANCH}" "${MERGE_BRANCH}"
env:
BASE_BRANCH: ${{ github.event.client_payload.git-ref }}
OSS_BRANCH: oss-remote/${{ github.event.client_payload.git-ref }}
OSS_LOCAL_BRANCH: oss/${{ github.event.client_payload.git-ref }}-${{ github.event.client_payload.git-sha }}
MERGE_BRANCH: oss/merge-${{ github.event.client_payload.git-ref }}-${{github.event.client_payload.git-sha}}
GITHUB_TOKEN: ${{secrets.ELEVATED_GITHUB_TOKEN }}
MERGE_APPROVE_TOKEN: ${{secrets.ELEVATED_GITHUB_TOKEN }}
ACTOR: ${{ github.event.client_payload.git-actor }}
SHA: ${{github.event.client_payload.git-sha}}
+1 -1
View File
@@ -9,7 +9,7 @@ jobs:
trigger-gha-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: Release description
run: |
echo "Triggering release with a TAG ${GITHUB_REF#refs/tags/}"
+19 -2
View File
@@ -20,6 +20,23 @@ libpeerconnection.log
npm-debug.log*
testem.log
yarn-error.log
storybook-static
**/.storybook/*.html
.watchman-cookie*
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
# Local History for Visual Studio Code
.history/
# Built Visual Studio Code Extensions
*.vsix
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
.ionide
+17 -4
View File
@@ -4,11 +4,24 @@
COMMIT_MSG_FILE=$1
COMMIT_SOURCE=$2
SHA1=$3
# Gets the current branch name but if we're in a detached head state, return "HEAD"
BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD)
# Regex to match the ICU-#### branch name pattern we use
ISSUE_REGEX="^(ICU-[0-9]+)"
# Don't run commitizen for merge or squash commits
if [ "${COMMIT_SOURCE}" = merge ] || [ "${COMMIT_SOURCE}" = squash ];then
# Don't run commitizen for merge or squash commits, as well as when rebasing
if [ "${COMMIT_SOURCE}" = merge ] || [ "${COMMIT_SOURCE}" = squash ] || [ "${COMMIT_SOURCE}" = "message" -a "${BRANCH_NAME}" = "HEAD" ];then
exit 0
fi
# This is to allow interaction with the terminal for commitizen
exec < /dev/tty && npx git-cz --hook || true
# If the branch name matches, set the JIRA link automatically
if [[ $BRANCH_NAME =~ $ISSUE_REGEX ]]
then
issue="${BASH_REMATCH[1]}"
url="https://hashicorp.atlassian.net/browse/${issue}"
exec < /dev/tty && npx git-cz --issues="$url" --hook || true
else
# This is to allow interaction with the terminal for commitizen
exec < /dev/tty && npx git-cz --hook || true
fi
+1 -1
View File
@@ -1,5 +1,5 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0
# SPDX-License-Identifier: BUSL-1.1
url_license = "https://github.com/hashicorp/boundary-ui/blob/main/LICENSE"
url_project_website = "https://learn.hashicorp.com/tutorials/boundary/getting-started-desktop-app"
+91 -364
View File
@@ -1,364 +1,91 @@
Copyright (c) 2020 HashiCorp, Inc.
Mozilla Public License, version 2.0
1. Definitions
1.1. "Contributor"
means each individual or legal entity that creates, contributes to the
creation of, or owns Covered Software.
1.2. "Contributor Version"
means the combination of the Contributions of others (if any) used by a
Contributor and that particular Contributor's Contribution.
1.3. "Contribution"
means Covered Software of a particular Contributor.
1.4. "Covered Software"
means Source Code Form to which the initial Contributor has attached the
notice in Exhibit A, the Executable Form of such Source Code Form, and
Modifications of such Source Code Form, in each case including portions
thereof.
1.5. "Incompatible With Secondary Licenses"
means
a. that the initial Contributor has attached the notice described in
Exhibit B to the Covered Software; or
b. that the Covered Software was made available under the terms of
version 1.1 or earlier of the License, but not also under the terms of
a Secondary License.
1.6. "Executable Form"
means any form of the work other than Source Code Form.
1.7. "Larger Work"
means a work that combines Covered Software with other material, in a
separate file or files, that is not Covered Software.
1.8. "License"
means this document.
1.9. "Licensable"
means having the right to grant, to the maximum extent possible, whether
at the time of the initial grant or subsequently, any and all of the
rights conveyed by this License.
1.10. "Modifications"
means any of the following:
a. any file in Source Code Form that results from an addition to,
deletion from, or modification of the contents of Covered Software; or
b. any new file in Source Code Form that contains any Covered Software.
1.11. "Patent Claims" of a Contributor
means any patent claim(s), including without limitation, method,
process, and apparatus claims, in any patent Licensable by such
Contributor that would be infringed, but for the grant of the License,
by the making, using, selling, offering for sale, having made, import,
or transfer of either its Contributions or its Contributor Version.
1.12. "Secondary License"
means either the GNU General Public License, Version 2.0, the GNU Lesser
General Public License, Version 2.1, the GNU Affero General Public
License, Version 3.0, or any later versions of those licenses.
1.13. "Source Code Form"
means the form of the work preferred for making modifications.
1.14. "You" (or "Your")
means an individual or a legal entity exercising rights under this
License. For legal entities, "You" includes any entity that controls, is
controlled by, or is under common control with You. For purposes of this
definition, "control" means (a) the power, direct or indirect, to cause
the direction or management of such entity, whether by contract or
otherwise, or (b) ownership of more than fifty percent (50%) of the
outstanding shares or beneficial ownership of such entity.
2. License Grants and Conditions
2.1. Grants
Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license:
a. under intellectual property rights (other than patent or trademark)
Licensable by such Contributor to use, reproduce, make available,
modify, display, perform, distribute, and otherwise exploit its
Contributions, either on an unmodified basis, with Modifications, or
as part of a Larger Work; and
b. under Patent Claims of such Contributor to make, use, sell, offer for
sale, have made, import, and otherwise transfer either its
Contributions or its Contributor Version.
2.2. Effective Date
The licenses granted in Section 2.1 with respect to any Contribution
become effective for each Contribution on the date the Contributor first
distributes such Contribution.
2.3. Limitations on Grant Scope
The licenses granted in this Section 2 are the only rights granted under
this License. No additional rights or licenses will be implied from the
distribution or licensing of Covered Software under this License.
Notwithstanding Section 2.1(b) above, no patent license is granted by a
Contributor:
a. for any code that a Contributor has removed from Covered Software; or
b. for infringements caused by: (i) Your and any other third party's
modifications of Covered Software, or (ii) the combination of its
Contributions with other software (except as part of its Contributor
Version); or
c. under Patent Claims infringed by Covered Software in the absence of
its Contributions.
This License does not grant any rights in the trademarks, service marks,
or logos of any Contributor (except as may be necessary to comply with
the notice requirements in Section 3.4).
2.4. Subsequent Licenses
No Contributor makes additional grants as a result of Your choice to
distribute the Covered Software under a subsequent version of this
License (see Section 10.2) or under the terms of a Secondary License (if
permitted under the terms of Section 3.3).
2.5. Representation
Each Contributor represents that the Contributor believes its
Contributions are its original creation(s) or it has sufficient rights to
grant the rights to its Contributions conveyed by this License.
2.6. Fair Use
This License is not intended to limit any rights You have under
applicable copyright doctrines of fair use, fair dealing, or other
equivalents.
2.7. Conditions
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
Section 2.1.
3. Responsibilities
3.1. Distribution of Source Form
All distribution of Covered Software in Source Code Form, including any
Modifications that You create or to which You contribute, must be under
the terms of this License. You must inform recipients that the Source
Code Form of the Covered Software is governed by the terms of this
License, and how they can obtain a copy of this License. You may not
attempt to alter or restrict the recipients' rights in the Source Code
Form.
3.2. Distribution of Executable Form
If You distribute Covered Software in Executable Form then:
a. such Covered Software must also be made available in Source Code Form,
as described in Section 3.1, and You must inform recipients of the
Executable Form how they can obtain a copy of such Source Code Form by
reasonable means in a timely manner, at a charge no more than the cost
of distribution to the recipient; and
b. You may distribute such Executable Form under the terms of this
License, or sublicense it under different terms, provided that the
license for the Executable Form does not attempt to limit or alter the
recipients' rights in the Source Code Form under this License.
3.3. Distribution of a Larger Work
You may create and distribute a Larger Work under terms of Your choice,
provided that You also comply with the requirements of this License for
the Covered Software. If the Larger Work is a combination of Covered
Software with a work governed by one or more Secondary Licenses, and the
Covered Software is not Incompatible With Secondary Licenses, this
License permits You to additionally distribute such Covered Software
under the terms of such Secondary License(s), so that the recipient of
the Larger Work may, at their option, further distribute the Covered
Software under the terms of either this License or such Secondary
License(s).
3.4. Notices
You may not remove or alter the substance of any license notices
(including copyright notices, patent notices, disclaimers of warranty, or
limitations of liability) contained within the Source Code Form of the
Covered Software, except that You may alter any license notices to the
extent required to remedy known factual inaccuracies.
3.5. Application of Additional Terms
You may choose to offer, and to charge a fee for, warranty, support,
indemnity or liability obligations to one or more recipients of Covered
Software. However, You may do so only on Your own behalf, and not on
behalf of any Contributor. You must make it absolutely clear that any
such warranty, support, indemnity, or liability obligation is offered by
You alone, and You hereby agree to indemnify every Contributor for any
liability incurred by such Contributor as a result of warranty, support,
indemnity or liability terms You offer. You may include additional
disclaimers of warranty and limitations of liability specific to any
jurisdiction.
4. Inability to Comply Due to Statute or Regulation
If it is impossible for You to comply with any of the terms of this License
with respect to some or all of the Covered Software due to statute,
judicial order, or regulation then You must: (a) comply with the terms of
this License to the maximum extent possible; and (b) describe the
limitations and the code they affect. Such description must be placed in a
text file included with all distributions of the Covered Software under
this License. Except to the extent prohibited by statute or regulation,
such description must be sufficiently detailed for a recipient of ordinary
skill to be able to understand it.
5. Termination
5.1. The rights granted under this License will terminate automatically if You
fail to comply with any of its terms. However, if You become compliant,
then the rights granted under this License from a particular Contributor
are reinstated (a) provisionally, unless and until such Contributor
explicitly and finally terminates Your grants, and (b) on an ongoing
basis, if such Contributor fails to notify You of the non-compliance by
some reasonable means prior to 60 days after You have come back into
compliance. Moreover, Your grants from a particular Contributor are
reinstated on an ongoing basis if such Contributor notifies You of the
non-compliance by some reasonable means, this is the first time You have
received notice of non-compliance with this License from such
Contributor, and You become compliant prior to 30 days after Your receipt
of the notice.
5.2. If You initiate litigation against any entity by asserting a patent
infringement claim (excluding declaratory judgment actions,
counter-claims, and cross-claims) alleging that a Contributor Version
directly or indirectly infringes any patent, then the rights granted to
You by any and all Contributors for the Covered Software under Section
2.1 of this License shall terminate.
5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user
license agreements (excluding distributors and resellers) which have been
validly granted by You or Your distributors under this License prior to
termination shall survive termination.
6. Disclaimer of Warranty
Covered Software is provided under this License on an "as is" basis,
without warranty of any kind, either expressed, implied, or statutory,
including, without limitation, warranties that the Covered Software is free
of defects, merchantable, fit for a particular purpose or non-infringing.
The entire risk as to the quality and performance of the Covered Software
is with You. Should any Covered Software prove defective in any respect,
You (not any Contributor) assume the cost of any necessary servicing,
repair, or correction. This disclaimer of warranty constitutes an essential
part of this License. No use of any Covered Software is authorized under
this License except under this disclaimer.
7. Limitation of Liability
Under no circumstances and under no legal theory, whether tort (including
negligence), contract, or otherwise, shall any Contributor, or anyone who
distributes Covered Software as permitted above, be liable to You for any
direct, indirect, special, incidental, or consequential damages of any
character including, without limitation, damages for lost profits, loss of
goodwill, work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses, even if such party shall have been
informed of the possibility of such damages. This limitation of liability
shall not apply to liability for death or personal injury resulting from
such party's negligence to the extent applicable law prohibits such
limitation. Some jurisdictions do not allow the exclusion or limitation of
incidental or consequential damages, so this exclusion and limitation may
not apply to You.
8. Litigation
Any litigation relating to this License may be brought only in the courts
of a jurisdiction where the defendant maintains its principal place of
business and such litigation shall be governed by laws of that
jurisdiction, without reference to its conflict-of-law provisions. Nothing
in this Section shall prevent a party's ability to bring cross-claims or
counter-claims.
9. Miscellaneous
This License represents the complete agreement concerning the subject
matter hereof. If any provision of this License is held to be
unenforceable, such provision shall be reformed only to the extent
necessary to make it enforceable. Any law or regulation which provides that
the language of a contract shall be construed against the drafter shall not
be used to construe this License against a Contributor.
10. Versions of the License
10.1. New Versions
Mozilla Foundation is the license steward. Except as provided in Section
10.3, no one other than the license steward has the right to modify or
publish new versions of this License. Each version will be given a
distinguishing version number.
10.2. Effect of New Versions
You may distribute the Covered Software under the terms of the version
of the License under which You originally received the Covered Software,
or under the terms of any subsequent version published by the license
steward.
10.3. Modified Versions
If you create software not governed by this License, and you want to
create a new license for such software, you may create and use a
modified version of this License if you rename the license and remove
any references to the name of the license steward (except to note that
such modified license differs from this License).
10.4. Distributing Source Code Form that is Incompatible With Secondary
Licenses If You choose to distribute Source Code Form that is
Incompatible With Secondary Licenses under the terms of this version of
the License, the notice described in Exhibit B of this License must be
attached.
Exhibit A - Source Code Form License Notice
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
2.0. If a copy of the MPL was not
distributed with this file, You can
obtain one at
http://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular file,
then You may include the notice in a location (such as a LICENSE file in a
relevant directory) where a recipient would be likely to look for such a
notice.
You may add additional accurate notices of copyright ownership.
Exhibit B - "Incompatible With Secondary Licenses" Notice
This Source Code Form is "Incompatible
With Secondary Licenses", as defined by
the Mozilla Public License, v. 2.0.
License text copyright (c) 2020 MariaDB Corporation Ab, All Rights Reserved.
"Business Source License" is a trademark of MariaDB Corporation Ab.
Parameters
Licensor: HashiCorp, Inc.
Licensed Work: The Licensed Work is (c) 2024 HashiCorp, Inc.
Additional Use Grant: You may make production use of the Licensed Work, provided
Your use does not include offering the Licensed Work to third
parties on a hosted or embedded basis in order to compete with
HashiCorp's paid version(s) of the Licensed Work. For purposes
of this license:
A "competitive offering" is a Product that is offered to third
parties on a paid basis, including through paid support
arrangements, that significantly overlaps with the capabilities
of HashiCorp's paid version(s) of the Licensed Work. If Your
Product is not a competitive offering when You first make it
generally available, it will not become a competitive offering
later due to HashiCorp releasing a new version of the Licensed
Work with additional capabilities. In addition, Products that
are not provided on a paid basis are not competitive.
"Product" means software that is offered to end users to manage
in their own environments or offered as a service on a hosted
basis.
"Embedded" means including the source code or executable code
from the Licensed Work in a competitive offering. "Embedded"
also means packaging the competitive offering in such a way
that the Licensed Work must be accessed or downloaded for the
competitive offering to operate.
Hosting or using the Licensed Work(s) for internal purposes
within an organization is not considered a competitive
offering. HashiCorp considers your organization to include all
of your affiliates under common control.
For binding interpretive guidance on using HashiCorp products
under the Business Source License, please visit our FAQ.
(https://www.hashicorp.com/license-faq)
Change Date: Four years from the date the Licensed Work is published.
Change License: MPL 2.0
For information about alternative licensing arrangements for the Licensed Work,
please contact licensing@hashicorp.com.
Notice
Business Source License 1.1
Terms
The Licensor hereby grants you the right to copy, modify, create derivative
works, redistribute, and make non-production use of the Licensed Work. The
Licensor may make an Additional Use Grant, above, permitting limited production use.
Effective on the Change Date, or the fourth anniversary of the first publicly
available distribution of a specific version of the Licensed Work under this
License, whichever comes first, the Licensor hereby grants you rights under
the terms of the Change License, and the rights granted in the paragraph
above terminate.
If your use of the Licensed Work does not comply with the requirements
currently in effect as described in this License, you must purchase a
commercial license from the Licensor, its affiliated entities, or authorized
resellers, or you must refrain from using the Licensed Work.
All copies of the original and modified Licensed Work, and derivative works
of the Licensed Work, are subject to this License. This License applies
separately for each version of the Licensed Work and the Change Date may vary
for each version of the Licensed Work released by Licensor.
You must conspicuously display this License on each original or modified copy
of the Licensed Work. If you receive the Licensed Work in original or
modified form from a third party, the terms and conditions set forth in this
License apply to your use of that work.
Any use of the Licensed Work in violation of this License will automatically
terminate your rights under this License for the current and all other
versions of the Licensed Work.
This License does not grant you any right in any trademark or logo of
Licensor or its affiliates (provided that you may use a trademark or logo of
Licensor as expressly required by this License).
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
TITLE.
+71 -25
View File
@@ -13,44 +13,78 @@ subproject, e.g. running or testing.
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Yarn Commands](#yarn-commands)
- [Contributing](#contributing)
- [Branching](#branching)
- [Building ToC](#building-toc)
- [Building Admin UI for Production](#building-admin-ui-for-production)
- [Building with a Container](#building-with-a-container)
- [Building Desktop UI for Production](#building-desktop-ui-for-production)
- [Connect Boundary UI to Boundary local instance](#connect-boundary-ui-to-boundary-local-instance)
- [For admin](#for-admin)
- [For desktop](#for-desktop)
- [Committing](#committing)
- [License Checking](#license-checking)
- [Boundary UI Monorepo](#boundary-ui-monorepo)
- [Projects](#projects)
- [Core (addons/core):](#core-addonscore)
- [API (addons/api):](#api-addonsapi)
- [Auth (addons/auth):](#auth-addonsauth)
- [Rose (addons/rose)](#rose-addonsrose)
- [Admin (ui/admin)](#admin-uiadmin)
- [Desktop Client (ui/desktop)](#desktop-client-uidesktop)
- [Prerequisites](#prerequisites)
- [Optional Tooling](#optional-tooling)
- [Installation](#installation)
- [Yarn Commands](#yarn-commands)
- [Contributing](#contributing)
- [Branching](#branching)
- [Building ToC](#building-toc)
- [Building Admin UI for Production](#building-admin-ui-for-production)
- [Building with a Container](#building-with-a-container)
- [Building Desktop UI for Production](#building-desktop-ui-for-production)
- [Connect Boundary UI to Boundary local instance](#connect-boundary-ui-to-boundary-local-instance)
- [For admin](#for-admin)
- [For desktop](#for-desktop)
- [Committing](#committing)
- [License Checking](#license-checking)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
## Projects
This monorepo contains multiple projects.
### Core (addons/core):
Core features use by Boundary UI's, i.e i18n, helpers or components. [Project Readme](addons/core).
### API (addons/api):
The API data access layer for Boundary and all the related mocks. [Project Readme](addons/api).
### Auth (addons/auth):
Authentication layer for Boundary. [Project Readme](addons/auth).
### Rose (addons/rose)
Common styles and components shared by Boundary UIs. [Project Readme](addons/rose).
### Admin (ui/admin)
The Admin UI for Boundary. [Project Readme](ui/admin).
### Desktop Client (ui/desktop)
The desktop client UI for Boundary. [Project Readme](ui/desktop).
## Prerequisites
You will need the following things properly installed on your computer.
* [Git][git]
* [Node.js][node]
* Supported versions:`v12`, `v14` and `v16`.
* **Apple Silicon Users**: if you experience problems building or running
Boundary UIs, try Node v14.
* Supported versions: `v18` and `v20`.
* [Yarn][yarn] installed globally
* [Google Chrome][chrome]
* [Firefox][firefox]
[git]: https://git-scm.com/
[node]: https://nodejs.org/
[yarn]: https://classic.yarnpkg.com/lang/en/
[chrome]: https://google.com/chrome/
[firefox]: https://firefox.com/
[yarn-workspaces]: https://classic.yarnpkg.com/en/docs/workspaces/
## Optional Tooling
Our team finds the following applications useful in day-to-day development
workflows. These are merely recommendations. We encourage you to use the tools
that best suit you and your personal style.
* [VS Code][vscode]: Code editor for building and debugging web applications
* [Warp][warp]: Terminal application for macOS
* [Homebrew][homebrew]: The missing package manager for macOS and Linux
* [Ember Inspector][ember-inspector]: Understand and debug Ember applications
* [Postman][postman]: Test and inspect APIs
## Installation
@@ -125,7 +159,7 @@ In windows, UI is generated using docker to provide a stable UI across platforms
```cmd
yarn install
docker-compose -f docker-compose-embedding.yml run build-desktop-production
docker-compose -f docker-compose-embedding.yml run build-desktop-production
yarn build:ui:desktop:app
```
@@ -180,3 +214,15 @@ The change will be verified upon PR. GPL variants and UNLICENSED dependencies
will not be accepted.
[github-flow]: https://guides.github.com/introduction/flow/
[git]: https://git-scm.com/
[node]: https://nodejs.org/
[yarn]: https://classic.yarnpkg.com/lang/en/
[chrome]: https://google.com/chrome/
[firefox]: https://firefox.com/
[yarn-workspaces]: https://classic.yarnpkg.com/en/docs/workspaces/
[homebrew]: https://brew.sh
[warp]: https://www.warp.dev
[vscode]: https://code.visualstudio.com/
[ember-inspector]: https://guides.emberjs.com/release/ember-inspector/
[postman]: https://www.postman.com/downloads/
+2 -2
View File
@@ -8,8 +8,8 @@
"disableAnalytics": false,
/**
Setting `isTypeScriptProject` to true will force the blueprint generators to generate TypeScript
rather than JavaScript by default, when a TypeScript version of a given blueprint is available.
Setting `isTypeScriptProject` to true will force the blueprint generators to generate TypeScript
rather than JavaScript by default, when a TypeScript version of a given blueprint is available.
*/
"isTypeScriptProject": false
}
+9 -5
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
'use strict';
@@ -9,12 +9,14 @@ module.exports = {
root: true,
parser: '@babel/eslint-parser',
parserOptions: {
ecmaVersion: 2018,
ecmaVersion: 'latest',
sourceType: 'module',
// This is specific babel-config. If grows consider creating a babel config file
requireConfigFile: false,
babelOptions: {
plugins: [['@babel/plugin-proposal-decorators', { legacy: true }]],
plugins: [
['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true }],
],
},
// end of babel-config
},
@@ -51,13 +53,15 @@ module.exports = {
browser: false,
node: true,
},
plugins: ['node'],
extends: ['plugin:node/recommended'],
extends: ['plugin:n/recommended'],
},
{
// Test files:
files: ['tests/**/*-test.{js,ts}'],
extends: ['plugin:qunit/recommended'],
rules: {
'qunit/require-expect': [2, 'except-simple'],
},
},
],
};
-1
View File
@@ -22,7 +22,6 @@
/.travis.yml
/.watchmanconfig
/bower.json
/config/ember-try.js
/CONTRIBUTING.md
/ember-cli-build.js
/testem.js
+9 -2
View File
@@ -1,8 +1,15 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
module.exports = {
singleQuote: true,
overrides: [
{
files: '*.{js,ts}',
options: {
singleQuote: true,
},
},
],
};
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
'use strict';
@@ -0,0 +1,110 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import sinon from 'sinon';
import { typeOf } from '@ember/utils';
import { resourceNames } from 'api/handlers/cache-daemon-handler';
import { singularize } from 'ember-inflector';
/**
* This test helper can be used to help setup your sinon stubs in your tests.
* Must be called after setupMirage.
*
* ```js
* import setupStubs from 'api/test-support/handlers/cache-daemon-search';
*
* module('Acceptance | my test', function(hooks) {
* setupApplicationTest(hooks);
* setupMirage(hooks);
* setupStubs(hooks);
*
* // add your actual tests here
* });
* ```
*
* This will setup a stub for the IPC service and include helper methods to
* help setup what the cache daemon search command returns.
*
* @module Test Helpers
* @public
*/
export default function setupStubs(hooks) {
let stubTypes = [];
hooks.beforeEach(function () {
const ipcService = this.owner.lookup('service:ipc');
this.ipcStub = sinon.stub(ipcService, 'invoke');
/**
* We aim to still use mirage data when stubbing out the cache daemon
* search. However, the handler expects the search data to be raw JSON from
* the API which will get serialized. We add back the scope object for it to
* get correctly normalized and other fields such as "attributes" from the
* API will already be hoisted and will not be re-normalized from mirage data.
*
* This convenience method can take in multiple types,
* e.g. this.stubCacheDaemonSearch('targets', 'sessions').
* This will have sinon stub out each call so the first call to search will
* provide all the models from the first parameter you specify,
* the second call will provide all the models from the second argument, etc.
* @param types
*/
this.stubCacheDaemonSearch = (...types) => {
stubTypes = types;
types.forEach((type, i) => {
let models;
let resourceName;
if (typeOf(type) === 'object') {
models = type.func();
resourceName = type.resource;
} else {
models = this.server.schema[type].all().models;
resourceName = type;
}
this.ipcStub
.withArgs('searchCacheDaemon')
.onCall(i)
.returns({
[resourceName]: models.map((model) => {
// Use internal serializer to serialize the model correctly
// according to our mirage serializers
const modelData =
this.server.serializerOrRegistry.serialize(model);
// Serialize the data properly to standard JSON as that is what
// we're expecting from the cache daemon response
return JSON.parse(JSON.stringify(modelData));
}),
});
});
};
});
hooks.afterEach(function () {
// Verify the number of mocks we set up match with how
// many times the cache daemon was called with
sinon.assert.callCount(
this.ipcStub.withArgs('searchCacheDaemon'),
stubTypes.length,
);
stubTypes.forEach((type, i) => {
// Assert that the stub was called with the resource we're trying to mock
// so we don't mistakenly mock the wrong resource
const ipcCall = this.ipcStub.withArgs('searchCacheDaemon').getCall(i);
let resource = type;
if (typeOf(type) === 'object') {
resource = type.resource;
}
const mappedResourceName = resourceNames[singularize(resource)];
sinon.assert.match(ipcCall.args[1], { resource: mappedResourceName });
});
sinon.restore();
});
}
@@ -0,0 +1,35 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
/**
* This test helper can help set up and cleanup the database in your tests.
*
* ```js
* import { setupIndexedDb } from 'api/test-support/helpers/indexed-db';
*
* module('Acceptance | my test', function(hooks) {
* setupApplicationTest(hooks);
* setupIndexedDb(hooks);
*
* // add your actual tests here
* });
* ```
*
* @param hooks
*/
export function setupIndexedDb(hooks) {
hooks.beforeEach(function () {
const indexedDb = this.owner.lookup('service:indexed-db');
indexedDb.setup(`test-indexed-db-${Date.now()}`);
});
hooks.afterEach(async function () {
const indexedDb = this.owner.lookup('service:indexed-db');
await indexedDb.db.delete();
});
}
export default setupIndexedDb;
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
@@ -0,0 +1,26 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
import { inject as service } from '@ember/service';
/**
* Provides abilities for channel recordings.
*/
export default class ChannelRecordingAbility extends ModelAbility {
// =services
@service abilities;
// =permissions
get canGetAsciicast() {
const sessionRecording = this.model.connection_recording.session_recording;
const sessionRecordingAbility = this.abilities.abilityFor(
'session-recording',
sessionRecording,
);
return this.model.isAsciicast && sessionRecordingAbility.canDownload;
}
}
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import { Ability } from 'ember-can';
+46
View File
@@ -0,0 +1,46 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
import { service } from '@ember/service';
/**
* Provides abilities for storage policies.
*/
export default class PolicyAbility extends ModelAbility {
// =services
@service features;
// =permissions
/**
* This ensures that storage policies may be read only if the
* session-recording feature flag is enabled.
*/
get canRead() {
return this.features.isEnabled('ssh-session-recording')
? super.canRead
: false;
}
/**
* This ensures that storage policies may be updated only if the
* session-recording feature flag is enabled.
*/
get canUpdate() {
return this.features.isEnabled('ssh-session-recording')
? super.canUpdate
: false;
}
/**
* This ensures that storage policies may be deleted only if the
* session-recording feature flag is enabled.
*/
get canDelete() {
return this.features.isEnabled('ssh-session-recording')
? super.canDelete
: false;
}
}
+9 -2
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
@@ -27,6 +27,13 @@ export default class RoleAbility extends ModelAbility {
return this.hasAuthorizedAction('set-grants');
}
/**
* @type {boolean}
*/
get canSetGrantScopes() {
return this.hasAuthorizedAction('set-grant-scopes');
}
/**
* @type {boolean}
*/
@@ -54,7 +61,7 @@ export default class RoleAbility extends ModelAbility {
type === 'user' || type === 'group' || type === 'managed-group';
if (!typeIsValid)
throw new InvalidRolePrincipalTypeError(
`Expected a role principal of type 'user', 'group', or 'managed-group'. Got '${type}'.`
`Expected a role principal of type 'user', 'group', or 'managed-group'. Got '${type}'.`,
);
return this.can.can(`read ${type}`, this.model);
}
+28
View File
@@ -0,0 +1,28 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
/**
* Provides abilities for scopes.
*/
export default class ScopeAbility extends ModelAbility {
// =permissions
/**
* Permission that checks whether a policy can be attached to a scope
* @type {boolean}
*/
get canAttachStoragePolicy() {
return this.hasAuthorizedAction('attach-storage-policy');
}
/**
* Permission that checks whether a policy can be detached to a scope
* @type {boolean}
*/
get canDetachStoragePolicy() {
return this.hasAuthorizedAction('detach-storage-policy');
}
}
@@ -0,0 +1,42 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
/**
* Provides abilities for session recordings.
*/
export default class SessionRecordingAbility extends ModelAbility {
// =services
// =permissions
/**
* Only "known" session recording types may be read.
* @type {boolean}
*/
get canRead() {
return !this.model.isUnknown && super.canRead;
}
/**
* Only "known" session recording types may be deleted.
* @type {boolean}
*/
get canDelete() {
return !this.model.isUnknown && super.canDelete && this.model.isAvailable;
}
get canDownload() {
return this.hasAuthorizedAction('download');
}
/* Permission that checks whether a policy can be reapplied to a session recording
* @type {boolean}
*/
get canReapplyStoragePolicy() {
return this.hasAuthorizedAction('reapply-storage-policy');
}
}
+38
View File
@@ -0,0 +1,38 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
/**
* Provides abilities for sessions.
*/
export default class SessionAbility extends ModelAbility {
// =services
// =permissions
/**
* Only available sessions may be read.
* @type {boolean}
*/
get canRead() {
return (
this.model.isAvailable &&
(this.hasAuthorizedAction('read:self') || super.canRead)
);
}
/**
* Only available sessions may be canceled.
* @type {boolean}
*/
get canCancel() {
return (
this.model.isAvailable &&
(this.hasAuthorizedAction('cancel:self') ||
this.hasAuthorizedAction('cancel'))
);
}
}
@@ -0,0 +1,39 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
/**
* Provides abilities for storage buckets.
*/
export default class StorageBucketAbility extends ModelAbility {
// =services
// =permissions
/**
* Only "known" storage bucket types may be read.
* @type {boolean}
*/
get canRead() {
return !this.model.isUnknown && super.canRead;
}
/**
* Only "known" storage bucket types may be updated.
* @type {boolean}
*/
get canUpdate() {
return !this.model.isUnknown && super.canUpdate;
}
/**
* Only "known" storage bucket types may be deleted.
* @type {boolean}
*/
get canDelete() {
return !this.model.isUnknown && super.canDelete;
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
+15 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import ModelAbility from './model';
@@ -17,4 +17,18 @@ export default class WorkerAbility extends ModelAbility {
get canCreateWorkerLed() {
return this.hasAuthorizedCollectionAction('create:worker-led');
}
/**
* @type {boolean}
*/
get canSetWorkerTags() {
return this.hasAuthorizedAction('set-worker-tags');
}
/**
* @type {boolean}
*/
get canRemoveTags() {
return this.hasAuthorizedAction('remove-worker-tags');
}
}
+40 -20
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import RESTAdapter from '@ember-data/adapter/rest';
@@ -45,7 +45,7 @@ function prenormalizeArrayResponse(response) {
}
export default class ApplicationAdapter extends RESTAdapter.extend(
AdapterBuildURLMixin
AdapterBuildURLMixin,
) {
// =attributes
@@ -108,22 +108,38 @@ export default class ApplicationAdapter extends RESTAdapter.extend(
/**
* Intercepts "empty" responses and adds an empty `items` array.
* @override
* @method findAll
* @return {Promise} promise
*/
findAll() {
return super.findAll(...arguments).then(prenormalizeArrayResponse);
}
/**
* Intercepts "empty" responses and adds an empty `items` array.
* This query method now supports pagination by checking the responseType and
* passing in the list token if the responseType indicates more data
* @override
* @method query
* @return {Promise} promise
*/
query() {
return super.query(...arguments).then(prenormalizeArrayResponse);
async query(store, schema, query) {
const queryObject = structuredClone(query);
let result;
let data = [];
// If the query has a page_size, we skip the pagination logic
// and return the initial result. This is being used to determine
// if the controller supports pagination
if (query.page_size) {
result = await super.query(store, schema, query);
return prenormalizeArrayResponse(result);
}
// Run this loop as long as the response_type is delta,
// which indicates that there are more items in the list
do {
result = await super.query(store, schema, queryObject);
//add the result items to a data array
if (result && result.items) {
data.push(...result.items);
//pass in the list token for subsequent calls to fetch the remaining list items
queryObject.list_token = result.list_token;
}
} while (result && result.response_type === 'delta');
result.items = data;
return prenormalizeArrayResponse(result);
}
/**
@@ -196,7 +212,10 @@ export default class ApplicationAdapter extends RESTAdapter.extend(
handleResponse(status, headers, payload, requestData) {
if (this.isInvalid(status, headers, payload)) {
const detailedMessage = this.generatedDetailedMessage(...arguments);
const transformedPayload = this.transformValidationErrors(payload);
const transformedPayload = this.transformValidationErrors(
payload,
status,
);
return new InvalidError(transformedPayload.errors, detailedMessage);
}
return super.handleResponse(status, headers, payload, requestData);
@@ -254,17 +273,18 @@ export default class ApplicationAdapter extends RESTAdapter.extend(
* error format.
*
* @param {object} payload
* @param status
* @return {object}
*/
transformValidationErrors(payload) {
transformValidationErrors(payload, status) {
const fieldErrors = get(payload, 'details.request_fields') || [];
// Normalize the primary error message into "base", which is an error
// that applies to the whole model instance
const baseError = {
isInvalid: true,
status: payload.source,
code: payload.code,
detail: payload.message,
status,
code: payload?.kind,
detail: payload?.message,
source: { pointer: '/data' },
};
// Normalize field-specific errors, if any.
@@ -299,6 +319,6 @@ export default class ApplicationAdapter extends RESTAdapter.extend(
* @return {String} detailed error message
*/
generatedDetailedMessage(status, headers, payload /*, requestData*/) {
return payload.message;
return payload?.message;
}
}
+7 -3
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import ApplicationAdapter from './application';
@@ -20,8 +20,12 @@ export default class HostCatalogAdapter extends ApplicationAdapter {
buildURL(modelName, id, snapshot, requestType) {
let url = super.buildURL(...arguments);
if (requestType === 'createRecord') {
const pluginName = snapshot.attr('plugin')?.name;
if (pluginName) url = `${url}?plugin_name=${pluginName}`;
try {
const pluginName = snapshot.attr('plugin')?.name;
if (pluginName) url = `${url}?plugin_name=${pluginName}`;
} catch (e) {
// Ignore any adapter errors here
}
}
return url;
}
@@ -0,0 +1,74 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import ApplicationAdapter from './application';
import { MIME_TYPE_ASCIICAST } from 'api/models/channel-recording';
export default class SessionRecordingAdapter extends ApplicationAdapter {
/**
* Overrides the default `buildURL` such that for custom download methods,
* URLs will get the query parameters. All other request types behave as normal.
*
* @param modelName {string}
* @param id {string}
* @param snapshot {object}
* @param requestType {string}
* @param query {object}
* @returns {string}
*/
buildURL(modelName, id, snapshot, requestType, query) {
let url = super.buildURL(...arguments);
let method;
try {
method = snapshot?.adapterOptions?.method;
} catch (e) {
// Ignore any adapter errors here
}
if (method === 'download') {
const queryParams = new URLSearchParams(query).toString();
if (queryParams) url = `${url}?${queryParams}`;
}
return url;
}
/**
* Handles the download recording for recordings. Takes in a mime type for the
* type or recording to return.
* The ID can be the session ID, session recording ID,
* connection recording ID, or the channel recording ID.
* @param id {string}
* @param mimeType {string}
* @returns {Promise<string>}
*/
async getRecordingDownload({ id, mimeType }) {
const options = { adapterOptions: { method: 'download' } };
const url = this.buildURL('session-recording', id, options, 'findRecord', {
mime_type: mimeType,
});
const response = await fetch(url, { headers: this.headers });
if (response?.ok) {
return response.text();
} else {
throw this.handleResponse(
response.status,
response.headers,
await response.text(),
);
}
}
/**
* Returns an ascii cast recording.
* @param id
* @returns {Promise<string>}
*/
getAsciicast(id) {
return this.getRecordingDownload({
id,
mimeType: MIME_TYPE_ASCIICAST,
});
}
}
@@ -0,0 +1,33 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import ApplicationAdapter from './application';
export default class StorageBucketAdapter extends ApplicationAdapter {
/**
* Overrides the default `buildURL` such that on _create_, URLs for records of
* type `plugin` get an extra query parameter `?plugin_name`. All other
* request types behave as normal.
*
* @override
* @param {string} modelName
* @param {string} id
* @return {string} url
* @return {string} requestType
*/
buildURL(modelName, id, snapshot, requestType) {
let url = super.buildURL(...arguments);
let pluginName;
try {
pluginName = snapshot?.attr('plugin')?.name;
} catch (e) {
// Ignore any adapter errors here
}
if (requestType === 'createRecord' && pluginName) {
url = `${url}?plugin_name=${pluginName}`;
}
return url;
}
}
+24 -5
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
@@ -49,9 +49,9 @@ export default class GeneratedAccountModel extends BaseModel {
})
version;
// =attributes (password)
// =attributes (password and LDAP)
@attr('string', {
for: 'password',
for: ['password', 'ldap'],
isNestedAttribute: true,
description: 'The account login name',
})
@@ -60,8 +60,27 @@ export default class GeneratedAccountModel extends BaseModel {
// =attributes (OIDC)
@attr('string', { for: 'oidc', isNestedAttribute: true }) subject;
@attr('string', { for: 'oidc', isNestedAttribute: true }) issuer;
@attr('string', { for: 'oidc', isNestedAttribute: true, readOnly: true })
// =attributes (OIDC and LDAP)
@attr('string', {
for: ['oidc', 'ldap'],
isNestedAttribute: true,
readOnly: true,
})
email;
@attr('string', { for: 'oidc', isNestedAttribute: true, readOnly: true })
@attr('string', {
for: ['oidc', 'ldap'],
isNestedAttribute: true,
readOnly: true,
})
full_name;
// =attributes (LDAP)
@attr('string', { for: 'ldap', isNestedAttribute: true, readOnly: true }) dn;
@attr('string-array', {
for: 'ldap',
isNestedAttribute: true,
readOnly: true,
})
member_of_groups;
}
@@ -0,0 +1,64 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
import { attr } from '@ember-data/model';
/**
* Alias contains all fields related to an Alias resource
*/
export default class GeneratedAliasModel extends BaseModel {
// =attributes
@attr('string', {
description: 'The type of the resource, to help differentiate schemas',
})
type;
@attr('string', {
description: 'Optional name for identification purposes.',
})
name;
@attr('string', {
description: 'Optional user-set description for identification purposes.',
})
description;
@attr('date', {
description: 'The time this resource was created\nOutput only.',
readOnly: true,
})
created_time;
@attr('date', {
description: 'The time this resource was last updated\nOutput only.',
readOnly: true,
})
updated_time;
@attr('number', {
description: 'Current version number of this resource.',
})
version;
@attr('string', {
description:
'This is the value referenced by the user that is resolved to the destination id.',
})
value;
@attr('string', {
description: 'This is the id of the resource that this Alias points to.',
})
destination_id;
@attr('object', {
isNestedAttribute: true,
description:
'This contains a host_id which is the id of the host that the session will be authorized for.',
})
authorize_session_arguments;
}
+223 -12
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
@@ -55,55 +55,266 @@ export default class GeneratedAuthMethodModel extends BaseModel {
})
version;
@attr('string', { readOnly: true, isNestedAttribute: true }) state;
// =attributes(oidc, ldap)
@attr('string', { isNestedAttribute: true }) issuer;
@attr('string', {
for: ['oidc', 'ldap'],
readOnly: true,
isNestedAttribute: true,
})
state;
@attr('string', { isNestedAttribute: true }) client_id;
// =attributes(oidc)
@attr('string', { isNestedAttribute: true, isSecret: true }) client_secret;
@attr('string', {
for: 'oidc',
isNestedAttribute: true,
})
issuer;
@attr('string', { readOnly: true, isNestedAttribute: true })
@attr('string', {
for: 'oidc',
isNestedAttribute: true,
})
client_id;
@attr('string', {
for: 'oidc',
isNestedAttribute: true,
isSecret: true,
})
client_secret;
@attr('string', {
for: 'oidc',
readOnly: true,
isNestedAttribute: true,
})
client_secret_hmac;
@attr('number', { isNestedAttribute: true }) max_age;
@attr('number', {
for: 'oidc',
isNestedAttribute: true,
})
max_age;
@attr('string', { isNestedAttribute: true }) api_url_prefix;
@attr('string', {
for: 'oidc',
isNestedAttribute: true,
})
api_url_prefix;
@attr('string', { readOnly: true, isNestedAttribute: true }) callback_url;
@attr('string', {
for: 'oidc',
readOnly: true,
isNestedAttribute: true,
})
callback_url;
@attr('boolean', { isNestedAttribute: true })
@attr('boolean', {
for: 'oidc',
isNestedAttribute: true,
})
disable_discovered_config_validation;
@attr('boolean', { isNestedAttribute: true }) dry_run;
@attr('boolean', {
for: 'oidc',
isNestedAttribute: true,
})
dry_run;
@attr('string-array', {
for: 'oidc',
emptyArrayIfMissing: true,
isNestedAttribute: true,
})
claims_scopes;
@attr('string-array', {
for: 'oidc',
emptyArrayIfMissing: true,
isNestedAttribute: true,
})
signing_algorithms;
@attr('string-array', {
for: 'oidc',
emptyArrayIfMissing: true,
isNestedAttribute: true,
})
allowed_audiences;
@attr('string-array', {
for: 'oidc',
emptyArrayIfMissing: true,
isNestedAttribute: true,
})
idp_ca_certs;
@attr('account-claim-map-array', {
@attr('account-value-map-array', {
for: 'oidc',
emptyArrayIfMissing: true,
isNestedAttribute: true,
})
account_claim_maps;
@attr('string-array', {
for: 'oidc',
emptyArrayIfMissing: true,
isNestedAttribute: true,
})
prompts;
// =attributes(ldap)
@attr('boolean', {
for: 'ldap',
isNestedAttribute: true,
})
start_tls;
@attr('boolean', {
for: 'ldap',
isNestedAttribute: true,
})
insecure_tls;
@attr('boolean', {
for: 'ldap',
isNestedAttribute: true,
})
discover_dn;
@attr('boolean', {
for: 'ldap',
isNestedAttribute: true,
})
anon_group_search;
@attr('string', {
for: 'ldap',
isNestedAttribute: true,
})
upn_domain;
@attr('string-array', {
for: 'ldap',
emptyArrayIfMissing: true,
isNestedAttribute: true,
})
urls;
@attr('string', {
for: 'ldap',
isNestedAttribute: true,
})
user_dn;
@attr('string', {
for: 'ldap',
isNestedAttribute: true,
})
user_attr;
@attr('string', {
for: 'ldap',
isNestedAttribute: true,
})
user_filter;
@attr('boolean', {
for: 'ldap',
isNestedAttribute: true,
})
enable_groups;
@attr('boolean', {
for: 'ldap',
isNestedAttribute: true,
})
use_token_groups;
@attr('string', {
for: 'ldap',
isNestedAttribute: true,
})
group_dn;
@attr('string', {
for: 'ldap',
isNestedAttribute: true,
})
group_attr;
@attr('string', {
for: 'ldap',
isNestedAttribute: true,
})
group_filter;
@attr('string-array', {
for: 'ldap',
emptyArrayIfMissing: true,
isNestedAttribute: true,
})
certificates;
@attr('string', {
for: 'ldap',
isNestedAttribute: true,
})
client_certificate;
@attr('string', {
for: 'ldap',
isNestedAttribute: true,
isSecret: true,
})
client_certificate_key;
@attr('string', {
for: 'ldap',
isNestedAttribute: true,
readOnly: true,
})
client_certificate_key_hmac;
@attr('string', {
for: 'ldap',
isNestedAttribute: true,
})
bind_dn;
@attr('string', {
for: 'ldap',
isNestedAttribute: true,
isSecret: true,
})
bind_password;
@attr('string', {
for: 'ldap',
isNestedAttribute: true,
readOnly: true,
})
bind_password_hmac;
@attr('account-value-map-array', {
for: 'ldap',
emptyArrayIfMissing: true,
isNestedAttribute: true,
})
account_attribute_maps;
@attr('number', {
for: 'ldap',
isNestedAttribute: true,
})
maximum_page_size;
@attr('string', {
for: 'ldap',
isNestedAttribute: true,
})
dereference_aliases;
}
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
@@ -0,0 +1,59 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
import { attr } from '@ember-data/model';
/**
* A channel contains data for a single channel within a connection.
*/
export default class GeneratedChannelRecordingModel extends BaseModel {
// =attributes
@attr('string', {
description:
'The total number of bytes uploaded from the client in this Channel.',
readOnly: true,
})
bytes_up;
@attr('string', {
description:
'The total number of bytes downloaded to the client in this Channel.',
readOnly: true,
})
bytes_down;
@attr('number', {
description:
'The total number of errors that occurred during the use of this Channel.',
readOnly: true,
})
errors_number;
@attr('date', {
description: 'The time the Channel started.',
readOnly: true,
})
start_time;
@attr('date', {
description: 'The time the Channel finished.',
readOnly: true,
})
end_time;
@attr({
description: 'The array of mime types that this recording will support.',
readOnly: true,
})
mime_types;
@attr('duration', {
description: 'The duration of this channel recording in ms.',
readOnly: true,
})
duration;
}
@@ -0,0 +1,66 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
import { attr } from '@ember-data/model';
/**
* A connection contains data for a boundary connection within a session.
*/
export default class GeneratedConnectionRecordingModel extends BaseModel {
// =attributes
@attr('string', {
description:
'The ID of the Connection which this Connection Recording recorded.',
readOnly: true,
})
connection_id;
@attr('string', {
description:
'The total number of bytes uploaded from the client in this Connection.',
readOnly: true,
})
bytes_up;
@attr('string', {
description:
'The total number of bytes downloaded to the client in this Connection.',
readOnly: true,
})
bytes_down;
@attr('number', {
description:
'The total number of errors that occurred during the use of this Connection.',
readOnly: true,
})
errors_number;
@attr('date', {
description: 'The time the Connection started.',
readOnly: true,
})
start_time;
@attr('date', {
description: 'The time the Connection finished.',
readOnly: true,
})
end_time;
@attr({
description: 'The array of mime types that this recording will support.',
readOnly: true,
})
mime_types;
@attr('duration', {
description: 'The duration of this connection recording in ms.',
readOnly: true,
})
duration;
}
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
@@ -75,6 +75,18 @@ export default class GeneratedCredentialLibraryModel extends BaseModel {
})
path;
@attr('string', {
for: 'vault-generic',
description: 'It indicates the type of credential the library returns.',
})
credential_type;
@attr('object-as-array', {
for: 'vault-generic',
description: 'It indicates the credential mapping overrides.',
})
credential_mapping_overrides;
@attr('string', {
for: 'vault-ssh-certificate',
isNestedAttribute: true,
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
+7 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
@@ -54,4 +54,10 @@ export default class GeneratedHostModel extends BaseModel {
readOnly: true,
})
plugin;
@attr({
emptyArrayIfMissing: true,
readOnly: true,
})
host_set_ids;
}
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
@@ -53,9 +53,19 @@ export default class GeneratedManagedGroupModel extends BaseModel {
// =attributes (OIDC)
@attr('string', {
for: 'oidc',
isNestedAttribute: true,
description:
'The boolean expression filter to use to determine membership. Comes in from API as "filter".',
})
filter_string;
// =attributes (LDAP)
@attr('string-array', {
for: 'ldap',
isNestedAttribute: true,
description: 'The list of groups that make up the ManagedGroup',
})
group_names;
}
@@ -0,0 +1,61 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
import { attr } from '@ember-data/model';
/**
* Storage Policy is a resource that manages the lifecycle of Session Recordings,
* particularly to meet compliance frameworks.
*/
export default class GeneratedPolicyModel extends BaseModel {
// =attributes
@attr('string', {
description: 'The type of the resource, to help differentiate schemas',
})
type;
@attr('string', {
description: 'Optional name for identification purposes.',
})
name;
@attr('string', {
description: 'Optional user-set description for identification purposes.',
})
description;
@attr('date', {
description: 'The time this resource was created\nOutput only.',
readOnly: true,
})
created_time;
@attr('date', {
description: 'The time this resource was last updated\nOutput only.',
readOnly: true,
})
updated_time;
@attr('number', {
description: 'Current version number of this resource.',
})
version;
@attr('object', {
isNestedAttribute: true,
description:
'Days is the number of days for which a session recording will be retained.',
})
retain_for;
@attr('object', {
isNestedAttribute: true,
description:
'Days is the number of days for which a session recording will be automatically deleted.',
})
delete_after;
}
+5 -4
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
@@ -22,11 +22,12 @@ export default class GeneratedRoleModel extends BaseModel {
})
description;
@attr('string', {
@attr('array', {
emptyArrayIfMissing: true,
description:
"The scope to which this role applies. Defaults to the role's scope.",
"The scopes to which this role applies. Defaults to the role's scope.",
})
grant_scope_id;
grant_scope_ids;
@attr('date', {
description: 'The time this resource was created\nOutput only.',
+6 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
@@ -49,4 +49,9 @@ export default class GeneratedScopeModel extends BaseModel {
description: 'Current version number of this resource.',
})
version;
@attr('string', {
description: 'The ID of the associated storage policy',
})
storage_policy_id;
}
@@ -0,0 +1,125 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
import { attr } from '@ember-data/model';
/**
* A session recording contains all data related to session recordings
*/
export default class GeneratedSessionRecordingModel extends BaseModel {
// =attributes
@attr('string', {
description: 'The type of the resource, to help differentiate schemas.',
readOnly: true,
})
type;
@attr('date', {
description:
'The time the Session Recording was created in the controller.',
readOnly: true,
})
created_time;
@attr('date', {
description: 'The time of the most recent update to the Session Recording.',
readOnly: true,
})
updated_time;
@attr({
description:
'Contains the values of related fields at the time this Session Recording was created',
readOnly: true,
})
create_time_values;
@attr('string', {
description: 'The ID of the Session which this Session Recording recorded.',
readOnly: true,
})
session_id;
@attr('string', {
description:
'The ID of the Storage Bucket for the Target of this Session Recording',
readOnly: true,
})
storage_bucket_id;
@attr('string', {
description:
'The total number of bytes uploaded from the client in the Session.',
readOnly: true,
})
bytes_up;
@attr('string', {
description:
'The total number of bytes downloaded to the client in the Session.',
readOnly: true,
})
bytes_down;
@attr('number', {
description:
'The total number of errors that occurred during the use of the Session.',
readOnly: true,
})
errors_number;
@attr('date', {
description: 'The time the Session started.',
readOnly: true,
})
start_time;
@attr('date', {
description: 'The time the Session finished.',
readOnly: true,
})
end_time;
@attr({
description: 'The array of mime types that this recording will support.',
readOnly: true,
})
mime_types;
@attr('duration', {
description: 'The duration of this session recording in ms.',
readOnly: true,
})
duration;
@attr('string', {
description:
'The current state of the session recording. One of "started", "available" and "unknown".',
readOnly: true,
})
state;
@attr('string', {
description:
'Any error seen during the closing of the session recording. Currently only set if state is "unknown".',
readOnly: true,
})
error_details;
@attr('date', {
description: 'The time until a session recording is required to be stored.',
readOnly: true,
})
retain_until;
@attr('date', {
description:
'The time a session recording is scheduled to be automatically deleted.',
readOnly: true,
})
delete_after;
}
+8 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
@@ -32,6 +32,13 @@ export default class GeneratedSessionModel extends BaseModel {
})
updated_time;
@attr('date', {
description:
'After this time the connection will be expired, e.g. forcefully terminated.\nOutput only.',
readOnly: true,
})
expiration_time;
@attr('number', {
description: 'Current version number of this resource.',
})
@@ -0,0 +1,132 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
import { attr } from '@ember-data/model';
/**
* A storage bucket is a resource that that represents a bucket in an external object store.
*/
export default class GeneratedStorageBucketModel extends BaseModel {
// =attributes
@attr('string', {
description: 'The type of the resource, to help differentiate schemas',
})
type;
@attr({
description: 'Plugin information for this resource.',
readOnly: true,
})
plugin;
@attr('string', {
description: 'Optional name for identification purposes.',
})
name;
@attr('string', {
description: 'Optional user-set description for identification purposes.',
})
description;
@attr('date', {
description: 'The time this resource was created\nOutput only.',
readOnly: true,
})
created_time;
@attr('date', {
description: 'The time this resource was last updated\nOutput only.',
readOnly: true,
})
updated_time;
@attr('number', {
description: 'Current version number of this resource.',
})
version;
@attr('string', {
description: 'The name of the bucket in the external object store.',
})
bucket_name;
@attr('string', {
description:
'The base path where session recordings will be stored in the external object store.',
})
bucket_prefix;
@attr('string', {
description:
'An expression used to filter the workers that have network access to a service that is hosting the external object store.',
})
worker_filter;
@attr('string', {
isNestedAttribute: true,
description: 'The AWS region to use.',
})
region;
@attr('string', {
isNestedAttribute: true,
description: 'The MinIO location server.',
})
endpoint_url;
//this field is not used in the UI, but this is kept here to replicate the API
@attr('string', {
readOnly: true,
isNestedAttribute: true,
})
secrets_hmac;
@attr('boolean', {
isNestedAttribute: true,
description: 'If set to `true`, credential rotation is not performed.',
})
disable_credential_rotation;
// =attributes (static credentials)
@attr('string', {
isNestedSecret: true,
description: 'The AWS access key ID to use.',
})
access_key_id;
@attr('string', {
isNestedSecret: true,
description: 'The secret access key to use.',
})
secret_access_key;
// =attributes (dynamic credentials)
@attr('string', {
isNestedAttribute: true,
description: 'The role ARN to use.',
})
role_arn;
@attr('string', {
isNestedAttribute: true,
description: 'The role external ID to use.',
})
role_external_id;
@attr('string', {
isNestedAttribute: true,
description: 'The role session to use.',
})
role_session_name;
@attr('object-as-array', {
isNestedAttribute: true,
description: 'The role tags to use.',
})
role_tags;
}
+26 -7
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
@@ -38,12 +38,6 @@ export default class GeneratedTargetModel extends BaseModel {
})
session_connection_limit;
@attr('string', {
description:
'Optional boolean expression to filter the workers that are allowed to satisfy this request.',
})
worker_filter;
@attr('string', {
description:
'Optional boolean expressions to filter the egress workers that are allowed to satisfy this request.',
@@ -96,4 +90,29 @@ export default class GeneratedTargetModel extends BaseModel {
"The default port that will be listened on by the client's local proxy.",
})
default_client_port;
@attr('string', {
description: 'The storage bucket associated with this target.',
isNestedAttribute: true,
})
storage_bucket_id;
@attr('boolean', {
description: 'Whether session recording is enabled on the target.',
isNestedAttribute: true,
})
enable_session_recording;
@attr('array', {
description:
'with_aliases specify the aliases that should be created when the target is created. ',
})
with_aliases;
@attr('array', {
readOnly: true,
description:
'with_aliases specify the aliases that should be created when the target is created. ',
})
aliases;
}
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
+24 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import BaseModel from '../../models/base';
@@ -72,4 +72,27 @@ export default class GeneratedWorkerModel extends BaseModel {
readOnly: true,
})
type;
@attr({
description:
'The deduplicated union of the tags reported by the worker ' +
'from its configuration and any tags added through other means.\nOutput only.',
readOnly: true,
emptyObjectIfMissing: true,
})
canonical_tags;
@attr({
description:
"The tags set in the worker's configuration file.\nOutput only.",
readOnly: true,
emptyObjectIfMissing: true,
})
config_tags;
@attr({
description: 'The api tags set for the worker.\nOutput only.',
emptyObjectIfMissing: true,
})
api_tags;
}
@@ -0,0 +1,177 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
/* global __electronLog */
import { inject as service } from '@ember/service';
import { getOwner, setOwner } from '@ember/application';
import { generateMQLExpression } from '../utils/mql-query';
import { paginateResults } from '../utils/paginate-results';
/**
* Not all types are yet supported by the cache daemon so we'll
* just whitelist the ones we need to start with. Keys are the resource
* types and the values are the fields that are searchable by the client.
* @type {{session: string[], alias: string[], target: string[]}}
*/
const supportedTypes = {
target: ['id', 'name', 'description', 'address', 'scope_id'],
session: ['id', 'type', 'status', 'endpoint', 'scope_id', 'target_id'],
alias: ['id', 'type', 'value', 'destination_id'],
};
/**
* Map the model resource name to the cache daemon resource name
* @type {{session: string, alias: string, target: string}}
*/
export const resourceNames = {
target: 'targets',
session: 'sessions',
alias: 'resolvable-aliases',
};
const fetchControllerData = async (context, next) => {
const { data } = context.request;
const { query: originalQuery } = data;
// remove cache daemon specific query params
// eslint-disable-next-line no-unused-vars
const { query, page, pageSize, ...remainingQuery } = originalQuery;
// If we get an error or cache daemon is unavailable, fall back to calling the API
context.request.data.query = remainingQuery;
const results = await next(context.request);
const models = results.content.toArray();
const paginatedResult = paginateResults(models, page, pageSize);
paginatedResult.meta = { totalItems: models.length };
return paginatedResult;
};
/**
* Handler to sit in front of the API request layer
* so we can request from the daemon first
*/
export default class CacheDaemonHandler {
@service session;
@service ipc;
constructor(context) {
setOwner(this, getOwner(context));
}
async request(context, next) {
switch (context.request.op) {
case 'query': {
const { store, data } = context.request;
const { type, query, options: { pushToStore = true } = {} } = data;
const isCacheDaemonRunning = await this.ipc.invoke(
'isCacheDaemonRunning',
);
// eslint-disable-next-line no-unused-vars
let { recursive, scope_id, page, pageSize, ...remainingQuery } = query;
let searchQuery = '';
if (
!Object.keys(supportedTypes).includes(type) ||
!isCacheDaemonRunning
) {
return fetchControllerData(context, next);
}
if (remainingQuery.query) {
const { search, filters } = remainingQuery.query;
searchQuery = generateMQLExpression({
search: {
text: search,
fields: supportedTypes[type],
},
filters,
});
}
const sessionData = this.session.data?.authenticated;
const auth_token_id = sessionData?.id;
const token = sessionData?.token;
remainingQuery = {
...remainingQuery,
query: searchQuery,
auth_token_id,
token,
resource: resourceNames[type],
};
let cacheDaemonResults = {};
try {
cacheDaemonResults = await this.ipc.invoke(
'searchCacheDaemon',
remainingQuery,
);
} catch (e) {
// If we got a 403, most likely the cache daemon was restarted and our token is no longer valid
// I'm not sure if we can get a 401 since we always send a token but we'll handle it in the same way
if (e.statusCode === 403 || e.statusCode === 401) {
try {
await this.ipc.invoke('addTokenToDaemons', {
tokenId: auth_token_id,
token,
});
cacheDaemonResults = await this.ipc.invoke(
'searchCacheDaemon',
remainingQuery,
);
} catch (err) {
// If it fails again just fall back to fetching controller data
__electronLog?.error(
'Failed to add token to daemons',
err.message,
);
}
} else {
__electronLog?.error(
'Failed to search cache daemon; falling back to search controller',
e.message,
);
return fetchControllerData(context, next);
}
}
// Currently returns with a singular top level field with resource name
// e.g. { targets: [...] } or { sessions: [..] }
// So this just unwraps to the array, or undefined
const [results] = Object.values(cacheDaemonResults);
const payload = { items: paginateResults(results, page, pageSize) };
const schema = store.modelFor(type);
const serializer = store.serializerFor(type);
const normalizedPayload = serializer.normalizeResponse(
store,
schema,
payload,
null,
'query',
);
// Return the raw data if we don't push to the store.
let records = normalizedPayload.data.map((record) => ({
...record.attributes,
id: record.id,
}));
if (pushToStore) {
records = store.push(normalizedPayload);
}
// Set a meta property on the array to store the total items of the results.
// This isn't conventional but is better than returning an ArrayProxy
// or EmberArray since the ember store query method asserts it has to be an array
// so we can't just return an object.
records.meta = { totalItems: results?.length ?? 0 };
return records;
}
default:
return next(context.request);
}
}
}
@@ -0,0 +1,172 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import { modelIndexes } from 'api/services/indexed-db';
import { inject as service } from '@ember/service';
import { getOwner, setOwner } from '@ember/application';
import { queryIndexedDb } from '../utils/indexed-db-query';
import { paginateResults } from '../utils/paginate-results';
import { hashCode } from '../utils/hash-code';
/**
* Handler to sit in front of the API request layer
* so we can handle any caching with indexedDb first
*/
export default class IndexedDbHandler {
@service indexedDb;
constructor(context) {
setOwner(this, getOwner(context));
}
async request(context, next) {
switch (context.request.op) {
case 'query': {
const { store, data } = context.request;
// TODO: Remove storeToken option as this is a temporary fix for auth-methods.
const {
type,
query,
options: {
pushToStore = true,
peekIndexedDB = false,
storeToken = true,
} = {},
} = data;
const supportedModels = Object.keys(modelIndexes);
const { db: indexedDb } = this.indexedDb ?? {};
// Go through normal flow if we don't yet support the model
// or if we don't have an indexedDb instance
if (!supportedModels.includes(type) || !indexedDb) {
return next(context.request);
}
let { page, pageSize, query: queryObj, ...remainingQuery } = query;
const adapter = store.adapterFor(type);
const schema = store.modelFor(type);
const serializer = store.serializerFor(type);
if (!peekIndexedDB) {
const tokenKey = `${type}-${hashCode(remainingQuery)}`;
let listToken;
if (storeToken) {
listToken = await indexedDb.token.get(tokenKey);
}
let payload;
try {
payload = await adapter.query(store, schema, {
...remainingQuery,
list_token: listToken?.token,
});
} catch (e) {
// If we get an invalid list token, we'll delete the token and
// clear the DB and try again without a token.
if (
e?.errors[0].status === 400 &&
e?.errors[0].code === 'invalid list token'
) {
await indexedDb[type].clear();
// Delete all tokens of the same resource type so we don't keep clearing the DB.
// Even if other tokens may still be valid, we might have cleared data that they
// depended on so we should clear all tokens of the same type when clearing the DB.
const tokenKeys = await indexedDb.token
.where(':id')
.startsWith(type)
.primaryKeys();
await indexedDb.token.bulkDelete(tokenKeys);
payload = await adapter.query(store, schema, {
...remainingQuery,
});
} else {
throw e;
}
}
// Store the token we just got back from the payload if it exists
if (payload.list_token && storeToken) {
await indexedDb.token.put({
id: tokenKey,
token: payload.list_token,
});
}
// Remove any records from the DB if the API indicates they've been deleted
if (payload.removed_ids?.length > 0) {
await indexedDb[type].bulkDelete(payload.removed_ids);
}
// This is a temporary fix of clearing the DB (specifically for auth-methods)
// since we are not storing the token we do not get back a list of removed_ids
// from the API call and we do not want deleted items from showing in list view.
if (!storeToken) {
await indexedDb[type].clear();
}
const normalizedPayload = serializer.normalizeResponse(
store,
schema,
payload,
null,
'query',
);
const { data: payloadData } = normalizedPayload;
// Store the new data we just got back from the API refresh
const items = payloadData.map((datum) =>
this.indexedDb.normalizeData({
data: datum,
cleanData: true,
schema,
serializer,
}),
);
await indexedDb[type].bulkPut(items);
}
const indexedDbResults = await queryIndexedDb(
indexedDb,
type,
queryObj,
);
const dbRecords = paginateResults(indexedDbResults, page, pageSize).map(
(item) =>
this.indexedDb.normalizeData({
data: item,
cleanData: false,
schema,
serializer,
}),
);
// Return the raw data if we don't push to the store.
let records = dbRecords.map((record) => ({
...record.attributes,
id: record.id,
}));
if (pushToStore) {
records = store.push({ data: dbRecords });
}
// Set a meta property on the array to store the total items of the results.
// This isn't conventional but is better than returning an ArrayProxy
// or EmberArray since the ember store query method asserts it has to be an array
// so we can't just return an object.
records.meta = { totalItems: indexedDbResults.length };
return records;
}
default:
return next(context.request);
}
}
}
@@ -0,0 +1,27 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import { registerDeprecationHandler } from '@ember/debug';
const deprecationList = ['ember-data:deprecate-early-static'];
export function initialize() {
registerDeprecationHandler((message, options, next) => {
// TODO: Remove deprecation handling for `deprecate-early-static` warning
// once we upgrade to ember-cli-mirage v3.0.0 which fixes this issue.
// More info about this issue here: https://github.com/miragejs/ember-cli-mirage/issues/2441
if (options?.id && deprecationList.includes(options.id)) {
return;
}
if (options?.url) {
message += options.url;
}
next(message, options);
});
}
export default {
initialize,
};
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import Mixin from '@ember/object/mixin';
+2 -2
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedAccountModel from '../generated/models/account';
@@ -87,7 +87,7 @@ export default class AccountModel extends GeneratedAccountModel {
changePassword(
currentPassword,
newPassword,
options = { adapterOptions: {} }
options = { adapterOptions: {} },
) {
const defaultAdapterOptions = {
method: 'change-password',
+10
View File
@@ -0,0 +1,10 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedAliasModel from '../generated/models/alias';
export const TYPE_ALIAS_TARGET = 'target';
export const TYPES_ALIAS = Object.freeze([TYPE_ALIAS_TARGET]);
export default class AliasModel extends GeneratedAliasModel {}
+19 -5
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedAuthMethodModel from '../generated/models/auth-method';
@@ -20,6 +20,7 @@ export const TYPES_AUTH_METHOD = Object.freeze([
* Enum options per auth method type and field.
*/
export const options = {
state: ['inactive', 'active-private', 'active-public'],
oidc: {
signing_algorithms: [
'RS256',
@@ -33,10 +34,21 @@ export const options = {
'PS512',
'EdDSA',
],
state: ['inactive', 'active-private', 'active-public'],
account_claim_maps: {
to: ['sub', 'name', 'email'],
},
prompts: ['consent', 'select_account', 'login'],
},
ldap: {
account_attribute_maps: {
to: ['fullName', 'email'],
},
dereference_aliases: {
NeverDerefAliases: 'never',
DerefInSearching: 'searching',
DerefFindingBaseObj: 'finding',
DerefAlways: 'always',
},
},
};
@@ -102,9 +114,9 @@ export default class AuthMethodModel extends GeneratedAuthMethodModel {
// =methods
/**
* Change the active and visibility state of an OIDC auth method
* Change the active and visibility state of an OIDC and LDAP auth method
* given its ID.
* For OIDC auth methods only.
* For OIDC and LDAP auth methods only.
* @param {[string]} state
* @param {object} options
* @param {object} options.adapterOptions
@@ -112,9 +124,11 @@ export default class AuthMethodModel extends GeneratedAuthMethodModel {
*/
changeState(state, options = { adapterOptions: {} }) {
const defaultAdapterOptions = {
method: 'change-state',
state,
};
if (this.isOIDC) {
defaultAdapterOptions.method = 'change-state';
}
return this.save({
...options,
adapterOptions: {
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedAuthTokenModel from '../generated/models/auth-token';
+2 -2
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import Model from '@ember-data/model';
@@ -57,7 +57,7 @@ export default class BaseModel extends Model {
get scopeModel() {
const id = this.scopeID;
return this.store.peekRecord('scope', id);
return id ? this.store.peekRecord('scope', id) : null;
}
// Ember seems to have a bug with its internals and can't correctly set
@@ -0,0 +1,34 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedChannelRecordingModel from '../generated/models/channel-recording';
import { belongsTo } from '@ember-data/model';
export const MIME_TYPE_ASCIICAST = 'application/x-asciicast';
export default class ChannelRecordingModel extends GeneratedChannelRecordingModel {
@belongsTo('connection-recording', {
async: false,
inverse: 'channel_recordings',
})
connection_recording;
/**
* True if the channel supports asciicast.
* @type {boolean}
*/
get isAsciicast() {
return this.mime_types?.includes(MIME_TYPE_ASCIICAST) ?? false;
}
/**
* Download the ascii cast recording for this channel.
* @returns {Promise<string>}
*/
getAsciicast() {
const adapter = this.store.adapterFor('session-recording');
return adapter.getAsciicast(this.id);
}
}
@@ -0,0 +1,20 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedConnectionRecordingModel from '../generated/models/connection-recording';
import { belongsTo, hasMany } from '@ember-data/model';
export default class ConnectionRecordingModel extends GeneratedConnectionRecordingModel {
@belongsTo('session-recording', {
async: false,
inverse: 'connection_recordings',
})
session_recording;
@hasMany('channel-recording', {
async: false,
inverse: 'connection_recording',
})
channel_recordings;
}
+10 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedCredentialLibraryModel from '../generated/models/credential-library';
@@ -11,6 +11,15 @@ import GeneratedCredentialLibraryModel from '../generated/models/credential-libr
export const options = {
http_method: ['GET', 'POST'],
key_type: ['ed25519', 'ecdsa', 'rsa'],
credential_types: ['ssh_private_key', 'username_password'],
mapping_overrides: {
username_password: ['username_attribute', 'password_attribute'],
ssh_private_key: [
'private_key_attribute',
'private_key_passphrase_attribute',
'username_attribute',
],
},
};
export const TYPE_CREDENTIAL_LIBRARY_VAULT_GENERIC = 'vault-generic';
+8 -2
View File
@@ -1,12 +1,18 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedCredentialStoreModel from '../generated/models/credential-store';
import { equal } from '@ember/object/computed';
export const types = ['static', 'vault'];
export const TYPE_CREDENTIAL_STORE_STATIC = 'static';
export const TYPE_CREDENTIAL_STORE_VAULT = 'vault';
export const TYPES_CREDENTIAL_STORE = Object.freeze([
TYPE_CREDENTIAL_STORE_STATIC,
TYPE_CREDENTIAL_STORE_VAULT,
]);
export default class CredentialStoreModel extends GeneratedCredentialStoreModel {
// =attributes
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedCredentialModel from '../generated/models/credential';
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedGroupModel from '../generated/models/group';
+17 -4
View File
@@ -1,12 +1,23 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedHostCatalogModel from '../generated/models/host-catalog';
export const types = ['static', 'plugin'];
export const pluginTypes = ['aws', 'azure'];
export const TYPE_HOST_CATALOG_STATIC = 'static';
export const TYPE_HOST_CATALOG_DYNAMIC = 'plugin';
export const TYPES_HOST_CATALOG = Object.freeze([
TYPE_HOST_CATALOG_STATIC,
TYPE_HOST_CATALOG_DYNAMIC,
]);
export const TYPE_HOST_CATALOG_PLUGIN_AWS = 'aws';
export const TYPE_HOST_CATALOG_PLUGIN_AZURE = 'azure';
export const TYPES_HOST_CATALOG_PLUGIN = [
TYPE_HOST_CATALOG_PLUGIN_AWS,
TYPE_HOST_CATALOG_PLUGIN_AZURE,
];
export default class HostCatalogModel extends GeneratedHostCatalogModel {
// =attributes
@@ -32,7 +43,9 @@ export default class HostCatalogModel extends GeneratedHostCatalogModel {
* @type {boolean}
*/
get isUnknown() {
return this.isPlugin && !pluginTypes.includes(this.plugin?.name);
return (
this.isPlugin && !TYPES_HOST_CATALOG_PLUGIN.includes(this.plugin?.name)
);
}
/**
+5 -3
View File
@@ -1,10 +1,10 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedHostSetModel from '../generated/models/host-set';
import { pluginTypes } from './host-catalog';
import { TYPES_HOST_CATALOG_PLUGIN } from './host-catalog';
export default class HostSetModel extends GeneratedHostSetModel {
// =attributes
@@ -30,7 +30,9 @@ export default class HostSetModel extends GeneratedHostSetModel {
* @type {boolean}
*/
get isUnknown() {
return this.isPlugin && !pluginTypes.includes(this.plugin?.name);
return (
this.isPlugin && !TYPES_HOST_CATALOG_PLUGIN.includes(this.plugin?.name)
);
}
/**
+12 -1
View File
@@ -1,10 +1,11 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedHostModel from '../generated/models/host';
import { attr } from '@ember-data/model';
import { TYPES_HOST_CATALOG_PLUGIN } from './host-catalog';
export default class HostModel extends GeneratedHostModel {
// =attributes
@@ -58,6 +59,16 @@ export default class HostModel extends GeneratedHostModel {
return this.type === 'plugin';
}
/**
* True if the host catalog is an unknown type.
* @type {boolean}
*/
get isUnknown() {
return (
this.isPlugin && !TYPES_HOST_CATALOG_PLUGIN.includes(this.plugin?.name)
);
}
/**
* True if the host plugin type is AWS.
* @type {boolean}
+16 -1
View File
@@ -1,11 +1,12 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedManagedGroupModel from '../generated/models/managed-group';
import { attr } from '@ember-data/model';
import { A } from '@ember/array';
import { TYPE_AUTH_METHOD_OIDC, TYPE_AUTH_METHOD_LDAP } from './auth-method';
export default class ManagedGroupModel extends GeneratedManagedGroupModel {
// =attributes
@@ -20,4 +21,18 @@ export default class ManagedGroupModel extends GeneratedManagedGroupModel {
emptyArrayIfMissing: true,
})
member_ids;
/**
* @type {boolean}
*/
get isOIDC() {
return this.type === TYPE_AUTH_METHOD_OIDC;
}
/**
* @type {boolean}
*/
get isLDAP() {
return this.type === TYPE_AUTH_METHOD_LDAP;
}
}
+9
View File
@@ -0,0 +1,9 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedPolicyModel from '../generated/models/policy';
export const TYPE_POLICY = 'storage';
export default class PolicyModel extends GeneratedPolicyModel {}
+89 -99
View File
@@ -1,19 +1,36 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedRoleModel from '../generated/models/role';
import { attr } from '@ember-data/model';
import { inject as service } from '@ember/service';
import { all, resolve } from 'rsvp';
import { TYPE_AUTH_METHOD_OIDC } from 'api/models/auth-method';
export const GRANT_SCOPE_THIS = 'this';
export const GRANT_SCOPE_CHILDREN = 'children';
export const GRANT_SCOPE_DESCENDANTS = 'descendants';
export const GRANT_SCOPE_KEYWORDS = Object.freeze([
GRANT_SCOPE_THIS,
GRANT_SCOPE_CHILDREN,
GRANT_SCOPE_DESCENDANTS,
]);
// Sort the grant scope IDs by the order in which they should be displayed
// in the UI as the API will return them in an arbitrary order.
const sortOrder = {
[GRANT_SCOPE_THIS]: 0,
[GRANT_SCOPE_CHILDREN]: 1,
[GRANT_SCOPE_DESCENDANTS]: 2,
global: 3,
o: 4,
p: 5,
};
export default class RoleModel extends GeneratedRoleModel {
// =services
@service store;
@service resourceFilterStore;
// =attributes
@@ -24,7 +41,7 @@ export default class RoleModel extends GeneratedRoleModel {
* see obvious. Instead, the application layer is expected to load referenced
* users and groups as needed.
*/
@attr('principal-array', {
@attr('array', {
readOnly: true,
emptyArrayIfMissing: true,
})
@@ -37,12 +54,57 @@ export default class RoleModel extends GeneratedRoleModel {
@attr({ readOnly: true, emptyArrayIfMissing: true }) grant_strings;
/**
* Convenience for looking up the grant scope, if loaded.
* Convenience for looking up the grant scopes, if loaded.
*/
get grantScope() {
return this.grant_scope_id
? this.store.peekRecord('scope', this.grant_scope_id)
: null;
get grantScopes() {
const grantScopes = [];
if (this.grant_scope_ids) {
const sortedScopeIDs = [...this.grant_scope_ids].sort((a, b) => {
const aSplit = a.split('_')[0];
const bSplit = b.split('_')[0];
return sortOrder[aSplit] - sortOrder[bSplit];
});
sortedScopeIDs.forEach((id) => {
if (GRANT_SCOPE_KEYWORDS.includes(id)) {
grantScopes.push({ id });
} else {
const scope = this.store.peekRecord('scope', id);
if (scope) {
grantScopes.push(scope);
}
}
});
}
return grantScopes;
}
/**
* Helper for retrieving grant scope ids that are keywords.
* @type {string[]}
*/
get grantScopeKeywords() {
return this.grant_scope_ids.filter((id) =>
GRANT_SCOPE_KEYWORDS.includes(id),
);
}
/**
* Helper for retrieving grant_scope_ids that are orgs.
* @type {string[]}
*/
get grantScopeOrgIDs() {
return this.grant_scope_ids.filter((id) => id.startsWith('o_'));
}
/**
* Helper for retrieving grant_scope_ids that are projects.
* @type {string[]}
*/
get grantScopeProjectIDs() {
return this.grant_scope_ids.filter((id) => id.startsWith('p_'));
}
/**
@@ -52,7 +114,7 @@ export default class RoleModel extends GeneratedRoleModel {
get userIDs() {
return this.principals
.filter(({ type }) => type === 'user')
.map(({ principal_id }) => principal_id);
.map(({ id }) => id);
}
/**
@@ -62,7 +124,7 @@ export default class RoleModel extends GeneratedRoleModel {
get groupIDs() {
return this.principals
.filter(({ type }) => type === 'group')
.map(({ principal_id }) => principal_id);
.map(({ id }) => id);
}
/**
@@ -72,97 +134,25 @@ export default class RoleModel extends GeneratedRoleModel {
get managedGroupIDs() {
return this.principals
.filter(({ type }) => type === 'managed group')
.map(({ principal_id }) => principal_id);
.map(({ id }) => id);
}
/**
* A promise that resolves to an array of User instances.
* When calling this getter, be sure to await resolution
* before interacting with the results.
* @type {Promise[UserModel]}
*/
get users() {
const ids = this.userIDs;
// Role has prinicipal IDs,
// return a promise which resolves model instances for those IDs
if (ids?.length) {
return this.resourceFilterStore
.queryBy('user', { id: ids }, { scope_id: 'global', recursive: true })
.then((models) => models.map((model) => model));
}
// No principal IDs,
// return a promise resolving to an empty array
return resolve([]);
}
/**
* A promise that resolves to an array of Group instances.
* When calling this getter, be sure to await resolution
* before interacting with the results.
* @type {Promise[GroupModel]}
*/
get groups() {
const ids = this.groupIDs;
// Role has prinicipal IDs,
// return a promise which resolves model instances for those IDs
if (ids?.length) {
return this.resourceFilterStore
.queryBy('group', { id: ids }, { scope_id: 'global', recursive: true })
.then((models) => models.map((model) => model));
}
// No principal IDs,
// return a promise resolving to an empty array
return resolve([]);
}
/**
* A promise that resolves to an array of ManagedGroup instances.
* When calling this getter, be sure to await resolution
* before interacting with the results.
* @type {Promise[ManagedGroupModel]}
*/
get managedGroups() {
const ids = this.managedGroupIDs;
// Role has prinicipal IDs
// return a promise which resolves model instances for those IDs
if (ids?.length) {
// Collect all auth methods.
const authMethods = this.resourceFilterStore.queryBy(
'auth-method',
{ type: TYPE_AUTH_METHOD_OIDC },
{ scope_id: 'global', recursive: true }
);
// For each auth method, query all managed groups with IDs
// that match the role's manage group principal IDs.
const managedGroups = authMethods
.then((methods) =>
all(
methods.map(({ id: auth_method_id }) =>
this.resourceFilterStore
.queryBy('managed-group', { id: ids }, { auth_method_id })
.then((models) => models.map((model) => model))
)
)
)
// The result is an array of arrays of model instances (grouped by
// auth methods), so these must be flattened.
.then((grouped) => grouped.flat());
return managedGroups;
}
// No principal IDs,
// return a promise resolving to an empty array
return resolve([]);
}
// =methods
/**
* Saves grant scope ids on the role via the `set-grant-scopes` method.
* @param {[string]} grantScopeIDs
* @return {Promise}
*/
setGrantScopes(grantScopeIDs) {
return this.save({
adapterOptions: {
method: 'set-grant-scopes',
grantScopeIDs,
},
});
}
/**
* Saves grant strings on the role via the `set-grants` method.
* See serializer and adapter for more information.
+58 -15
View File
@@ -1,16 +1,18 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedScopeModel from '../generated/models/scope';
import { computed } from '@ember/object';
export const scopeTypes = {
global: 'global',
org: 'org',
project: 'project',
};
export const TYPE_SCOPE_GLOBAL = 'global';
export const TYPE_SCOPE_ORG = 'org';
export const TYPE_SCOPE_PROJECT = 'project';
export const TYPES_SCOPE = Object.freeze([
TYPE_SCOPE_GLOBAL,
TYPE_SCOPE_ORG,
TYPE_SCOPE_PROJECT,
]);
export default class ScopeModel extends GeneratedScopeModel {
// =attributes
@@ -18,9 +20,8 @@ export default class ScopeModel extends GeneratedScopeModel {
/**
* @type {boolean}
*/
@computed('type')
get isGlobal() {
return this.type === scopeTypes.global;
return this.type === TYPE_SCOPE_GLOBAL;
}
// There is only one global scope and it cannot be created by clients,
// thus no set.
@@ -28,22 +29,64 @@ export default class ScopeModel extends GeneratedScopeModel {
/**
* @type {boolean}
*/
@computed('type')
get isOrg() {
return this.type === scopeTypes.org;
return this.type === TYPE_SCOPE_ORG;
}
set isOrg(value) {
if (value) this.type = scopeTypes.org;
if (value) this.type = TYPE_SCOPE_ORG;
}
/**
* @type {boolean}
*/
@computed('type')
get isProject() {
return this.type === scopeTypes.project;
return this.type === TYPE_SCOPE_PROJECT;
}
set isProject(value) {
if (value) this.type = scopeTypes.project;
if (value) this.type = TYPE_SCOPE_PROJECT;
}
/**
* Attach policy via the `attach-staorage-policy` method.
* @param {[string]} policyId
* @param {object} options
* @param {object} options.adapterOptions
* @return {Promise}
*/
attachStoragePolicy(policyId, options = { adapterOptions: {} }) {
const defaultAdapterOptions = {
method: 'attach-storage-policy',
policyId,
};
// There is no "deep merge" in ES.
return this.save({
...options,
adapterOptions: {
...defaultAdapterOptions,
...options.adapterOptions,
},
});
}
/**
* Detaches policy via the `detach-storage-policy` method.
* @param {[string]} policyId
* @param {object} options
* @param {object} options.adapterOptions
* @return {Promise}
*/
detachStoragePolicy(policyId, options = { adapterOptions: {} }) {
const defaultAdapterOptions = {
method: 'detach-storage-policy',
policyId,
};
// There is no "deep merge" in ES.
return this.save({
...options,
adapterOptions: {
...defaultAdapterOptions,
...options.adapterOptions,
},
});
}
}
@@ -0,0 +1,91 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedSessionRecordingModel from '../generated/models/session-recording';
import { hasMany } from '@ember-data/model';
import { inject as service } from '@ember/service';
export const TYPE_SESSION_RECORDING_SSH = 'ssh';
export const TYPES_SESSION_RECORDING = Object.freeze([
TYPE_SESSION_RECORDING_SSH,
]);
export const STATE_SESSION_RECORDING_STARTED = 'started';
export const STATE_SESSION_RECORDING_AVAILABLE = 'available';
export const STATE_SESSION_RECORDING_UNKNOWN = 'unknown';
export default class SessionRecordingModel extends GeneratedSessionRecordingModel {
@hasMany('connection-recording', {
async: false,
inverse: 'session_recording',
})
connection_recordings;
@service store;
/**
* True if the session recording type is `ssh`.
* @type {boolean}
*/
get isSSH() {
return this.type === TYPE_SESSION_RECORDING_SSH;
}
/**
* True if the session recording is an unknown type.
* @type {boolean}
*/
get isUnknown() {
return !TYPES_SESSION_RECORDING.includes(this.type);
}
/**
* True if the session recording is in an available state.
* @type {boolean}
*/
get isAvailable() {
return this.state === STATE_SESSION_RECORDING_AVAILABLE;
}
/**
* Returns scope name or scope id from the target that belongs to the session recording.
* @type {string}
*/
get targetScopeDisplayName() {
return (
this.create_time_values?.target?.scope?.name ||
this.create_time_values?.target?.scope?.id
);
}
/**
* Returns the user name or user id that belongs to the session recording.
* @type {string}
*/
get userDisplayName() {
return (
this.create_time_values?.user?.name || this.create_time_values?.user?.id
);
}
/**
* Reapply policy dates via the `reapply-staorage-policy` method.
* @param {object} options
* @param {object} options.adapterOptions
* @return {Promise}
*/
reapplyStoragePolicy(options = { adapterOptions: {} }) {
const defaultAdapterOptions = {
method: 'reapply-storage-policy',
};
return this.save({
...options,
adapterOptions: {
...defaultAdapterOptions,
...options.adapterOptions,
},
});
}
}
+38 -9
View File
@@ -1,16 +1,24 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedSessionModel from '../generated/models/session';
import { computed } from '@ember/object';
import { equal } from '@ember/object/computed';
import { tracked } from '@glimmer/tracking';
import { A } from '@ember/array';
import { inject as service } from '@ember/service';
export const statusTypes = ['active', 'pending', 'canceling', 'terminated'];
export const STATUS_SESSION_ACTIVE = 'active';
export const STATUS_SESSION_PENDING = 'pending';
export const STATUS_SESSION_CANCELING = 'canceling';
export const STATUS_SESSION_TERMINATED = 'terminated';
export const statusTypes = [
STATUS_SESSION_ACTIVE,
STATUS_SESSION_PENDING,
STATUS_SESSION_CANCELING,
STATUS_SESSION_TERMINATED,
];
/**
*
@@ -68,7 +76,7 @@ class SessionCredential {
if (this.#payloadSecret?.decoded) {
const secretJSON = this.#payloadSecret.decoded;
return Object.keys(secretJSON).map(
(key) => new SessionCredential.SecretItem(key, secretJSON[key])
(key) => new SessionCredential.SecretItem(key, secretJSON[key]),
);
} else {
// decode from base64
@@ -101,10 +109,11 @@ export default class SessionModel extends GeneratedSessionModel {
@tracked started_desktop_client;
@tracked proxy_address;
@tracked proxy_port;
@tracked host;
credentials = A();
@equal('status', 'active') isActive;
@equal('status', 'pending') isPending;
@equal('status', STATUS_SESSION_ACTIVE) isActive;
@equal('status', STATUS_SESSION_PENDING) isPending;
/**
* True if status is an unknown string.
@@ -117,8 +126,7 @@ export default class SessionModel extends GeneratedSessionModel {
/**
* @type {boolean}
*/
@computed('isActive', 'isPending')
get isCancelable() {
get isAvailable() {
return this.isActive || this.isPending;
}
@@ -126,7 +134,6 @@ export default class SessionModel extends GeneratedSessionModel {
* The full proxy address and port if address exists, otherwise null.
* @type {?string}
*/
@computed('proxy_address', 'proxy_port')
get proxy() {
return this.proxy_address
? `${this.proxy_address}:${this.proxy_port}`
@@ -138,9 +145,23 @@ export default class SessionModel extends GeneratedSessionModel {
* @type {TargetModel}
*/
get target() {
if (!this.target_id) {
return null;
}
return this.store.peekRecord('target', this.target_id);
}
/**
* The user associated with this session (if loaded).
* @type {UserModel}
*/
get user() {
if (!this.user_id) {
return null;
}
return this.store.peekRecord('user', this.user_id);
}
// =methods
/**
@@ -150,6 +171,14 @@ export default class SessionModel extends GeneratedSessionModel {
this.credentials.pushObject(new SessionCredential(cred));
}
/**
* Adds associated host to session if host present
* @param {HostModel} host
*/
addHost(host) {
this.host = host;
}
/**
* Cancels the session via the `cancel` method.
* See serializer and adapter for more information.
+105
View File
@@ -0,0 +1,105 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedStorageBucketModel from '../generated/models/storage-bucket';
export const TYPE_STORAGE_BUCKET_PLUGIN = 'plugin';
export const TYPES_STORAGE_BUCKET = Object.freeze([TYPE_STORAGE_BUCKET_PLUGIN]);
export const TYPE_STORAGE_BUCKET_PLUGIN_AWS_S3 = 'aws';
export const TYPE_STORAGE_BUCKET_PLUGIN_MINIO = 'minio';
export const TYPES_STORAGE_BUCKET_PLUGIN = Object.freeze([
TYPE_STORAGE_BUCKET_PLUGIN_AWS_S3,
TYPE_STORAGE_BUCKET_PLUGIN_MINIO,
]);
export const TYPE_CREDENTIAL_STATIC = 'static';
export const TYPE_CREDENTIAL_DYNAMIC = 'dynamic';
export const TYPES_CREDENTIALS = Object.freeze([
TYPE_CREDENTIAL_STATIC,
TYPE_CREDENTIAL_DYNAMIC,
]);
export default class StorageBucketModel extends GeneratedStorageBucketModel {
// attributes
#credentialType;
/**
* True if the storage bucket is a plugin.
* @type {boolean}
*/
get isPlugin() {
return this.type === TYPE_STORAGE_BUCKET_PLUGIN;
}
/**
* Gets a value from credentialType
* @type {string}
*/
get credentialType() {
if (!this.#credentialType) {
if (this.role_arn) {
this.#credentialType = TYPE_CREDENTIAL_DYNAMIC;
} else {
this.#credentialType = TYPE_CREDENTIAL_STATIC;
}
}
return this.#credentialType;
}
/**
* Sets a value to credentialType
* @type {string}
*/
set credentialType(type) {
this.#credentialType = type;
}
/**
* True if the storage bucket is an unknown type.
* @type {boolean}
*/
get isUnknown() {
return (
!TYPES_STORAGE_BUCKET.includes(this.type) ||
(this.isPlugin &&
!TYPES_STORAGE_BUCKET_PLUGIN.includes(this.plugin?.name))
);
}
/**
* True if the storage bucket plugin type is AWS.
* @type {boolean}
*/
get isAWS() {
return this.compositeType === TYPE_STORAGE_BUCKET_PLUGIN_AWS_S3;
}
/**
* True if the storage bucket plugin type is MinIO
* @type {boolean}
*/
get isMinIO() {
return this.compositeType === TYPE_STORAGE_BUCKET_PLUGIN_MINIO;
}
/**
* If the storage bucket is a plugin return `plugin.name`,
* otherwise return the storage bucket type.
* @type {string}
*/
get compositeType() {
if (this.isUnknown) return 'unknown';
return this.plugin.name;
}
/**
* Sets `type` to `plugin` and `plugin.name` to the specified type.
*/
set compositeType(type) {
this.type = TYPE_STORAGE_BUCKET_PLUGIN;
this.plugin = { name: type };
}
}
+24 -9
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedTargetModel from '../generated/models/target';
@@ -108,6 +108,14 @@ export default class TargetModel extends GeneratedTargetModel {
.filter((s) => s && s.target_id === this.id);
}
/**
* Available sessions associated with this target (but only already loaded sessions).
* @type {SessionModel[]}
*/
get availableSessions() {
return this.sessions.filter((session) => session.isAvailable);
}
/**
* The project associated with this target (if already loaded).
* @type {ScopeModel}
@@ -122,11 +130,17 @@ export default class TargetModel extends GeneratedTargetModel {
*/
get isActive() {
const pendingOrActiveSessions = this.sessions.filter(
(s) => s.isActive || s.isPending
(s) => s.isActive || s.isPending,
);
return Boolean(pendingOrActiveSessions.length);
}
get associatedAliases() {
return this.store
.peekAll('alias')
.filter((alias) => alias?.destination_id === this.id);
}
// =methods
/**
@@ -195,7 +209,7 @@ export default class TargetModel extends GeneratedTargetModel {
*/
addBrokeredCredentialSources(
brokeredCredentialSourceIDs,
options = { adapterOptions: {} }
options = { adapterOptions: {} },
) {
const defaultAdapterOptions = {
method: 'add-credential-sources',
@@ -221,7 +235,7 @@ export default class TargetModel extends GeneratedTargetModel {
*/
addInjectedApplicationCredentialSources(
injectedApplicationCredentialSourceIDs,
options = { adapterOptions: {} }
options = { adapterOptions: {} },
) {
const defaultAdapterOptions = {
method: 'add-credential-sources',
@@ -247,7 +261,7 @@ export default class TargetModel extends GeneratedTargetModel {
*/
removeBrokeredCredentialSources(
brokeredCredentialSourceIDs,
options = { adapterOptions: {} }
options = { adapterOptions: {} },
) {
const defaultAdapterOptions = {
method: 'remove-credential-sources',
@@ -272,7 +286,7 @@ export default class TargetModel extends GeneratedTargetModel {
removeBrokeredCredentialSource(brokeredCredentialSourceID, options) {
return this.removeBrokeredCredentialSources(
[brokeredCredentialSourceID],
options
options,
);
}
@@ -286,7 +300,7 @@ export default class TargetModel extends GeneratedTargetModel {
*/
removeInjectedApplicationCredentialSources(
injectedApplicationCredentialSourceIDs,
options = { adapterOptions: {} }
options = { adapterOptions: {} },
) {
const defaultAdapterOptions = {
method: 'remove-credential-sources',
@@ -310,13 +324,14 @@ export default class TargetModel extends GeneratedTargetModel {
*/
removeInjectedApplicationCredentialSource(
injectedApplicationCredentialSourceID,
options
options,
) {
return this.removeInjectedApplicationCredentialSources(
[injectedApplicationCredentialSourceID],
options
options,
);
}
/**
* True if the target type is tcp.
* @type {boolean}
+1 -1
View File
@@ -1,6 +1,6 @@
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
* SPDX-License-Identifier: BUSL-1.1
*/
import GeneratedUserModel from '../generated/models/user';
Loaded 100 of 2353 files, more files were not shown because too many files have changed in this diff. Show more