Compare commits

..
1003 Commits
Author SHA1 Message Date
Zhihe Li 7dfaff1538 fix: 🐛 Fix raw api output not displaying codemirror properly (#1354)
✅ Closes: ICU-6249
2022-09-28 14:49:09 -04:00
Zhihe Li e09b4fffe7 chore: 🤖 Update version and changelog for desktop (#1353) 2022-09-27 15:39:39 -04:00
Zhihe Li 3deec2ed50 fix: 🐛 Sort workers when filtering is enabled as well (#1352) 2022-09-27 09:15:42 -04:00
Dharini Jeeva 3fc22b4aa3 fix: 🐛 clear token on normalization (#1351)
* fix: 🐛 clear token on normalization
2022-09-26 18:25:02 -07:00
Cameron PereraandSusmitha Girumala 0cba914045 chore: 🤖 remove unused ssh-target feature flag (#1346)
Co-authored-by: Susmitha Girumala <susmitha@hashicorp.com>
2022-09-26 12:35:25 -05:00
Zhihe LiandCarlos Alcaide Corvo 4c4d4e2351 Fix bug dc token env (#1350)
* Add Boundary password as env variable. WIP

* Add Boundary password as env variable to the spawn process

* fix: 🐛 Fix token flag when connecting a target

Fix a token flag when connecting to a target. Now it uses an env
variable

* Add rest env variables to child processes

Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
2022-09-26 12:39:49 -04:00
Zhihe Li e2fff61416 fix: 🐛 Add back div to fix tag icon badge layout (#1349) 2022-09-22 17:57:40 -04:00
Zhihe Li 82e531e836 feat: 🎸 Update workers list to be sorted (#1348)
✅ Closes: ICU-6185
2022-09-22 13:24:33 -04:00
Cameron Perera e6d68c2e4a refactor: 💡 fix routing for static credentials from targets (#1347)
* refactor: 💡 fix routing for static credentials from targets

✅ Closes: ICU-6155

* chore: 🤖 Add comment to isStatic credential helper method
2022-09-21 15:10:28 -05:00
Zhihe Li 9e55f5f157 chore: 🤖 Enable BYOW feature (#1345) 2022-09-21 09:30:07 -04:00
Zhihe Li eb539b9c5b Icu 6036 update filter dropdown for tags in list view (#1337)
✅ Closes: ICU-6036
2022-09-20 20:51:06 -04:00
Dharini JeevaandCameron Perera 5224512da0 Icu 6153 unknown credential support (#1344)
* feat: 🎸 Add support for unknown credential types

✅ Closes: ICU-6153

* fix: 🐛 add unknown cred type

* refactor: 💡 move credential type logic to a component

* chore: 🤖 fix component name

* fix: 🐛 update component name, remove unused translated string

* fix: 🐛 file name

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2022-09-20 19:31:16 -05:00
Zhihe Li 6aec408003 feat: 🎸 Make checkbox equality checks more general (#1335) 2022-09-20 20:13:26 -04:00
Randall Morey f937bbf282 fix: 🐛 stop sending scope_id on cred libraries (#1343) 2022-09-20 18:24:18 -04:00
Zhihe Li 7996d5439c chore: 🤖 Update public worker address wording (#1340) 2022-09-20 17:04:17 -04:00
Dharini Jeeva 3f2a17f59c chore: 🤖 update host catalog ui (#1342)
* chore: 🤖 update host catalog/hosts/host-set azure texts
2022-09-20 13:23:29 -07:00
Dharini Jeeva 24a99d0fb7 chore: 🤖 Host Set Updates (#1333)
host set text updates
2022-09-20 09:51:29 -07:00
Zhihe Li fdc4a13194 Icu 6034 update tags in create page to support multi input fields (#1325)
* feat: 🎸 Change tags to be multi part input fields

✅ Closes: ICU-6034
2022-09-20 10:56:18 -04:00
Devon Anderson 70bfd4c181 feat: 🎸 Update Detail Page to show Tags (#1327)
* feat: 🎸 Update Detail Page to show Tags

Update detailed worker view page to show tags in key:value pair format

✅ Closes: ICU-6037

* refactor: 💡 Fix duplicate yaml variables, and view

Refactor detailed view to have space after comma for value array, and
removed duplicate yaml variables for worker_tags

✅ Closes: ICU-6037

* change title and description translation variables
2022-09-20 09:11:57 -04:00
lisbet-alvarez 10a81f8590 refactor: 💡 translation fix (#1338) 2022-09-19 16:01:14 -07:00
Zhihe Li c75abc11dc feat: 🎸 Add optional icon for dropdown section (#1332) 2022-09-19 16:28:19 -04:00
Dharini Jeeva e17db2e0d6 Update fieldset (#1334)
* chore: 🤖 add helpertext to fieldset and update text
2022-09-19 13:07:31 -07:00
Cameron Perera d2b67fa76c chore: 🤖 enable SSH Targets and Static Credential Store support (#1336) 2022-09-19 09:50:59 -05:00
Cameron Perera 3af439f1e6 refactor: 💡 Update Host Catalog form labels and help text (#1331)
✅ Closes: ICU-6107
2022-09-16 15:14:26 -07:00
Cameron Perera f143ba3d58 refactor: 💡 Update Quick Setup Success screen button route (#1330)
Route to Target details screen now

✅ Closes: ICU-6096
2022-09-16 14:25:45 -05:00
Zhihe Li 82bbe798fd feat: 🎸 update the tags badge in workers list view (#1326)
* feat: 🎸 update the tags badge in workers list view

✅ Closes: ICU-6035
2022-09-16 14:53:29 -04:00
Dharini JeevaandCameron Perera 346e0d356a chore: 🤖 update quicksetup svg (#1329)
Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2022-09-16 13:02:30 -05:00
Cameron Perera f603c405a7 refactor: 💡 Update Quick Setup resource names (#1328)
* refactor: 💡 Update Quick Setup resource names

✅ Closes: ICU-6094

* refactor: 💡 Fix target quick setup name
2022-09-16 12:17:36 -05:00
Dharini Jeeva 8eeab7e87b Icu 5991 UI add worker filter form field for vault type credential stores (#1318)
* chore: 🤖 add worker_filter to vault cred store
2022-09-14 12:06:34 -07:00
Randall Morey 3d32200cf3 chore: 🤖 disable features (#1317) 2022-09-14 09:49:06 -04:00
Cameron Perera 29d41efade chore: 🤖 Add new flag for vault-worker-filter, ENT/HCP only (#1316)
✅ Closes: ICU-6054
2022-09-13 14:09:10 -07:00
Devon Anderson 8efa3168c8 feat: 🎸 Update worker model (#1313)
* feat: 🎸 Update worker model

Update worker modeel for `release_version` field

✅ Closes: ICU-6044

* refactor: 💡 update mirage factory

Update mirage factory for worker and `release_version`

✅ Closes: ICU-6044

* feat: 🎸 Update detailed worker view (#1315)

Update detailer worker view to include read-only `release_version` field

✅ Closes: ICU-6046

* feat: 🎸 Update workers list-view (#1314)

Update workers list-view to include `release-version`

✅ Closes: ICU-6045
2022-09-13 16:49:48 -04:00
Cameron Perera cd9d3e91e5 refactor: 💡 Add worker_filter to vault credential stores (#1310)
* refactor: 💡 Add worker_filter to vault credential stores

Add worker_filter attribute to vault type credential store model

✅ Closes: ICU-5988

* refactor: 💡 Add worker_filter mirage mock for credential store (#1312)

✅ Closes: ICU-5990
2022-09-13 15:23:28 -05:00
Devon AndersonandZhihe Li 3c49dc1c48 feat: 🎸 Feature flag for oss and hcp binary (#1305)
* feat: 🎸 Feature flag for `oss` and `hcp` binary

Create feature flag for `oss` and `hcp` to change specific input fields
based on binary editions

✅ Closes: ICU

* Update ui/admin/app/components/form/worker/create-worker-led/index.js

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

* Update ui/admin/app/components/form/worker/create-worker-led/index.js

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

* refactor: 💡 Quick refactor

Refactor `create-worker-led/index.js`, and test.

✅ Closes: ICU-5903

* refactor: 💡 refactor for better readability

Refactor code for better readability

* refactor: 💡 rename filter function

rename array filter function to be more descriptive

✅ Closes: ICU-5903

* changed params name for  `convertCommaSeparatedValuesToArray`

* add ending new line

* Update ui/admin/app/components/form/worker/create-worker-led/index.js

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

* refactor: 💡 yaml refactor

yaml refactor

* refactor: 💡 revert en-us.yaml file

revert en-us.yaml file

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2022-09-12 16:04:29 -04:00
Zhihe Li e6767b1e14 Chore/enable yaml formatting (#1307) 2022-09-12 15:17:21 -04:00
Carlos Alcaide Corvo 3347668b41 chore: 🤖 Add feature flags for dev and test environments (#1306) 2022-09-12 15:58:08 +02:00
Zhihe Li 34da192ef9 chore: 🤖 Enable stylistic linting rules (#1298) 2022-09-07 16:21:27 -04:00
Dharini Jeeva d930c3da3a chore: 🤖 enable ssh-target for production (#1302)
* chore: 🤖 enable ssh-target for production
2022-09-07 09:48:29 -07:00
lisbet-alvarez 0a2305bba9 feat: 🎸 Enable Static Credentials flag for Production (#1301)
✅ Closes: ICU-5952
2022-09-06 13:23:02 -07:00
Zhihe Li 86ab7331af fix: 🐛 Fix tag bug from moving where workers list is loaded (#1284)
* fix: 🐛 Fix tag bug from moving where workers list is loaded

* style: 💄 Remove unused import

* refactor: 💡 Use new setting to turn off auto refresh for filter
2022-09-06 13:45:22 -04:00
Dharini Jeeva c351452d71 test: 💍 acceptance tests for injected credentials (#1297)
test: 💍 acceptance tests for injected application credentials
2022-09-02 13:10:27 -07:00
Dharini Jeeva 8952541203 Add injected credentials tab (#1295)
* chore: 🤖 introduce injected application credentials on the UI
2022-09-02 12:29:39 -07:00
Devon Anderson 128b0ff492 refactor: 💡 Add tab navigation to detailed worker view page (#1288)
Added tab navigation to detailed worker view page.

✅ Closes: ICU-5901
2022-09-02 10:48:23 -04:00
Zhihe Li ccf462019b chore: 🤖 Add eol-last rule (#1296)
* chore: 🤖 Add eol-last rule

* style: 💄 Add newlines for core

* style: 💄 Add newlines to EOF in rose

* style: 💄 Add newlines for admin

* style: 💄 Add newlines in desktop templates
2022-09-01 17:43:30 -04:00
Zhihe Li a69d01c9fc Chore/enable quote rule (#1294)
* chore: 🤖 Add quote rule to use single quotes in templates
2022-09-01 16:39:56 -04:00
Randall MoreyandSusmitha Girumala a2e27b09c3 refactor: 💡 add standalone server mocks to auth tests (#1283)
* refactor: 💡 replace ember notify with flash in notify decorator

* refactor: 💡 remove embery-notify and replace last instance

* chore: 🤖 upgrade ember dependencies in anticipation of ember 4

* refactor: 💡 add standalone server mocks to auth tests

Co-authored-by: Susmitha Girumala <susmitha@hashicorp.com>
2022-09-01 15:40:00 -04:00
Randall Morey 3ff89279e6 chore: 🤖 add refreshRouteOnChange option to resource filters (#1289) 2022-09-01 13:27:34 -04:00
Dharini Jeeva 2614b311a1 Icu 5578 - introduce injected application credential on the api (#1269)
* chore: 🤖 include injected cred sources to the target model
2022-09-01 10:07:36 -07:00
Cameron Perera bd0854b0f6 refactor: 💡 update password input field to be a password type (#1291) 2022-08-31 17:26:47 -05:00
Cameron Perera e019b825ac refactor: 💡 update passphrase field to a password text input (#1292)
Update passphrase field to a text input to allow for adding a password
type
2022-08-31 17:08:34 -05:00
Zhihe Li 6fd0301635 chore: 🤖 Remove "ember-template-lint-plugin-prettier" (#1293)
* chore: 🤖 Remove "ember-template-lint-plugin-prettier"
2022-08-31 17:17:14 -04:00
Randall Morey 96cf75bfdb chore: 🤖 upgrade ember dependencies in anticipation of ember 4 (#1280)
* refactor: 💡 replace ember notify with flash in notify decorator

* refactor: 💡 remove embery-notify and replace last instance

* chore: 🤖 upgrade ember dependencies in anticipation of ember 4
2022-08-31 11:41:50 -07:00
Randall Morey 4a6ed0b509 refactor: 💡 replace ember notify with flash in notify decorator (#1272)
* refactor: 💡 replace ember notify with flash in notify decorator

* refactor: 💡 remove embery-notify and replace last instance
2022-08-31 10:24:25 -07:00
Randall MoreyandZhihe Li cde6abd445 refactor: 💡 convert brokered cred IDs array to simple attribute (#1259)
* refactor: 💡 convert brokered cred IDs array to simple attribute

* fix: 🐛 missing test assertion

* fix: 🐛 simplify computed

* refactor: 💡 convert host sources array to simple attribute (#1260)

* refactor: 💡 convert host source IDs array to simple attribute

* fix: 🐛 host source tests

* Refactor role fragment arrays (#1262)

* refactor: 💡 convert grant strings to regular attribute

* refactor: 💡 convert principals array to simple attribute

* Update ui/admin/app/routes/scopes/scope/roles/role.js

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

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

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

* fix: 🐛 remove unused import

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2022-08-31 09:55:59 -07:00
Cameron Perera 83c7b76f48 refactor: 💡 Update passphrase to private_key_passphrase (#1290)
✅ Closes: ICU-5916
2022-08-30 20:40:31 -05:00
lisbet-alvarezandZhihe Li cb3104a624 test: 💍 Add acceptance tests for deleting an spk credential (#1274)
✅ Closes: ICU-5654

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2022-08-30 13:01:38 -07:00
lisbet-alvarez f1f7be4067 test: 💍 clean-up acceptance test for list-view of credentials (#1278)
✅ Closes: ICU-5650
2022-08-30 12:44:17 -07:00
lisbet-alvarez 0ae2451b9c test: 💍 Add acceptance test for updating an spk credential (#1273)
* test: 💍 Add acceptance test for updating an spk credential

✅ Closes: ICU-5652
2022-08-30 12:20:52 -07:00
Dharini Jeeva 069a864cbb chore: 🤖 add abilities for injected app cred sources (#1285)
* chore: 🤖 add abilities for injected app cred sources
2022-08-30 12:01:59 -07:00
Dharini Jeeva a3337b3771 Add injected application credential support (#1282)
* fix: 🐛 credential application injection translations
2022-08-30 10:52:21 -07:00
Dharini Jeeva 9ee89585ec Remove unused console logs (#1286)
* fix: 🐛 remove unused logs
2022-08-30 09:49:34 -07:00
Devon Anderson 03b603be54 refactor: 💡 Disable read-only fields when editing worker (#1287)
Refactor detailed worker to not hide read-only fields when editing, but
leave them disabled

✅ Closes: ICU-5902
2022-08-30 12:11:19 -04:00
bc7ed3f0ed ICU 5247 detailed worker view and ICU 5248 edit worker view (#1246)
* feat: 🎸 Add list view for workers

✅ Closes: ICU-5251

* feat: 🎸 Add route for worker detail and include links in table

* refactor: 💡 Updated id display in table and fixed worker route

* test: 💍 Add workers list test

* feat: 🎸 Add worker detailed view and edit view

Added worker detailed view and editable form view for name and
description of worker

✅ Closes: ICU-5247 ICU-5248

* refactor: 💡 fixed conflict merge

fixed merge conflicts for scope/workers/worker

✅ Closes: ICU-5247

* Update ui/admin/app/routes/scopes/scope/workers.js

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

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

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

* test: 💍 Test for worker/update-test.js

Created update-test.js and refactored worker/form.hbs for correct
display of last_seen

✅ Closes: ICU-5247

* Update ui/admin/app/routes/scopes/scope/workers.js

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

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

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

* Update ui/admin/tests/acceptance/workers/read-test.js

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

* refactor: 💡 code refactor and test creation

Refactored code for detailed worker view, created controller for
detailew worker view to display worker name in breadcrumbs, added test
for `delete`, `update`.

✅ Closes: ICU-5247

* refactor: 💡 Refactor test

Refactor update-test.js and clean up code.

✅ Closes: ICU-5247

* refactor: 💡 fixed workers/update-test.js

added local variable for better test coverage for cancel test in
workers/update-test.js

✅ Closes: ICU-5247

* refactor: 💡 fix test

Refactored yaml file for `last_seen.description`

✅ Closes: ICU-5247

* Update ui/admin/app/routes/scopes/scope/workers.js

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

* removed `type` from  `<form.textarea/>` component

* Update ui/admin/app/controllers/scopes/scope/workers/worker.js

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

* spacing for linter

* refactor: 💡 Refactor test

Refactored `worker/read-test.js` to to test correct authorization

✅ Closes: ICU-5247

* ci: 🎡 Fixed lint

fixed lint

✅ Closes: ICU-5247

* refactor: 💡 Added custom relatvie date to field

Added custom relative date to `last_status_time` input for worker view.

✅ Closes: ICU-5247

* refactor: 💡 refactored yaml file

changed delete dropdown for worker to `actions.delete`

✅ Closes: ICU-5247

* Removed unused services from workers.js

* merge changes from main

* fix lint

* fix lint

* Update index.hbs

lint issues

* refactor: 💡 fixed lint for hbs

fixed linting issues for hbs files

✅ Closes: ICU-5247 ICU-5249

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2022-08-29 10:24:41 -04:00
lisbet-alvarezandZhihe Li 0dff900795 test: 💍 Add acceptance tests for reading an spk credential (#1275)
Acceptance tests for spk type credentials added to read-test.js

✅ Closes: ICU-5653

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2022-08-26 09:54:10 -07:00
Devon AndersonandZhihe Li a3517e53a8 chore: 🤖 create relative date helper (#1276)
* chore: 🤖 create relative date helper

Create a relative date helper that outputs "time" ago format.

✅ Closes: ICU-5847

* Update addons/core/addon/helpers/relative-datetime-live.js

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

* refactor: 💡 refactor test for relative-date-helper

refactor test for relative-datetime-live helper

✅ Closes: ICU-5847

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2022-08-26 12:22:24 -04:00
Zhihe Li 3130831ae0 feat: 🎸 Add create worker page (#1244)
* feat: 🎸 Add create worker page

✅ Closes: ICU-5246
2022-08-26 11:50:53 -04:00
Zhihe Li dd0d37241c feat: 🎸 Add code editor to api response display (#1271)
✅ Closes: ICU-5767
2022-08-26 11:01:23 -04:00
Cameron Perera 9a10b68bbe refactor: 💡 update credential serializer to delete password (#1277)
* refactor: 💡 update credential serializer to delete password

update credential serializer to delete password attribute if empty
string or null allowing the user to update just the username if needed.

✅ Closes: ICU-5731

* refactor: 💡 update serializer comments and test names
2022-08-25 17:02:48 -05:00
Zhihe Li 30b9f65251 chore: 🤖 Update electron to v16 (#1267)
✅ Closes: ICU-4018
2022-08-25 12:04:59 -04:00
fb981c02ea Icu 5651 create spk type (#1266)
Add functionality for creating a ssh private key credential and add
corresponding acceptance tests.

✅ Closes: ICU-5651

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
Co-authored-by: Randall Morey <randall@randallmorey.com>
Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2022-08-24 15:50:48 -07:00
Zhihe Li 1ee83dd1e6 chore: 🤖 Cleanup rose (#1270)
* refactor: 💡 Clean up use of classnames in rose

* fix: 🐛 Fix form action story using wrong disabled field
2022-08-22 16:17:06 -04:00
Dharini Jeeva 359614517e fix: 🐛 add translation string (#1268) 2022-08-18 15:50:53 -07:00
Dharini Jeeva 9a8665a314 Refactor credential sources to brokered credential sources (#1264)
* chore: 🤖 refactor credential sources to brokered credential source
2022-08-18 09:11:38 -07:00
Dharini Jeeva f4f7c0e343 fix: 🐛 disable scope (#1265) 2022-08-18 08:23:43 -07:00
lisbet-alvarezandCameron Perera dae5174d2f feat: 🎸 Update the credentials route to support both types (#1263)
Add query param to the credential route in order to support the new ssh
private key type

✅ Closes: ICU-5649

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2022-08-17 14:48:52 -07:00
Cameron Perera 53eef5caeb feat: 🎸 Add SSH Private Key mirage support (#1261)
* feat: 🎸 Add SSH Private Key mirage support

Update mirage to mock SSH Private key credential types

✅ Closes: ICU-5647

* refactor: 💡 remove default case in credential mirage mock
2022-08-17 13:20:21 -05:00
Cameron Perera 50038cdf85 Icu 5646 serializer (#1257)
* feat: 🎸 Update Credential Serializer

Add support for SSH Private Key credentials

✅ Closes: ICU-5646

* test: 💍 Add normalize test for ssh private key credentials

* refactor: 💡 remove deletion of hmac attributes in serializer
2022-08-16 14:35:33 -05:00
Randall Morey 7386b2c9ed refactor: 💡 deauth should delete the auth token (#1256) 2022-08-15 11:22:27 -07:00
Dharini Jeeva e3324ad64a chore: 🤖 rename application_credentials_sources_ids to brokered (#1255) 2022-08-15 09:48:12 -07:00
Cameron Perera 39c0835a99 feat: 🎸 Update credential model with ssh private key attributes (#1254)
✅ Closes: ICU-5645
2022-08-12 15:56:19 -05:00
lisbet-alvarez 29e3e8b843 feat: 🎸 Enable SSH Targets for development (#1239)
Enable SSH Targets for development ENV. Already enabled for testing ENV.

✅ Closes: ICU-5553
2022-08-12 10:33:05 -07:00
lisbet-alvarez 72b7b85ad1 chore: 🤖 remove filter feature flag (#1252)
✅ Closes: ICU-5599
2022-08-12 10:02:05 -07:00
Dharini Jeeva 9a1d1225ca chore: 🤖 remove unused oidc-account-crud feature flag (#1249) 2022-08-12 09:43:19 -07:00
Dharini Jeeva 33728a6496 chore: 🤖 remove managed_groups feature flag (#1253) 2022-08-12 09:27:02 -07:00
lisbet-alvarez bf2a6aeb6a chore: 🤖 remove oidc-crud feature flag (#1248)
* chore: 🤖 remove oidc-crud feature flag

✅ Closes: ICU-5597

* Update environment.js to resolve confilicts
2022-08-11 16:01:47 -07:00
Dharini Jeeva 746426fc82 chore: 🤖 cleanup feature flags - OIDC (#1245)
* chore: 🤖 cleanup OIDC feature flag
2022-08-11 15:37:44 -07:00
Randall Morey d8b5056094 fix: 🐛 fixes host set attributes field types (#1251) 2022-08-11 16:10:42 -04:00
lisbet-alvarez bdc2238f17 chore: 🤖 add got package to resolutions (#1243) 2022-08-11 12:41:34 -07:00
Zhihe Li 1842631056 fix: 🐛 Add feature flag for BYOW (#1250) 2022-08-11 13:47:22 -04:00
lisbet-alvarez 6f2a04d4c6 chore: 🤖 add async to resolutions (#1242) 2022-08-10 12:28:55 -07:00
Randall Morey e0b59b7d8b fix: 🐛 icu-5258 filter field is not sent in payload (#1238) 2022-08-10 11:58:12 -07:00
lisbet-alvarez fbf6b2c201 chore: 🤖 chore(deps): upgrade got package version (#1241)
add got to resolutions
2022-08-10 10:41:39 -07:00
lisbet-alvarez 7b212efcf2 chore: 🤖 Add terser to resolutions (#1237)
* chore: 🤖 bump terser from 4.8.0 to 4.8.1

* chore: 🤖 Update all terser dependency instances to 5.14.2
2022-08-10 10:15:13 -07:00
Dharini Jeeva ecb34d7427 chore: 🤖 dependency update (#1240) 2022-08-10 09:46:48 -07:00
Zhihe Li 4ab7304411 feat: 🎸 Added list view for workers (#1234)
* feat: 🎸 Add list view for workers

✅ Closes: ICU-5251
2022-08-09 16:12:56 -04:00
Devon AndersonandDharini Jeeva 62077d3c25 feat: 🎸 Add worker serializer (#1230)
* feat: 🎸 Add worker serializer

Add worker serializer that focus' on `config_tags.type` and
`canonical_tags.type`.
[API](https://docs.google.com/document/d/1G-lfl8gk9NfoKFImSpHb90E3xC3CSEVDwVy3bJ9eOhA/edit#heading=h.9e06o4b8etpi)

✅ Closes: ICU-5241

* refactor: 💡 refactored `models/worker.js`

Because `canonical_tags` and `config_tags` are `readOnly` attributes, we
could use `attr` decorator instead of `fragment`.

✅ Closes: ICU-5241

* refactored `model/worker.js and deleted un-needed files

* refactor: 💡 Refactored model/worker.js and created test

Refactored model/worker.js to include custom method for POST route for
adding new worker.

BREAKING CHANGE: 🧨 no

✅ Closes: ICU-5241

* refactor: 💡 Refactored custom POST route method for worker

Refactored custom method on `model/worker.js` to include serialization
for `worker_genrated_auth_token`

BREAKING CHANGE: 🧨 no

✅ Closes: ICU-5241

* refactor: 💡 Refactor test

Refactor model/worker-test.js and serializers/worker.js

BREAKING CHANGE: 🧨 no

✅ Closes: ICU-5241

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

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

* update worker.js documentation block

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2022-08-09 15:34:42 -04:00
Dharini Jeeva 1f0baceb5e Icu 5476 refactor target model serializer and mirage (#1235)
chore: 🤖 refactor target model to support credentials
2022-08-08 09:21:07 -07:00
Cameron Perera 2cda4f639e refactor: 💡 update onSubmit for add-credential-sources (#1233)
Remove submit action from form component and pass selected credential
IDs directly to the submit method
2022-08-04 14:53:44 -05:00
Cameron Perera 9f09f01f36 Icu 5253 add query to include credentials (#1227)
* refactor: 💡 add-credential-sources to include credentials

* refactor: 💡 update add-credential-sources template

Update to how AddCredentialSources form is rendered in the template

✅ Closes: ICU-5253

* refactor: 💡 Update add-credential-sources method signatures

* refactor: 💡 change how add-credential-source form is rendered

* refactor: 💡 Remove duplicate add-credential-sources message

Remove the duplicate No Credential Credential Sources message from
add-credential-sources form

* refactor: 💡 Move filter logic to controller

Move credential source filter logic from route to controller for
add-credential-sources

* test: 💍 Verify all available credential sources are listed
2022-08-02 11:55:26 -05:00
dependabot[bot]andRandall Morey c8a76078ec chore(deps): bump json-pointer from 0.6.1 to 0.6.2 (#1224)
Bumps [json-pointer](https://github.com/manuelstofer/json-pointer) from 0.6.1 to 0.6.2.
- [Release notes](https://github.com/manuelstofer/json-pointer/releases)
- [Commits](https://github.com/manuelstofer/json-pointer/commits)

---
updated-dependencies:
- dependency-name: json-pointer
  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: Randall Morey <randall@randallmorey.com>
2022-08-01 14:35:23 -07:00
Zhihe Li 96b0ae3b06 Icu 5245 add workers tab to navigation and initial overview (#1229)
* feat: 🎸 Add initial workers UI navigation page

✅ Closes: ICU-5245
2022-08-01 16:04:41 -04:00
Cameron Perera bc6f849270 fix: 🐛 Fix routing issue for new credential stores (#1232) 2022-08-01 14:41:24 -05:00
Carlos Alcaide Corvo 2fcfab7c1c refactor: 💡 Deprecate faker to use @faker-js (#1223) 2022-08-01 14:25:07 -04:00
lisbet-alvarez 210296f298 refactor: 💡 Remove helper text for Username & Password (#1231)
Remove helper text for username and password fields in Credential form
as requested in a previous conversation.

✅ Closes: ICU-5459
2022-08-01 10:47:36 -07:00
Randall Morey c675f790ef fix: 🐛 change password route should not error (#1228) 2022-07-29 15:18:57 -07:00
Zhihe Li b722fa361b * feat: 🎸 Add code-editor component (#1207)
* feat: 🎸 Add code-editor component

Added code editor component which was taken from HCP, tweaked styles and
imports to use boundary assets

✅ Closes: ICU-5167
2022-07-29 17:18:07 -04:00
Randall Morey 40184006cd chore: 🤖 introduce hcp edition for naming consistency (#1225) 2022-07-29 10:10:40 -07:00
Randall Morey ec56d2fbbe fix: 🐛 role discard should not error (#1226) 2022-07-28 17:49:51 -07:00
Randall Morey bfc433dc38 feat: 🎸 add scope filtering to role/add-principals route (#1211)
* feat: 🎸 add scope filtering to role/add-principals route

* fix: 🐛 remove unnecessary helper

* feat: 🎸 add scope filtering to group add-members route
2022-07-28 17:34:03 -07:00
lisbet-alvarez f6e1fb0e3b Icu 5330 credentials crudl tests (#1219)
* test: 💍 Add credentials CRUDL tests

* fix: 🐛 Deleted empty files

* test: 💍 Add missing tests for credentials

* test: 💍 Revise tests in read-test.js

✅ Closes: ICU-5330
2022-07-28 15:34:03 -07:00
Zhihe Li 2b58e82d6d feat: 🎸 Add worker mirage mocks (#1217)
✅ Closes: ICU-5240
2022-07-28 14:57:53 -04:00
Zhihe Li a84e8c693e feat: 🎸 Add worker model (#1213)
✅ Closes: ICU-5239
2022-07-28 14:33:23 -04:00
Michele Degges dcf24478bd [CI-only] Add build job for HCPb variant (#1221)
This new job mirrors the enterprise build job, but lets us keep the existing logic laid out in https://github.com/hashicorp/boundary/blob/main/.github/workflows/build.yml#L136 to download the right UI artifacts based on the boundary variant/edition.
2022-07-28 08:39:01 -07:00
Carlos Alcaide Corvo 04d14005c0 Fix runtime-settings to not access directly the private variable (#1220) 2022-07-27 11:14:59 -07:00
Carlos Alcaide Corvo 4fcb005a1f Refactor origin to cluster (#1210) 2022-07-27 10:25:01 -07:00
lisbet-alvarez 40ba4286d3 refactor: 💡 Edit a credentail (#1218)
Password input field is now only viewable after user clicks on "Edit
Form"

✅ Closes: ICU-5180
2022-07-27 09:20:03 -07:00
Dharini Jeeva 409e68de1e chore: 🤖 add delete and patch mirage request for credential (#1216) 2022-07-26 13:35:04 -07:00
Cameron Perera 32ba330889 fix: 🐛 spelling error in getting started on desktop redirect (#1215) 2022-07-26 13:39:39 -05:00
lisbet-alvarez f00da3d8d7 test: 💍 credential store CRUDL tests (#1212)
Revised acceptance tests to reflect two types of credential stores

✅ Closes: ICU-5329

* test: 💍 credential store CRUDL tests

* test: 💍 small addition to type of cred. store

* test: 💍 Add missing vault cred. store type tests

* fix: 🐛 rename variable in read-test.js
2022-07-26 10:02:29 -07:00
Cameron Perera f51c56b4a1 feat: 🎸 Add doc link to Credential screens (#1214)
✅ Closes: ICU-5317
2022-07-26 11:04:01 -05:00
Cameron Perera d996d085a1 Icu 5335 add doc link for credential store screens (#1208)
* feat: 🎸 Add doc links to Credential Store screens

✅ Closes: ICU-5335

* test: 💍 Add tests for Credential Store doc links
2022-07-25 12:03:21 -05:00
9274849622 feat: 🎸 display credentials for static credential store (#1205)
* feat: 🎸 Create Credential Model in API

✅ Closes: ICU-5229

* feat: 🎸 update credential model

Add attributes to credential model

✅ Closes: ICU-5229

* feat: 🎸 no verify

✅ Closes: ICU-5230

* feat: 🎸 Add credential serializer and tests

✅ Closes: ICU-5230

* feat: 🎸 Add credential serializer

Credential serializer along with unit tests were added.

✅ Closes: ICU-5230

* feat: 🎸 Credential serializer & unit tests

✅ Closes: ICU-5230

* chore: 🤖 lint

* chore: 🤖 lint

* chore: 🤖 lint

* feat: 🎸 display credentials for static credential store

* chore: 🤖 update translated string

* feat: 🎸 create a credential

* fix: 🐛 add dropdown link for create new credential

* Update new.js

* Update credentials.js

* chore: 🤖 remove the commented block

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
Co-authored-by: Lisbet Alvarez <lisbet.alvarez@hashicorp.com>
Co-authored-by: lisbet-alvarez <107949262+lisbet-alvarez@users.noreply.github.com>
2022-07-25 11:42:34 -05:00
Cameron Perera ae0ce2bfad fix: 🐛 Add missing mirage config urls for credentials (#1209) 2022-07-22 12:29:53 -05:00
lisbet-alvarezandCameron Perera 27a676774c Icu 5232 credential mirage mocks (#1204)
* feat: 🎸 Add mirage mocks for credential

✅ Closes: ICU-5232

* chore: 🤖 Update Credential Store factory to handle credentials

✅ Closes: ICU-5232

* feat: 🎸 Added mirage mocks for credential

✅ Closes: ICU-5232

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2022-07-21 13:48:16 -07:00
Randall MoreyandDharini Jeeva 379609217b fix: 🐛 roles and principals on projects should be visible (#1202)
* fix: 🐛 roles and principals on projects should be visible

* Update ui/admin/app/routes/scopes/scope/roles/role/index.js

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

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2022-07-21 13:09:03 -07:00
Dharini Jeeva b31a513ec1 Create static credentials tab (#1203)
Create static credentials tab  (#1203)
2022-07-21 10:03:13 -07:00
lisbet-alvarezandCameron Perera 821b9b56a7 Icu 5230 credential serializer (#1200)
* feat: 🎸 Create Credential Model in API

✅ Closes: ICU-5229

* feat: 🎸 update credential model

Add attributes to credential model

✅ Closes: ICU-5229

* feat: 🎸 no verify

✅ Closes: ICU-5230

* feat: 🎸 Add credential serializer and tests

✅ Closes: ICU-5230

* feat: 🎸 Add credential serializer

Credential serializer along with unit tests were added.

✅ Closes: ICU-5230

* feat: 🎸 Credential serializer & unit tests

✅ Closes: ICU-5230

* fix: 🐛 Resolved commit conflicts

✅ Closes: ICU-5230

* fix: 🐛 deleted password_hmac from inside the serializer

✅ Closes: ICU-5230

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2022-07-20 12:34:18 -07:00
Randall Morey c1e1b42672 Feature cross scope role principals (#1199)
* chore: 🤖 add scope column to role principals and group members

* chore: 🤖 add recursion and filtering to user and group mocks

* feat: 🎸 expose groups and roles on projects

* feat: 🎸 enable cross-scope assignment of group members

* chore: 🤖 query group members in a single call via filtering

* chore: 🤖 query role prinicipals in two calls via filtering

* chore: 🤖 use const instead of let

* feat: 🎸 support adding cross-scope principals to roles
2022-07-19 15:18:30 -07:00
lisbet-alvarezandCameron Perera bd0189cf10 Icu 5229 credential model (#1197)
* feat: 🎸 Create Credential Model in API

✅ Closes: ICU-5229

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2022-07-19 13:02:04 -07:00
Randall Morey ca1b2ce278 Chore optimize iam queries (#1198)
* chore: 🤖 add scope column to role principals and group members

* chore: 🤖 add recursion and filtering to user and group mocks

* feat: 🎸 expose groups and roles on projects

* feat: 🎸 enable cross-scope assignment of group members

* chore: 🤖 query group members in a single call via filtering

* chore: 🤖 query role prinicipals in two calls via filtering

* chore: 🤖 use const instead of let
2022-07-19 12:11:16 -07:00
Dharini Jeeva bc76d49729 create static credential store form and route updates (#1195)
* chore: 🤖 static cred store support to route and templates
2022-07-19 09:29:43 -07:00
Randall Morey 94530cec9c Feature cross scope group members (#1196)
* chore: 🤖 add scope column to role principals and group members

* chore: 🤖 add recursion and filtering to user and group mocks

* feat: 🎸 expose groups and roles on projects

* feat: 🎸 enable cross-scope assignment of group members
2022-07-18 16:36:43 -07:00
Randall Morey 31cf696902 Feature expose roles groups in projects - ICU-4512 (#1192)
* chore: 🤖 add scope column to role principals and group members

* chore: 🤖 add recursion and filtering to user and group mocks

* feat: 🎸 expose groups and roles on projects
2022-07-18 16:15:51 -07:00
Randall Morey c2083aefab chore: 🤖 add recursion and filtering to user and group mocks - ICU-4528 (#1190)
* chore: 🤖 add scope column to role principals and group members

* chore: 🤖 add recursion and filtering to user and group mocks
2022-07-18 15:53:34 -07:00
Randall MoreyandCarlos Alcaide Corvo 817d2a44e1 chore: 🤖 add scope column to role principals and group members (#1184)
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
2022-07-18 14:26:26 -07:00
Randall Morey bdabcc119e Refactor base scope fragment (#1166)
* refactor: 💡 migrate managed-group off fragments

* refactor: 💡 migrate credential-store off fragments

* refactor: 💡 migrate credential-library off fragments

* refactor: 💡 migrate account off fragments

* refactor: 💡 convert base model scope field to simple attr

* fix: 🐛 skip broken test
2022-07-18 11:30:53 -07:00
Dharini Jeeva b6a811cbbd fix: 🐛 filter out scopes with no auth methods (#1115)
* fix: 🐛 filter out scopes with no authenticatable auth methods
2022-07-18 09:08:09 -07:00
Dharini Jeeva 6c3e5ba4a8 chore: 🤖 add static credential store support (#1191)
* chore: 🤖 add static credential store support to the API layer
2022-07-15 13:24:04 -07:00
lisbet-alvarez b18f21e6f9 feat: 🎸 Read a credential store (#1193)
This change includes making static type credential stores clickable when
listing all credential stores, along with view the individual credential
store.

✅ Closes: ICU-5173
2022-07-15 12:39:45 -07:00
lisbet-alvarezandCameron Perera ed7e24b328 refactor: 💡 existing vault form field to radio group (#1189)
Refactored existing vault form field to use radio card instead. This
change is seen on details tab of a static credential store.

✅ Closes: ICU-5171

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2022-07-14 15:53:12 -07:00
Carlos Alcaide Corvo 66d115ab06 fix: 🐛 Add Hawk to resolutions (#1186) 2022-07-14 10:29:25 -07:00
Cameron Perera 9ad8eb93c7 refactor: 💡 Remove credential-store feature flag references (#1188) 2022-07-14 09:42:09 -05:00
lisbet-alvarez 970101d5dc feat: 🎸 Added the static-credentials feature flag (#1187)
The static-credentials feature flag was added and set to true only for
dev and test modes.

✅ Closes: ICU-5203
2022-07-13 14:11:02 -07:00
Cameron PereraandDharini Jeeva 985566d8eb docs: ✏️ Create README for translations (#1182)
✅ Closes: ICU-3872

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2022-07-13 11:17:13 -05:00
Carlos Alcaide Corvo 7234a3841a fix: 🐛 Add shell-quote to resolutions (#1185) 2022-07-12 14:55:31 -07:00
Dharini Jeeva 28c9e600aa Update content security (#1173)
* chore: 🤖 upgrade ember content security policy
2022-07-12 10:12:06 -07:00
Carlos Alcaide Corvo 163bbc9fb8 refactor: 💡 Refactor default values for target creation (#1180) 2022-07-12 08:36:35 -07:00
Carlos Alcaide Corvo b54e68cb86 chore: 🤖 Update ember-auto-import (#1178) 2022-07-12 08:09:49 -07:00
78585d999b feat: 🎸 switch to new token type parameter (#1082)
Boundary is deprecating the use of the token_type
parameter to the Authenticate endpoint, instead
replacing it with the new type parameter.

See https://github.com/hashicorp/boundary/commit/80b2c9230fa84605d9aaf7c862f780b50690a36e
for more context.

Co-authored-by: Randall Morey <randall@randallmorey.com>
Co-authored-by: Carlos Alcaide Corvo <ccorvo@hashicorp.com>
2022-07-11 16:39:20 -07:00
Carlos Alcaide Corvo ef9513fea9 fix: 🐛 Fix lock file discrepancy (#1183) 2022-07-11 14:47:04 -07:00
Dharini Jeeva 92fdacb635 test: 💍 onboarding tests (#1181) 2022-07-11 10:47:26 -07:00
Carlos Alcaide Corvo d16c50e33f chore: 🤖 Update ember-cli (#1176) 2022-07-11 09:49:50 -07:00
Zhihe Li 22e8971a5b chore: 🤖 Update git hook to not use commitizen on merges (#1177) 2022-07-07 15:58:39 -04:00
Carlos Alcaide Corvo f5c183a0bd chore: 🤖 Update Sinon to v14 (#1175) 2022-07-07 11:59:31 -07:00
Carlos Alcaide Corvo 49303469cb fix: 🐛 Fix ember-electron incorrect per dep (#1174) 2022-07-07 11:38:43 -07:00
Carlos Alcaide Corvo 6f8afbb7af Chore update eslint and plugins update (#1171) 2022-07-07 11:18:51 -07:00
Carlos Alcaide Corvo 923526ad26 chore: 🤖 Update electron to v15 (#1172) 2022-07-07 11:03:50 -07:00
Dharini Jeeva c21b8fdb64 chore: 🤖 update changelog (#1170)
* chore: 🤖 update changelog and bump up the binary version to 0.9.1
2022-07-06 13:13:57 -07:00
Carlos Alcaide CorvoandRandall Morey 60005f0233 chore: 🤖 Update @babel/plugin-proposal-decorators (#1157)
Update @babel/plugin-proposal-decorators

Co-authored-by: Randall Morey <randall@randallmorey.com>
2022-06-30 08:52:07 -04:00
Randall Morey da89e2f82e fix: 🐛 unable to filter for terminated sessions (#1169)
* fix: 🐛 unable to filter for terminated sessions

* fix: 🐛 reenable sessions mocks
2022-06-29 20:42:12 -04:00
Carlos Alcaide CorvoandRandall Morey c9d6f37343 chore: 🤖 Update @ember/test-helpers (#1159)
Update @ember/test-helpers

Co-authored-by: Randall Morey <randall@randallmorey.com>
2022-06-29 17:35:17 -04:00
Carlos Alcaide CorvoandRandall Morey 85e4b46821 Chore update doctoc (#1165)
* chore: 🤖 Update doc toc

Update doc toc

* chore: 🤖 Fix doctoc within core

Co-authored-by: Randall Morey <randall@randallmorey.com>
2022-06-29 16:26:36 -04:00
Carlos Alcaide CorvoandRandall Morey d464419e47 chore: 🤖 Update Cross OS (#1164)
Update Cross OS

Co-authored-by: Randall Morey <randall@randallmorey.com>
2022-06-29 15:28:46 -04:00
Carlos Alcaide CorvoandRandall Morey 021803942f chore: 🤖 Update babel-loader (#1163)
Update babel-loader

Co-authored-by: Randall Morey <randall@randallmorey.com>
2022-06-29 15:10:41 -04:00
Randall Morey eeba8dceb6 fix: 🐛 merge conflict in yarn.lock (#1168) 2022-06-29 14:10:59 -04:00
Carlos Alcaide CorvoandRandall Morey 8764633111 chore: 🤖 Update @hashicorp/flight-icons (#1162)
Update @hashicorp/flight-icons

Co-authored-by: Randall Morey <randall@randallmorey.com>
2022-06-29 13:00:27 -04:00
Carlos Alcaide CorvoandRandall Morey 9becadd3f1 chore: 🤖 Update @glimmer (#1161)
Update @glimmer

Co-authored-by: Randall Morey <randall@randallmorey.com>
2022-06-29 12:08:00 -04:00
Carlos Alcaide CorvoandRandall Morey 9f45a9a955 chore: 🤖 Update @ember/render-modifiers (#1158)
Update @ember/render-modifiers

Co-authored-by: Randall Morey <randall@randallmorey.com>
2022-06-29 11:34:31 -04:00
Carlos Alcaide CorvoandRandall Morey 51b94f7ac8 Chore update babel eslint parser (#1155)
* chore: 🤖 Fix merging conflicts

* chore: 🤖 Fix merging conflicts

Co-authored-by: Randall Morey <randall@randallmorey.com>
2022-06-29 10:51:41 -04:00
Randall Morey 890cfe5168 Refactor attributes fragments (#1156)
* refactor: 💡 migrate managed-group off fragments

* refactor: 💡 migrate credential-store off fragments

* refactor: 💡 migrate credential-library off fragments

* refactor: 💡 migrate account off fragments
2022-06-28 19:30:26 -04:00
Dharini Jeeva fe225653ec fix: 🐛 overflow dropdown ui issue (#1160) 2022-06-28 13:13:09 -07:00
Carlos Alcaide Corvo dce7447880 chore: 🤖 Upgrade @babel/core (#1153)
Upgrade @babel/core
2022-06-28 11:08:16 -07:00
Carlos Alcaide Corvo 330c3de256 Chore upgrade desktop dependencies 2 (#1152) 2022-06-28 10:27:47 -07:00
Carlos Alcaide Corvo 2d15a62990 fix: 🐛 Lock file discrepancy (#1154)
Lock file discrepancy
2022-06-27 14:38:51 -07:00
Zhihe Li 62af6e2f6e Use precommit hooks (#1150)
* chore: 🤖 Add husky and hooks

* chore: 🤖 Add lint staged for fixing lint issues

* chore: 🤖 Use prettier and disable conflicting prettier rules

* docs: ✏️ Update commit documentation in README
2022-06-27 14:35:52 -04:00
Carlos Alcaide Corvo f50acc9913 Chore upgrade desktop dependencies (#1151) 2022-06-27 09:33:10 -07:00
Dharini Jeeva 2900692c6c chore: bump up release version and Update change log (#1141)
* chore: 🤖 update to changelog and release version
2022-06-20 13:15:34 -07:00
Cameron PereraandDharini Jeeva 193a7e9600 refactor: 💡 Remove template file to fix onboarding flow titles (#1148)
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2022-06-20 12:01:25 -05:00
Dharini Jeeva 6b3091ea1b chore: 🤖 update to credential source (#1146) 2022-06-20 09:45:50 -07:00
Randall Morey 26baf8a80b fix: grant scope field should be functional (#1147) 2022-06-20 12:28:13 -04:00
Randall Moreyanddharini 4ef66fdd29 Add minimum support for static credential stores to admin UI (#1145)
* cred store read ability

* filter out static cred stores and credentials from credential libraries

* chore: 🤖 finish up minimum static cred store support

Co-authored-by: dharini <dharini@hashicorp.com>
2022-06-18 10:56:25 -04:00
Cameron Perera 52904dc639 Chore add onboarding role (#1142)
* chore: generate a role authorized to access the generated onboarding target
2022-06-16 16:11:11 -07:00
Cameron Perera f3a5ef5b7c refactor: 💡 Update routing to use project id in quick-start (#1140)
✅ Closes: ICU-4821
2022-06-15 15:06:09 -05:00
Randall Morey 7d8012ef1f chore: apply darker color theme to sidebar (#1139)
* chore: apply darker color theme to sidebar

* chore: hide global footer for now due to sidebar change
2022-06-15 14:27:08 -05:00
Cameron Perera 18434d4203 chore: 🤖 Disable ssh feature work (#1138)
Disable ssh feature
2022-06-15 10:42:49 -07:00
Cameron Perera d7e458ab85 refactor: 💡 Remove default value for IP address and port (#1137)
* refactor: 💡 Remove default value for IP address and port
2022-06-14 20:39:50 -07:00
Cameron Perera c5416e770a feat: 🎸 Add Controller URL component to Success screen (#1135)
* feat: 🎸 Add Controller URL component to Success screen

✅ Closes: ICU-4785

* style: 💄 Update Success screen styles to match wireframe

* refactor: 💡 Update class names to be more descriptive

* refactor: 💡 Update styles for Success card

* test: 💍 Fix failing test
2022-06-14 16:36:11 -05:00
Dharini Jeeva 2bb1c9cfec Chore onboarding route (#1136)
* fix: onboarding redirects
2022-06-14 14:21:48 -07:00
Dharini Jeeva 8bdd4416fc transition to target lists when the resource creation is successful (#1134)
* feat: 🎸  redirect the user to target lists within the project after successfully creating a resource.
2022-06-14 12:32:04 -07:00
Cameron Pereraanddharini a5da593f07 Create successful resource creation screen (#1132)
* feat: 🎸 Create successful resource creation screen

Create a screen with helpful information about Boundary once resources
have been created for the user

✅ Closes: ICU-4558

* style: 💄 remove stale comment

* chore: 🤖 resolve conflicts and merge main

Co-authored-by: dharini <dharini@hashicorp.com>
2022-06-14 09:33:51 -05:00
Randall MoreyandCameron Perera 15dc735322 chore: move onboarding to top level (#1131)
* chore: move onboarding to top level

* chore: add types

* Update ui/admin/app/routes/onboarding.js

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

* fix: broken paths

* chore: fix broken success route and simplify error handling

* fix: tests

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2022-06-13 16:38:18 -04:00
Dharini Jeeva d69b0f90d8 Icu 4556 create a quick setup screen (#1129)
* feat: 🎸 Create a resource onboarding form
2022-06-10 15:43:20 -07:00
Cameron Perera 0bb5989259 feat: 🎸 Create form to choose onboarding guide path (#1124)
* feat: 🎸 Create onboarding welcome form
2022-06-09 15:47:07 -07:00
Carlos Alcaide Corvo 106999746f docs: ✏️ Update docs for yarn scripts (#1101) 2022-06-08 14:05:56 -07:00
Carlos Alcaide Corvo d60ae81bdc Fix rose peer dependencies (#1128)
Fix Rose peer dependency warnings
2022-06-08 09:25:28 -07:00
Carlos Alcaide Corvo c7cb1fbbd8 chore: 🤖 Update electron from 13 to 14 (#1125)
Update electron from 13 to 14
2022-06-08 09:09:18 -07:00
Dharini Jeeva 8a05dbbc56 create new image component (#1127)
* feat:  create image component
2022-06-08 08:45:59 -07:00
Randall Morey dc78fe9028 Chore include terminated (#1126)
* chore: 🤖 add include_terminated=true when filtering terminated

* chore: 🤖 add include_terminated=true when filtering terminated
2022-06-07 15:40:33 -04:00
Randall MoreyandDharini Jeeva 24f630f084 Chore onboarding routing logic (#1123)
* chore: 🤖 stub out onboarding routes

* chore: initial onboarding routing logic

* chore: initial routing logic and resource creation

* chore: route "manual" to new org

* Update en-us.yaml

* fix: linting

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2022-06-03 13:25:53 -04:00
Cameron Perera d4ac887f7a Create CODEOWNERS file (#1122)
* chore: Create CODEOWNERS file

* chore: update CODEOWNERS

* chore: 🤖 finalize CODEOWNERS changes
2022-06-03 09:44:45 -05:00
Randall Morey 9fe8ce2c00 chore: 🤖 stub out onboarding routes (#1118) 2022-06-02 08:48:34 -04:00
Randall Morey af3cfb7298 chore: 🤖 generate more realistic mock IDs (#1117)
* chore: 🤖 generate more realistic mock IDs

* Update id.js
2022-06-01 14:02:18 -04:00
Zhihe Li df609dcf2c refactor: 💡 Update deprecated new window handler (#1111)
✅ Closes: ICU-4037
2022-05-20 12:53:52 -04:00
Zhihe Li 1b9f774937 fix: 🐛 Use more common hasOwnProperty and don't modify payload (#1112) 2022-05-19 17:52:10 -04:00
Randall Morey 509215f787 chore: 🤖 display auth method names in auth form, if available (#1113) 2022-05-19 15:56:48 -04:00
Carlos Alcaide Corvo 698160d423 refactor: 💡 Rename Admin UI enterprise artifact (#1110)
Rename Admin UI generated artifact for the enterprise edition.
2022-05-17 07:03:22 -07:00
Cameron PereraandDharini Jeeva 12b18510b9 refactor: 💡 Update language to use Sign In and Sign Out (#1109)
* refactor: 💡 Update language to use Sign In and Sign Out

Update authenticate/deauthenticate language to sign in and sign out
respectively

✅ Closes: ICU-3941

* refactor: 💡 Change translation keys back to (de)authenticate

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2022-05-16 17:28:45 -05:00
aa52b6f9bc fix: 🐛 Update validateOrigin to throw error on bad request (#1107)
* fix: 🐛 Update validateOrigin to throw error on bad request

If the result from netRequestPromise is successful but a not a 200
response, validateOrigin will throw an error

✅ Closes: ICU-4238

* Update ui/desktop/electron-app/src/models/runtime-settings.js

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

* refactor: 💡 Add comment as to why we don't throw error for 3xxs

* Update ui/desktop/electron-app/src/models/runtime-settings.js

Co-authored-by: Randall Morey <randall@randallmorey.com>

* Update ui/desktop/electron-app/src/models/runtime-settings.js

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

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
Co-authored-by: Randall Morey <randall@randallmorey.com>
2022-05-16 12:20:56 -05:00
Dharini Jeeva ee47f8e19e fix: 🐛 add featureflag to target creation template (#1108)
* fix: 🐛 add featureflag to target creation template

* refactor: 💡 remove else block
2022-05-13 10:57:52 -07:00
Zhihe Li 97196368cb Fix Users page not updating fields correctly (#1105)
* fix: 🐛 Normalize update responses to track removed fields

✅ Closes: ICU-4189
2022-05-12 10:16:14 -04:00
Carlos Alcaide Corvo 7e792d3f76 Refactor UI generated artifacts creation. (#1104)
* Refactor UI generated artifacts creation. Now we generate OSS and enterprise specific artifacts

* Split builds in two separate jobs
2022-05-11 13:28:30 -07:00
Randall Morey f4df337761 chore: update github actions validator to depend on previous jobs (#1081) 2022-05-06 10:32:11 -04:00
Cameron Perera de44863d02 chore: 🤖 Add lzma-native to resolutions (#1103)
* chore: 🤖 Add lzma-native and appdmg to resolutions

* chore: 🤖 Remove appdmg resolution from electron-app

Tested that CI steps passed.
2022-05-05 17:35:53 -05:00
Cameron Perera e3f9feb474 Update polling interval to 300 seconds (5 minutes) (#1102)
Update polling interval to 300 seconds (5 minutes)
2022-05-05 11:43:07 -05:00
Carlos Alcaide Corvo 57410b7bb6 refactor: 💡 Avoid lint warning (#1095)
* refactor: 💡 Avoid lint warning
2022-05-05 08:28:41 -07:00
Carlos Alcaide Corvo 5e2c6ca0fd feat: 🎸 Add feature editions (#1094)
* feat: 🎸 Add feature editions
2022-05-05 07:42:02 -07:00
Carlos Alcaide Corvo eb36cde137 Update polling intervarl (#1100) 2022-05-04 09:51:16 -07:00
Cameron PereraandZhihe Li ccb266ea7c chore: 🤖 bump binary version and update changelog (#1099)
* chore: 🤖 bump binary version and update changelog

* chore: 🤖 Update Desktop app release date

* chore: 🤖 Update release date

Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
2022-05-04 10:32:42 -05:00
ZedandRandall Morey 8545697b43 Add toolbar regions to align refresh button to the right (#1098)
* feat: 🎸 implement toolbar regions and apply to admin sessions

* feat: 🎸 Add toolbar regions for desktop sessions and targets

✅ Closes: ICU-4198

Co-authored-by: Randall Morey <randall@randallmorey.com>
2022-05-03 09:46:47 -04:00
Zed a8ae8d28df fix: 🐛 Reduce extra padding in tables (#1091)
✅ Closes: ICU-4046
2022-05-02 10:14:21 -04:00
Cameron Perera 952b894a32 feat: 🎸 Add ToolbarRefresher component to targets in desktop (#1093)
✅ Closes: ICU-4134
2022-04-29 18:06:11 -05:00
Cameron Perera 6f449b3b9b feat: 🎸 Add ToolbarRefresher component to sessions in admin (#1092)
✅ Closes: ICU-4133
2022-04-29 17:54:08 -05:00
Cameron PereraandRandall Morey 0f3c2f043b style: 💄 Update Refresh Button to animate when loading (#1089)
* style: 💄 Update Refresh Button to animate when loading

* refactor: 💡 Move temporary animation styles to app level styles

Co-authored-by: Randall Morey <randall@randallmorey.com>
2022-04-29 15:29:53 -05:00
Dharini Jeeva 82c94518d9 feat: refresh sessions view in admin ui (#1078) 2022-04-29 14:28:50 -04:00
Randall Morey 68a269efac feature: add toolbar refresher component (#1088) 2022-04-29 13:51:47 -04:00
Zed 75ef323e6d fix: 🐛 Desktop client not correctly loading ember app url (#1090) 2022-04-29 13:38:25 -04:00
Carlos Alcaide Corvo ccde5e88da fix: 🐛 Mac os window lifecycle (#1067) 2022-04-29 09:03:40 -07:00
Carlos Alcaide Corvo 1071241604 chore: 🤖 Increase polling time Admin UI (#1085) 2022-04-29 07:47:03 -07:00
Zed 316f0907fc fix: 🐛 Fix scrollbar for the sidebar in desktop client (#1076)
Fixed scroll bar always appearing in sidebar on macOS for desktop client
and sidebar not staying fixed in windows and linux

✅ Closes: ICU-4143
2022-04-29 10:16:34 -04:00
Cameron Perera 3bdae6dce8 feat: 🎸 refresh targets list view in desktop (#1087)
✅ Closes: ICU-4024
2022-04-28 17:35:52 -05:00
Carlos Alcaide Corvo 367545fd4d refactor: 💡 Encapsulate desktop client window creation (#1066)
Encapsulate desktop client window creation to reuse the creation of new
windows.
2022-04-28 15:23:43 -07:00
Randall Morey 702ad64716 Style toolbar buttons (#1086)
* chore: 🤖 move loading-button component to core addon

* style: toolbar buttons should align with Structure

* fix: buttons should have consistent font
2022-04-28 17:59:43 -04:00
Randall Morey 043dbc3736 chore: 🤖 move loading-button component to core addon (#1083) 2022-04-28 17:49:03 -04:00
Cameron Perera 01e4ec0a07 feat: 🎸 Add minimum refresh time to refresh button for sessions (#1077) 2022-04-28 16:35:46 -04:00
Randall Morey a7b3da2231 feat: 🎸 implement live relative datetime component (#1080) 2022-04-28 16:23:44 -04:00
Randall Morey de6416efbd feat: 🎸 add non-interactive rose toolbar info component (#1075) 2022-04-28 16:01:50 -04:00
76befc0c1d chore: 🤖 Increaase polling time desktop client (#1074)
Increase polling time within desktop client.

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
Co-authored-by: Randall Morey <randall@randallmorey.com>
2022-04-28 15:48:33 -04:00
Carlos Alcaide Corvo f71d01902a Revert "feat: 🎸 Add feature editions (#1072)" (#1079)
This reverts commit 56d84d652b.
2022-04-28 12:14:27 -07:00
Carlos Alcaide Corvo 56d84d652b feat: 🎸 Add feature editions (#1072)
Add feature editions
2022-04-28 10:23:35 -07:00
Dharini Jeeva 9cf216179a feat: refresh sessions list view in desktop (#1069)
* feat: 🎸 add a refresh button to sessions list view in desktop
2022-04-28 08:49:37 -07:00
Zed 050cfdd056 fix: 🐛 Fix scrollbars not being dark in dark mode (#1068)
✅ Closes: ICU-4022
2022-04-27 18:18:24 -04:00
Carlos Alcaide Corvo 79fb0db882 docs: ✏️ Update node supported versions (#1071)
Update node supported versions
2022-04-26 17:06:10 -07:00
Cameron Perera a2c6bc643d chore: 🤖 Update the .template-lintrc.js file in addons/rose (#1073)
✅ Closes: ICU-4123
2022-04-26 14:56:13 -05:00
Zed 07ed40ce03 fix: 🐛 Adjusted dark mode gray scale and fixed radio card colors (#1065)
Adjusted dark mode gray scale to be a bit darker and 
made the active selected radio card lighter in dark mode

✅ Closes: ICU-4021
2022-04-26 11:28:02 -04:00
Cameron Perera e0cbbefb41 fix: 🐛 Fix new target navigation issue (#1070)
Fix issue where trying to leave the new target form via the discard
changes dialog would cause the user to have to refresh screen.

✅ Closes: ICU-4047
2022-04-26 08:21:11 -05:00
Carlos Alcaide Corvo 2a1e4858fa chore: 🤖 Update Electron from 12.x to 13.x (#1063) 2022-04-21 12:46:41 -07:00
Cameron Perera 7b154b223a feat: 🎸 Update Target types help text (#1064)
* feat: 🎸 Update Target types help text

✅ Closes: ICU-4014

* refactor: 💡 Update how radio cards determine height

Radio cards will now fill up the entire height of the fieldset they are
in

* style: 💄 Update radio card padding
2022-04-21 13:51:47 -05:00
Carlos Alcaide Corvo 550cadf612 Revert "fix: 🐛 Disable polling for sessions on Desktop (#1058)" (#1062)
This reverts commit 26e074dbef.
2022-04-19 13:22:47 -07:00
Carlos Alcaide Corvo 95cece1481 Revert "fix: 🐛 Disable polling for targets on Desktop (#1059)" (#1061)
This reverts commit 6249e945b8.
2022-04-19 13:06:42 -07:00
Carlos Alcaide Corvo 94a3c1fcf1 Revert "disable polling in admin UI (#1057)" (#1060)
This reverts commit 90c9fa8b73.
2022-04-19 12:51:03 -07:00
Cameron PereraandDharini Jeeva f2b53d2f45 chore: 🤖 Updated pr-template to include Jira base url (#1055)
Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2022-04-19 09:35:14 -05:00
Cameron Perera 6249e945b8 fix: 🐛 Disable polling for targets on Desktop (#1059)
✅ Closes: ICU-3954
2022-04-19 09:22:13 -05:00
Cameron Perera 26e074dbef fix: 🐛 Disable polling for sessions on Desktop (#1058)
✅ Closes: ICU-3953
2022-04-19 09:10:09 -05:00
Dharini Jeeva 90c9fa8b73 disable polling in admin UI (#1057)
* fix: 🐛 disable sessions polling

* increase sessions count

* fix: 🐛 undo mirage test
2022-04-18 18:08:23 -04:00
Zed 215bf00407 test: 💍 Verify target worker filter is created correctly (#1056)
✅ Closes: ICU-3893
2022-04-15 16:00:03 -04:00
Cameron Perera d8efefc2b3 test: 💍 Verify target worker filter can be edited (#1054)
✅ Closes: ICU-3892
2022-04-15 13:52:31 -05:00
Cameron Perera 95ed2c0fda feat: 🎸 Add worker filter field in target form (#1053)
* feat: 🎸 Add worker filter field in target form

✅ Closes: ICU-3891

* feat: 🎸 Add Learn More link to Worker Filter input field
2022-04-14 15:27:36 -05:00
Carlos Alcaide Corvo 8776b46277 Chore update eslint (#1045)
Update eslint and eslint-plugin-ember to their latest versions.
2022-04-13 14:17:46 -07:00
Zed 670f38df74 feat: 🎸 Add mirage data for the worker_filter (#1051)
* feat: 🎸 Add mirage data for the "worker_filter" attribute

✅ Closes: ICU-3888
2022-04-12 17:42:13 -04:00
Cameron PereraandDharini Jeeva 226475a47d feat: 🎸 Add "worker_filter" attribute to target model (#1049)
* feat: 🎸 Add "worker_filter" attribute to target model

✅ Closes: ICU-3887

* feat: 🎸 Add missing attribute description for worker_filter

* feat: 🎸 Update worker_filter description

Co-authored-by: Dharini Jeeva <dharini@hashicorp.com>
2022-04-12 16:16:51 -05:00
Dharini Jeeva 1072be1eff refactor: 💡 improve target creation (#1050)
* refactor: 💡 improve target creation UX
2022-04-12 14:05:16 -07:00
Carlos Alcaide Corvo 22d8af72ae Feat add build admin UI workflow (#1048)
* chore: 🤖 Add build admin UI workflow
2022-04-08 14:57:20 -07:00
Cameron Perera 79596010e9 feat: 🎸 Update Success Dialog when connecting to target (#1046)
Updated the Success Dialog in desktop app when connecting to a target to
dynamically show target type

✅ Closes: ICU-3647
2022-04-08 14:15:32 -05:00
Carlos Alcaide Corvo 8e884d53ae Revert "chore: 🤖 Add build admin UI workflow (#1043)" (#1047)
This reverts commit 505820eb6c.
2022-04-08 09:06:22 -07:00
Carlos Alcaide Corvo 505820eb6c chore: 🤖 Add build admin UI workflow (#1043)
* chore: 🤖 Add build admin UI workflow
2022-04-08 08:41:48 -07:00
Carlos Alcaide Corvo 4b09c7014b Chore update babel parser (#1044)
Update babel-parser and dependencies.
2022-04-07 14:39:59 -07:00
Cameron Perera f4535c8307 test: 💍 Add tests specific to SSH target creation
* test: 💍 Add tests specific to SSH target creation

* test: 💍 creating new SSH target when enabled or disabled

Verifying the link to create new SSH targets is not present when
ssh-targets is not enabled

* refactor: update create targets acceptance test names
2022-04-06 09:30:49 -05:00
Dharini Jeeva 9fae8f2a9f feat: create ssh type target in admin-ui (#1027)
* feat: 🎸 create ssh type target in admin-UI
2022-03-31 15:34:24 -07:00
Carlos Alcaide Corvo a7bcc0c332 chore: 🤖 Update plist version on desktop (#1040)
Update plist version resolutions on desktop as per dependabot alert.
2022-03-31 10:40:57 -07:00
Dharini Jeeva f877477cd7 feat: 🎸 update target route to support ssh type (#1038)
* feat: 🎸 update target route to support ssh type
2022-03-31 09:50:03 -07:00
Carlos Alcaide Corvo 335df22a38 chore: 🤖 Update plist on admin resolutions (#1039)
Update plist version on admin resolutions as per dependabot alert.
2022-03-31 09:06:34 -07:00
Carlos Alcaide Corvo ca09b538f7 chore: 🤖 Add minimist to desktop resolutions (#1034)
Add minimist to desktop resolutions as per dependabot alert.
2022-03-28 14:10:33 -07:00
Carlos Alcaide Corvo 68ba653984 chore: 🤖 Add minimist to admin resolutions (#1032)
Add minimist to admin resolutions
2022-03-28 13:47:32 -07:00
Michele Degges 5a90533a2e [RelAPI Onboarding] Add release API metadata file (#1031) 2022-03-24 13:52:26 -07:00
Carlos Alcaide Corvo 3d7b8537e1 chore: 🤖 Resolutions ansi-html (#1030)
Add ansi-html to resolutions
2022-03-22 07:23:11 -07:00
Carlos Alcaide Corvo 8d6669c8a1 chore: 🤖 Update git-cz (#1029)
Update git-cz
2022-03-18 14:12:35 -07:00
Dharini Jeeva 7c3f57c7fa chore: display sync interval seconds on host-set plugin forms (#1014)
* chore: 🤖 display sync_interval_seconds toggle on the forms

* chore: 🤖 remove comment

* chore: 🤖 remove extra spacing

* fix: 🐛 update title and add a description for sync_interval

* fix: 🐛 lint in translation

* chore: 🤖 fix typo, remove duplicate code

* chore: 🤖 simplify sync interval field, remove toggling

* fix: 🐛 use correct error code

* fix: 🐛 move sync interval translation to forms

* fix: 🐛 use appropiate translations label
2022-03-17 13:49:18 -07:00
Cameron Perera 2543d14c5a Chore: Add a PR template file (#1028)
* chore: 🤖 Add a PR template file

* chore: 🤖 update pr template

* chore: 🤖 final pr template update

* Update .github/pull_request_template.md

Move JIRA ticket link to the top
2022-03-17 14:00:44 -05:00
Carlos Alcaide Corvo fe7cb014a0 feat: 🎸 Add default custom Model for mirage (#1013)
* feat: 🎸 Add default custom Model for mirage
2022-03-17 11:05:41 -07:00
Carlos Alcaide Corvo adcfb00131 chore: 🤖 Bump binary version and update changelog (#1026)
Bump binary version and update changelog.
2022-03-16 14:41:41 -07:00
Cameron Perera 772e02a738 feat: 🎸 List SSH targets in Admin (#1025)
✅ Closes: ICU-3642
2022-03-15 14:47:44 -05:00
Carlos Alcaide Corvo f3242f9150 chore: 🤖 Add plist to resolutions (#1024)
Add plist to resolutions
2022-03-15 12:10:32 -07:00
Carlos Alcaide Corvo fd8a23dd76 chore: 🤖 Add plist to desktop resolutions (#1023)
Add plist dependency to resolutions in desktop client.
2022-03-15 11:47:59 -07:00
Carlos Alcaide Corvo 5319726cba chore: 🤖 Refactor cache for dependencies within CI (#1022)
Refactor CI:
- Refactor the usage of cache.
- Add a step to deal with npm dependencies. The rest of the steps will assume dependencies are available.
2022-03-15 11:27:39 -07:00
Dharini Jeeva e153cf1be6 chore: 🤖 Update mirage responses to support SSH targets (#1021)
* feat: 🎸 add type check helper methods to target model

* chore: 🤖 include ssh type to target mirage data
2022-03-14 11:35:10 -07:00
Dharini JeevaandCameron Perera a9a82079ac feat: 🎸 add type check helper methods to target model (#1018)
* feat: 🎸 add type check helper methods to target model

* Update addons/api/tests/unit/models/target-test.js

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

* Update addons/api/tests/unit/models/target-test.js

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

Co-authored-by: Cameron Perera <cameron.perera@hashicorp.com>
2022-03-14 09:53:57 -07:00
Carlos Alcaide Corvo a0c3ad7256 Merge pull request #1019 from hashicorp/chore-upgrade-node-version-gh-action-validate-monorepo
chore: 🤖 Update node version used in GH actions
2022-03-10 17:30:23 -06:00
Carlos Alcaide Corvo ce4aa12a34 chore: 🤖 Update node version used in GH actions
Update node version from 12.x LTS to 16.x LTS for the github action
workflow validate-monorepo.
2022-03-09 13:27:44 -08:00
Cameron Perera ad2a4df70b Merge pull request #1016 from hashicorp/ssh-target-feature-flag
chore: 🤖 add ssh-target feature flag for admin
2022-03-08 13:47:34 -06:00
Dharini Jeeva 13633f6582 Merge branch 'main' into ssh-target-feature-flag 2022-03-08 10:36:50 -08:00
Dharini Jeeva 70fc371644 Merge pull request #1017 from hashicorp/ICU-3651-add-a-new-ssh-target-feature-flag-to-desktop
chore: 🤖 add feature flag for ssh target feature
2022-03-08 10:36:39 -08:00
cameronperera 5640eeb86b chore: 🤖 update ssh-target feature flag
change ssh-target feature flag to false by default and true only for
development

✅ Closes: ICU-3652
2022-03-08 12:06:43 -06:00
dharini 634a0a2af5 chore: 🤖 add feature flag for ssh target feature 2022-03-08 10:03:56 -08:00
cameronperera b16a4effd3 chore: 🤖 add ssh-target feature flag for admin
✅ Closes: ICU-3652
2022-03-08 11:45:46 -06:00
Dharini Jeeva da1cea8263 Merge pull request #1012 from hashicorp/ICU-3484-missing-sync-interval-seconds-attribute-in-plugin-host-sets
feat: 🎸 add sync_interval_seconds to plugin host-sets
2022-03-03 14:45:42 -08:00
dharini 8f60066cc8 fix: 🐛 remove sync_interval_seconds attribute from static type 2022-03-03 14:17:11 -08:00
dharini fa9c3d317e chore: 🤖 remove default value from sync_interval_seconds 2022-03-03 12:48:51 -08:00
Dharini Jeeva 9f21e94712 Merge branch 'main' into ICU-3484-missing-sync-interval-seconds-attribute-in-plugin-host-sets 2022-03-02 14:09:06 -08:00
Cameron Perera b6a3f0f72a Merge pull request #1011 from hashicorp/move-ip-addresses-form-label-in-translations
refactor: 💡 move ip_addresses label into the form translation
2022-03-02 12:31:44 -06:00
dharini d50b3a5625 feat: 🎸 add sync_interval_seconds to plugin host-sets 2022-03-02 09:44:30 -08:00
cameronperera 8a920faaf0 refactor: 💡 move ip_addresses label into the form translation 2022-03-02 10:18:03 -06:00
Cameron Perera 42cce22e99 Merge pull request #1007 from hashicorp/ICU-3529-add-boundary-does-not-yet-support-rotating-credentials-warning-message-for-azure-provider
feat: 🎸 ICU-3529 add rotating credentials warning for azure
2022-03-01 13:31:34 -06:00
Cameron Perera d9f6426d45 Merge branch 'main' into ICU-3529-add-boundary-does-not-yet-support-rotating-credentials-warning-message-for-azure-provider 2022-03-01 12:37:40 -06:00
Dharini Jeeva 06a6496403 Merge pull request #995 from hashicorp/ICU-3528-add-aws-helper-doc-links
updates to AWS and Azure doc links
2022-03-01 10:34:06 -08:00
Dharini Jeeva 1a6c4da395 Merge branch 'main' into ICU-3528-add-aws-helper-doc-links 2022-03-01 10:09:49 -08:00
Dharini Jeeva ffed3104aa Merge branch 'main' into ICU-3529-add-boundary-does-not-yet-support-rotating-credentials-warning-message-for-azure-provider 2022-03-01 10:06:44 -08:00
cameronperera f62f2e288e refactor: 💡 Update choose a provider translations
Update choose a provider translations to concat provider specific text
when appropriate

✅ Closes: ICU-3529
2022-03-01 11:47:40 -06:00
Carlos Alcaide Corvo ef9b486e12 Merge pull request #1008 from hashicorp/chore-update-changelog
Update changelog
2022-03-01 10:54:17 -06:00
Carlos Alcaide Corvo 5ebca6ff6f Update changelog
Update changelog to point next version of desktop client rather than specific.
2022-03-01 08:28:52 -08:00
Cameron Perera c626267977 Merge branch 'main' into ICU-3529-add-boundary-does-not-yet-support-rotating-credentials-warning-message-for-azure-provider 2022-03-01 10:05:13 -06:00
Dharini Jeeva 2666f6a0b6 Merge branch 'main' into ICU-3528-add-aws-helper-doc-links 2022-02-28 15:35:07 -08:00
cameronperera d12c38e885 feat: 🎸 ICU-3529 add rotating credentials warning for azure
Add "Boundary does not yet support rotating credentials" warning message
for Azure provider

✅ Closes: ICU-3529
2022-02-28 15:16:39 -06:00
Carlos Alcaide Corvo d6fbff246b Merge pull request #1006 from hashicorp/chore-resolutions-prism-js
chore: 🤖 Update prism js resolutions version
2022-02-28 15:09:25 -06:00
Carlos Alcaide Corvo ba4ed746e0 Merge branch 'main' into chore-resolutions-prism-js 2022-02-28 14:59:38 -06:00
Randall Morey 29c9796439 Merge branch 'main' into ICU-3528-add-aws-helper-doc-links 2022-02-28 14:52:11 -05:00
Carlos Alcaide Corvo c7c74c81cb Merge pull request #998 from hashicorp/feature-combine-columns-target-hosts-list-desktop
feat: 🎸 Combine columns on target host list for desktop
2022-02-28 13:51:35 -06:00
Carlos Alcaide Corvo eb59d36c32 chore: 🤖 Update prism js resolutions version 2022-02-28 11:49:18 -08:00
Carlos Alcaide Corvo 9521bc4ec8 Add badge for dynamic type label 2022-02-28 10:53:23 -08:00
Dharini Jeeva 2d6141af0f Merge branch 'main' into ICU-3528-add-aws-helper-doc-links 2022-02-28 09:33:50 -08:00
Carlos Alcaide Corvo c8550550ab Merge pull request #1003 from hashicorp/refactor-deprecate-ember-source-channel-url
chore: 🤖 Deprecate ember-source-channel-url
2022-02-28 11:33:30 -06:00
dharini 8121b12386 refactor: 💡 simplify the way to pass doc links to components 2022-02-27 16:02:53 -08:00
dharini b4c109a28d Merge branch 'main' into ICU-3528-add-aws-helper-doc-links 2022-02-27 15:43:01 -08:00
Carlos Alcaide Corvo 5ac06afc3f Merge branch 'main' into refactor-deprecate-ember-source-channel-url 2022-02-25 16:14:08 -06:00
Carlos Alcaide Corvo 9c85b1c119 Merge pull request #1002 from hashicorp/refactor-deprecate-ember-try
refactor: 💡 Deprecate ember-try
2022-02-25 16:09:33 -06:00
Carlos Alcaide Corvo a99887a052 Merge branch 'main' into refactor-deprecate-ember-try 2022-02-25 15:58:58 -06:00
Cameron Perera bc4d668abe Merge pull request #1004 from hashicorp/ICU-3488-show-dns-names-for-aws-hosts-in-admin-ui
feat: 🎸 Display DNS names for AWS hosts in Admin UI
2022-02-25 15:44:02 -06:00
cameronperera 38efef0685 refactor: 💡 Update form.dns_names.label to "Latest DNS Names" 2022-02-25 14:10:29 -06:00
cameronperera cab70b5955 feat: 🎸 Display DNS names for AWS hosts in Admin UI
✅ Closes: ICU-3488
2022-02-25 12:58:23 -06:00
Carlos Alcaide Corvo 6f1c21b14c Merge branch 'main' into refactor-deprecate-ember-try 2022-02-25 12:43:04 -06:00
Carlos Alcaide Corvo 94f77177bd chore: 🤖 Deprecate ember-source-channel-url 2022-02-25 10:38:37 -08:00
Carlos Alcaide Corvo 3ed91b26a0 Merge pull request #1000 from hashicorp/chore-update-ember-page-title
chore: 🤖 Update ember-page-title
2022-02-25 12:27:50 -06:00
Carlos Alcaide Corvo b1b0a3dfe6 Merge branch 'main' into chore-update-ember-page-title 2022-02-25 12:11:29 -06:00
Carlos Alcaide Corvo 6500019835 Merge pull request #997 from hashicorp/chore-resolutions-update-follow-redirects
chore: 🤖 Update resolutions follow-redirects
2022-02-25 12:11:04 -06:00
Carlos Alcaide Corvo 426cb61277 Merge branch 'main' into chore-resolutions-update-follow-redirects 2022-02-25 11:59:31 -06:00
Carlos Alcaide Corvo d53f532412 Merge pull request #996 from hashicorp/chore-resolutions-nanoid
chore: 🤖 Add nanoid to resolutions
2022-02-25 11:59:09 -06:00
Carlos Alcaide Corvo d19f79858b refactor: 💡 Deprecate ember-try 2022-02-25 09:54:56 -08:00
Carlos Alcaide Corvo 140b008447 chore: 🤖 Update ember-page-title 2022-02-24 10:23:31 -08:00
Carlos Alcaide Corvo b0dd8e4635 chore: 🤖 Update resolutions follow-redirects 2022-02-24 08:23:24 -08:00
Carlos Alcaide Corvo c716e8e5b4 chore: 🤖 Add nanoid to resolutions 2022-02-24 08:08:54 -08:00
Carlos Alcaide Corvo 6c314cb449 Merge pull request #993 from hashicorp/chore-resolutions-mout
chore: 🤖 Add resolutions mout
2022-02-23 17:56:45 -06:00
Carlos Alcaide Corvo 0c8ead139f Merge branch 'main' into chore-resolutions-mout 2022-02-23 17:42:13 -06:00
Carlos Alcaide Corvo b708f28577 Merge pull request #992 from hashicorp/chore-resolutions-markdown-it
chore: 🤖 Add resolutions markdown it
2022-02-23 16:35:20 -06:00
Carlos Alcaide Corvo beded286a2 Merge branch 'main' into chore-resolutions-markdown-it 2022-02-23 16:15:58 -06:00
Carlos Alcaide Corvo 4c5ce5e627 Merge pull request #994 from hashicorp/chore-update-flight-icons
chore: 🤖 Update flight icons
2022-02-23 16:15:29 -06:00
dharini f72447f1e2 refactor: 💡 azure/aws doc link keys 2022-02-23 10:50:20 -08:00
Carlos Alcaide Corvo 540139644c Merge branch 'main' into chore-resolutions-markdown-it 2022-02-23 12:37:12 -06:00
Carlos Alcaide Corvo 3d782582e5 chore: 🤖 Update flight icons 2022-02-23 10:35:03 -08:00
dharini e3400ec5ab chore: 🤖 add doc links for aws and update azure doc key 2022-02-23 10:28:35 -08:00
Carlos Alcaide Corvo 937a8a6b0d Merge pull request #991 from hashicorp/chore-resolutions-engine-io
chore: 🤖 Add resolutions engine.io
2022-02-23 12:20:18 -06:00
Carlos Alcaide Corvo 23bdd10ce5 Merge branch 'main' into chore-resolutions-engine-io 2022-02-23 12:03:10 -06:00
Randall Morey 920971ee98 Merge pull request #977 from hashicorp/chore-add-host-route
chore: 🤖 add read-only host route for dynamic hosts
2022-02-23 12:56:19 -05:00
Carlos Alcaide Corvo c5d21ee09d Merge branch 'main' into chore-resolutions-engine-io 2022-02-23 11:46:09 -06:00
Randall Morey b54cbc96ad Merge branch 'main' into chore-add-host-route 2022-02-23 12:44:21 -05:00
Randall Morey 694dadb203 Merge pull request #944 from hashicorp/chore-radio-template
refactor: 💡 upgrade ember-radio-button to fix deprecations
2022-02-23 12:42:11 -05:00
Carlos Alcaide Corvo c75800514f Merge branch 'main' into chore-resolutions-engine-io 2022-02-23 11:39:27 -06:00
Carlos Alcaide Corvo 7e28dee0ab chore: 🤖 Add resolutions mout 2022-02-23 09:31:11 -08:00
Randall Morey 05be4c1349 Merge branch 'main' into chore-radio-template 2022-02-23 12:29:45 -05:00
Susmitha Girumala dad2d2d05e Merge pull request #949 from hashicorp/refactor-breadcrumbs-component
Refactor breadcrumbs component
2022-02-23 12:27:35 -05:00
Susmitha Girumala 7c85310318 Merge pull request #945 from hashicorp/refactor-breadcrumbs-link
refactor: 💡 resolve legacy-attribute-arguments deprecations
2022-02-23 12:26:22 -05:00
Susmitha Girumala e9580ba85e Merge pull request #943 from hashicorp/chore-argument-less-helper-paren-less-invocation
chore: 🤖 satisfy argument-less-helper-paren-less-invocation
2022-02-23 12:25:26 -05:00
Randall Morey efbf868a0a Merge branch 'main' into chore-argument-less-helper-paren-less-invocation 2022-02-23 12:14:29 -05:00
Carlos Alcaide Corvo d10bb377b0 Merge branch 'main' into chore-resolutions-markdown-it 2022-02-23 10:18:42 -06:00
Carlos Alcaide Corvo 34c1adeba2 chore: 🤖 Add resolutions markdown it 2022-02-23 08:17:12 -08:00
Carlos Alcaide Corvo 85744200f7 chore: 🤖 Add resolutions engine.io 2022-02-23 08:03:32 -08:00
Carlos Alcaide Corvo ec64d4f045 Merge pull request #989 from hashicorp/chore-update-ember-named-blocks-polyfill
chore: 🤖 Update ember named blocks polyfill
2022-02-23 09:57:54 -06:00
Carlos Alcaide Corvo d30091db47 Merge branch 'main' into chore-update-ember-named-blocks-polyfill 2022-02-23 09:44:47 -06:00
Carlos Alcaide Corvo cdaf44f8eb Merge pull request #988 from hashicorp/chore-update-ember-composable-helpers
chore: 🤖 Update ember-composable-helpers
2022-02-23 09:44:33 -06:00
Randall Morey 9a91cc2ea8 Merge branch 'main' into chore-argument-less-helper-paren-less-invocation 2022-02-23 10:09:43 -05:00
Carlos Alcaide Corvo a8fb814855 Merge branch 'main' into chore-update-ember-composable-helpers 2022-02-22 17:29:52 -06:00
Carlos Alcaide Corvo 01d1271562 Merge pull request #986 from hashicorp/chore-update-doctoc
chore: 🤖 Update doctoc
2022-02-22 17:28:18 -06:00
Carlos Alcaide Corvo 3929f0ef58 Merge branch 'main' into chore-update-doctoc 2022-02-22 17:09:27 -06:00
Carlos Alcaide Corvo 447dabf853 Merge pull request #985 from hashicorp/chore-update-ember-test-helpers
feat: 🎸 Update @ember/test-helpers
2022-02-22 17:09:11 -06:00
Carlos Alcaide Corvo 3deaf18902 Merge branch 'main' into chore-update-ember-test-helpers 2022-02-22 16:53:04 -06:00
Carlos Alcaide Corvo c468468427 Merge pull request #984 from hashicorp/chore-update-babel-plugin-ember-modules-api-polyfill
chore: 🤖 Update babel-plugin-ember-modules-api-polyfill
2022-02-22 16:52:46 -06:00
Carlos Alcaide Corvo 2b401ebb5e Merge branch 'main' into chore-update-ember-composable-helpers 2022-02-22 16:35:24 -06:00
Carlos Alcaide Corvo 9da46928e6 Merge branch 'main' into chore-update-babel-plugin-ember-modules-api-polyfill 2022-02-22 16:34:44 -06:00
Carlos Alcaide Corvo 9971d6f823 Merge pull request #990 from hashicorp/revert-987-chore-update-ember-cli-htmlbars
Revert "chore: 🤖 Update ember-cli-htmlbars"
2022-02-22 16:34:32 -06:00
Carlos Alcaide Corvo 6bd7023776 Revert "chore: 🤖 Update ember-cli-htmlbars" 2022-02-22 14:21:28 -08:00
Carlos Alcaide Corvo 3749c4c148 Merge branch 'main' into chore-update-babel-plugin-ember-modules-api-polyfill 2022-02-22 16:17:31 -06:00
Carlos Alcaide Corvo 92dd707811 Merge branch 'main' into chore-update-ember-composable-helpers 2022-02-22 16:13:39 -06:00
Carlos Alcaide Corvo 74178b8437 Merge pull request #987 from hashicorp/chore-update-ember-cli-htmlbars
chore: 🤖 Update ember-cli-htmlbars
2022-02-22 16:12:53 -06:00
Dharini Jeeva ca26e39668 Merge branch 'main' into chore-update-ember-test-helpers 2022-02-22 13:44:48 -08:00
Dharini Jeeva 864d6b139b Merge branch 'main' into chore-update-doctoc 2022-02-22 13:44:44 -08:00
Dharini Jeeva 298546829a Merge branch 'main' into chore-update-ember-cli-htmlbars 2022-02-22 13:44:06 -08:00
Dharini Jeeva 22fa670d9b Merge branch 'main' into chore-update-ember-composable-helpers 2022-02-22 13:44:03 -08:00
Dharini Jeeva c48961cc89 Merge branch 'main' into chore-update-ember-named-blocks-polyfill 2022-02-22 13:43:56 -08:00
Carlos Alcaide Corvo 23a353d68a chore: 🤖 Update ember named blocks polyfill 2022-02-22 13:10:07 -08:00
Carlos Alcaide Corvo ca587da91f Merge branch 'main' into chore-update-babel-plugin-ember-modules-api-polyfill 2022-02-22 14:48:03 -06:00
Carlos Alcaide Corvo ebe73db6ae Merge pull request #983 from hashicorp/chore-update-ember-cli-storybook
chore: 🤖 Update ember-cli-storybook dep
2022-02-22 14:47:49 -06:00
Carlos Alcaide Corvo 4fdd4d777d chore: 🤖 Update ember-composable-helpers 2022-02-22 12:09:15 -08:00
Carlos Alcaide Corvo ab9581ea12 chore: 🤖 Update ember-cli-htmlbars 2022-02-22 10:25:55 -08:00
Carlos Alcaide Corvo 48bb575b8f chore: 🤖 Update doctoc 2022-02-22 09:45:14 -08:00
Carlos Alcaide Corvo ea9e286de4 feat: 🎸 Update @ember/test-helpers 2022-02-22 09:31:20 -08:00
Carlos Alcaide Corvo aa62348503 chore: 🤖 Update babel-plugin-ember-modules-api-polyfill 2022-02-22 08:46:29 -08:00
Carlos Alcaide Corvo a5f0674e9d chore: 🤖 Update ember-cli-storybook dev 2022-02-22 08:30:28 -08:00
Dharini Jeeva d0255fe4e1 Merge pull request #982 from hashicorp/bump-binary-version
feat: 🎸 Bump binary version
2022-02-17 11:55:28 -08:00
Carlos Alcaide Corvo d66b40ad9b feat: 🎸 Bump binary version
Bump binary version + update changelog
2022-02-17 11:41:35 -08:00
Susmitha Girumala 9eac6cdc8b Merge pull request #981 from hashicorp/fix-host-address-field-dynamic-if-plugin-type
fix: 🐛 Host address field shows value for type plugin
2022-02-17 12:40:08 -05:00
Carlos Alcaide Corvo f6a29597af fix: 🐛 Host address field shows value for type plugin
Host address field shows Dynamic value on list when it is not type
static
2022-02-17 09:12:34 -08:00
Randall Morey 8496c05488 Merge pull request #980 from hashicorp/chore-radio-card-width
chore: make radio cards a bit narrower
2022-02-17 10:42:55 -05:00
Randall Morey 6ca69fee1b Merge branch 'main' into chore-radio-card-width 2022-02-17 09:22:09 -05:00
Randall Morey 7af9aac902 chore: make radio cards a bit narrower 2022-02-17 09:20:30 -05:00
Carlos Alcaide Corvo eca47f14f9 Merge pull request #978 from hashicorp/fix-hosts-lists-missing-value
Delete unnecessary else clause in host list within targets
2022-02-16 16:28:01 -06:00
Dharini Jeeva ecd573ea37 Merge branch 'main' into fix-hosts-lists-missing-value 2022-02-16 14:14:51 -08:00
Dharini Jeeva ae589f7af1 Merge pull request #974 from hashicorp/chore-add-pref-endpoints
chore: 🤖 add preferred endpoitns
2022-02-16 14:14:33 -08:00
Dharini Jeeva 13c349b996 Merge branch 'main' into chore-add-pref-endpoints 2022-02-16 14:04:07 -08:00
Randall Morey cb22248fc8 Merge pull request #979 from hashicorp/chore-normalize-non-array-filters
chore: support `filters` when it is a string by converting to an array
2022-02-16 17:03:57 -05:00
dharini 731ce40850 undo change 2022-02-16 13:53:58 -08:00
Randall Morey c5601a5c63 chore: support filters when it is a string by converting to an array 2022-02-16 16:48:01 -05:00
dharini f4aa98f362 resolve conflict 2022-02-16 13:47:57 -08:00
dharini 1dcfc67e0a remove attr from input 2022-02-16 13:47:02 -08:00
Dharini Jeeva 8f554706bc Update index.stories.mdx 2022-02-16 13:36:49 -08:00
Dharini Jeeva bf5006c4fe Merge branch 'main' into chore-add-pref-endpoints 2022-02-16 13:36:09 -08:00
dharini af0903b126 Merge branch 'chore-add-pref-endpoints' of github.com:hashicorp/boundary-ui into chore-add-pref-endpoints 2022-02-16 13:35:43 -08:00
dharini 595443bccf fix: 🐛 add placeholder to input 2022-02-16 13:35:20 -08:00
Carlos Alcaide Corvo 8e03ccf337 Merge branch 'main' into fix-hosts-lists-missing-value 2022-02-16 15:32:41 -06:00
Carlos Alcaide Corvo 22e3a3e6db Delete unnecessary else clause in host list within targets 2022-02-16 13:31:38 -08:00
Carlos Alcaide Corvo d31aaa28e7 Merge pull request #975 from hashicorp/fix-hosts-lists-missing-value
fix: 🐛 Fix host list table missing address field
2022-02-16 15:10:28 -06:00
Carlos Alcaide Corvo 63eb2c3589 Merge branch 'main' into fix-hosts-lists-missing-value 2022-02-16 14:37:38 -06:00
Randall Morey c6d9f5a824 Merge branch 'main' into chore-add-host-route 2022-02-16 15:21:29 -05:00
Randall Morey e15198d944 chore: add missing breadcrumb 2022-02-16 15:20:27 -05:00
Dharini Jeeva 5486b80c67 Merge branch 'main' into chore-add-pref-endpoints 2022-02-16 12:18:49 -08:00
Randall Morey 4994b8256b chore: 🤖 add read-only host route for dynamic hosts 2022-02-16 15:05:35 -05:00
Dharini Jeeva 8d0db2b74a Merge pull request #976 from hashicorp/fix-desc
fix helper text for secret acc value
2022-02-16 12:03:16 -08:00
dharini 8e9b783b06 fix helper text for secret acc value 2022-02-16 11:52:39 -08:00
Dharini Jeeva 399c31f34c Merge branch 'main' into chore-add-pref-endpoints 2022-02-16 11:39:13 -08:00
dharini e0b8f7d796 remove unused 2022-02-16 11:38:16 -08:00
dharini 7818575115 fix: 🐛 lint 2022-02-16 11:37:16 -08:00
Carlos Alcaide Corvo e1dab6ac31 fix: 🐛 Fix host list table missing address field
Fix address missing field for static hosts in the host list
2022-02-16 11:33:33 -08:00
dharini ad2e8bdd6c chore: 🤖 add preferred endpoitns 2022-02-16 11:10:40 -08:00
Dharini Jeeva 2feeb28999 Merge pull request #973 from hashicorp/fix-val
fix: 🐛 missed value field
2022-02-16 10:43:33 -08:00
dharini a44c859414 fix: 🐛 missed value field 2022-02-16 10:30:31 -08:00
Dharini Jeeva 5a815ca619 Merge pull request #965 from hashicorp/add-client-secret-id
fix: 🐛 add client secret value field
2022-02-16 09:42:05 -08:00
Dharini Jeeva f768ff20ea Merge branch 'main' into add-client-secret-id 2022-02-16 09:26:39 -08:00
Carlos Alcaide Corvo 1dae46b2e7 Merge pull request #972 from hashicorp/fix-actions-for-host-set
fix: 🐛 Refactor host-set dropdown separator
2022-02-16 11:19:57 -06:00
Carlos Alcaide Corvo 114ea66899 Merge branch 'main' into fix-actions-for-host-set 2022-02-16 10:59:59 -06:00
Dharini Jeeva 0762ff8240 Merge branch 'main' into add-client-secret-id 2022-02-16 08:58:28 -08:00
Dharini Jeeva 8689672e47 Merge pull request #971 from hashicorp/fix-labels
fix: 🐛 multiple labels
2022-02-16 08:56:27 -08:00
dharini 6de0c07549 fix key 2022-02-16 08:51:07 -08:00
Carlos Alcaide Corvo 8c81b3d60d fix: 🐛 Refactor host-set dropdown separator
Refactor host-set actions dropdown separator to not be show when there
is just 1 option.
2022-02-16 08:49:11 -08:00
dharini 88b4a1a243 fix: 🐛 multiple labels 2022-02-16 08:33:47 -08:00
Susmitha Girumala 77c6bead71 Merge pull request #970 from hashicorp/add-link
Add link
2022-02-16 10:34:26 -05:00
dharini 55199277cb resolve conflicts 2022-02-15 19:15:02 -08:00
Dharini Jeeva bdddd84c66 Merge pull request #968 from hashicorp/show-ip-address
chore: 🤖 show ip_address in host aws and azure
2022-02-15 19:06:55 -08:00
dharini 8b338f0288 chore: 🤖 add doc links 2022-02-15 18:56:50 -08:00
dharini 8c2ff4d2e9 chore: 🤖 add doc link 2022-02-15 18:56:50 -08:00
dharini 1f4b577dcb conflict 2022-02-15 18:55:42 -08:00
dharini 9861db3c26 Merge branch 'show-ip-address' of github.com:hashicorp/boundary-ui into show-ip-address 2022-02-15 16:12:19 -08:00
dharini 5f1df8a0a0 chore: 🤖 show latest ip addresses 2022-02-15 16:12:05 -08:00
dharini 92eb0a4be2 Merge branch 'main' into show-ip-address 2022-02-15 15:43:04 -08:00
Carlos Alcaide Corvo 8815dca31a Merge pull request #969 from hashicorp/fix-host-mock-data-attributes
fix: 🐛 Fix host mock data attributes
2022-02-15 17:33:30 -06:00
Randall Morey 790d047692 chore: move form fields 2022-02-15 18:23:25 -05:00
Carlos Alcaide Corvo 46c54fb22d fix: 🐛 Fixt host mock data attributes
Refactor ip_addresses, dns_names and external_id to not be nested under
attributes: {} when generating mock data.
2022-02-15 15:12:20 -08:00
Dharini Jeeva 2bb22a3dd7 Merge branch 'main' into show-ip-address 2022-02-15 14:58:28 -08:00
dharini 220370cc18 update attr name 2022-02-15 14:48:08 -08:00
dharini d0fec6e30e chore: 🤖 resolve conflicts 2022-02-15 14:30:19 -08:00
Randall Morey ea85879cfc Merge pull request #967 from hashicorp/feature-disable-credential-rotation
Expose disable credential rotation field
2022-02-15 17:18:14 -05:00
dharini 6d358a565f chore: 🤖 show ip_addresses in host aws and azure 2022-02-15 14:05:59 -08:00
dharini 6d6e8757e9 updates 2022-02-15 13:17:17 -08:00
Randall Morey 7a4b568ac7 Merge branch 'feature-disable-credential-rotation' of https://github.com/hashicorp/boundary-ui into feature-disable-credential-rotation 2022-02-15 15:58:37 -05:00
Randall Morey fb266d548c fix: 🐛 use @checked 2022-02-15 15:58:31 -05:00
dharini c132f6e73c Merge branch 'add-client-secret-id' of github.com:hashicorp/boundary-ui into add-client-secret-id 2022-02-15 12:55:56 -08:00
dharini 3c9105c071 fix: 🐛 move translations 2022-02-15 12:55:40 -08:00
Dharini Jeeva 38843329a2 Merge branch 'main' into add-client-secret-id 2022-02-15 12:23:51 -08:00
Randall Morey f540f052ba Merge branch 'main' into feature-disable-credential-rotation 2022-02-15 15:23:37 -05:00
dharini 24d1764310 chore: 🤖 refactor translations 2022-02-15 12:23:17 -08:00
Randall Morey e5e231f93a feat: 🎸 add disable_credential_rotation field to forms 2022-02-15 15:08:59 -05:00
Dharini Jeeva 5d2e70ed8d Merge pull request #960 from hashicorp/chore-update-to-plugin
chore: 🤖 updates to labels
2022-02-15 11:50:08 -08:00
Randall Morey 58731f1448 refactor: 💡 simplify new host catalog creation steps 2022-02-15 14:36:54 -05:00
dharini 79f242c4aa refactor translations 2022-02-15 11:32:40 -08:00
dharini 35fd198ceb fix: 🐛 refactor 2022-02-15 11:32:27 -08:00
Dharini Jeeva 9a7a0d5c4e Merge branch 'main' into add-client-secret-id 2022-02-15 09:05:00 -08:00
dharini c9ef425152 Merge branch 'chore-update-to-plugin' of github.com:hashicorp/boundary-ui into chore-update-to-plugin 2022-02-15 08:39:24 -08:00
dharini 960cf319f6 chore: 🤖 use hostcatalogtypebadge component 2022-02-15 08:39:08 -08:00
Randall Morey 9fd8e7ef54 Merge branch 'main' into chore-update-to-plugin 2022-02-15 07:29:04 -05:00
Randall Morey a1494be628 Merge pull request #962 from hashicorp/fix-plugin-type-param
fix: append ?plugin_name to dynamic host catalog create requests
2022-02-15 07:21:58 -05:00
dharini 52dafcb672 fix: 🐛 add client secret value field 2022-02-14 19:21:39 -08:00
dharini fb80069d4e Merge branch 'chore-update-to-plugin' of github.com:hashicorp/boundary-ui into chore-update-to-plugin 2022-02-14 19:02:21 -08:00
dharini 4c7f92f035 resolve conflict 2022-02-14 19:02:00 -08:00
Randall Morey 0dd0fc8592 Merge branch 'main' into fix-plugin-type-param 2022-02-14 19:08:57 -05:00
Dharini Jeeva ffd4352106 Merge pull request #964 from hashicorp/refactor-type-badges
refactor: 💡 consolidate host catalog type badges to component
2022-02-14 16:01:36 -08:00
Randall Morey 939a6fa83d Merge branch 'main' into fix-plugin-type-param 2022-02-14 18:58:45 -05:00
Dharini Jeeva aca197b1bd Merge branch 'main' into chore-update-to-plugin 2022-02-14 15:43:40 -08:00
dharini 9bd581477f Merge branch 'refactor-type-badges' of github.com:hashicorp/boundary-ui into refactor-type-badges 2022-02-14 15:40:41 -08:00
dharini 2a2364b52f Merge branch 'main' into refactor-type-badges 2022-02-14 15:40:24 -08:00
Dharini Jeeva b054d5a6b2 Merge branch 'main' into refactor-type-badges 2022-02-14 15:39:57 -08:00
Dharini Jeeva 7503a7d055 Merge pull request #961 from hashicorp/host-set-filter-ui
updates to host-set plugin filters
2022-02-14 15:38:51 -08:00
dharini bbd25cd42f chore: 🤖 use hostcatalogbadge component 2022-02-14 15:37:12 -08:00
Randall Morey ed248f583f refactor: 💡 consolidate host catalog type badges to component 2022-02-14 18:06:12 -05:00
Randall Morey 2dda76a470 Merge branch 'main' into fix-plugin-type-param 2022-02-14 17:11:20 -05:00
Randall Morey e0989fffe3 test: 💍 add missing adapter test 2022-02-14 17:10:54 -05:00
Dharini Jeeva 50aa6f5c17 Merge branch 'main' into host-set-filter-ui 2022-02-14 14:02:21 -08:00
Carlos Alcaide Corvo 318103b745 Merge pull request #959 from hashicorp/refactor-serializer-cleanup
Refactor nested fields serialisation.
2022-02-14 16:02:04 -06:00
dharini 4438a6719f fix: 🐛 lint 2022-02-14 13:55:34 -08:00
Randall Morey f4c3bc7eba Merge branch 'main' into refactor-serializer-cleanup 2022-02-14 16:44:16 -05:00
Dharini Jeeva a3ba4ddb83 Merge branch 'main' into chore-update-to-plugin 2022-02-14 13:42:32 -08:00
dharini 616c7c73fb fix: 🐛 updates 2022-02-14 13:37:30 -08:00
Dharini Jeeva 38ad758110 Merge pull request #963 from hashicorp/fix-address-attr
fix: 🐛 static host creation address field
2022-02-14 13:34:11 -08:00
dharini b15c8b056f fix: 🐛 error name 2022-02-14 12:55:07 -08:00
dharini 0b44a649b7 typo 2022-02-14 12:45:32 -08:00
Dharini Jeeva 21aef6a722 Update new.js 2022-02-14 12:40:32 -08:00
Dharini Jeeva ea5ab02d70 Update host-set.js 2022-02-14 12:39:48 -08:00
dharini 83cf084ee6 fix: 🐛 fix address 2022-02-14 12:34:05 -08:00
Randall Morey 021097ad44 fix: append ?plugin_name to dynamic host catalog create requests 2022-02-14 14:57:34 -05:00
dharini 4e513cbb9f translations 2022-02-14 11:39:06 -08:00
dharini 18dcd341c7 fix: 🐛 remove duplicate types from host/host-set 2022-02-14 11:21:14 -08:00
dharini 5b245a3ce1 lint 2022-02-14 10:37:58 -08:00
dharini 9ccae001d3 fix: 🐛 lint 2022-02-14 10:20:00 -08:00
dharini e0f81f1e61 Merge branch 'main' into host-set-filter-ui 2022-02-14 09:51:34 -08:00
dharini d5394f3206 Merge branch 'main' into host-set-filter-ui 2022-02-14 09:50:42 -08:00
Dharini Jeeva f2b91e3011 Merge branch 'main' into chore-update-to-plugin 2022-02-14 09:46:41 -08:00
Dharini Jeeva a119c97a3b Merge pull request #948 from hashicorp/feat-typed-host
Feat typed host
2022-02-14 09:46:21 -08:00
dharini 0e4f8718a2 chore: 🤖 updates to labels 2022-02-14 09:15:11 -08:00
Randall Morey 93fd52954f chore: 🤖 explicitly set secrets to null when missing 2022-02-14 11:50:39 -05:00
Randall Morey ac215e200f refactor: 💡 simplify host catalog modeling and normalization 2022-02-14 11:24:58 -05:00
Randall Morey d53cfbcc33 refactor: 💡 simplify nested fields normalization 2022-02-14 11:14:52 -05:00
dharini 361bdf02a4 updates to host-set plugin filters 2022-02-13 22:42:34 -08:00
Dharini Jeeva 13903fe8b9 Merge branch 'main' into feat-typed-host 2022-02-11 15:56:47 -08:00
Carlos Alcaide Corvo edec68e677 Merge pull request #957 from hashicorp/feat-add-host-fields-to-mirage
feat: 🎸 Add host fields to mirage
2022-02-11 15:31:50 -06:00
Carlos Alcaide Corvo fe3310ddd1 Simplify conditional 2022-02-11 13:18:19 -08:00
dharini 2f37581aed Merge branch 'feat-typed-host' of github.com:hashicorp/boundary-ui into feat-typed-host 2022-02-11 12:04:38 -08:00
dharini 9a13cd2279 chore: 🤖 translations 2022-02-11 12:04:25 -08:00
Dharini Jeeva 1cdc4a0092 Merge branch 'main' into feat-add-host-fields-to-mirage 2022-02-11 12:03:01 -08:00
Dharini Jeeva a128882d46 Merge branch 'main' into feat-typed-host 2022-02-11 11:45:43 -08:00
dharini 56bc05eba1 Merge branch 'feat-typed-host' of github.com:hashicorp/boundary-ui into feat-typed-host 2022-02-11 11:45:16 -08:00
dharini 3693829e96 chore: 🤖 translation updat4e 2022-02-11 11:44:55 -08:00
Dharini Jeeva 4c997982be Merge pull request #955 from hashicorp/consolidate-translation
Consolidate plugin provider translations
2022-02-11 11:37:27 -08:00
dharini 31c4dc32d3 Merge branch 'consolidate-translation' into feat-typed-host 2022-02-11 11:34:44 -08:00
Dharini Jeeva 1394e7c15f Merge branch 'main' into consolidate-translation 2022-02-11 11:27:43 -08:00
Dharini Jeeva 4d6456dc4d Merge branch 'main' into feat-typed-host 2022-02-11 11:27:31 -08:00
dharini 3ff51b30f0 fix: 🐛 add a comment 2022-02-11 11:26:22 -08:00
Carlos Alcaide Corvo cdaf6a84e0 Merge branch 'main' into feat-add-host-fields-to-mirage 2022-02-11 12:35:41 -06:00
Carlos Alcaide Corvo 92356c0c6e Merge pull request #956 from hashicorp/fix-mirage-filter-field-for-host-set
fix: 🐛 Fix filter field for host-set in mirage
2022-02-11 12:35:26 -06:00
Carlos Alcaide Corvo da3d94816b Merge branch 'main' into fix-mirage-filter-field-for-host-set 2022-02-11 12:23:37 -06:00
Carlos Alcaide Corvo 0b4b9b405f Merge pull request #953 from hashicorp/fix-broken-host-catalog-serializer
refactor: 💡 Refactor app normalize and host catalog normalize
2022-02-11 12:21:08 -06:00
Carlos Alcaide Corvo 7cde322926 Merge branch 'main' into feat-add-host-fields-to-mirage 2022-02-11 12:17:32 -06:00
Carlos Alcaide Corvo 44f81118ec feat: 🎸 Add host fields to mirage
Add host new fields to mirage.
2022-02-11 10:16:23 -08:00
dharini be747bc8c7 chore: 🤖 translation fix 2022-02-11 09:42:42 -08:00
Carlos Alcaide Corvo 5f44c569d0 Merge branch 'main' into fix-broken-host-catalog-serializer 2022-02-11 11:40:25 -06:00
Dharini Jeeva 21569bcc60 Merge branch 'main' into fix-mirage-filter-field-for-host-set 2022-02-11 09:23:31 -08:00
Dharini Jeeva 2d479239c1 Merge pull request #954 from hashicorp/chore-hide-actions
chore: 🤖 hide actions for plugin typed hosts
2022-02-11 09:22:40 -08:00
Carlos Alcaide Corvo 8546275249 fix: 🐛 Fix filter field for host-set in mirage
Fix the filter field for host-set in mirage. It was returning an error
rather than a string.
2022-02-11 08:51:22 -08:00
dharini 449181390e lint 2022-02-10 18:44:40 -08:00
dharini 591f05d72f consolidate provider translations 2022-02-10 18:34:41 -08:00
dharini 2459f97e4a consolidate provider translations 2022-02-10 18:33:51 -08:00
Dharini Jeeva 0776ec1af9 Update hosts.hbs 2022-02-10 18:24:30 -08:00
dharini b6f8e001f0 chore: 🤖 hide actions for plugin host 2022-02-10 18:22:14 -08:00
dharini 537b43317b Merge branch 'feat-typed-host' of github.com:hashicorp/boundary-ui into feat-typed-host 2022-02-10 18:08:04 -08:00
dharini 445e98d455 updates 2022-02-10 18:07:52 -08:00
dharini 7e731a8008 fix: 🐛 render static 2022-02-10 17:57:19 -08:00
Dharini Jeeva 2c5231d2ab Merge branch 'main' into feat-typed-host 2022-02-10 17:36:34 -08:00
Carlos Alcaide Corvo 7d98438ee9 Merge branch 'main' into fix-broken-host-catalog-serializer 2022-02-10 16:16:59 -06:00
Dharini Jeeva 0416badcfd Merge pull request #952 from hashicorp/feat-typed-host-set-create
Feat: typed host set creation
2022-02-10 13:40:04 -08:00
Dharini Jeeva e62a921cf4 Merge branch 'main' into feat-typed-host-set-create 2022-02-10 13:30:46 -08:00
Dharini Jeeva ec61bf8081 Merge pull request #947 from hashicorp/feat-typed-host-set
Feat: typed host-set form components - edit and view
2022-02-10 13:30:34 -08:00
Dharini Jeeva 200c3d54b1 Merge branch 'main' into feat-typed-host 2022-02-10 12:23:37 -08:00
Carlos Alcaide Corvo e1282bb870 Fix conditional to check for undefined 2022-02-10 11:47:30 -08:00
Carlos Alcaide Corvo b33a4d0b1d refactor: 💡 Refactor app normalize and host catalog normalize
Refactor app normalize to deal with nestedAttributes and nestedSecrets
as expected, before it was not working as expected. Refactor the host
catalog normalize method. Add normalize test on host catalog to validate
changes on normalize methods.
2022-02-10 11:43:30 -08:00
Dharini Jeeva e68d174410 Merge branch 'main' into feat-typed-host-set 2022-02-10 08:45:17 -08:00
Carlos Alcaide Corvo 37849ecf36 Merge pull request #946 from hashicorp/chore-refactor-host-catalog-mirage-data
chore: 🤖 Refactor mirage for GET host-catalog
2022-02-10 09:06:30 -06:00
Carlos Alcaide Corvo 5633502d8e Merge branch 'main' into chore-refactor-host-catalog-mirage-data 2022-02-10 08:53:41 -06:00
Carlos Alcaide Corvo 9ae037debf Merge pull request #941 from hashicorp/feat-add-new-fields-hosts
feat: 🎸 Add new fields to host
2022-02-10 08:53:21 -06:00
Carlos Alcaide Corvo e2ca9f5a7a Merge branch 'main' into feat-add-new-fields-hosts 2022-02-10 08:41:04 -06:00
dharini 0c5f6c1743 Merge branch 'feat-typed-host-set-create' of github.com:hashicorp/boundary-ui into feat-typed-host-set-create 2022-02-09 22:19:38 -08:00
dharini 6193fb8d8d Merge branch 'feat-typed-hs-create' into feat-typed-host-set-create 2022-02-09 22:18:56 -08:00
dharini 8c95e804e6 Merge commit 'a93bf5d4aa831299e50ffc5b52190b9d767cd83c' into feat-typed-hs-create 2022-02-09 22:17:38 -08:00
dharini b5ea82caaa feat: 🎸 host-set: updates to fields 2022-02-09 22:15:49 -08:00
dharini b00055a38f split host-set into static, aws and azure 2022-02-09 22:15:04 -08:00
dharini 1be4dba3db Merge branch 'feat-typed-host-set' of github.com:hashicorp/boundary-ui into feat-typed-host-set 2022-02-09 18:52:40 -08:00
dharini 64ad424a3a Merge branch 'feat-typed-host-set-create' of github.com:hashicorp/boundary-ui into feat-typed-host-set-create 2022-02-09 18:50:52 -08:00
dharini a93bf5d4aa feat: 🎸 allow host set typed creation 2022-02-09 18:50:31 -08:00
dharini 3437d4e665 fix: 🐛 translations 2022-02-09 18:50:31 -08:00
dharini cdf83c7de6 chore: 🤖 placeholder for filters 2022-02-09 18:50:31 -08:00
dharini 5e837fd2d5 fix: 🐛 remove links for now 2022-02-09 18:50:31 -08:00
dharini 98e9d8ef24 feat: 🎸 host-set: updates to fields 2022-02-09 18:50:31 -08:00
dharini 8ad078622f split host-set into static, aws and azure 2022-02-09 18:50:31 -08:00
dharini eb7dc62e9b fix: 🐛 translations 2022-02-09 18:50:09 -08:00
dharini d205f0f345 chore: 🤖 placeholder for filters 2022-02-09 18:50:09 -08:00
dharini 791a6e9d55 fix: 🐛 remove links for now 2022-02-09 18:50:09 -08:00
dharini 460c77994f feat: 🎸 host-set: updates to fields 2022-02-09 18:50:09 -08:00
dharini 4c32cee466 split host-set into static, aws and azure 2022-02-09 18:50:09 -08:00
dharini 43ebe5bf25 Merge branch 'feat-typed-host-set' of github.com:hashicorp/boundary-ui into feat-typed-host-set 2022-02-09 18:48:24 -08:00
dharini f4c62e59a9 Merge branch 'main' into feat-typed-host-set 2022-02-09 18:48:03 -08:00
dharini 42e754ab26 feat: 🎸 allow host set typed creation 2022-02-09 18:44:43 -08:00
dharini fb05d3ebd8 Merge branch 'main' into feat-typed-host-set-create 2022-02-09 17:02:45 -08:00
dharini b69dda5b82 Merge branch 'feat-typed-host' of github.com:hashicorp/boundary-ui into feat-typed-host 2022-02-09 16:55:39 -08:00
dharini 9623806206 fix translations, split into three components 2022-02-09 16:55:27 -08:00
dharini b647ff5d49 Merge branch 'main' into feat-typed-host 2022-02-09 15:02:54 -08:00
Dharini Jeeva 0ffb39ed9f Merge branch 'main' into feat-typed-host-set 2022-02-09 14:53:03 -08:00
dharini f7b3ea3547 fix: 🐛 translations 2022-02-09 14:52:22 -08:00
Randall Morey 965c28a008 Merge pull request #950 from hashicorp/chore-reuse-new-hc-fields
chore: 🤖 reuse name/description when changing instance type
2022-02-09 17:39:03 -05:00
dharini 1188c7567c chore: 🤖 placeholder for filters 2022-02-09 14:03:54 -08:00
Randall Morey 74d1b352b1 chore: 🤖 reuse name/description when changing instance type 2022-02-09 13:51:38 -05:00
Dharini Jeeva a6e34cce5c Merge branch 'main' into feat-typed-host 2022-02-09 10:07:09 -08:00
dharini 0d8752fbea fix: 🐛 show latest address in azure and aws 2022-02-09 09:59:44 -08:00
Carlos Alcaide Corvo 46246441aa Refactor some readOnly attributes to have no type. Stop nesting plugin type fields. Refactor serializer/normalizer tests 2022-02-09 08:55:10 -08:00
Carlos Alcaide Corvo 75f75878a1 Add real payload and real expectations on host normalisation unit test 2022-02-09 08:55:10 -08:00
Carlos Alcaide Corvo 12277c5557 Move new fields attributes from host generated model to plain host model. Add normalization tests 2022-02-09 08:55:10 -08:00
Carlos Alcaide Corvo f8c4eb470f feat: 🎸 Add new fields to host
Add new fields to host and refactor field address to use no more
fragment-host-attribute-model
2022-02-09 08:55:10 -08:00
Randall Morey f0065ddc13 refactor: 💡 pull breadcrumbs fully local and remove dep 2022-02-09 11:06:26 -05:00
dharini 203a4b3a55 feat: 🎸 host typed forms 2022-02-08 19:37:21 -08:00
dharini ab84787961 Merge branch 'feat-typed-host-set' of github.com:hashicorp/boundary-ui into feat-typed-host-set 2022-02-08 17:28:26 -08:00
dharini 52d6d1c4bf fix: 🐛 remove links for now 2022-02-08 17:26:43 -08:00
Dharini Jeeva 5584577673 Merge branch 'main' into feat-typed-host-set 2022-02-08 17:01:20 -08:00
dharini 6e36c85299 Merge branch 'main' into feat-typed-host-set 2022-02-08 16:59:51 -08:00
Carlos Alcaide Corvo ee06a9c825 chore: 🤖 Refactor mirage for GET host-catalog
Refactor mirage data for GET host-catalog method.
2022-02-08 16:08:20 -08:00
Dharini Jeeva 6f8d424bed Merge pull request #942 from hashicorp/add-aws-azure-attrs
chore: host catalog form- add rest of the AWS and Azure fields
2022-02-08 16:05:44 -08:00
dharini dad3918d44 feat: 🎸 host-set: updates to fields 2022-02-08 14:51:59 -08:00
Randall Morey 932e2e7b50 docs: fix nav link titles 2022-02-08 16:56:21 -05:00
Randall Morey df071e0815 refactor: 💡 resolve legacy-attribute-arguments deprecations 2022-02-08 16:47:49 -05:00
Dharini Jeeva 168e6e8700 Merge branch 'main' into add-aws-azure-attrs 2022-02-08 13:01:30 -08:00
Randall Morey 44b5d7427a refactor: 💡 upgrade ember-radio-button to fix deprecations 2022-02-08 15:50:29 -05:00
dharini ad6baf2b3b Merge branch 'main' into feat-typed-host-set 2022-02-08 12:30:33 -08:00
dharini d108baccfc split host-set into static, aws and azure 2022-02-08 12:30:14 -08:00
Dharini Jeeva 6634d868c9 Merge pull request #940 from hashicorp/feat-typed-hc
Feat: typed host catalog form components for admin UI
2022-02-08 12:24:37 -08:00
Randall Morey a585fc7a9a chore: 🤖 satisfy argument-less-helper-paren-less-invocation 2022-02-08 14:56:54 -05:00
dharini 6872bc264a Merge branch 'add-aws-azure-attrs' into feat-typed-host 2022-02-08 11:03:20 -08:00
dharini f2ea864c0d Merge branch 'feat-typed-hc' of github.com:hashicorp/boundary-ui into feat-typed-hc 2022-02-08 10:31:15 -08:00
dharini 353a7f94ad test: 💍 update tests 2022-02-08 10:30:11 -08:00
Randall Morey 92d7380f83 chore: 🤖 clean up unused new instances 2022-02-08 13:11:08 -05:00
dharini 1b70f9acfb fix: 🐛 field names 2022-02-07 23:37:40 -08:00
dharini 2bcfb55db9 chore: 🤖 translations 2022-02-07 23:10:36 -08:00
dharini 9987888edd Merge branch 'feat-typed-hc' into add-aws-azure-attrs 2022-02-07 22:32:45 -08:00
dharini 4559c1b650 fix: 🐛 label and padding 2022-02-07 22:31:58 -08:00
dharini d0f8da1f81 add rest of the AWS and azure fields 2022-02-07 21:27:38 -08:00
dharini 00aa86cfb7 fix: 🐛 translation order 2022-02-07 20:59:27 -08:00
dharini aee519aa75 lint fic 2022-02-07 14:21:52 -08:00
dharini 14838fc87f translation label fix 2022-02-07 14:10:12 -08:00
dharini ab95378f6e fix: 🐛 radioGroup names 2022-02-07 14:04:03 -08:00
dharini 2f89d928b1 fix: 🐛 move out route-action from the components 2022-02-07 12:48:32 -08:00
dharini bf35789bd3 Merge branch 'main' into feat-typed-hc 2022-02-07 11:14:23 -08:00
dharini feb9c7aee1 Merge branch 'feat-typed-hc' of github.com:hashicorp/boundary-ui into feat-typed-hc 2022-02-07 10:32:28 -08:00
dharini a1ac704649 chore: 🤖 update names 2022-02-07 10:32:13 -08:00
Carlos Alcaide Corvo b5b527e01a Merge pull request #938 from hashicorp/feat-add-new-fields-host-set
feat: 🎸 Add new fields to host-set model
2022-02-07 10:12:19 -06:00
Carlos Alcaide Corvo e52093c6ed PR suggestions applied 2022-02-04 09:26:26 -08:00
Carlos Alcaide Corvo 4f14891c84 Add new fields to mirage 2022-02-03 14:31:21 -08:00
Dharini Jeeva d62a8afd3b Update create-test.js 2022-02-03 13:48:29 -08:00
dharini 4c1e090619 Merge branch 'feat-typed-hc' of github.com:hashicorp/boundary-ui into feat-typed-hc 2022-02-03 13:47:00 -08:00
dharini 7dd96334c3 Merge branch 'feat-host-catalog-integration' into feat-typed-hc 2022-02-03 13:45:12 -08:00
dharini cbda678a65 Merge branch 'main' into feat-host-catalog-integration 2022-02-03 13:44:43 -08:00
Dharini Jeeva c1eaed32bd Merge branch 'main' into feat-typed-hc 2022-02-03 13:41:16 -08:00
Carlos Alcaide Corvo 5e12566a65 Refactor tests 2022-02-03 11:27:08 -08:00
Carlos Alcaide Corvo 5e918cdddc Add all the new fields. Refactor serializer to fit new changes. Work in progress with normalize 2022-02-03 11:27:08 -08:00
Carlos Alcaide Corvo f64f6bfd05 feat: 🎸 Add new fields to host-set model
Add new fields to host-set model
2022-02-03 11:27:08 -08:00
dharini 8f11f2536b chore: 🤖 remove helper text, fix test 2022-02-03 10:38:10 -08:00
Randall Morey de58328125 Merge pull request #939 from hashicorp/chore-disable-non-static-host-navigation
Disable non-static hosts navigation
2022-02-03 10:27:39 -05:00
Randall Morey b4693b821e Merge branch 'main' into chore-disable-non-static-host-navigation 2022-02-03 08:42:03 -05:00
dharini 323945d760 names 2022-02-02 18:14:02 -08:00
dharini 2aa1142034 Merge branch 'feat-typed-hc' of github.com:hashicorp/boundary-ui into feat-typed-hc 2022-02-02 18:13:42 -08:00
dharini b3bde173ba add missing translations 2022-02-02 18:11:01 -08:00
Dharini Jeeva 3fbb9e8847 Merge branch 'main' into feat-typed-hc 2022-02-02 17:44:22 -08:00
dharini aa51b62134 fix: 🐛 host catalog creation tests 2022-02-02 17:39:22 -08:00
dharini aed6efe565 add translations 2022-02-02 14:39:08 -08:00
Randall Morey dd1d211d41 chore: 🤖 disallow catalog -> host list for dynamic catalogs 2022-02-02 17:38:57 -05:00
Randall Morey a7bf8008a7 chore: 🤖 more realistic mock grants for dynamic host catalogs 2022-02-02 17:04:09 -05:00
dharini bd5a7c0aa9 pull from int branch 2022-02-02 12:09:13 -08:00
dharini 096b7ea142 remove unused file, lint 2022-02-02 11:05:48 -08:00
Susmitha Girumala f7a2dd14e3 chore: Integrate compositetypes into route 2022-02-01 22:35:00 -05:00
Susmitha Girumala 137f4ee3c8 Merge remote-tracking branch 'origin/feat-typed-hc' into feat-host-catalog-integration 2022-02-01 21:17:28 -05:00
dharini 55acdc76b6 move up component logic 2022-02-01 11:12:33 -08:00
Carlos Alcaide Corvo 29ddca21b8 Merge pull request #936 from hashicorp/chore-add-shelljs-to-resolutions
chore: 🤖 Add shelljs to resolutions
2022-01-31 15:23:37 -06:00
dharini fdef23de89 rebase main 2022-01-31 13:16:03 -08:00
Carlos Alcaide Corvo 1c9e77938e Merge branch 'main' into chore-add-shelljs-to-resolutions 2022-01-31 15:09:31 -06:00
Carlos Alcaide Corvo 8894617709 Merge pull request #935 from hashicorp/chore-add-node-fetch-desktop-resolutions
chore: 🤖 Add node-fetch desktop resolutions
2022-01-31 15:04:05 -06:00
Carlos Alcaide Corvo 645af9502d Merge branch 'main' into chore-add-node-fetch-desktop-resolutions 2022-01-31 14:44:40 -06:00
Carlos Alcaide Corvo cc1dcc5b5b Merge pull request #934 from hashicorp/chore-add-node-fetch-to-resolutions
chore: 🤖 Add node-fetch to resolutions for security vul
2022-01-31 14:44:30 -06:00
Carlos Alcaide Corvo 20b76f5afe Merge branch 'main' into chore-add-node-fetch-to-resolutions 2022-01-31 14:28:08 -06:00
Carlos Alcaide Corvo 70949a4cd9 Merge pull request #933 from hashicorp/fix-babel-plugin-ember-unmet-peer-dep
fix: 🐛 Fix babel plugin unmet peer dependency in Rose
2022-01-31 14:27:54 -06:00
Carlos Alcaide Corvo 99ba4f59c0 Merge branch 'main' into fix-babel-plugin-ember-unmet-peer-dep 2022-01-31 14:13:08 -06:00
Carlos Alcaide Corvo d5911ec942 Merge pull request #932 from hashicorp/chore-add-translations-to-badges-type
chore: 🤖 Add translations to host set and host type
2022-01-31 14:12:56 -06:00
dharini 73566b0583 show provider info when dynamic is selected 2022-01-31 12:01:52 -08:00
dharini 1e80414b32 unknown type 2022-01-31 12:01:23 -08:00
dharini 043b760cd6 more updates 2022-01-31 11:59:32 -08:00
dharini ce633ec0c0 typed host catalog init 2022-01-31 11:56:00 -08:00
dharini 19f48b2ca3 show provider info when dynamic is selected 2022-01-31 11:41:35 -08:00
dharini 36eab2e0f1 unknown type 2022-01-31 11:41:15 -08:00
dharini 0577cdec76 more updates 2022-01-31 11:40:56 -08:00
Susmitha Girumala 67c4440a90 fix: Reflect catalog type in creation url 2022-01-31 11:39:54 -08:00
Susmitha Girumala b2b2f63bf3 feat: Add missing queryParam to hostcatalog create controller 2022-01-31 11:39:28 -08:00
Susmitha Girumala 2de2a79e7c fix: Protect catalog type selectors in edit mode 2022-01-31 11:39:26 -08:00
Susmitha Girumala 46b6c51f5d feat: Question on default host catalog type value 2022-01-31 11:38:58 -08:00
Susmitha Girumala cc56fb9636 feat: Trigger update to host catalog type 2022-01-31 11:38:58 -08:00
Susmitha Girumala c1d71e5166 feat: Add type param support to creation form of host catalog 2022-01-31 11:38:55 -08:00
dharini d595b6c899 further updates 2022-01-31 11:38:07 -08:00
dharini e0f569229b static form with radioCards 2022-01-31 11:38:05 -08:00
dharini f13a3ee18c split host catalog into other types 2022-01-31 11:37:38 -08:00
dharini feec5d96f3 typed host catalog init 2022-01-31 11:37:38 -08:00
dharini 99cb449ff7 Merge branch 'main' into feat-host-catalog-integration 2022-01-31 11:27:50 -08:00
Carlos Alcaide Corvo 896b45910e Merge branch 'main' into chore-add-translations-to-badges-type 2022-01-31 13:19:14 -06:00
Randall Morey a8202081e9 Merge pull request #937 from hashicorp/refactor-abilities
Unify model and collection abilities
2022-01-31 14:14:54 -05:00
Randall Morey 2bb63c3775 refactor: 💡 merge model and collection abilities 2022-01-31 12:02:37 -05:00
Randall Morey 9e74c137b7 refactor: 💡 remove capabilities feature flag 2022-01-31 10:40:16 -05:00
Carlos Alcaide Corvo 40ee7c56d4 chore: 🤖 Add shelljs to resolutions
Add shelljs to resolutions to avoid security vulnerability
2022-01-28 16:11:01 -08:00
Carlos Alcaide Corvo e0653c559b chore: 🤖 Add node-fetch desktop resolutions
Add node-fetch desktop resolutions to avoid security vulnerability.
2022-01-28 15:46:19 -08:00
Carlos Alcaide Corvo ed5ac46329 chore: 🤖 Add node-fetch to resolutions for security vul
Add node-fetch to resolutions to avoid security vulnerability
2022-01-28 15:27:51 -08:00
Carlos Alcaide Corvo 2bf38b1257 fix: 🐛 Fix babel plugin unmet peer dependency in Rose
Fix babel plugin unmet peer dependency in Rose
2022-01-28 15:16:02 -08:00
Carlos Alcaide Corvo b96e998fc9 chore: 🤖 Add translations to host set and host type 2022-01-28 14:47:42 -08:00
Carlos Alcaide Corvo 78bff7f0d8 Merge pull request #931 from hashicorp/feat-add-type-badges-host
feat: 🎸 Add type badges to host
2022-01-28 16:47:03 -06:00
Carlos Alcaide Corvo ff9a7b3969 Merge branch 'main' into feat-add-type-badges-host 2022-01-28 15:40:14 -06:00
Carlos Alcaide Corvo a43065ec1c Merge pull request #928 from hashicorp/feature-add-host-type-basic-support
feat: 🎸 Add host type basic support
2022-01-28 15:25:20 -06:00
Dharini Jeeva c5ced9f36f Merge branch 'main' into feature-add-host-type-basic-support 2022-01-28 08:47:53 -08:00
Randall Morey cd71c53ff2 Merge pull request #929 from hashicorp/chore-unknown-type
Add support for "unknown" dynamic host catalogs
2022-01-28 11:46:34 -05:00
Carlos Alcaide Corvo 8c47612977 feat: 🎸 Add type badges to host
Add type badges to host
2022-01-27 12:35:04 -08:00
Carlos Alcaide Corvo e150b15f00 Add default value for type in mirage 2022-01-27 11:36:29 -08:00
Carlos Alcaide Corvo 10806da5c2 Merge branch 'main' into chore-unknown-type 2022-01-27 12:59:00 -06:00
dharini cbf5cc44f6 Merge remote-tracking branch 'origin/create-host-catalog-supports-static-catalog' into feat-host-catalog-integration 2022-01-27 10:37:31 -08:00
Carlos Alcaide Corvo da1056d222 Refactor host model comments 2022-01-27 10:17:34 -08:00
Carlos Alcaide Corvo 6ad42a5eaa Move plugin field generation from generated to a factory 2022-01-27 10:17:34 -08:00
Carlos Alcaide Corvo bb9d99eefb Add mirage support 2022-01-27 10:17:34 -08:00
Carlos Alcaide Corvo 929b020cf7 feat: 🎸 Add host type basic support 2022-01-27 10:17:34 -08:00
Carlos Alcaide Corvo d269d27e2c Merge pull request #927 from hashicorp/feature-add-type-badges-host-set
feat: 🎸 Add type badges for host-set
2022-01-27 12:04:06 -06:00
Carlos Alcaide Corvo 056bd8666c Merge branch 'main' into feature-add-type-badges-host-set 2022-01-27 11:49:33 -06:00
Carlos Alcaide Corvo 5e25ee1368 Merge pull request #925 from hashicorp/feature-add-host-set-type-basic-support
feat: 🎸 Add basic type support for host-set
2022-01-27 11:31:32 -06:00
Carlos Alcaide Corvo b3675ec0f0 Merge branch 'main' into feature-add-host-set-type-basic-support 2022-01-27 11:20:41 -06:00
Dharini Jeeva f74e2a6e2c Merge pull request #924 from hashicorp/add-radioCard-support
feat:  add radiocard support to group
2022-01-27 08:58:14 -08:00
Randall Morey a011278c41 chore: 🤖 tweak storybook names and fix word breaking 2022-01-27 10:03:17 -05:00
Dharini Jeeva f9e3656ce9 Update _radio-card.scss 2022-01-26 16:19:51 -08:00
Dharini Jeeva bfd0b32cb3 Update _radio-card.scss 2022-01-26 16:19:21 -08:00
Dharini Jeeva f454ef988f Update _radio-card.scss 2022-01-26 15:51:05 -08:00
dharini 27582e7c19 needs more bottom margin when used in CRUD forms 2022-01-26 15:28:16 -08:00
Carlos Alcaide Corvo e7cf4c99a5 Refactor type in host-set factory 2022-01-26 14:41:39 -08:00
dharini bb0eacb108 border-color change 2022-01-26 13:55:19 -08:00
Carlos Alcaide Corvo 92b4dccf78 Default state for type, then if there is host-catalog as parent, inherit its type 2022-01-26 13:42:58 -08:00
dharini 87bb8e3e39 add margin bottom 2022-01-26 13:38:31 -08:00
dharini f28f113509 fix: 🐛 adjust margin 2022-01-26 13:27:47 -08:00
Carlos Alcaide Corvo f0b2152130 Inherit type from host-catalog 2022-01-26 12:34:31 -08:00
Carlos Alcaide Corvo cbc732e9dd Move mirage plugin field to a factory. Now plugin inherits from host-catalog 2022-01-26 12:30:21 -08:00
dharini 36375ae0be fix: 🐛 remove wrapper and make card always inline 2022-01-26 11:43:30 -08:00
Randall Morey 6f0d5fd338 chore: 🤖 disallow read on unknown catalogs 2022-01-26 13:27:25 -05:00
Carlos Alcaide Corvo 676c3e0ad0 Type gets inherit from host-catalog 2022-01-26 10:11:25 -08:00
Randall Morey 6e77ea655f chore: 🤖 add support for "unknown" dynamic host catalogs 2022-01-26 13:03:21 -05:00
dharini 005690f838 Merge branch 'add-radioCard-support' of github.com:hashicorp/boundary-ui into add-radioCard-support 2022-01-26 09:36:57 -08:00
Dharini Jeeva f1b053871d Merge branch 'main' into add-radioCard-support 2022-01-26 09:36:46 -08:00
dharini 8de98a55f8 Merge branch 'main' into add-radioCard-support 2022-01-26 09:36:33 -08:00
Carlos Alcaide Corvo 3c794dfa4b feat: 🎸 Add type badges for host-set
Add type badges for host-set
2022-01-26 08:26:32 -08:00
Carlos Alcaide Corvo 995c79804a Add random type values in mirage 2022-01-26 08:02:54 -08:00
Carlos Alcaide Corvo 26887b3cfe feat: 🎸 Add basic type support for host-set
Add basic type support for host-set
2022-01-26 08:02:54 -08:00
Susmitha Girumala 07b2c646b1 feat: Question on default host catalog type value 2022-01-26 10:56:38 -05:00
Susmitha Girumala 9255d6dd98 feat: Trigger update to host catalog type 2022-01-26 10:49:48 -05:00
Susmitha Girumala 6a8bbcad9d feat: Add type param support to creation form of host catalog 2022-01-26 10:49:48 -05:00
Susmitha Girumala a380bccbf1 Merge pull request #907 from hashicorp/feat-create-radio-card-component
Feat: create radio card component
2022-01-26 10:27:57 -05:00
dharini de4955eb60 fix: 🐛 add radiocard support to group 2022-01-25 16:12:03 -08:00
Carlos Alcaide Corvo 7b3c39d275 Merge branch 'main' into feat-create-radio-card-component 2022-01-25 17:25:41 -06:00
Randall Morey 9add540104 Merge pull request #918 from hashicorp/refactor-credentials-render-template
Remove renderTemplate usage from credential stores & libraries resources
2022-01-25 18:19:11 -05:00
Dharini Jeeva eafb21ddb9 Merge branch 'main' into refactor-credentials-render-template 2022-01-25 13:48:21 -08:00
Dharini Jeeva 45dc7c0b52 Merge branch 'main' into feat-create-radio-card-component 2022-01-25 13:47:37 -08:00
dharini 02c3fadfdd Merge branch 'feat-create-radio-card-component' of github.com:hashicorp/boundary-ui into feat-create-radio-card-component 2022-01-25 13:47:21 -08:00
dharini d1b8318dbe fix: 🐛 border-radius, error state, vertically align radiobtn 2022-01-25 13:47:12 -08:00
Carlos Alcaide Corvo 04c8d7d10d Merge pull request #919 from hashicorp/chore-add-follow-redirects-resolutions
chore: 🤖 Add follow-redirects to resolutions
2022-01-25 15:44:09 -06:00
Carlos Alcaide Corvo a7ef430ccd Merge branch 'main' into chore-add-follow-redirects-resolutions 2022-01-25 15:09:14 -06:00
Randall Morey b178e6cec8 Merge branch 'main' into refactor-credentials-render-template 2022-01-25 15:47:26 -05:00
Randall Morey 8e8292ecfb Merge pull request #917 from hashicorp/refactor-groups-render-template
Remove renderTemplate usage from groups resource
2022-01-25 15:47:16 -05:00
Randall Morey 285e1b0fe4 Merge branch 'main' into refactor-groups-render-template 2022-01-25 15:25:14 -05:00
Randall Morey 798f9a7430 Merge pull request #916 from hashicorp/refactor-roles-render-template
Remove renderTemplate usage from roles resource
2022-01-25 15:25:03 -05:00
Randall Morey 274fd96541 Merge branch 'main' into chore-add-follow-redirects-resolutions 2022-01-25 14:32:56 -05:00
Randall Morey e665d61071 Merge branch 'main' into feat-create-radio-card-component 2022-01-25 14:29:48 -05:00
Randall Morey 75fcdc1f93 Merge branch 'main' into refactor-credentials-render-template 2022-01-25 14:27:39 -05:00
Randall Morey 14dc77b546 Merge branch 'main' into refactor-groups-render-template 2022-01-25 14:27:29 -05:00
Randall Morey 10503450e2 Merge branch 'main' into refactor-roles-render-template 2022-01-25 14:27:15 -05:00
Carlos Alcaide Corvo b5ce0843ec Merge pull request #922 from hashicorp/revert-915-chore-update-ember-cli-htmlbars
Revert "chore: 🤖 Update ember cli htmlbars"
2022-01-25 13:22:31 -06:00
Carlos Alcaide Corvo 979acfdcda Revert "chore: 🤖 Update ember cli htmlbars" 2022-01-25 10:57:46 -08:00
Dharini Jeeva 0255e651d3 Merge branch 'main' into feat-create-radio-card-component 2022-01-25 10:14:24 -08:00
dharini a04b9d90dd fix: 🐛 refactor 2022-01-25 10:13:34 -08:00
Dharini Jeeva 3b3e2c21e2 Merge branch 'main' into refactor-credentials-render-template 2022-01-25 09:27:15 -08:00
Dharini Jeeva 54e31c10a3 Merge branch 'main' into refactor-groups-render-template 2022-01-25 09:25:19 -08:00
Dharini Jeeva 54205e010e Merge branch 'main' into refactor-roles-render-template 2022-01-25 09:24:47 -08:00
Carlos Alcaide Corvo 7a3fe9d74f Merge branch 'main' into chore-add-follow-redirects-resolutions 2022-01-25 10:43:25 -06:00
Carlos Alcaide Corvo d68a465d8f Merge pull request #915 from hashicorp/chore-update-ember-cli-htmlbars
chore: 🤖 Update ember cli htmlbars
2022-01-25 10:28:05 -06:00
Carlos Alcaide Corvo a0a8aae139 chore: 🤖 Add follow-redirects to resoltuions
Add follow-redirect to resolutions to avoid security vulnerability
2022-01-25 08:22:26 -08:00
Randall Morey ef018aac59 refactor: 💡 remove renderTemplate usage from creds resources 2022-01-25 10:18:10 -05:00
Randall Morey 2febf3ac3c refactor: 💡 remove renderTemplate usage from groups resource 2022-01-25 09:40:30 -05:00
Randall Morey 41b3a99617 refactor: 💡 remove renderTemplate usage from roles resource 2022-01-25 09:13:09 -05:00
dharini c8ae0de083 Merge branch 'feat-create-radio-card-component' of github.com:hashicorp/boundary-ui into feat-create-radio-card-component 2022-01-24 16:55:19 -08:00
dharini 7b2acf162d fix: 🐛 updates 2022-01-24 16:54:45 -08:00
Dharini Jeeva 5544f87cc2 Update _radio-card.scss 2022-01-24 16:01:48 -08:00
dharini 9806415030 Merge branch 'feat-create-radio-card-component' of github.com:hashicorp/boundary-ui into feat-create-radio-card-component 2022-01-24 15:44:03 -08:00
dharini ff514b076b fix: 🐛 sizing var consistency 2022-01-24 15:43:44 -08:00
Carlos Alcaide Corvo b5e5b9164f Merge branch 'main' into chore-update-ember-cli-htmlbars 2022-01-24 17:07:14 -06:00
Carlos Alcaide Corvo 01ac40228d Merge branch 'main' into feat-create-radio-card-component 2022-01-24 15:38:30 -06:00
Carlos Alcaide Corvo bc9526f008 Merge pull request #913 from hashicorp/feature-add-new-fields-host-catalog
feat: 🎸 Add fields to host-catalog model
2022-01-24 15:36:35 -06:00
Carlos Alcaide Corvo ffb00c708f Refactor mirage factory. Rephrase test description. Refactor some tests to not test secret fields 2022-01-24 10:01:17 -08:00
dharini bd7834ca81 fix: 🐛 name 2022-01-23 22:28:20 -08:00
dharini e374213553 refactor: 💡 refactor component layouts 2022-01-23 21:13:00 -08:00
Carlos Alcaide Corvo 12bb8203c2 Change mirage attributes to factory 2022-01-21 14:45:21 -08:00
Carlos Alcaide Corvo af291d279d chore: 🤖 Update ember cli htmlbars
Update ember-cli-htmlbars
2022-01-21 13:41:32 -08:00
Carlos Alcaide Corvo 614be72a6e Add isNestedSecret option to model, add secrets field to model, add isNestedSecert serialization. Change tests to the last changes 2022-01-21 12:55:04 -08:00
Randall Morey 712607cb0c fix: variable name 2022-01-21 15:26:27 -05:00
Randall Morey 44ea5e329b chore: always delete nested secrets from main payload 2022-01-21 15:24:38 -05:00
Randall Morey cd02f6aec3 chore: add isNestedSecret support 2022-01-21 15:22:59 -05:00
Carlos Alcaide Corvo 6eccb0ea6c Simplified tests code 2022-01-21 10:05:04 -08:00
Carlos Alcaide Corvo cc07df5806 Delete old comment 2022-01-21 09:57:58 -08:00
Carlos Alcaide Corvo 72dcd0d3ae Fix unit test for azure host-catalog plugin 2022-01-21 09:57:36 -08:00
Carlos Alcaide Corvo bab8c8ea44 Add update tests for serializer 2022-01-21 09:49:48 -08:00
Randall Morey d8aaddfcca chore: convert writeOnce to writeOnly 2022-01-21 12:43:45 -05:00
dharini dd8cb5a77e fix: 🐛 add helpertext in storybook component 2022-01-20 16:29:17 -08:00
dharini 2cc0e735fb Merge branch 'feat-create-radio-card-component' of github.com:hashicorp/boundary-ui into feat-create-radio-card-component 2022-01-20 16:08:05 -08:00
dharini b85a4dd719 fix: 🐛 lint 2022-01-20 16:07:48 -08:00
Dharini Jeeva afdec9a6ed Merge branch 'main' into feat-create-radio-card-component 2022-01-20 15:58:35 -08:00
dharini 823066e6b4 refactor: 💡 use standard color, helpers for size, space 2022-01-20 15:38:53 -08:00
Randall Morey cd60c0bbc3 chore: add writeOnce field support 2022-01-20 17:20:24 -05:00
Randall Morey 1889dd0090 chore: tweak dynamic fields serialization 2022-01-20 16:47:46 -05:00
Carlos Alcaide Corvo 10c364264c Merge branch 'main' into feature-add-new-fields-host-catalog 2022-01-20 15:06:38 -06:00
Carlos Alcaide Corvo 9558f2e480 Modify serializer test to not test field exclusion. Add to mirage more host-catalogs. Add to mirage new fields per host-catalog 2022-01-20 12:55:31 -08:00
Randall Morey f6e5f5d9e7 Merge pull request #912 from hashicorp/chore-update-ember-cli
chore: 🤖 Update ember-cli to 4.1
2022-01-20 14:21:09 -05:00
Randall Morey c0ba8bfae3 chore: manual merge from main 2022-01-20 14:05:37 -05:00
Randall Morey 6b0a1d6e2f Merge pull request #911 from hashicorp/fix-jest-unmet-peer-dependency
fix: 🐛 Fix jest unmet peer dependency
2022-01-20 13:38:58 -05:00
Randall Morey f2934472c8 Merge branch 'main' into fix-jest-unmet-peer-dependency 2022-01-20 11:45:27 -05:00
Carlos Alcaide Corvo cd96313857 feat: 🎸 Add fields to host-catalog model
Add new fields to host-catalog model for plugin type host-catalog.
Fields are corresponding to Azure and Aws plugins.
2022-01-20 08:35:41 -08:00
Randall Morey fdc69b8a25 Merge pull request #905 from hashicorp/refactor-render-template-auth-methods
Refactor auth methods usage of renderTemplate
2022-01-20 10:52:05 -05:00
Randall Morey 2595ea7f2e Merge branch 'main' into refactor-render-template-auth-methods 2022-01-20 10:37:55 -05:00
Randall Morey 2973d7ee11 Merge pull request #904 from hashicorp/refactor-render-template-users
Refactor user usage of renderTemplate
2022-01-20 10:37:43 -05:00
Susmitha Girumala b6386ddbee Merge branch 'main' into refactor-render-template-users 2022-01-20 09:33:38 -05:00
Susmitha Girumala 21820dda9b Merge pull request #901 from hashicorp/feat-radio-helper-text
Feat: Add support for helper text to radios
2022-01-20 09:33:15 -05:00
dharini 521250b6cb fix: 🐛 color label 2022-01-19 16:13:30 -08:00
Dharini Jeeva 0177c8bc0a Merge branch 'main' into feat-create-radio-card-component 2022-01-19 15:33:02 -08:00
dharini 2738dcfef3 fix: 🐛 lint 2022-01-19 14:17:23 -08:00
Carlos Alcaide Corvo 2db364feb7 Merge branch 'main' into chore-update-ember-cli 2022-01-19 16:01:56 -06:00
Carlos Alcaide Corvo efb5c9111b Merge branch 'main' into fix-jest-unmet-peer-dependency 2022-01-19 16:01:42 -06:00
dharini f0becdcdc4 refactor: 💡 use scss variables 2022-01-19 13:44:25 -08:00
Dharini Jeeva e6928fe66f Merge branch 'main' into feat-radio-helper-text 2022-01-19 11:23:46 -08:00
dharini 537d8f107f fix: 🐛 vertical layout shift 2022-01-19 11:08:50 -08:00
Randall Morey 305d5e6825 Merge pull request #910 from hashicorp/feature-nested-attributes
Support nested attributes with no dependencies
2022-01-19 12:26:52 -05:00
Randall Morey 121129ffd2 fix: 🐛 include nulls 2022-01-19 12:16:57 -05:00
Carlos Alcaide Corvo 1fd6c8a27e Merge branch 'main' into feature-nested-attributes 2022-01-19 10:11:39 -06:00
Dharini Jeeva 6ad1691750 Update _radioCard.scss 2022-01-18 16:13:00 -08:00
Dharini Jeeva ecf460d89b Update index.hbs 2022-01-18 16:12:36 -08:00
dharini b1ec40d72a refactor: 💡 updates to css 2022-01-18 15:57:59 -08:00
Carlos Alcaide Corvo 506ca35ba1 chore: 🤖 Update ember-cli to 4.0
Update ember-cli to 4.0
2022-01-18 14:58:24 -08:00
Carlos Alcaide Corvo 2ee68136f7 Merge branch 'main' into fix-jest-unmet-peer-dependency 2022-01-18 16:11:07 -06:00
Carlos Alcaide Corvo 4a178fd300 Merge pull request #909 from hashicorp/fix-storybook-theming-unmet-peer-dependency
fix: 🐛 Fix storybook theming unmet peer dependency
2022-01-18 16:10:45 -06:00
Carlos Alcaide Corvo baf742c980 Merge branch 'main' into feature-nested-attributes 2022-01-18 16:10:02 -06:00
Carlos Alcaide Corvo 0717df8f27 Merge branch 'main' into fix-storybook-theming-unmet-peer-dependency 2022-01-18 15:35:08 -06:00
Carlos Alcaide Corvo 279848439a Merge pull request #908 from hashicorp/bug-fix-unmet-peer-dependency
fix: 🐛 Fix unmet peer dependency
2022-01-18 15:34:29 -06:00
Carlos Alcaide Corvo 4b30eefd94 fix: 🐛 Fix jest unmet peer dependency
Fix jest unmet peer dependency
2022-01-18 11:57:27 -08:00
dharini bda7c7c88e add separate story files 2022-01-18 11:35:53 -08:00
Randall Morey d70ff06891 chore: 🤖 add support for nested attributes errors 2022-01-18 14:32:03 -05:00
Carlos Alcaide Corvo d332a21266 fix: 🐛 Fix storybook theming unmet peer dependency
Fix storybook theming unmet peer dependency
2022-01-18 11:30:22 -08:00
dharini 299c1cdd06 Merge branch 'feat-create-radio-card-component' of github.com:hashicorp/boundary-ui into feat-create-radio-card-component 2022-01-18 11:11:24 -08:00
dharini 4837cb353e fix: 🐛 lint 2022-01-18 11:10:38 -08:00
Carlos Alcaide Corvo 66df38d81d fix: 🐛 Fix unmet peer dependency
Fix unmeet peer dependency for @storybook/core-events
2022-01-18 10:48:54 -08:00
Dharini Jeeva 70f8080837 Merge branch 'main' into feat-create-radio-card-component 2022-01-18 10:44:56 -08:00
Randall Morey ac14e8786d feat: 🎸 support isNestedAttribute in models 2022-01-18 13:44:27 -05:00
dharini 7b5070115e lint again 2022-01-18 10:32:52 -08:00
dharini 0fcd55ef41 fix: 🐛 lint 2022-01-18 10:19:45 -08:00
dharini 5c4d7e29fd feat: 🎸 add tile and wide radiocard field 2022-01-18 09:49:18 -08:00
dharini 172c9dde69 add tile and wider radiocard 2022-01-18 00:00:12 -08:00
dharini e3c2452199 Merge branch 'feat-radio-helper-text' of github.com:hashicorp/boundary-ui into feat-radio-helper-text 2022-01-16 18:50:54 -08:00
dharini a3fd2ff03c fix: 🐛 use button lineheight 2022-01-16 18:50:43 -08:00
Dharini Jeeva 06684a7da2 Merge branch 'main' into feat-radio-helper-text 2022-01-16 18:08:56 -08:00
dharini 2c1cdf6c9c Merge branch 'feat-radio-helper-text' of github.com:hashicorp/boundary-ui into feat-radio-helper-text
:wq
:wq especially if it merges an updated upstream into a topic branch.
2022-01-16 18:07:06 -08:00
dharini c571dc23e0 fix: 🐛 remove classname 2022-01-16 18:06:43 -08:00
dharini bf09c9b0b8 more updates 2022-01-16 16:37:55 -08:00
Carlos Alcaide Corvo ec8a55be31 Merge pull request #903 from hashicorp/chore-update-flight-icons
chore: 🤖 Update flight icons to 2.0
2022-01-14 17:06:53 -06:00
Carlos Alcaide Corvo 8a641cd6b7 Merge branch 'main' into chore-update-flight-icons 2022-01-14 16:58:17 -06:00
Randall Morey cd30e05e2e refactor: 💡 replace renderTemplate with components 2022-01-14 16:56:59 -05:00
Dharini Jeeva 66ef638086 Merge branch 'main' into feat-radio-helper-text 2022-01-14 13:48:16 -08:00
Carlos Alcaide Corvo 57d6be8b84 Merge pull request #900 from hashicorp/feature-add-host-catalog-type-support
feat: 🎸 Add host catalog type basic support
2022-01-14 15:44:33 -06:00
Carlos Alcaide Corvo d2e914cba9 Fix lint errors 2022-01-14 13:32:38 -08:00
Carlos Alcaide Corvo 949560826e Merge branch 'main' into feature-add-host-catalog-type-support 2022-01-14 15:28:40 -06:00
Carlos Alcaide Corvo df673ad29b Use compositeType properly on tests 2022-01-14 13:28:13 -08:00
Carlos Alcaide CorvoandRandall Morey 8007762bd1 Update addons/api/mirage/generated/factories/host-catalog.js
Co-authored-by: Randall Morey <randall@hashicorp.com>
2022-01-14 15:15:13 -06:00
Carlos Alcaide CorvoandRandall Morey bdc9dacdce Update addons/api/mirage/generated/factories/host-catalog.js
Co-authored-by: Randall Morey <randall@hashicorp.com>
2022-01-14 15:15:08 -06:00
Carlos Alcaide Corvo cc20e5a076 Use compositeType in isAws and isAzure 2022-01-14 13:14:50 -08:00
Randall Morey 0d1dfb23b2 refactor: 💡 replace renderTemplate with components 2022-01-14 15:09:15 -05:00
Dharini Jeeva 76bc6833a1 Merge pull request #902 from hashicorp/migrate-class-to-comp-property
updates to rose radio component
2022-01-14 11:25:55 -08:00
Carlos Alcaide Corvo d6b01e8308 chore: 🤖 Update flight icons to 2.0
Update flight icons to 2.0
2022-01-14 08:21:25 -08:00
Carlos Alcaide Corvo 4c0cc5375b Add set compositeType. Add tests for get and set compositeType 2022-01-13 18:31:17 -08:00
dharini c807af02f4 add padding to label and align it 2022-01-13 14:19:43 -08:00
dharini 1a48bb180f Merge branch 'feat-radio-helper-text' of github.com:hashicorp/boundary-ui into feat-radio-helper-text 2022-01-13 13:43:45 -08:00
dharini 403880107d style: 💄 updates to helper text 2022-01-13 13:43:24 -08:00
Carlos Alcaide Corvo 2d263734d8 Delete unnecesary return 2022-01-13 13:22:09 -08:00
Dharini Jeeva 9821f1ffc7 Delete _radioCard.scss 2022-01-13 12:01:17 -08:00
dharini 6d83163951 fix: 🐛 clean up specificity, lineheight 2022-01-13 10:53:56 -08:00
dharini af9bb1c618 updates to card style 2022-01-13 09:06:09 -08:00
dharini 03b8e2875f feat: 🎸 merge recent main 2022-01-12 15:44:07 -08:00
Carlos Alcaide Corvo b3c49c43ea feat: 🎸 Add basic type support for host catalog 2022-01-12 15:34:12 -08:00
dharini c239830765 fix: 🐛 lint 2022-01-12 15:21:06 -08:00
dharini eeb74d8437 chore: 🤖 updates 2022-01-12 15:12:25 -08:00
dharini 95bad02ce6 fix: 🐛 class name 2022-01-12 14:31:45 -08:00
Dharini Jeeva f84752aa9c Merge branch 'main' into feat-radio-helper-text 2022-01-12 13:50:48 -08:00
dharini e2578a4577 updates 2022-01-12 13:37:14 -08:00
Carlos Alcaide Corvo eb36be3688 feat: 🎸 Add host catalog type basic support
Add host catalog type basic support. Delete previous conditional
rendering to just render static types
2022-01-11 15:34:22 -08:00
dharini 95c2f4a74d feat: 🎸 add support for helper text to radio component 2022-01-11 14:24:22 -08:00
Randall Morey ff9c659ada Merge pull request #899 from hashicorp/chore-update-render-modifiers
chore: 🤖 Update ember render modifiers
2022-01-11 14:02:51 -05:00
Randall Morey d9564f5f89 Merge branch 'main' into chore-update-render-modifiers 2022-01-11 13:35:54 -05:00
Randall Morey 942cb82921 Merge pull request #896 from hashicorp/refactor-render-targets
Refactor render targets
2022-01-11 13:35:45 -05:00
Carlos Alcaide Corvo 9918d20838 Merge branch 'main' into chore-update-render-modifiers 2022-01-11 11:10:57 -06:00
Carlos Alcaide Corvo b1ea3af02a chore: 🤖 Update ember render modifiers
Update Ember render modifiers
2022-01-11 09:09:16 -08:00
Randall Morey 660218220f Merge branch 'main' into refactor-render-targets 2022-01-11 11:58:21 -05:00
Randall Morey cf2326140e Merge pull request #898 from hashicorp/chore-node-version
chore: 🤖 specify only LTS node versions in packages
2022-01-11 11:57:59 -05:00
Randall Morey 9df6b56ae9 chore: 🤖 specify only LTS node versions in packages 2022-01-10 11:27:00 -05:00
dharini 9e09be0e5f radio-helper text init 2022-01-07 15:34:06 -08:00
Susmitha Girumala e0bc36a376 Merge branch 'main' into refactor-render-targets 2022-01-07 12:59:28 -05:00
Susmitha Girumala fd770b7a25 Merge pull request #893 from hashicorp/refactor-render-template
refactor: 💡 remove deprecated renderTemplate usage in desktop
2022-01-07 12:59:16 -05:00
Susmitha Girumala 0bdc5e6f2f Merge branch 'main' into refactor-render-template 2022-01-07 12:48:58 -05:00
Susmitha Girumala a4d39d465d Merge pull request #892 from hashicorp/refactor-router-events
refactor: 💡 refactor due to router events deprecations
2022-01-07 12:48:45 -05:00
Susmitha Girumala 5541c7bf1f Merge branch 'main' into refactor-router-events 2022-01-07 12:34:51 -05:00
Dharini Jeeva f888e6eb03 Merge pull request #897 from hashicorp/feat-helpr-txt-support-inp-txtarea
Feat: Add support for helper links to inputs, and textareas
2022-01-07 09:25:59 -08:00
Susmitha Girumala 7a95600456 Merge branch 'main' into refactor-router-events 2022-01-07 12:15:08 -05:00
Dharini Jeeva 2a41ed1153 Merge branch 'main' into feat-helpr-txt-support-inp-txtarea 2022-01-07 09:09:08 -08:00
Dharini Jeeva 6226464ffc Merge pull request #895 from hashicorp/feat-helper-text
Feat: add link support to helper text component
2022-01-07 09:07:34 -08:00
dharini e8c491cf95 Merge branch 'feat-helpr-txt-support-inp-txtarea' of github.com:hashicorp/boundary-ui into feat-helpr-txt-support-inp-txtarea 2022-01-06 10:59:04 -08:00
dharini b6721152b2 fix: 🐛 lint 2022-01-06 10:58:39 -08:00
dharini 22700688b6 feat: 🎸 show a tag only if href and link are present 2022-01-06 10:42:06 -08:00
Dharini Jeeva 97d6384115 Merge branch 'main' into feat-helper-text 2022-01-05 11:45:08 -08:00
Dharini Jeeva a0a75e1e42 Update index.stories.mdx 2022-01-05 11:44:58 -08:00
Dharini Jeeva 6a140b5d21 Update index.stories.mdx 2022-01-05 11:37:24 -08:00
Dharini Jeeva f5f0916135 Update index.stories.mdx 2022-01-05 11:36:41 -08:00
Dharini Jeeva 7cd59dcf37 Update index.stories.mdx 2022-01-04 15:32:12 -08:00
Dharini Jeeva 174b6246c7 Update index.stories.mdx 2022-01-04 15:31:47 -08:00
Dharini Jeeva 2005a9f1bb Update index.hbs 2022-01-04 15:31:29 -08:00
Dharini Jeeva c7059ae210 Delete jsconfig.json 2022-01-04 15:25:03 -08:00
dharini cf1e5aa429 feat: 🎸 add helper text support to inp & textarea 2022-01-04 15:12:19 -08:00
dharini 44e3ba4d76 Merge branch 'feat-helper-text' into feat-helpr-txt-support-inp-txtarea 2022-01-04 10:50:32 -08:00
Randall Morey 9ef4a14801 Merge branch 'main' into refactor-router-events 2022-01-04 12:53:55 -05:00
Dharini Jeeva bb20027b42 Merge pull request #894 from hashicorp/fix-field-name
fix: 🐛 update field name
2022-01-04 09:43:00 -08:00
Dharini Jeeva c0d64cd2a1 Merge branch 'main' into fix-field-name 2022-01-04 09:21:07 -08:00
Randall Morey 70be930f8e refactor: 💡 remove renderTemplate in favor of components 2022-01-04 10:50:09 -05:00
Randall Morey b4f5f86544 Merge branch 'main' into refactor-router-events 2022-01-04 10:36:31 -05:00
Randall Morey bc6064bb2e Merge pull request #891 from hashicorp/refactor-transitions
Refactor transitions
2022-01-04 10:36:12 -05:00
Susmitha Girumala 7e9e8b8960 Merge pull request #890 from hashicorp/chore-upgrade-loading
chore: upgrade to ember-loading 2.0.0
2022-01-04 09:39:38 -05:00
Susmitha Girumala 7f2b753295 Merge pull request #889 from hashicorp/refactor-polling
Replace ember-concurrency with ember-pollster
2022-01-04 09:38:13 -05:00
Susmitha Girumala d9d1305b7f Merge pull request #888 from hashicorp/chore-upgrade-babel
chore: 🤖 upgrade babel deps
2022-01-04 09:36:55 -05:00
Susmitha Girumala e08c717a12 Merge branch 'main' into chore-upgrade-babel 2022-01-04 09:09:42 -05:00
Susmitha Girumala d65db18266 Merge pull request #887 from hashicorp/refactor-copyable
refactor: 💡 copyable component no longer uses ember-concurrency
2022-01-04 09:09:15 -05:00
dharini 4410f32625 feat: 🎸 fix lint 2022-01-03 17:22:40 -08:00
dharini 47b0c87d89 fix: 🐛 update field name 2022-01-03 16:06:28 -08:00
dharini 52570b48fb feat: 🎸 add support for href 2022-01-03 15:32:36 -08:00
Randall Morey 9a8c47024e refactor: 💡 remove deprecated renderTemplate usage in desktop 2022-01-03 16:17:56 -05:00
Randall Morey 4c20571268 refactor: 💡 refactor due to router events deprecations 2022-01-03 13:59:24 -05:00
Randall Morey af92c65f60 refactor: 💡 migrate resource filtering transitionTo 2022-01-03 12:52:29 -05:00
Randall Morey 8bfa454df5 refactor: 💡 migrate to router.transitionTo due to deprecations 2022-01-03 12:35:48 -05:00
Randall Morey 7e354df44c refactor: 💡 migrate to router.replaceWith due to deprecations 2022-01-03 12:12:53 -05:00
Randall Morey 046e9fdf4c chore: upgrade to ember-loading 2.0.0 2022-01-03 09:28:24 -05:00
Randall Morey ebf2a0f115 chore: remove ember-concurrency dependency 2022-01-02 22:38:32 -05:00
Randall Morey b480cb8263 Merge branch 'refactor-copyable' into refactor-polling 2022-01-02 22:37:17 -05:00
Randall Morey 28de23b517 refactor: 💡 rewrite OIDC polling for ember pollster 2022-01-02 22:36:53 -05:00
Randall Morey a3bb788716 refactor: rewrite OIDC polling for ember pollster 2022-01-02 22:02:56 -05:00
Randall Morey 71361799f7 refactor: rewrite targets polling for ember-pollster 2022-01-02 19:40:45 -05:00
Randall Morey fe509d2e86 refactor: 💡 rewrite sessions polling for ember-pollster 2022-01-02 19:21:03 -05:00
Randall Morey 618d418093 refactor: 💡 rewrite sessions polling for ember-pollster 2022-01-02 15:55:05 -05:00
Randall Morey 4d8e628402 chore: 🤖 upgrade babel deps 2022-01-02 15:11:59 -05:00
Randall Morey 4f27332479 refactor: 💡 remoe copyable dep on ember-concurrency 2022-01-02 14:07:25 -05:00
Carlos Alcaide Corvo 83c2e84647 Merge pull request #884 from hashicorp/chore-bump-binary-version
Chore bump binary version
2021-12-16 17:10:06 -06:00
Carlos Alcaide Corvo 429665a1e0 Add PR to changelog 2021-12-16 14:56:10 -08:00
Carlos Alcaide Corvo a174c332f3 Bump CLI version and update changelog 2021-12-16 14:53:24 -08:00
Carlos Alcaide Corvo d26b668b38 chore: 🤖 Bump CLI version
Bump the CLI version the desktop client uses
2021-12-16 14:53:24 -08:00
Carlos Alcaide Corvo a8bd89fafd Merge pull request #883 from hashicorp/feature-desktop-target-filters
Add targets filtering by projects in Desktop
2021-12-16 16:53:08 -06:00
Carlos Alcaide Corvo 33256f4c64 Merge branch 'main' into feature-desktop-target-filters 2021-12-16 16:44:36 -06:00
Randall Morey fc3b574425 Merge pull request #882 from hashicorp/refactor-scope-filter-ux
Improve project resource filtering for sessions in Desktop
2021-12-16 17:39:33 -05:00
Randall Morey ba10451293 fix: skip flawed test 2021-12-16 17:38:37 -05:00
Randall Morey 4dee759674 docs: add groupBy helper doc comment 2021-12-16 17:09:00 -05:00
Randall Morey 02858bbacb fix: broken development mocks 2021-12-16 16:56:35 -05:00
Randall Morey 69ac051786 feature: implement project filtering in desktop targets 2021-12-16 16:37:19 -05:00
Randall Morey 2c998bbb2b chore: add support for contains clauses in filter store 2021-12-16 16:02:00 -05:00
Randall Morey a79823d3b1 Merge branch 'main' into refactor-scope-filter-ux 2021-12-16 09:48:57 -05:00
Randall Morey 30d029a223 Merge pull request #878 from hashicorp/feature-host-catalogs-only-supports-static-type
feat: 🎸 Host catalogs only supports host type static
2021-12-15 13:26:42 -05:00
Randall Morey 9ce25b8e83 Merge branch 'main' into feature-host-catalogs-only-supports-static-type 2021-12-15 13:15:43 -05:00
Randall Morey ac5710979a refactor: 💡 apply type to host catalog and distribute down 2021-12-15 13:15:31 -05:00
Carlos Alcaide Corvo af749b57bc Merge pull request #881 from hashicorp/feature-add-targets-hosts-list-table-header
feat: 🎸 Add table header for hosts list within targets
2021-12-15 11:50:57 -06:00
Randall Morey 646125f039 fix: 🐛 sessions should poll 2021-12-15 10:10:18 -05:00
Randall Morey 53aade5322 refactor: 💡 improve project filter UX 2021-12-15 09:43:20 -05:00
Carlos Alcaide Corvo be20491d2e Delete type column on hosts list within targets. Change test back to its initial state 2021-12-14 16:18:18 -08:00
Carlos Alcaide Corvo 7d3a5227d6 Delete type column on hosts list 2021-12-14 15:44:51 -08:00
Carlos Alcaide Corvo 8daf6129d1 feat: 🎸 Add table header for hosts list within targets
Add table header for hosts list within targets
2021-12-14 10:39:15 -08:00
Carlos Alcaide Corvo 6cec91b09b Change test to filter the hosts list by type 2021-12-14 09:22:33 -08:00
Carlos Alcaide Corvo bc0af27afa Add conditional on template 2021-12-14 08:35:13 -08:00
Carlos Alcaide Corvo f4cdbfc99c Fix lint error 2021-12-14 08:13:18 -08:00
Carlos Alcaide Corvo aaa205b4e0 Add different host types in Mirage. Add conditional in admin host-catalog hosts list to just show type=static 2021-12-14 08:08:15 -08:00
Carlos Alcaide Corvo c8b49beba6 feat: 🎸 Host list in targets shows just type static 2021-12-14 08:08:15 -08:00
Carlos Alcaide Corvo 6c2694999c feat: 🎸 Host catalogs only supports host type static
Host Catalogs will just show the hosts with type: static
2021-12-14 08:08:15 -08:00
Randall Morey dfc3989a38 Merge pull request #880 from hashicorp/feature-desktop-sessions-project-filter
Desktop sessions filtering
2021-12-14 09:29:53 -05:00
Randall Morey d1fdfb2496 fix: 🐛 tweak helper usage to include both filters 2021-12-13 13:50:40 -05:00
Randall Morey 7b594ca906 chore: allow bexpr filtering of scope mocks 2021-12-13 13:34:28 -05:00
Randall Morey 88bb34828b feature: initial project filtering UX in desktop sessions 2021-12-10 17:29:50 -05:00
Randall Morey 3086cbf4e7 refactor: use resource filter store in projects route 2021-12-10 16:33:05 -05:00
Randall Morey d7a4dd40ea Merge pull request #879 from hashicorp/chore-mock-desktop-sessions
chore: 🤖 ensure mock sessions appear in desktop
2021-12-10 16:00:23 -05:00
Randall Morey 7238a698a1 chore: 🤖 ensure mock sessions appear in desktop 2021-12-09 15:21:24 -05:00
Randall Morey a7c5332a99 Merge pull request #877 from hashicorp/refactor-resource-filters
Refactor resource filters
2021-12-08 17:09:32 -05:00
Randall Morey e7b1d29d9d Merge branch 'main' into refactor-resource-filters 2021-12-08 14:49:15 -05:00
Carlos Alcaide Corvo 4f7e5bb732 Merge pull request #876 from hashicorp/chore-add-json-schema-global-resolutions
chore: 🤖 Add json-schema to global resolutions
2021-12-08 10:41:14 -08:00
Randall Morey 77aaacc8b3 Merge branch 'main' into refactor-resource-filters 2021-12-08 13:36:04 -05:00
Randall Morey ddc7fe939d refactor: 💡 more renaming 2021-12-06 17:26:36 -05:00
Carlos Alcaide Corvo 767be30476 chore: 🤖 Add json-schema to global resolutions
Add json-schema to global resolutions (root package.json). Apart from
our direct dependency within electron, in the admin, json-schema is a
dependency of a dependency.
2021-12-06 14:13:18 -08:00
Randall Morey 400b0b5f0b refactor: 💡 more resource filtering name changes 2021-12-06 16:50:45 -05:00
Randall Morey b3d0bf5685 refactor: support dynamic resource filters and apply to auth methods 2021-12-03 13:58:12 -05:00
Carlos Alcaide Corvo 5cb8826f4e Merge pull request #872 from hashicorp/chore-json-schema-resolutions
chore: 🤖 Add json-schema to desktop resolutions
2021-12-02 13:31:59 -08:00
Carlos Alcaide Corvo fd1b5cfd74 Merge branch 'main' into chore-json-schema-resolutions 2021-11-30 13:42:17 -08:00
Carlos Alcaide Corvo 6ef055bb15 Merge pull request #873 from hashicorp/chore-jsonpointer-desktop-resolutions
chore: 🤖 Add jsonpointer desktop resolutions
2021-11-30 13:32:07 -08:00
Carlos Alcaide Corvo 5293a21e03 Merge branch 'main' into chore-jsonpointer-desktop-resolutions 2021-11-30 13:19:22 -08:00
Randall Morey 01a90a4d75 Merge branch 'main' into refactor-resource-filters 2021-11-30 15:19:27 -05:00
Randall Morey 5dc99ef5ad refactor: 💡 move resource filter logic into dedicated class 2021-11-30 15:18:59 -05:00
Randall Morey 488e724745 Merge branch 'main' into chore-json-schema-resolutions 2021-11-30 09:39:14 -05:00
Randall Morey 126b8944c4 Merge pull request #864 from hashicorp/chore-update-vagrantfile
chore: update vm to node 14 and increase video memory
2021-11-30 09:38:32 -05:00
Carlos Alcaide Corvo b6b6eeff53 chore: 🤖 Add jsonpointer desktop resolutions
Add jsonpointer desktop resolution as per dependabot alert.
2021-11-24 14:26:33 -08:00
Carlos Alcaide Corvo 44078a78ad chore: 🤖 Add json-schema to desktop resolutions
Add json-schema to desktop resolution as per dependabot alert
2021-11-24 14:06:53 -08:00
Dharini Jeeva 39ece5a2c0 Merge branch 'main' into chore-update-vagrantfile 2021-11-22 15:34:13 -08:00
Carlos Alcaide Corvo 02fc874ef5 Merge pull request #859 from hashicorp/chore-bump-jsonpointer
chore: 🤖 resolve jsonpointer for dependabot
2021-11-22 16:09:32 -06:00
Carlos Alcaide Corvo 5f83fa53cf Merge branch 'main' into chore-bump-jsonpointer 2021-11-22 15:58:40 -06:00
Carlos Alcaide Corvo 097abcd3eb Merge branch 'main' into chore-bump-jsonpointer 2021-11-17 13:25:08 -08:00
Susmitha Girumala 1f4e60ce97 Merge branch 'main' into chore-update-vagrantfile 2021-11-16 18:09:16 -05:00
Randall Morey e22c53ea27 chore: update vm to node 14 and increase video memory 2021-11-16 16:33:36 -05:00
Randall Morey 425234148e chore: 🤖 resolve jsonpointer for dependabot 2021-11-16 11:48:10 -05:00
1050 changed files with 29129 additions and 11465 deletions

No files matched your search

+2
View File
@@ -0,0 +1,2 @@
# Anyone attached to this rule will always been assigned to a pull request
* @hashicorp/boundary-ui
+17
View File
@@ -0,0 +1,17 @@
:tickets: [Jira ticket](https://hashicorp.atlassian.net/browse/JIRA_TICKET_NUMBER)
## Description
<!--
Replace PATH_TO_FEATURE with Vercel link
-->
:technologist: [Admin preview](PATH_TO_FEATURE)
:rose: [Rose preview](PATH_TO_FEATURE)
:desktop_computer: [Desktop preview](PATH_TO_FEATURE)
<!-- Add a brief description of changes here. Include any other necessary relevant links -->
### Screenshots (if appropriate):
+100
View File
@@ -0,0 +1,100 @@
name: Build Admin UI
on:
push:
branches:
- main
jobs:
dependencies:
name: Install dependencies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: node-modules-cache
with:
path: '**/node_modules'
key: node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-
- uses: actions/setup-node@v3
with:
node-version: '16.x'
- run: yarn install
build-admin-ui-oss:
name: Build Admin UI OSS
needs: [dependencies]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: node-modules-cache
with:
path: '**/node_modules'
key: node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-
- name: Build
uses: actions/setup-node@v3
with:
node-version: '16.x'
if: steps.node-modules-cache.outputs.cache-hit != 'true'
- run: yarn run build:ui:admin:oss
- name: Upload artifact admin-ui
uses: actions/upload-artifact@v3
with:
name: admin-ui
path: ./ui/admin/dist/
- name: Upload artifact OSS admin UI
uses: actions/upload-artifact@v3
with:
name: admin-ui-oss
path: ./ui/admin/dist/
build-admin-ui-enterprise:
name: Build Admin UI Enterprise
needs: [dependencies]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: node-modules-cache
with:
path: '**/node_modules'
key: node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-
- name: Build
uses: actions/setup-node@v3
with:
node-version: '16.x'
if: steps.node-modules-cache.outputs.cache-hit != 'true'
- run: yarn run build:ui:admin:enterprise
- name: Upload artifact enterprise admin UI
uses: actions/upload-artifact@v3
with:
name: admin-ui-ent
path: ./ui/admin/dist/
build-admin-ui-hcp:
name: Build Admin UI HCP
needs: [dependencies]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: node-modules-cache
with:
path: '**/node_modules'
key: node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-
- name: Build
uses: actions/setup-node@v3
with:
node-version: '16.x'
if: steps.node-modules-cache.outputs.cache-hit != 'true'
- run: yarn run build:ui:admin:hcp
- name: Upload artifact HCP admin UI
uses: actions/upload-artifact@v3
with:
name: admin-ui-hcp
path: ./ui/admin/dist/
+46 -25
View File
@@ -2,55 +2,76 @@ name: Validate Monorepo
on: pull_request
jobs:
compliance:
name: License Compliance
dependencies:
name: Install dependencies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
id: cache
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: node-modules-cache
with:
path: '**/node_modules'
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
- uses: actions/setup-node@v1
key: node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-
- uses: actions/setup-node@v3
with:
node-version: '12.x'
node-version: '16.x'
- run: yarn install
if: steps.cache.outputs.cache-hit != 'true'
compliance:
name: License Compliance
needs: [dependencies]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: node-modules-cache
with:
path: '**/node_modules'
key: node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-
- uses: actions/setup-node@v3
with:
node-version: '16.x'
if: steps.node-modules-cache.outputs.cache-hit != 'true'
- run: yarn run compliance:licenses
lint:
name: Lint
needs: [dependencies, compliance]
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
id: cache
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: node-modules-cache
with:
path: '**/node_modules'
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
- uses: actions/setup-node@v1
key: node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-
- uses: actions/setup-node@v3
with:
node-version: '12.x'
- run: yarn install
if: steps.cache.outputs.cache-hit != 'true'
node-version: '16.x'
if: steps.node-modules-cache.outputs.cache-hit != 'true'
- run: yarn lint
test:
name: Test
needs: [lint]
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
id: cache
- uses: actions/checkout@v3
- uses: actions/cache@v3
id: node-modules-cache
with:
path: '**/node_modules'
key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}
- uses: actions/setup-node@v1
key: node-modules-${{ hashFiles('**/yarn.lock') }}
- uses: actions/setup-node@v3
with:
node-version: '12.x'
- run: yarn install
if: steps.cache.outputs.cache-hit != 'true'
node-version: '16.x'
if: steps.node-modules-cache.outputs.cache-hit != 'true'
- run: yarn test
-5
View File
@@ -23,8 +23,3 @@ yarn-error.log
storybook-static
**/.storybook/*.html
.watchman-cookie*
# ember-try
.node_modules.ember-try
bower.json.ember-try
package.json.ember-try
+6
View File
@@ -0,0 +1,6 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
yarn compliance:licenses
npx lint-staged
yarn test
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
COMMIT_MSG_FILE=$1
COMMIT_SOURCE=$2
SHA1=$3
# Don't run commitizen for merge or squash commits
if [ "${COMMIT_SOURCE}" = merge ] || [ "${COMMIT_SOURCE}" = squash ];then
exit 0
fi
# This is to allow interaction with the terminal for commitizen
exec < /dev/tty && npx git-cz --hook || true
+3
View File
@@ -0,0 +1,3 @@
url_license = "https://github.com/hashicorp/boundary-ui/blob/main/LICENSE"
url_project_website = "https://learn.hashicorp.com/tutorials/boundary/getting-started-desktop-app"
url_source_repository = "https://github.com/hashicorp/boundary-ui"
+9 -9
View File
@@ -38,9 +38,9 @@ You will need the following things properly installed on your computer.
* [Git][git]
* [Node.js][node]
* v10–v15
* Supported versions:`v12`, `v14` and `v16`.
* **Apple Silicon Users**: if you experience problems building or running
Boundary UIs, try Node v15.
Boundary UIs, try Node v14.
* [Yarn][yarn] installed globally
* [Google Chrome][chrome]
* [Firefox][firefox]
@@ -66,7 +66,6 @@ List of available project commands. `yarn run <command-name>`
|---------------------|---|
| build | Builds Admin UI. |
| test | Runs tests in CI mode. |
| commit | Replaces `git commit`, ensures compliance, audit, lint, and test checks pass before commit is allowed and normalizes commit messages across authors. |
| lint | Runs ember-template-lint on all of the hbs, js, and sass files. |
| compliance:audit | Checks for issues using `yarn audit` with moderate and above criticality.|
| compliance:licenses | Checks that all dependencies have OSS-compatible licenses. |
@@ -160,15 +159,16 @@ You will need to turn `off` mirage and run it: `$ ENABLE_MIRAGE=false yarn start
In login screen, authenticate using generated admin login name and password.
Enter the origin of your Boundary dev instance, by default is: `http://localhost:9200`.
Enter the cluster URL of your Boundary dev instance, by default is: `http://localhost:9200`.
### Committing
Instead of the default `git commit`, we prescribe a custom command that ensures
linting and other checks pass before a commit may be completed. It also ensures
that all contributors author consistent commit messages. To get started with a
commit, stage your files as usual. Then run `yarn commit` and follow the
on-screen instructions to author your message.
We use `husky` and `lint-staged` to ensure linting and other checks pass before a
commit is completed. Simply do a `yarn install` to make sure the hooks are installed.
Use a normal `git commit` to go through the checks, if you need to skip these checks,
use `git commit --no-verify` to bypass them. However, a consistent commit message will
still be enforced even if you use `--no-verify`.
#### License Checking
-4
View File
@@ -15,7 +15,3 @@
!.*
.eslintcache
# ember-try
/.node_modules.ember-try/
/bower.json.ember-try
/package.json.ember-try
+7 -8
View File
@@ -2,20 +2,19 @@
module.exports = {
root: true,
parser: 'babel-eslint',
parser: '@babel/eslint-parser',
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
ecmaFeatures: {
legacyDecorators: true,
// This is specific babel-config. If grows consider creating a babel config file
requireConfigFile: false,
babelOptions: {
plugins: [['@babel/plugin-proposal-decorators', { legacy: true }]],
},
// end of babel-config
},
plugins: ['ember'],
extends: [
'eslint:recommended',
'plugin:ember/recommended',
'plugin:prettier/recommended',
],
extends: ['eslint:recommended', 'plugin:ember/recommended', 'prettier'],
env: {
browser: true,
},
-6
View File
@@ -19,15 +19,9 @@
/.travis.yml
/.watchmanconfig
/bower.json
/config/ember-try.js
/CONTRIBUTING.md
/ember-cli-build.js
/testem.js
/tests/
/yarn.lock
.gitkeep
# ember-try
/.node_modules.ember-try/
/bower.json.ember-try
/package.json.ember-try
-5
View File
@@ -14,8 +14,3 @@
/coverage/
!.*
.eslintcache
# ember-try
/.node_modules.ember-try/
/bower.json.ember-try
/package.json.ember-try
+1 -1
View File
@@ -1,5 +1,5 @@
'use strict';
module.exports = {
extends: 'octane',
extends: ['recommended', 'stylistic'],
};
+9 -2
View File
@@ -47,21 +47,28 @@ List of available project commands. `yarn run <command-name>`
| build:development | Builds the dummy app in development mode. |
| build | Builds the dummy app for production. |
| lint | Runs all lint commands. |
| lint:fix | Runs automatic lint fixes for all type of file. |
| lint:hbs | Runs lint for `hbs` template files. |
| lint:hbs:fix | Runs automatic lint fixes for `hbs` template files. |
| lint:js | Lints `js` files. |
| lint:js:fix | Runs automatic lint fixes for `js` files. |
| format | Runs all auto-formatters. |
| format:js | Auto-formats `js` files using Prettier. |
| start | Runs the dummy app local server. |
| test | Runs all tests. |
| test:all | Runs tests across multiple Ember versions with ember-try. |
| test:ember-compatibility | Runs tests across multiple Ember versions with ember-try. |
| precommit | Runs all lint and format. |
| doc:toc | Automatically generates a table of contents for this README file. |
Additional commands in the monorepo package may affect this projects.
## Linting
* `yarn lint:fix`
* `yarn lint:hbs`
* `yarn lint:hbs:fix`
* `yarn lint:js`
* `yarn lint:js --fix`
* `yarn lint:js:fix`
## Formatting
-37
View File
@@ -1,37 +0,0 @@
import { Ability } from 'ember-can';
/**
* Generic ability provides abilities common to all models in the API.
*/
export default class CollectionAbility extends Ability {
// =permissions
/**
* @type {boolean}
*/
get canList() {
return this.hasAuthorizedCollectionAction('list');
}
/**
* @type {boolean}
*/
get canCreate() {
return this.hasAuthorizedCollectionAction('create');
}
// =methods
/**
* Returns true if the given action is contained in the ability model's
* `authorized_collection_actions` array.
* @param {string} action
* @return {boolean}
*/
hasAuthorizedCollectionAction(action) {
const authorized_collection_actions =
(this.model || {}).authorized_collection_actions || {};
const collection = this.collection || {};
return authorized_collection_actions[collection]?.includes(action);
}
}
@@ -0,0 +1,15 @@
import ModelAbility from './model';
/**
* Provides abilities for credential.
*/
export default class CredentialLibaryAbility extends ModelAbility {
// =permissions
/**
* Only "known" credential libary types may be read.
* @type {boolean}
*/
get canRead() {
return !this.model.isUnknown && this.hasAuthorizedAction('read');
}
}
@@ -0,0 +1,22 @@
import ModelAbility from './model';
import { inject as service } from '@ember/service';
/**
* Provides abilities for credential store.
*/
export default class CredentialStoreAbility extends ModelAbility {
// =services
@service features;
// =permissions
/**
* Only "known" credential store types may be read.
* @type {boolean}
*/
get canRead() {
return this.features.isEnabled('static-credentials')
? this.hasAuthorizedAction('read')
: !this.model.isStatic && this.hasAuthorizedAction('read');
}
}
+15
View File
@@ -0,0 +1,15 @@
import ModelAbility from "./model";
/**
* Provides abilities for credential.
*/
export default class CredentialAbility extends ModelAbility {
// =permissions
/**
* Only "known" credential types may be read.
* @type {boolean}
*/
get canRead() {
return !this.model.isUnknown && this.hasAuthorizedAction('read');
}
}
@@ -0,0 +1,16 @@
import ModelAbility from './model';
/**
* Provides abilities for host catalogs.
*/
export default class HostCatalogAbility extends ModelAbility {
// =permissions
/**
* Only "known" host catalog types may be read.
* @type {boolean}
*/
get canRead() {
return !this.model.isUnknown && this.hasAuthorizedAction('read');
}
}
+27
View File
@@ -45,6 +45,20 @@ export default class ModelAbility extends Ability {
return false;
}
/**
* @type {boolean}
*/
get canList() {
return this.hasAuthorizedCollectionAction('list');
}
/**
* @type {boolean}
*/
get canCreate() {
return this.hasAuthorizedCollectionAction('create');
}
// =methods
/**
@@ -56,4 +70,17 @@ export default class ModelAbility extends Ability {
hasAuthorizedAction(action) {
return this.model.authorized_actions?.includes(action);
}
/**
* Returns true if the given action is contained in the ability model's
* `authorized_collection_actions` array.
* @param {string} action
* @return {boolean}
*/
hasAuthorizedCollectionAction(action) {
const authorized_collection_actions =
(this.model || {}).authorized_collection_actions || {};
const collection = this.collection || {};
return authorized_collection_actions[collection]?.includes(action);
}
}
+9 -1
View File
@@ -30,10 +30,18 @@ export default class TargetAbility extends ModelAbility {
/**
* @type {boolean}
*/
get canAddCredentialSources() {
get canAddBrokeredCredentialSources() {
return this.hasAuthorizedAction('add-credential-sources');
}
/**
* @type {boolean}
*/
get canAddInjectedApplicationCredentialSources() {
return (
this.model.isSSH && this.hasAuthorizedAction('add-credential-sources')
);
}
/**
* @type {boolean}
*/
+15
View File
@@ -0,0 +1,15 @@
import ModelAbility from './model';
/**
* Provides abilities for workers.
*/
export default class WorkerAbility extends ModelAbility {
// =permissions
/**
* @type {boolean}
*/
get canCreateWorkerLed() {
return this.hasAuthorizedCollectionAction('create:worker-led');
}
}
+30 -8
View File
@@ -263,14 +263,36 @@ export default class ApplicationAdapter extends RESTAdapter.extend(
source: { pointer: '/data' },
};
// Normalize field-specific errors, if any.
const errors = fieldErrors.map((error) => ({
detail: error.description,
// Ember Data cannot handle errors on nested attributes, so these are
// flattened (e.g. `attributes.foobar` becomes `attributes_foobar`).
// To capture these errors, add read-only fields on the model
// corresponding to the underscored field name.
source: { pointer: `/data/attributes/${error.name.replace('.', '_')}` },
}));
const errors = fieldErrors.flatMap((error) => {
const newValue = [
{
detail: error.description,
// Ember Data cannot handle errors on nested attributes, so these are
// flattened (e.g. `attributes.foobar` becomes `attributes_foobar`).
// To capture these errors, add read-only fields on the model
// corresponding to the underscored field name.
source: {
pointer: `/data/attributes/${error.name.replace('.', '_')}`,
},
},
];
if (error.name.includes('attributes.')) {
newValue.push({
detail: error.description,
// Going forward, nested attributes will be hoisted. Thus "attributes."
// must be stripped from the error name key. Until all models are
// transitioned away from model fragments, however, both this and the
// prior error key mappings are necessary.
source: {
pointer: `/data/attributes/${error.name.replace(
'attributes.',
''
)}`,
},
});
}
return newValue;
});
// Return a list of JSON API errors rooted under the `errors` key.
return {
errors: [baseError, ...errors],
+23
View File
@@ -0,0 +1,23 @@
import ApplicationAdapter from './application';
export default class HostCatalogAdapter 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);
if (requestType === 'createRecord') {
const pluginName = snapshot.attr('plugin')?.name;
if (pluginName) url = `${url}?plugin_name=${pluginName}`;
}
return url;
}
}
@@ -43,4 +43,20 @@ export default class GeneratedAccountModel extends BaseModel {
description: 'Current version number of this resource.',
})
version;
// =attributes (password)
@attr('string', {
for: 'password',
isNestedAttribute: true,
description: 'The account login name',
})
login_name;
// =attributes (OIDC)
@attr('string', { for: 'oidc', isNestedAttribute: true }) subject;
@attr('string', { for: 'oidc', isNestedAttribute: true }) issuer;
@attr('string', { for: 'oidc', isNestedAttribute: true, readOnly: true })
email;
@attr('string', { for: 'oidc', isNestedAttribute: true, readOnly: true })
full_name;
}
@@ -44,4 +44,27 @@ export default class GeneratedCredentialLibraryModel extends BaseModel {
description: 'Current version number of this resource.',
})
version;
//= attributes (vault)
@attr('string', {
isNestedAttribute: true,
description:
'The HTTP method the library uses when requesting credentials from Vault.',
defaultValue: () => 'GET',
})
http_method;
@attr('string', {
isNestedAttribute: true,
description:
'The body of the HTTP request the library sends to Vault when requesting credentials. Only valid if `http_method` is set to `POST`.',
})
http_request_body;
@attr('string', {
isNestedAttribute: true,
description: 'The path in Vault to request credentials from.',
})
path;
}
@@ -39,4 +39,90 @@ export default class GeneratedCredentialStoreModel extends BaseModel {
description: 'Current version number of this resource.',
})
version;
// =attributes (vault)
@attr('string', {
for: 'vault',
isNestedAttribute: true,
description:
"The address to Vault server. This should be a complete URL such as 'https://127.0.0.1:8200'",
})
address;
@attr('string', {
for: 'vault',
isNestedAttribute: true,
description: 'The namespace within Vault to use.',
})
namespace;
@attr('string', {
for: 'vault',
isNestedAttribute: true,
description:
"A PEM-encoded CA certificate to verify the Vault server's TLS certificate.",
})
ca_cert;
@attr('string', {
for: 'vault',
isNestedAttribute: true,
description:
'Name to use as the SNI host when connecting to Vault via TLS.',
})
tls_server_name;
@attr('boolean', {
for: 'vault',
isNestedAttribute: true,
description: 'Whether or not to skip TLS verification.',
})
tls_skip_verify;
@attr('string', {
for: 'vault',
isNestedAttribute: true,
description: 'A token used for accessing Vault.',
})
token;
@attr('string', {
for: 'vault',
isNestedAttribute: true,
description: 'The Vault token hmac.',
readOnly: true,
})
token_hmac;
@attr('string', {
for: 'vault',
isNestedAttribute: true,
description:
'A PEM-encoded client certificate to use for TLS authentication to the Vault server.',
})
client_certificate;
@attr('string', {
for: 'vault',
isNestedAttribute: true,
description:
"A PEM-encoded private key matching the client certificate from 'client_certificate'.",
})
client_certificate_key;
@attr('string', {
for: 'vault',
isNestedAttribute: true,
description: 'The Vault client certificate key hmac.',
readOnly: true,
})
client_certificate_key_hmac;
@attr('string', {
for: 'vault',
isNestedAttribute: true,
description:
'Filters to the worker(s) who can handle Vault requests for this cred store.',
})
worker_filter;
}
@@ -0,0 +1,79 @@
import BaseModel from '../../models/base';
import { attr } from '@ember-data/model';
/**
* A credential is a data structure containing one or more secrets that binds an
* identity to a set of permissions or capabilities on a host for a session.
*/
export default class GeneratedCredentialModel extends BaseModel {
// =attributes
@attr('string', {
description:
'The ID of the Credential Store of which this Credential is a part.',
})
credential_store_id;
@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;
// =attributes (username_password, ssh_private_key)
@attr('string', {
for: ['username_password', 'ssh_private_key'],
isNestedAttribute: true,
description: 'The username for credential.',
})
username;
// =attributes (username_password)
@attr('string', {
for: 'username_password',
isNestedAttribute: true,
description: 'The password for credential.',
})
password;
// =attributes (ssh_private_key)
@attr('string', {
for: 'ssh_private_key',
isNestedAttribute: true,
description: 'The private key for credential.',
})
private_key;
@attr('string', {
for: 'ssh_private_key',
isNestedAttribute: true,
description: 'The private key passphrase for credential.',
})
private_key_passphrase;
}
@@ -39,13 +39,74 @@ export default class GeneratedHostCatalogModel extends BaseModel {
})
disabled;
@attr({
description: 'Attributes specific to the catalog type',
})
attributes;
@attr('number', {
description: 'Current version number of this resource.',
})
version;
@attr({
description: 'Plugin information for this resource.',
readOnly: true,
})
plugin;
// AWS & Azure
@attr('boolean', {
isNestedAttribute: true,
description: '',
})
disable_credential_rotation;
// AWS specific
@attr('string', {
isNestedAttribute: true,
description: '',
})
region;
@attr('string', {
isNestedSecret: true,
description: '',
})
access_key_id;
@attr('string', {
isNestedSecret: true,
description: '',
})
secret_access_key;
// Azure specific
@attr('string', {
isNestedAttribute: true,
description: '',
})
tenant_id;
@attr('string', {
isNestedAttribute: true,
description: '',
})
client_id;
@attr('string', {
isNestedAttribute: true,
description: '',
})
subscription_id;
@attr('string', {
isNestedSecret: true,
description: '',
})
secret_id;
@attr('string', {
isNestedSecret: true,
description: '',
})
secret_value;
}
@@ -50,4 +50,23 @@ export default class GeneratedHostSetModel extends BaseModel {
readOnly: true,
})
size;
@attr({
description: 'Plugin information for this resource',
readOnly: true,
})
plugin;
@attr('number', {
description:
"The number of seconds between the time boundary syncs the hosts in this set using this host set's plugin. If not provided a system determined default is used",
})
sync_interval_seconds;
// Azure specific
@attr('string', {
description: '',
isNestedAttribute: true,
})
filter;
}
@@ -43,4 +43,10 @@ export default class GeneratedHostModel extends BaseModel {
description: 'Current version number of this resource.',
})
version;
@attr({
description: 'Plugin information for this resource.',
readOnly: true,
})
plugin;
}
@@ -44,4 +44,13 @@ export default class GeneratedManagedGroupModel extends BaseModel {
'The ID of the Auth Method that is associated with this ManagedGroup',
})
auth_method_id;
// =attributes (OIDC)
@attr('string', {
isNestedAttribute: true,
description:
'The boolean expression filter to use to determine membership.',
})
filter;
}
+6 -1
View File
@@ -30,10 +30,15 @@ export default class GeneratedTargetModel extends BaseModel {
@attr('number', {
description: '',
defaultValue: 1,
})
session_connection_limit;
@attr('string', {
description:
'Optional boolean expression to filter the workers that are allowed to satisfy this request.',
})
worker_filter;
@attr('date', {
description: 'The time this resource was created\nOutput only.',
readOnly: true,
@@ -0,0 +1,70 @@
import BaseModel from '../../models/base';
import { attr } from '@ember-data/model';
/**
* Worker contains all fields related to a worker resource
*/
export default class GeneratedWorkerModel extends BaseModel {
// =attributes
@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 address that this worker is reachable at.\nOutput only.',
readOnly: true,
})
address;
@attr('date', {
description:
'The time this worker was last reported its status.\nOutput only.',
readOnly: true,
})
last_status_time;
@attr('string', {
description:
'The version of the Boundary binary the worker is running.\nOutput only.',
readOnly: true,
})
release_version;
@attr('number', {
description:
'The number of connections that this worker is currently handling.\nOutput only.',
readOnly: true,
})
active_connection_count;
@attr('string', {
description:
'The type of the worker, denoted by how it authenticates: pki or kms.\nOutput only.',
readOnly: true,
})
type;
}
+2 -9
View File
@@ -1,17 +1,10 @@
import GeneratedAccountModel from '../generated/models/account';
import { fragment } from 'ember-data-model-fragments/attributes';
import { computed } from '@ember/object';
import { equal } from '@ember/object/computed';
export default class AccountModel extends GeneratedAccountModel {
// =attributes
/**
* Attributes of this resource, if any, represented as a JSON fragment.
* @type {FragmentAccountAttributesModel}
*/
@fragment('fragment-account-attributes', { defaultValue: {} }) attributes;
/**
* @type {boolean}
*/
@@ -26,9 +19,9 @@ export default class AccountModel extends GeneratedAccountModel {
* Convenience for getting username in account.
* @type {string}
*/
@computed('attributes.{email,full_name,login_name}')
@computed('{email,full_name,login_name}')
get accountName() {
const { email, full_name, login_name } = this.attributes;
const { email, full_name, login_name } = this;
return email || full_name || login_name;
}
+2
View File
@@ -61,6 +61,8 @@ export default class AuthMethodModel extends GeneratedAuthMethodModel {
*/
@equal('is_primary', true) isPrimary;
options = options;
/**
* @type {boolean}
*/
+9 -3
View File
@@ -1,6 +1,5 @@
import Model from '@ember-data/model';
import { attr } from '@ember-data/model';
import { fragment } from 'ember-data-model-fragments/attributes';
import { computed } from '@ember/object';
/**
@@ -30,9 +29,8 @@ export default class BaseModel extends Model {
/**
* Scope of this resource, if any, represented as a JSON fragment.
* @type {FragmentScope}
*/
@fragment('fragment-scope') scope;
@attr() scope;
// =attributes
@@ -47,10 +45,18 @@ export default class BaseModel extends Model {
})
authorized_collection_actions;
get scopeModel() {
const id = this.scopeID;
return this.store.peekRecord('scope', id);
}
set scopeModel(model) {
if (model) {
const json = model.serialize();
json.scope_id = model.id;
json.type = model.type;
json.isGlobal = model.isGlobal;
json.isOrg = model.isOrg;
json.isProject = model.isProject;
this.scope = json;
}
}
+18 -15
View File
@@ -1,6 +1,4 @@
import GeneratedCredentialLibraryModel from '../generated/models/credential-library';
import { attr } from '@ember-data/model';
import { fragment } from 'ember-data-model-fragments/attributes';
/**
* Enum options for credential library.
@@ -9,22 +7,27 @@ export const options = {
http_method: ['GET', 'POST'],
};
/**
* Supported Credential Library types.
*/
export const types = ['vault'];
export default class CredentialLibraryModel extends GeneratedCredentialLibraryModel {
// =error attributes
// These attributes exist solely to capture errors on nested fields.
// See the application adapter's error normalization method for
// more information.
@attr('string', { readOnly: true }) attributes_http_method;
@attr('string', { readOnly: true }) attributes_http_request_body;
@attr('string', { readOnly: true }) attributes_path;
// =attributes
/**
* Attributes of this resource, if any, represented as a JSON fragment.
* @type {FragmentCredentialLibraryAttributesModel}
* True if credential is an unknown type.
* @type {boolean}
*/
@fragment('fragment-credential-library-attributes', { defaultValue: {} })
attributes;
get isUnknown() {
return !types.includes(this.type);
}
/**
* True if credential is a vault type.
* @type {boolean}
*/
get isVault() {
return this.type === 'vault';
}
}
+5 -23
View File
@@ -1,34 +1,16 @@
import GeneratedCredentialStoreModel from '../generated/models/credential-store';
import { attr } from '@ember-data/model';
import { fragment } from 'ember-data-model-fragments/attributes';
import { equal } from '@ember/object/computed';
export default class CredentialStoreModel extends GeneratedCredentialStoreModel {
// =error attributes
// These attributes exist solely to capture errors on nested fields.
// See the application adapter's error normalization method for
// more information.
@attr('string', { readOnly: true }) attributes_address;
@attr('string', { readOnly: true }) attributes_namespace;
@attr('string', { readOnly: true }) attributes_ca_cert;
@attr('string', { readOnly: true }) attributes_tls_server_name;
@attr('string', { readOnly: true }) attributes_tls_skip_verify;
@attr('string', { readOnly: true }) attributes_token;
@attr('string', { readOnly: true }) attributes_client_certificate;
@attr('string', { readOnly: true }) attributes_client_certificate_key;
// =attributes
/**
* Attributes of this resource, if any, represented as a JSON fragment.
* @type {FragmentAuthMethodAttributesModel}
*/
@fragment('fragment-credential-store-attributes', { defaultValue: {} })
attributes;
/**
* @type {boolean}
*/
@equal('type', 'vault') isVault;
/**
* @type {boolean}
*/
@equal('type', 'static') isStatic;
}
+28
View File
@@ -0,0 +1,28 @@
import GeneratedCredentialModel from '../generated/models/credential';
/**
* Supported Credential types.
*/
export const types = ['username_password', 'ssh_private_key'];
export default class CredentialModel extends GeneratedCredentialModel {
// =attributes
/**
* All Credentials are prefixed with "cred" and are considered
* static due to their relation with Static Credential Stores.
*
* True if credential starts with the "cred" prefix.
* @type {boolean}
*/
get isStatic() {
return this.id.startsWith('cred');
}
/**
* True if credential is an unknown type.
* @type {boolean}
*/
get isUnknown() {
return !types.includes(this.type);
}
}
@@ -1,17 +0,0 @@
import Fragment from 'ember-data-model-fragments/fragment';
import { attr } from '@ember-data/model';
export default class FragmentAccountAttributesModel extends Fragment {
// =attributes (password)
@attr('string', {
for: 'password',
description: 'The account login name',
})
login_name;
// =attributes (OIDC)
@attr('string', { for: 'oidc' }) subject;
@attr('string', { for: 'oidc' }) issuer;
@attr('string', { for: 'oidc', readOnly: true }) email;
@attr('string', { for: 'oidc', readOnly: true }) full_name;
}
@@ -1,25 +0,0 @@
import Fragment from 'ember-data-model-fragments/fragment';
import { attr } from '@ember-data/model';
import { options } from './credential-library';
export default class FragmentCredentialLibraryAttributesModel extends Fragment {
//= attributes (vault)
@attr('string', {
description:
'The HTTP method the library uses when requesting credentials from Vault.',
defaultValue: () => options.http_method[0],
})
http_method;
@attr('string', {
description:
'The body of the HTTP request the library sends to Vault when requesting credentials. Only valid if `http_method` is set to `POST`.',
})
http_request_body;
@attr('string', {
description: 'The path in Vault to request credentials from.',
})
path;
}
@@ -1,72 +0,0 @@
import Fragment from 'ember-data-model-fragments/fragment';
import { attr } from '@ember-data/model';
export default class FragmentCredentialStoreAttributesModel extends Fragment {
// =attributes (vault)
@attr('string', {
for: 'vault',
description:
"The address to Vault server. This should be a complete URL such as 'https://127.0.0.1:8200'",
})
address;
@attr('string', {
for: 'vault',
description: 'The namespace within Vault to use.',
})
namespace;
@attr('string', {
for: 'vault',
description:
"A PEM-encoded CA certificate to verify the Vault server's TLS certificate.",
})
ca_cert;
@attr('string', {
for: 'vault',
description:
'Name to use as the SNI host when connecting to Vault via TLS.',
})
tls_server_name;
@attr('boolean', {
for: 'vault',
description: 'Whether or not to skip TLS verification.',
})
tls_skip_verify;
@attr('string', {
for: 'vault',
description: 'A token used for accessing Vault.',
})
token;
@attr('string', {
for: 'vault',
description: 'The Vault token hmac.',
readOnly: true,
})
token_hmac;
@attr('string', {
for: 'vault',
description:
'A PEM-encoded client certificate to use for TLS authentication to the Vault server.',
})
client_certificate;
@attr('string', {
for: 'vault',
description:
"A PEM-encoded private key matching the client certificate from 'client_certificate'.",
})
client_certificate_key;
@attr('string', {
for: 'vault',
description: 'The Vault client certificate key hmac.',
readOnly: true,
})
client_certificate_key_hmac;
}
@@ -1,9 +0,0 @@
import Fragment from 'ember-data-model-fragments/fragment';
import { attr } from '@ember-data/model';
export default class FragmentHostAttributesModel extends Fragment {
@attr('string', {
description: 'The address (DNS or IP name) used to reach the host',
})
address;
}
@@ -1,16 +0,0 @@
import Fragment from 'ember-data-model-fragments/fragment';
import { attr } from '@ember-data/model';
export default class FragmentHostSourceModel extends Fragment {
// =attributes
@attr('string', {
description: 'ID of the related host source',
})
host_source_id;
@attr('string', {
description: 'ID of the catalog to which the host set belongs',
})
host_catalog_id;
}
@@ -1,12 +0,0 @@
import Fragment from 'ember-data-model-fragments/fragment';
import { attr } from '@ember-data/model';
export default class FragmentManagedGroupAttributesModel extends Fragment {
// =attributes (OIDC)
@attr('string', {
description:
'The boolean expression filter to use to determine membership.',
})
filter;
}
@@ -1,21 +0,0 @@
import Fragment from 'ember-data-model-fragments/fragment';
import { attr } from '@ember-data/model';
export default class FragmentPrincipal extends Fragment {
// =attributes
@attr('string', {
description: 'ID of the related scope',
})
scope_id;
@attr('string', {
description: 'ID of the related principal (user or group)',
})
principal_id;
@attr('string', {
description: 'Type of the related principal (user or group)',
})
type;
}
-42
View File
@@ -1,42 +0,0 @@
import Fragment from 'ember-data-model-fragments/fragment';
import { computed } from '@ember/object';
import { attr } from '@ember-data/model';
import { scopeTypes } from './scope';
export default class FragmentScope extends Fragment {
// =attributes
@attr('string', {
description: 'ID of the related scope',
})
scope_id;
@attr('string', {
description: 'The type of the resource',
})
type;
/**
* @type {boolean}
*/
@computed('type')
get isGlobal() {
return this.type === scopeTypes.global;
}
/**
* @type {boolean}
*/
@computed('type')
get isOrg() {
return this.type === scopeTypes.org;
}
/**
* @type {boolean}
*/
@computed('type')
get isProject() {
return this.type === scopeTypes.project;
}
}
@@ -1,9 +0,0 @@
import Fragment from 'ember-data-model-fragments/fragment';
import { attr } from '@ember-data/model';
export default class FragmentTargetAttributesModel extends Fragment {
@attr('number', {
description: 'The default port a target should use if present.',
})
default_port;
}
+69 -1
View File
@@ -1,3 +1,71 @@
import GeneratedHostCatalogModel from '../generated/models/host-catalog';
export default class HostCatalogModel extends GeneratedHostCatalogModel {}
export const types = ['aws', 'azure'];
export default class HostCatalogModel extends GeneratedHostCatalogModel {
// =attributes
/**
* True if the host catalog is static.
* @type {boolean}
*/
get isStatic() {
return this.type === 'static';
}
/**
* True if the host catalog is a plugin.
* @type {boolean}
*/
get isPlugin() {
return this.type === 'plugin';
}
/**
* True if the host catalog is an unknown type.
* @type {boolean}
*/
get isUnknown() {
return this.isPlugin && !types.includes(this.plugin?.name);
}
/**
* True if host catalog plugin type is AWS.
* @type {boolean}
*/
get isAWS() {
return this.compositeType === 'aws';
}
/**
* True if host catalog plugin type is Azure.
* @type {boolean}
*/
get isAzure() {
return this.compositeType === 'azure';
}
/**
* If host catalog is a plugin return `plugin.name`,
* otherwise return the host catalog type.
* @type {string}
*/
get compositeType() {
if (this.isUnknown) return 'unknown';
if (this.isPlugin) return this.plugin.name;
return 'static';
}
/**
* Sets `type`. If type is different than `static`, sets `type` to `plugin`
* and `plugin.name` to the specified type.
*/
set compositeType(type) {
if (type === 'static') {
this.type = 'static';
} else {
this.type = 'plugin';
this.plugin = { name: type };
}
}
}
+75
View File
@@ -1,9 +1,72 @@
import GeneratedHostSetModel from '../generated/models/host-set';
import { fragmentArray } from 'ember-data-model-fragments/attributes';
import { types } from './host-catalog';
export default class HostSetModel extends GeneratedHostSetModel {
// =attributes
/**
* Returns if the host-set is static or not.
* @type {boolean}
*/
get isStatic() {
return this.type === 'static';
}
/**
* Returns if the host-set is plugin or not.
* @type {boolean}
*/
get isPlugin() {
return this.type === 'plugin';
}
/**
* True if the host set is an unknown type.
* @type {boolean}
*/
get isUnknown() {
return this.isPlugin && !types.includes(this.plugin?.name);
}
/**
* Returns if a host-set plugin is AWS or not
* @type {boolean}
*/
get isAWS() {
return this.compositeType === 'aws';
}
/**
* Return if a host-set plugin is Azure or not.
*/
get isAzure() {
return this.compositeType === 'azure';
}
/**
* If a host-set is a plugin return its name,
* otherwise returns the host-set type
* @type {string}
*/
get compositeType() {
if (this.isUnknown) return 'unknown';
if (this.isPlugin) return this.plugin.name;
return 'static';
}
/**
* Sets type, if type is different than static, set plugin name to type
*/
set compositeType(type) {
if (type === 'static') {
this.type = 'static';
} else {
this.type = 'plugin';
this.plugin = { name: type };
}
}
/**
* Host IDs are read-only under normal circumstances. But these can
* be persisted via a dedicated call to `addHosts()`.
@@ -14,6 +77,18 @@ export default class HostSetModel extends GeneratedHostSetModel {
})
host_ids;
@fragmentArray('fragment-string', {
emptyArrayIfMissing: true,
})
preferred_endpoints;
// AWS specific
@fragmentArray('fragment-string', {
emptyArrayIfMissing: true,
isNestedAttribute: true,
})
filters;
// =methods
/**
+81 -4
View File
@@ -1,10 +1,87 @@
import GeneratedHostModel from '../generated/models/host';
import { fragment } from 'ember-data-model-fragments/attributes';
import { attr } from '@ember-data/model';
export default class HostModel extends GeneratedHostModel {
// =attributes
// Static specific fields
@attr('string', {
description: 'The address (DNS or IP name) used to reach the host',
isNestedAttribute: true,
})
address;
// Plugin specific fields
@attr({
readOnly: true,
emptyArrayIfMissing: true,
})
ip_addresses;
@attr('string', {
description: '',
readOnly: true,
})
external_id;
// Aws specific
@attr({
readOnly: true,
emptyArrayIfMissing: true,
})
dns_names;
/**
* Attributes of this resource, if any, represented as a JSON fragment.
* @type {FragmentHostAttributesModel}
* True if the host is static.
* @type {boolean}
*/
@fragment('fragment-host-attributes', { defaultValue: {} }) attributes;
get isStatic() {
return this.type === 'static';
}
/**
* True if the host is plugin.
* @type {boolean}
*/
get isPlugin() {
return this.type === 'plugin';
}
/**
* True if the host plugin type is AWS.
* @type {boolean}
*/
get isAWS() {
return this.compositeType === 'aws';
}
/**
* True if the host plugin type is Azure.
* @type {boolean}
*/
get isAzure() {
return this.compositeType === 'azure';
}
/**
* If host is a plugin return `plugin.name`,
* otherwise return the host type.
* @type {string}
*/
get compositeType() {
return this.isPlugin ? this.plugin.name : this.type;
}
/**
* Sets `type`. If type is different than `static`, sets `type` to `plugin`
* and `plugin.name` to the specified type.
*/
set compositeType(type) {
if (type === 'static') {
this.type = 'static';
} else {
this.type = 'plugin';
this.plugin = { name: type };
}
}
}
-9
View File
@@ -1,16 +1,10 @@
import GeneratedManagedGroupModel from '../generated/models/managed-group';
import { attr } from '@ember-data/model';
import { fragment } from 'ember-data-model-fragments/attributes';
import { A } from '@ember/array';
export default class ManagedGroupModel extends GeneratedManagedGroupModel {
// =attributes
// =error attributes
// These attributes exist solely to capture errors on nested fields.
// See the application adapter's error normalization method for
// more information.
@attr('string', { readOnly: true }) attributes_filter;
/**
@@ -23,7 +17,4 @@ export default class ManagedGroupModel extends GeneratedManagedGroupModel {
emptyArrayIfMissing: true,
})
member_ids;
@fragment('fragment-managed-group-attributes', { defaultValue: {} })
attributes;
}
+12 -3
View File
@@ -1,5 +1,5 @@
import GeneratedRoleModel from '../generated/models/role';
import { fragmentArray, array } from 'ember-data-model-fragments/attributes';
import { attr } from '@ember-data/model';
export default class RoleModel extends GeneratedRoleModel {
// =attributes
@@ -11,7 +11,7 @@ export default class RoleModel extends GeneratedRoleModel {
* see obvious. Instead, the application layer is expected to load referenced
* users and groups as needed.
*/
@fragmentArray('fragment-principal', {
@attr('principal-array', {
readOnly: true,
emptyArrayIfMissing: true,
})
@@ -21,7 +21,16 @@ export default class RoleModel extends GeneratedRoleModel {
* Grant strings are read-only. But grants can be persisted via a dedicated
* call to `saveGrantStrings(grants)`.
*/
@array('string', { readOnly: true }) grant_strings;
@attr({ readOnly: true, emptyArrayIfMissing: true }) grant_strings;
/**
* Convenience for looking up the grant scope, if loaded.
*/
get grantScope() {
return this.grant_scope_id
? this.store.peekRecord('scope', this.grant_scope_id)
: null;
}
// =methods
+4 -4
View File
@@ -13,7 +13,7 @@ class SessionCredential {
/**
*
*/
static Library = class Library {
static Source = class Source {
id;
name;
description;
@@ -42,7 +42,7 @@ class SessionCredential {
// =attributes
rawCredential;
library;
source;
#payloadSecret;
/**
@@ -72,8 +72,8 @@ class SessionCredential {
// =methods
constructor(cred) {
const { id, name, description, type } = cred.credential_library;
this.library = new SessionCredential.Library(id, name, description, type);
const { id, name, description, type } = cred.credential_source;
this.source = new SessionCredential.Source(id, name, description, type);
this.#payloadSecret = cred.secret;
this.rawCredential = cred;
}
+153 -35
View File
@@ -1,34 +1,43 @@
import GeneratedTargetModel from '../generated/models/target';
import { fragment, fragmentArray } from 'ember-data-model-fragments/attributes';
import { computed } from '@ember/object';
import { attr } from '@ember-data/model';
export default class TargetModel extends GeneratedTargetModel {
// =attributes
/**
* Attributes of this resource, if any, represented as a JSON fragment.
* @type {FragmentTargetAttributesModel}
*/
@fragment('fragment-target-attributes', { defaultValue: {} }) attributes;
@attr('number', {
isNestedAttribute: true,
description: 'The default port a target should use if present.',
})
default_port;
/**
* @type {[FragmentHostSourceModel]}
* @type Array
*/
@fragmentArray('fragment-host-source', {
@attr('host-source-id-array', {
readOnly: true,
emptyArrayIfMissing: true,
})
host_sources;
/**
* Credential source ids are read only and can be
* persisted via a dedicated call to `addCredentialSources()`.
* Brokered Credential source ids are read only and can be
* persisted via a dedicated call to `addBrokeredCredentialSources()`.
*/
@fragmentArray('fragment-string', {
@attr('string-array', {
readOnly: true,
emptyArrayIfMissing: true,
})
application_credential_source_ids;
brokered_credential_source_ids;
/**
* Injected Application Credential source ids are read only and can be
* persisted via a dedicated call to `addInjectedApplicationCredentialSources()`.
*/
@attr('string-array', {
readOnly: true,
emptyArrayIfMissing: true,
})
injected_application_credential_source_ids;
/**
* An array of resolved host set and host catalog instances. Model instances
@@ -36,7 +45,6 @@ export default class TargetModel extends GeneratedTargetModel {
* instances). Unresolvable instances are excluded from the array.
* @type {[{model: HostSetModel, hostCatalog: HostCatalogModel}]}
*/
@computed('host_sources.[]', 'store')
get hostSets() {
return this.host_sources
.map(({ host_source_id, host_catalog_id }) => ({
@@ -47,17 +55,38 @@ export default class TargetModel extends GeneratedTargetModel {
}
/**
* An array of resolved credential library instances. Model instances
* An array of resolved credential library and credential instances. Model instances
* must already be loaded into the store (this method will not load unloaded
* instances). Unresolvable instances are excluded from the array.
* @type {[CredentialLibraryModel]}
* @type {[CredentialLibraryModel, CredentialModel]}
*/
@computed('application_credential_source_ids.[]', 'store')
get credentialLibraries() {
return this.application_credential_source_ids
.map((source) =>
this.store.peekRecord('credential-library', source.value)
)
get brokeredCredentialSources() {
return this.brokered_credential_source_ids
.map((source) => {
if (source.value.startsWith('cred')) {
return this.store.peekRecord('credential', source.value);
} else {
return this.store.peekRecord('credential-library', source.value);
}
})
.filter(Boolean);
}
/**
* An array of resolved credential library and credential instances. Model instances
* must already be loaded into the store (this method will not load unloaded
* instances). Unresolvable instances are excluded from the array.
* @type {[CredentialLibraryModel, CredentialModel]}
*/
get injectedApplicationCredentialSources() {
return this.injected_application_credential_source_ids
.map((source) => {
if (source.value.startsWith('cred')) {
return this.store.peekRecord('credential', source.value);
} else {
return this.store.peekRecord('credential-library', source.value);
}
})
.filter(Boolean);
}
@@ -149,17 +178,20 @@ export default class TargetModel extends GeneratedTargetModel {
}
/**
* Adds credential libraries via the `add-credential-sources` method.
* Adds credential sources via the `add-credential-sources` method.
* See serializer and adapter for more information.
* @param {[string]} credentialLibraryIDs
* @param {[string]} brokeredCredentialSourceIDs
* @param {object} options
* @param {object} options.adapterOptions
* @return {Promise}
*/
addCredentialSources(credentialLibraryIDs, options = { adapterOptions: {} }) {
addBrokeredCredentialSources(
brokeredCredentialSourceIDs,
options = { adapterOptions: {} }
) {
const defaultAdapterOptions = {
method: 'add-credential-sources',
credentialLibraryIDs,
brokeredCredentialSourceIDs,
};
// There is no "deep merge" in ES.
return this.save({
@@ -172,20 +204,46 @@ export default class TargetModel extends GeneratedTargetModel {
}
/**
* Delete credential libraries via the `remove-credential-sources` method.
* Adds credential sources via the `add-credential-sources` method.
* See serializer and adapter for more information.
* @param {[string]} credentialLibraryIDs
* @param {[string]} injectedApplicationCredentialSourceIDs
* @param {object} options
* @param {object} options.adapterOptions
* @return {Promise}
*/
removeCredentialSources(
credentialLibraryIDs,
addInjectedApplicationCredentialSources(
injectedApplicationCredentialSourceIDs,
options = { adapterOptions: {} }
) {
const defaultAdapterOptions = {
method: 'add-credential-sources',
injectedApplicationCredentialSourceIDs,
};
// There is no "deep merge" in ES.
return this.save({
...options,
adapterOptions: {
...defaultAdapterOptions,
...options.adapterOptions,
},
});
}
/**
* Delete credential libraries and credentials via the `remove-credential-sources` method.
* See serializer and adapter for more information.
* @param {[string]} brokeredCredentialSourceIDs
* @param {object} options
* @param {object} options.adapterOptions
* @return {Promise}
*/
removeBrokeredCredentialSources(
brokeredCredentialSourceIDs,
options = { adapterOptions: {} }
) {
const defaultAdapterOptions = {
method: 'remove-credential-sources',
credentialLibraryIDs,
brokeredCredentialSourceIDs,
};
// There is no "deep merge" in ES.
return this.save({
@@ -198,12 +256,72 @@ export default class TargetModel extends GeneratedTargetModel {
}
/**
* Delete a single credential library set via the `remove-credential-sources` method.
* @param {number} credentialLibraryID
* Delete a single credential library/credential set via the `remove-credential-sources` method.
* @param {number} brokeredCredentialSourceID
* @param {object} options
* @return {Promise}
*/
removeCredentialSource(credentialLibraryID, options) {
return this.removeCredentialSources([credentialLibraryID], options);
removeBrokeredCredentialSource(brokeredCredentialSourceID, options) {
return this.removeBrokeredCredentialSources(
[brokeredCredentialSourceID],
options
);
}
/**
* Delete credential libraries and credentials via the `remove-credential-sources` method.
* See serializer and adapter for more information.
* @param {[string]} injectedApplicationCredentialSourceIDs
* @param {object} options
* @param {object} options.adapterOptions
* @return {Promise}
*/
removeInjectedApplicationCredentialSources(
injectedApplicationCredentialSourceIDs,
options = { adapterOptions: {} }
) {
const defaultAdapterOptions = {
method: 'remove-credential-sources',
injectedApplicationCredentialSourceIDs,
};
// There is no "deep merge" in ES.
return this.save({
...options,
adapterOptions: {
...defaultAdapterOptions,
...options.adapterOptions,
},
});
}
/**
* Delete a single credential library/credential set via the `remove-credential-sources` method.
* @param {number} injectedApplicationCredentialSourceID
* @param {object} options
* @return {Promise}
*/
removeInjectedApplicationCredentialSource(
injectedApplicationCredentialSourceID,
options
) {
return this.removeInjectedApplicationCredentialSources(
[injectedApplicationCredentialSourceID],
options
);
}
/**
* True if the target type is tcp.
* @type {boolean}
*/
get isTCP() {
return this.type === 'tcp';
}
/**
* True if the target type is ssh.
* @type {boolean}
*/
get isSSH() {
return this.type === 'ssh';
}
}
+1 -1
View File
@@ -40,7 +40,7 @@ export default class UserModel extends GeneratedUserModel {
* There are many options, so we fallback in order of precedence.
* @type {string}
*/
@computed('email,full_name,login_name,displayName')
@computed('email', 'full_name', 'login_name')
get accountName() {
const { email, full_name, login_name } = this;
return email || full_name || login_name;
+88
View File
@@ -0,0 +1,88 @@
import GeneratedWorkerModel from '../generated/models/worker';
import { attr } from '@ember-data/model';
export default class WorkerModel extends GeneratedWorkerModel {
// =attributes
/**
* Names are optional on models in our API. Thus we need to fallback on ID
* for display purposes.
* @type {string}
*/
get displayName() {
return this.name || this.id;
}
/**
* Returns whether the worker is a pki worker.
* @type {boolean}
*/
get isPki() {
return this.type === 'pki';
}
/**
* Returns the number of config tags present on the worker.
* @type {number}
*/
get tagCount() {
if (!this.config_tags) {
return 0;
}
return Object.values(this.config_tags).reduce(
(previousCount, currentTags) => previousCount + currentTags.length,
0
);
}
/**
* Returns the config tags as an array of key/value pair objects.
* @type {[object]}
*/
getConfigTagList() {
if (!this.config_tags) {
return null;
}
return Object.entries(this.config_tags).flatMap(([key, value]) =>
value.map((tag) => ({ key, value: tag }))
);
}
@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,
})
canonical_tags;
@attr({
description:
"The tags set in the worker's configuration file.\nOutput only.",
readOnly: true,
})
config_tags;
/**
* Method to modify the adapter to handle custom POST route for creating worker.
* @param {string} workerGeneratedAuthToken
* @param {object} options
* @param {object} options.adapterOptions
* @return {Promise}
*/
createWorkerLed(workerGeneratedAuthToken, options = { adapterOptions: {} }) {
const defaultAdapterOptions = {
method: 'create:worker-led',
workerGeneratedAuthToken,
};
return super.save({
...options,
adapterOptions: {
...defaultAdapterOptions,
...options.adapterOptions,
},
});
}
}
+3 -3
View File
@@ -33,12 +33,12 @@ export default class AccountSerializer extends ApplicationSerializer {
* `attributes` entirely on update.
*/
serializeOIDC(snapshot) {
const { isNew } = snapshot?.record;
const { isNew } = snapshot?.record || {};
let serialized = super.serialize(...arguments);
delete serialized.attributes;
if (isNew) {
serialized.attributes = {};
const { issuer, subject } = snapshot.attr('attributes').record;
const { issuer, subject } = snapshot.record;
if (issuer) serialized.attributes.issuer = issuer;
if (subject) serialized.attributes.subject = subject;
}
@@ -70,7 +70,7 @@ export default class AccountSerializer extends ApplicationSerializer {
}
// Change password custom method
if (snapshot?.adapterOptions?.method === 'change-password') {
const { currentPassword, newPassword } = snapshot?.adapterOptions;
const { currentPassword, newPassword } = snapshot?.adapterOptions || {};
serialized = this.serializeForChangePassword(
snapshot,
currentPassword,
+124 -7
View File
@@ -50,6 +50,20 @@ export default class ApplicationSerializer extends RESTSerializer {
// Do not serialize `disabled` fields.
// TODO: disabled is temporarily disabled
if (key === 'disabled') delete json[key];
// Push nested attributes down into the attributes key
if (options.isNestedAttribute && json[key] !== undefined) {
if (!json.attributes) json.attributes = {};
json.attributes[key] = json[key];
delete json[key];
}
// Push nested secrets down into the secrets key
if (options.isNestedSecret) {
if (json[key]) {
if (!json.secrets) json.secrets = {};
json.secrets[key] = json[key];
}
delete json[key];
}
return value;
}
@@ -82,7 +96,7 @@ export default class ApplicationSerializer extends RESTSerializer {
delete serialized.scope;
// And serialize `scope_id`
if (this.serializeScopeID) {
const scope_id = snapshot?.attr('scope')?.attr('scope_id');
const scope_id = snapshot?.attr('scope')?.scope_id;
if (scope_id) serialized.scope_id = scope_id;
}
return serialized;
@@ -123,7 +137,7 @@ export default class ApplicationSerializer extends RESTSerializer {
}
/**
* In our API, singluar resources are _unrooted_, whereas Ember Data expects
* In our API, singular resources are _unrooted_, whereas Ember Data expects
* them to be rooted under their model name, e.g. `{modelName: {…}}`.
* This method makes this transformation to accommodate Ember Data.
*
@@ -185,19 +199,122 @@ export default class ApplicationSerializer extends RESTSerializer {
}
/**
* One consequence of using model fragments to represent the embedded scope
* is that they cannot have `id` fields. We still need to know scope IDs,
* so we copy the `scope.id` value into the `scope.scope_id` field.
* Hydrates the incoming scope JSON with additional boolean fields and
* delegates nested attributes and secrets normalization.
* @override
* @see FragmentScope
* @param {Model} typeClass
* @param {Object} hash
* @return {Object}
*/
normalize(typeClass, hash) {
const normalizedHash = copy(hash, true);
let normalizedHash = copy(hash, true);
const scopeID = get(normalizedHash, 'scope.id');
const scopeType = get(normalizedHash, 'scope.type');
if (scopeID) normalizedHash.scope.scope_id = scopeID;
if (scopeType) {
normalizedHash.scope.type = scopeType;
normalizedHash.scope.isGlobal = scopeType === 'global';
normalizedHash.scope.isOrg = scopeType === 'org';
normalizedHash.scope.isProject = scopeType === 'project';
}
normalizedHash = this.normalizeNestedAttributes(typeClass, normalizedHash);
normalizedHash = this.normalizeNestedSecrets(typeClass, normalizedHash);
return super.normalize(typeClass, normalizedHash);
}
/**
* Certain typed resources in the API have type-specific fields nested under
* an `attributes` key in the payload
* (e.g. `attributes: { fieldName: '123' }`). Since Ember Data lacks
* first-class support for nested attributes, these fields must be hoisted up
* into the main body of the payload.
*
* In order to annotate a field as being a nested attribute, add the key name
* to the `nestedAttributes` field on the serializer:
* `@attr('string', { isNestedAttribute: true }) fieldName;`
*
* @param {Model} typeClass
* @param {Object} hash
* @return {Object}
*/
normalizeNestedAttributes(typeClass, hash) {
typeClass.attributes.forEach((attribute) => {
const {
name,
options: { isNestedAttribute },
} = attribute;
const value = hash.attributes?.[name];
const isUndefined = value === undefined;
if (isNestedAttribute && !isUndefined) hash[name] = value;
});
return hash;
}
/**
* If an attribute is declared with the `isNestedSecret` option, it will
* be explicitly unset in the incoming payload to `null`. This helps ensure
* secret values do not linger in the UI.
*
* For example:
* `@attr('string', { isNestedSecret: true }) superSecretShhh;`
*
* @param {Model} typeClass
* @param {Object} hash
* @return {Object}
*/
normalizeNestedSecrets(typeClass, hash) {
typeClass.attributes.forEach((attribute) => {
const {
name,
options: { isNestedSecret },
} = attribute;
const value = hash.secrets?.[name];
if (isNestedSecret) hash[name] = value || null;
});
return hash;
}
/**
* If the API returns an updated response with removed fields, we need to
* explicitly set any read only field that is on the model but wasn't
* returned in the response to `null`.
* This will let ember data know the field was removed, otherwise
* it won't touch the removed field and will use the old value.
*
* @override
* @param {object} store
* @param {object} primaryModelClass
* @param {object} payload
* @param {?string} id
* @param {string} requestType
* @return {object}
*/
normalizeUpdateRecordResponse(
store,
primaryModelClass,
payload,
id,
requestType
) {
const newPayload = copy(payload, true);
primaryModelClass.attributes.forEach((attribute) => {
const {
name,
options: { readOnly },
} = attribute;
if (readOnly && !Object.prototype.hasOwnProperty.call(newPayload, name)) {
newPayload[name] = null;
}
});
return super.normalizeUpdateRecordResponse(
store,
primaryModelClass,
newPayload,
id,
requestType
);
}
}
@@ -81,7 +81,6 @@ export default class AuthMethodSerializer extends ApplicationSerializer {
*
* TODO: generalize this so that all zero values are reified.
* @override
* @see FragmentScope
* @param {Model} typeClass
* @param {Object} hash
* @return {Object}
@@ -1,3 +1,25 @@
import ApplicationSerializer from './application';
export default class CredentialLibrarySerializer extends ApplicationSerializer {}
export default class CredentialLibrarySerializer extends ApplicationSerializer {
// =properties
/**
* @type {boolean}
*/
serializeScopeID = false;
/**
* @override
* @method serialize
* @param {Snapshot} snapshot
*/
serialize() {
const serialized = super.serialize(...arguments);
if (serialized.attributes) {
// Serialize `http_request_body` only if `http_method` is POST
if (!serialized.attributes?.http_method?.match(/post/i))
delete serialized.attributes.http_request_body;
}
return serialized;
}
}
@@ -1,3 +1,50 @@
import ApplicationSerializer from './application';
import { copy } from 'ember-copy';
export default class CredentialStoreSerializer extends ApplicationSerializer {}
export default class CredentialStoreSerializer extends ApplicationSerializer {
/**
* @override
* @method serialize
* @param {Snapshot} snapshot
*/
serialize(snapshot) {
switch (snapshot.record.type) {
case 'vault':
return this.serializeVault(...arguments);
case 'static':
default:
return this.serializeStatic(...arguments);
}
}
serializeVault() {
const serialized = super.serialize(...arguments);
if (serialized.attributes) {
// Token cannot be unset. If it's falsy, it must be removed.
if (!serialized.attributes?.token) delete serialized.attributes.token;
// Client certificate key cannot be unset when certificate is set.
// If it's falsy, it must be removed.
if (
!serialized.attributes?.client_certificate_key &&
serialized.attributes?.client_certificate
)
delete serialized.attributes.client_certificate_key;
}
return serialized;
}
serializeStatic() {
const serialized = super.serialize(...arguments);
// Delete attributes for static cred store
delete serialized.attributes;
return serialized;
}
normalize(typeClass, hash, ...rest) {
const normalizedHash = copy(hash, true);
const normalized = super.normalize(typeClass, normalizedHash, ...rest);
// Remove secret fields as we don't track them after being created/updated
normalized.data.attributes.token = '';
return normalized;
}
}
@@ -0,0 +1,66 @@
import ApplicationSerializer from './application';
import { copy } from 'ember-copy';
export default class CredentialSerializer extends ApplicationSerializer {
/**
* @override
* @method serialize
* @param {Snapshot} snapshot
*/
/**
* @type {boolean}
*/
serializeScopeID = false;
serialize(snapshot) {
switch (snapshot.record.type) {
case 'username_password':
return this.serializeUsernamePassword(...arguments);
case 'ssh_private_key':
default:
return this.serializeSSHPrivateKey(...arguments);
}
}
serializeUsernamePassword() {
const serialized = super.serialize(...arguments);
// Remove non-username_password type attributes
delete serialized.attributes.private_key;
delete serialized.attributes.private_key_passphrase;
// Remove password from the payload if null
// or empty string. This allows the user to only update
// the username without providing the password again.
// Users cannot unset the password, they would have
// to delete the credential entirely.
if (!serialized?.attributes?.password)
delete serialized.attributes.password;
return serialized;
}
serializeSSHPrivateKey() {
const serialized = super.serialize(...arguments);
// Remove non-ssh_private_key type attributes
delete serialized.attributes.password;
// Remove private_key and/or private_key_passphrase from the payload
// if null or empty string. This allows the user to only update
// the username without providing the private key and passphrase again.
// Users cannot unset the private key or passphrase, they would have
// to delete the credential entirely.
if (!serialized?.attributes?.private_key_passphrase)
delete serialized.attributes.private_key_passphrase;
if (!serialized?.attributes?.private_key)
delete serialized.attributes.private_key;
return serialized;
}
normalize(typeClass, hash, ...rest) {
const normalizedHash = copy(hash, true);
const normalized = super.normalize(typeClass, normalizedHash, ...rest);
// Remove secret fields as we don't track them after being created/updated
normalized.data.attributes.password = '';
normalized.data.attributes.private_key = '';
normalized.data.attributes.private_key_passphrase = '';
return normalized;
}
}
@@ -1,26 +0,0 @@
import JSONSerializer from '@ember-data/serializer/json';
export default class FragmentAccountAttributesSerializer extends JSONSerializer {
/**
* If an attribute is annotated as readOnly in the model, don't serialize it.
* Otherwise delegate to default attribute serializer.
*
* @override
* @method serializeAttribute
* @param {Snapshot} snapshot
* @param {Object} json
* @param {String} key
* @param {Object} attribute
*/
serializeAttribute(snapshot, json, key, attribute) {
const { type, options } = attribute;
let value = super.serializeAttribute(...arguments);
// Convert empty strings to null.
if (type === 'string' && json[key] === '') json[key] = null;
// Do not serialize read-only attributes.
if (options.readOnly) delete json[key];
// Client secret cannot be unset. If it's falsy, it must be removed.
if (key === 'client_secret' && !json[key]) delete json[key];
return value;
}
}
@@ -1,27 +0,0 @@
import JSONSerializer from '@ember-data/serializer/json';
export default class FragmentCredentialLibraryAttributesSerializer extends JSONSerializer {
/**
* If an attribute is annotated as readOnly in the model, don't serialize it.
* Otherwise delegate to default attribute serializer.
* Only serialize http_request_body when `http_method` is set to `POST`.
* @override
* @method serializeAttribute
* @param {Snapshot} snapshot
* @param {Object} json
* @param {String} key
* @param {Object} attribute
*/
serializeAttribute(snapshot, json, key, attribute) {
const { type, options } = attribute;
let value = super.serializeAttribute(...arguments);
// Convert empty strings to null.
if (type === 'string' && json[key] === '') json[key] = null;
// Do not serialize read-only attributes.
if (options.readOnly) delete json[key];
// Do not serialize http_request_body unless http_method is POST
if (key === 'http_request_body' && !json['http_method']?.match(/post/i))
delete json[key];
return value;
}
}
@@ -1,34 +0,0 @@
import JSONSerializer from '@ember-data/serializer/json';
export default class FragmentCredentialStoreAttributesSerializer extends JSONSerializer {
/**
* If an attribute is annotated as readOnly in the model, don't serialize it.
* Otherwise delegate to default attribute serializer.
*
* @override
* @method serializeAttribute
* @param {Snapshot} snapshot
* @param {Object} json
* @param {String} key
* @param {Object} attribute
*/
serializeAttribute(snapshot, json, key, attribute) {
const { type, options } = attribute;
let value = super.serializeAttribute(...arguments);
// Convert empty strings to null.
if (type === 'string' && json[key] === '') json[key] = null;
// Do not serialize read-only attributes.
if (options.readOnly) delete json[key];
// Token cannot be unset. If it's falsy, it must be removed.
if (key === 'token' && !json[key]) delete json[key];
// Client certificate key cannot be unset when certificate is set.
// If it's falsy, it must be removed.
if (
key === 'client_certificate_key' &&
!json[key] &&
json['client_certificate']
)
delete json[key];
return value;
}
}
@@ -1,16 +0,0 @@
import JSONSerializer from '@ember-data/serializer/json';
export default class FragmentHostSourceSerializer extends JSONSerializer {
// =methods
/**
* Renames `id` to `host_source_id` because fragments may not have IDs.
* Otherwise normalizes as normal.
* @param {ModelClass} typeClass
* @param {object} resourceHash
* @return {object}
*/
normalize(typeClass, { id: host_source_id, ...obj }) {
return super.normalize(typeClass, { host_source_id, ...obj });
}
}
@@ -1,27 +0,0 @@
import JSONSerializer from '@ember-data/serializer/json';
export default class FragmentManagedGroupAttributesSerializer extends JSONSerializer {
/**
* If an attribute is annotated as readOnly in the model, don't serialize it.
* Otherwise delegate to default attribute serializer.
* @override
* @method serializeAttribute
* @param {Snapshot} snapshot
* @param {Object} json
* @param {String} key
* @param {Object} attribute
*/
serializeAttribute(snapshot, json, key, attribute) {
const { type, options } = attribute;
let value = super.serializeAttribute(...arguments);
// Convert empty string to null.
if (type === 'string' && json[key] === '') json[key] = null;
// Do not serialize read-only attributes.
if (options.readOnly) delete json[key];
// Version is sent only if it has a non-nullish value
if (key === 'version') {
if (json[key] === null || json[key] === undefined) delete json[key];
}
return value;
}
}
@@ -1,16 +0,0 @@
import JSONSerializer from '@ember-data/serializer/json';
export default class FragmentPrincipalSerializer extends JSONSerializer {
// =methods
/**
* Renames `id` to `principal_id` because fragments may not have IDs.
* Otherwise normalizes as normal.
* @param {ModelClass} typeClass
* @param {object} resourceHash
* @return {object}
*/
normalize(typeClass, { id: principal_id, ...obj }) {
return super.normalize(typeClass, { principal_id, ...obj });
}
}
@@ -0,0 +1,59 @@
import ApplicationSerializer from './application';
const fieldsByType = {
aws: [
'disable_credential_rotation',
'region',
'access_key_id',
'secret_access_key',
],
azure: [
'disable_credential_rotation',
'tenant_id',
'client_id',
'subscription_id',
'secret_id',
'secret_value',
],
};
export default class HostCatalogSerializer extends ApplicationSerializer {
// =methods
serialize(snapshot) {
const serialized = super.serialize(...arguments);
switch (snapshot.record.compositeType) {
case 'static':
return this.serializeStatic(...arguments);
default:
return serialized;
}
}
serializeAttribute(snapshot, json, key, attribute) {
const value = super.serializeAttribute(...arguments);
const { isPlugin, compositeType } = snapshot.record;
const { options } = attribute;
// Nested conditionals for readability
// This deletes any fields that don't belong to the record type
if (isPlugin && options.isNestedAttribute && json.attributes) {
// The key must be included in the fieldsByType list above
if (!fieldsByType[compositeType].includes(key))
delete json.attributes[key];
}
// This deletes any fields that don't belong to the record type
if (isPlugin && options.isNestedSecret && json.secrets) {
if (!fieldsByType[compositeType].includes(key)) delete json.secrets[key];
}
// new one for isNestedSecret
return value;
}
serializeStatic() {
const serialized = super.serialize(...arguments);
// Delete unnecessary fields for static host-catalog
delete serialized.attributes;
delete serialized.secrets;
return serialized;
}
}
+52 -3
View File
@@ -1,5 +1,10 @@
import ApplicationSerializer from './application';
import { copy } from 'ember-copy';
const fieldByType = {
aws: ['preferred_endpoints', 'filters', 'sync_interval_seconds'],
azure: ['preferred_endpoints', 'filter', 'sync_interval_seconds'],
};
export default class HostSetSerializer extends ApplicationSerializer {
// =properties
@@ -19,10 +24,17 @@ export default class HostSetSerializer extends ApplicationSerializer {
* @return {object}
*/
serialize(snapshot) {
let serialized = super.serialize(...arguments);
const hostIDs = snapshot?.adapterOptions?.hostIDs;
if (hostIDs) serialized = this.serializeWithHostIDs(snapshot, hostIDs);
return serialized;
if (hostIDs) {
return this.serializeWithHostIDs(snapshot, hostIDs);
} else {
switch (snapshot.record.compositeType) {
case 'static':
return this.serializeStatic(...arguments);
default:
return super.serialize(...arguments);
}
}
}
/**
@@ -37,4 +49,41 @@ export default class HostSetSerializer extends ApplicationSerializer {
host_ids: hostIDs,
};
}
serializeStatic() {
let serialized = super.serialize(...arguments);
// Delete unnecessary fields for static type
delete serialized.attributes;
delete serialized.preferred_endpoints;
delete serialized.sync_interval_seconds;
return serialized;
}
serializeAttribute(snapshot, json, key, attribute) {
const value = super.serializeAttribute(...arguments);
const { isPlugin, compositeType } = snapshot.record;
const { options } = attribute;
if (isPlugin && options.isNestedAttribute) {
if (!fieldByType[compositeType].includes(key)) {
delete json.attributes[key];
}
}
return value;
}
/**
* Temporarily converts `filters` to an array if it is a string. This is a
* quirk of the API.
*
* TODO: remove once API consistently returns arrays.
*/
normalize(typeClass, hash, ...rest) {
const normalizedHash = copy(hash, true);
if (typeof normalizedHash?.attributes?.filters === 'string') {
normalizedHash.attributes.filters = [normalizedHash.attributes.filters];
}
const normalized = super.normalize(typeClass, normalizedHash, ...rest);
return normalized;
}
}
+40 -11
View File
@@ -7,10 +7,10 @@ export default class TargetSerializer extends ApplicationSerializer {
* If `adapterOptions.hostSets` is set to an array of host set models,
* the resulting target serialization should include **only host sets**
* and the version.
* If `adapterOptions.credentialLibraries` is set to an array of
* credential library models, the resulting target serialization should
* include **only credential libraries** and the version.
* Normally, neither host sets or credential libraries are not serialized.
* If `adapterOptions.credentialSources` is set to an array of
* credential library and credential models, the resulting target serialization should
* include **only credential libraries and crendentials** and the version.
* Normally, neither host sets or credential libraries or credentials are not serialized.
* @override
* @param {Snapshot} snapshot
* @return {object}
@@ -21,11 +21,20 @@ export default class TargetSerializer extends ApplicationSerializer {
if (hostSourceIDs) {
serialized = this.serializeWithHostSources(snapshot, hostSourceIDs);
}
const credentialSourceIDs = snapshot?.adapterOptions?.credentialLibraryIDs;
if (credentialSourceIDs)
serialized = this.serializeWithCredentialSources(
const brokeredCredentialSourceIDs =
snapshot?.adapterOptions?.brokeredCredentialSourceIDs;
const injectedApplicationCredentialSourceIDs =
snapshot?.adapterOptions?.injectedApplicationCredentialSourceIDs;
if (brokeredCredentialSourceIDs)
serialized = this.serializeWithBrokeredCredentialSources(
snapshot,
credentialSourceIDs
brokeredCredentialSourceIDs
);
if (injectedApplicationCredentialSourceIDs)
serialized = this.serializeWithInjectedApplicationCredentialSources(
snapshot,
injectedApplicationCredentialSourceIDs
);
return serialized;
}
@@ -48,13 +57,33 @@ export default class TargetSerializer extends ApplicationSerializer {
* Returns a payload containing only version and an array of passed IDs,
* rather than existing instances on the model.
* @param {Snapshot} snapshot
* @param {[string]} credentialSourceIDs
* @param {[string]} brokered_credential_source_ids
* @return {object}
*/
serializeWithCredentialSources(snapshot, credentialSourceIDs) {
serializeWithBrokeredCredentialSources(
snapshot,
brokered_credential_source_ids
) {
return {
version: snapshot.attr('version'),
application_credential_source_ids: credentialSourceIDs,
brokered_credential_source_ids,
};
}
/**
* Returns a payload containing only version and an array of passed IDs,
* rather than existing instances on the model.
* @param {Snapshot} snapshot
* @param {[string]} injected_application_credential_source_ids
* @return {object}
*/
serializeWithInjectedApplicationCredentialSources(
snapshot,
injected_application_credential_source_ids
) {
return {
version: snapshot.attr('version'),
injected_application_credential_source_ids,
};
}
}
+37
View File
@@ -0,0 +1,37 @@
import ApplicationSerializer from './application';
export default class WorkerSerializer extends ApplicationSerializer {
// =methods
/**
* If `adapterOptions.workerGeneratedAuthToken` is set,
* then the payload is serialized via `serializedWithGeneratedToken`.
* @override
* @param {Snapshot} snapshot
* @return {object}
*/
serialize(snapshot) {
let serialized = super.serialize(...arguments);
const workerGeneratedAuthToken =
snapshot?.adapterOptions?.workerGeneratedAuthToken;
if (workerGeneratedAuthToken)
serialized = this.serializeWithGeneratedToken(
snapshot,
workerGeneratedAuthToken
);
return serialized;
}
/**
* Returns a payload with `worker_generated_auth_token` serialized.
* @param {Snapshot} snapshot
* @param {[string]} worker_generated_auth_token
* @return {object}
*/
serializeWithGeneratedToken(snapshot, workerGeneratedAuthToken) {
return {
scope_id: snapshot.attr('scope').scope_id,
worker_generated_auth_token: workerGeneratedAuthToken,
};
}
}
@@ -8,10 +8,11 @@ import { inject as service } from '@ember/service';
* @example
* const filter = new ResourceFilter({
* type: 'oidc',
* status: ['active', 'pending']
* status: ['active', 'pending'],
* authorized_actions: [{ contains: 'read' }]
* });
* log(filter.queryExpression);
* // ("/item/type" == "oidc") and ("/item/status" == "active" or "/item/status" == "pending")
* // ("/item/type" == "oidc") and ("/item/status" == "active" or "/item/status" == "pending") and ("read" in "/item/authorized_actions")
*/
export class ResourceFilter {
// =attributes
@@ -30,7 +31,14 @@ export class ResourceFilter {
const value = this.#filterObject[key];
const valuesArray = Array.isArray(value) ? value : [value];
return this.parenthetical(
this.or(valuesArray.map((value) => this.equals(key, value)))
this.or(
valuesArray.map((value) => {
if (value && value.contains) {
return this.in(value.contains, key);
}
return this.equals(key, value);
})
)
);
})
.flat()
@@ -56,6 +64,15 @@ export class ResourceFilter {
return value !== null ? `"/item/${key}" == "${value}"` : null;
}
/**
* @param {string} key
* @param value
* @return {string}
*/
in(value, key) {
return value !== null ? `"${value}" in "/item/${key}"` : null;
}
/**
* @param {string[]} clauses
* @return {string}
@@ -0,0 +1,16 @@
import Transform from '@ember-data/serializer/transform';
export default class HostSourceIdArrayTransform extends Transform {
deserialize(serialized) {
const stringValues = serialized || [];
return stringValues.map(({ id: host_source_id, ...obj }) => ({
host_source_id,
...obj,
}));
}
serialize(deserialized) {
const strings = deserialized || [];
return strings.map(({ host_source_id: id, ...obj }) => ({ id, ...obj }));
}
}
@@ -0,0 +1,21 @@
import Transform from '@ember-data/serializer/transform';
export default class PrincipalArrayTransform extends Transform {
deserialize(serialized) {
const stringValues = serialized || [];
return stringValues.map(({ id: principal_id, scope_id, type }) => ({
principal_id,
scope_id,
type,
}));
}
serialize(deserialized) {
const strings = deserialized || [];
return strings.map(({ principal_id: id, scope_id, type }) => ({
id,
scope_id,
type,
}));
}
}
@@ -0,0 +1,13 @@
import Transform from '@ember-data/serializer/transform';
export default class StringArrayTransform extends Transform {
deserialize(serialized) {
const stringValues = serialized || [];
return stringValues.map((value) => ({ value }));
}
serialize(deserialized) {
const strings = deserialized || [];
return strings.map(({ value }) => value);
}
}
-1
View File
@@ -1 +0,0 @@
export { default } from 'api/abilities/collection';
@@ -0,0 +1 @@
export { default } from 'api/abilities/credential-library';
@@ -0,0 +1 @@
export { default } from 'api/abilities/credential-store';
+1
View File
@@ -0,0 +1 @@
export { default } from 'api/abilities/credential';
+1
View File
@@ -0,0 +1 @@
export { default } from 'api/abilities/host-catalog';
+1
View File
@@ -0,0 +1 @@
export { default } from 'api/abilities/worker';
+1
View File
@@ -0,0 +1 @@
export { default } from 'api/adapters/host-catalog';
+1
View File
@@ -0,0 +1 @@
export { default } from 'api/models/credential';
@@ -1 +0,0 @@
export { default } from 'api/models/fragment-account-attributes';
@@ -1 +0,0 @@
export { default } from 'api/models/fragment-credential-library-attributes';
@@ -1 +0,0 @@
export { default } from 'api/models/fragment-credential-store-attributes';
@@ -1 +0,0 @@
export { default } from 'api/models/fragment-host-attributes';
@@ -1 +0,0 @@
export { default } from 'api/models/fragment-host-source';
@@ -1 +0,0 @@
export { default } from 'api/models/fragment-managed-group-attributes';
@@ -1 +0,0 @@
export { default } from 'api/models/fragment-principal';
-1
View File
@@ -1 +0,0 @@
export { default } from 'api/models/fragment-scope';
@@ -1 +0,0 @@
export { default } from 'api/models/fragment-target-attributes';
+1
View File
@@ -0,0 +1 @@
export { default } from 'api/models/worker';
+1
View File
@@ -0,0 +1 @@
export { default } from 'api/serializers/credential';
@@ -1 +0,0 @@
export { default } from 'api/serializers/fragment-account-attributes';
@@ -1 +0,0 @@
export { default } from 'api/serializers/fragment-credential-library-attributes';
Loaded 100 of 1050 files, more files were not shown because too many files have changed in this diff. Show more