Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: provisioning in app #4221

Merged
merged 217 commits into from
Dec 11, 2020
Merged

feat: provisioning in app #4221

merged 217 commits into from
Dec 11, 2020

Conversation

benbrown
Copy link
Contributor

@benbrown benbrown commented Sep 21, 2020

Creating this PR to track progress on this

Description

Changes to the server and client to implement the ability to create Azure resources as part of creating a publishing profile.

  • Require Azure login
  • Present relevant options
  • Take provisioning action
  • Report on status of provisioning action in UI

Task Item

Closes #3385
Closes #3384
Closes #4690
Closes #5264
Closes #4693
Closes #4692

@benbrown
Copy link
Contributor Author

Updates:

  • I added a form on the main publish page with fields for access token and graph token. pasting a new token in here will update local storage. hopefully this is easier than editing it in the browser prefs!
  • I made all the web routes match the spec
  • I made all the web routes use the token in the Authorization header
  • I made sure I could do a simple provision with these changes

@benbrown
Copy link
Contributor Author

benbrown commented Sep 22, 2020

  • moving this comment down the chain -

@benbrown
Copy link
Contributor Author

benbrown commented Sep 23, 2020

Tasks:

  • Merge main
  • Move Azure provision UI elements in to the azurePlugin (see precedent in tony's pva branch)
  • Move the API calls into the component and out of global state (subscription, resourcegroups, resources, deploylocations currently in global state)

@cwhitten cwhitten merged commit d79ef62 into main Dec 11, 2020
@cwhitten cwhitten deleted the wenyluo/provision branch December 11, 2020 18:46
alanlong9278 added a commit that referenced this pull request Dec 17, 2020
* main: (22 commits)
  fix: Added missing dependencies to /types and /extensions packages. (#4436)
  fix: Updated publish extensions to use updated APIs (#5346)
  docs: Supported/Recommended OS Documentation (#5330)
  chore: suppress/fix lgtm alerts (#4678)
  v1.3.0
  release: update changelog
  release: update changelog github user map
  RC5 (#5327)
  fix: security analysis failed because of ini@1.3.5 (#5326)
  fix: undo failed after click create trigger and remove trigger (#5325)
  fix: LG diagnostics mismatch by update reference in cache  (#5323)
  fix: Start panel open on start/restart operation (#5322)
  fix sentence wrap bug (#5310)
  fix: use dropdown for LUIS region in skill bot settings (#5318)
  chore: Updated to latest lib (#5316)
  feat: provisioning in app (#4221)
  surface dotnet build error on runtime (#5314)
  fix: runtime throw exception when there is no cosmosdb config (#5313)
  chore: Remove onnxruntime.pdb from Publishing (#5291)
  fix UX bug in setting page (#5306)
  ...
lei9444 pushed a commit to lei9444/BotFramework-Composer-1 that referenced this pull request Jun 15, 2021
* provision UI change

* add provision UI (client)

* server change to support provision

* fix conflict when rebase main

* add provision UI (client)

* fix conflict in api.ts

* add a login plugin as middleware to check the token

* add azureResourceManager to manage provision

* change azure publish plugin to add provision feature

* auth in client

* add appinsight packages because of version not update in npmjs

* polish

* fix bug after merge main

* fix subscription getting issue in client

* add arm-appinsight build into azurePublish build

* fix lint

* add azure api utility class

* bring API calls into alignment with spec doc
standardize use of Authorization token across azure APIs
add TEMPORARY form for setting graph and access token

* clean up the web ui to get it slightly closer to the current designs

* update to create resources to include toggle

* add resource provider location api for differernt resource type

* add local file

* merge main
deal with problems created by merging main

* locale file

* refactor the azure provisioning to live inside the plugin

* mark globally scoped azure feature for deprecation

* do some very very basic error handlign on the subscriber endpoint

* add parts of sku checking, name checking

* add subtitle and separator in wizard

* change location of azure provision util

* remove azureLogin plugin and polish UI

* remove azure api call in provision controller, make azure api call in azure Publsh plugin api, and change azure api call from restapi to npm package

* remove azure api call in client

* remove azureLogin in package.json

* reuse edit and add profile Dialog

* split into two page

* big refactor on the internals of the azure provisioning process

* finish the refactor of deploy process.

* slight updates to handle blank environment value

* Standardize the mechanism used to track ongoing background processes and report their status
Apply this mechanism on azure deploy and azure publish
clean up consoles
clean up comments

* add qna provision to azureProvisionManager.ts

* add bundleId

* add notification

* Update localpublish to report its status in the slightly new format

* add ui preview list api

* change accoutName param to name

* add azure functions provision

* add provision detail page

* update locale file:

* add jsonEditor in plugin ui

* refactor the resource list a tiny bit so it comes from the server not the client

* fix issue

* clean up duplicate provision config

* add icon for resources

* add provisionStatus state in botState, and remove provisionState and provisionConfig in settings.publishTarget

* enable notification update

* remove azure package in server

* yarn.lock change

* update notification base on the same object

* first try in moving buttons out

* Revert "first try in moving buttons out"

This reverts commit 98c515f9c8064fd72b55eddfa9206a7f93f972d3.

* back button implement

* polish css

* fix build

* change dialog title with the page change

* add option to force rebuild all extensions

* fix publish plugin api return values

* update plugin with new extension apis

* add schema in plugin json editor and add botservice package, remove appinsight package

* remove appinsight package

* polish

* fix save import config

* fix save issue in edit profile

* send the config back if provision success, and just provision the resources which required is true

* fix bundleId so azureFunctionsPublish works. add getType to extension api to access publish type. remove requirement that resources be marked as required. use group names provided by server.

* fix publishTarget update after provision

* enable login in electron

* fix build

* fix UI overflow, modify provision message, fix page was freeze by login in web

* lock file change

* cherry pick commit about getting two token by one pop up window

* fix electron l10n error

* fix build

* classify error message, create customized error

* finish error classify

* make sure the location for luis region is validated

* fix functions provision issue, polish review list column width

* fix notification update and reshow after close current notification

* persist notification log in file

* remove access token in publihs schema, fix bf-lu version in publish

* add persona

* polish Persona

* add toggle in review list and make all resources be selected by default

* add luis region dropdown

* use botservice package in npmjs instead of self built

* fix conflict in publish result type

* fix conflict

* fix build conflict with  pva

* update azure extension node build

* add default runtime identifier

* finish web login

* fix build

* polish

* polish name check, adding webapp name check

* add user log out button

* fix: add unit tests for wenyluo/provision branch (microsoft#5002)

* add provision api/ui unit test

* fix ut for publish

* call token api directly instead use msal

* yarn lock change

* split ui test and node test

* filter test file in  build

* link provision into settings page

* polish ui

* fix data-Id warning in client

* fix time problem

* fix two issues

1. echo bot goes through the luis publish logic and throw exception.
2. logger exception, just disable it.

* remove login in local publish

* fix hostname and luisResource

* fix qna location

* fix build error in mockRemotePublish and sample-ui-plugin extensions

* fix provision target only save in root project

* fix logout bug and fix build

* add win-x64 into provision result

* add give token dialog

* fix bug

* fix bug

* fix bug cause auth dialog

* fix region bug

* fix logger bug and fix comment

* fix lint

* fix ut

* Update webpack.config.js

* Revert "Update webpack.config.js"

This reverts commit 8c9b6b8eba92add3629abf111c986d8297d3dfb0.

* Revert "Update webpack.config.js"

This reverts commit 8c9b6b8eba92add3629abf111c986d8297d3dfb0.

* change webpack and package.json

* remove annotation

* fix webpack

* fix comments

* remove unnecessary this in function calling

* remove publish page test now, and add it later

* fix lint

* refactor publish profile dialog

* polish

* fix lint

* minor refresh time

* fix build

* fix lint

* add weblogin environment value into client

* Revert "Remove Orchestrator pdbs from Azure publish flow (microsoft#5275)"

This reverts commit f94c72c.

* fix order of variables

* unity the data structure come from status and history api call

* fix comments

* polish

* fix build

Co-authored-by: Wenyi Luo <wenyluo@microsoft.com>
Co-authored-by: Qi Kang <qika@microsoft.com>
Co-authored-by: Andy Brown <asbrown002@gmail.com>
Co-authored-by: Tony Anziano <tonyanziano5@gmail.com>
Co-authored-by: Qi Kang <kangqidev@gmail.com>
Co-authored-by: Lu Han <32191031+luhan2017@users.noreply.github.com>
Co-authored-by: Tai Chou <tachou@microsoft.com>
Co-authored-by: Chris Whitten <christopher.whitten@microsoft.com>
Co-authored-by: Dong Lei <donglei@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.3 1.3 Release
Projects
None yet