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

UI MVP #2001

Merged
merged 60 commits into from
Jun 9, 2022
Merged

UI MVP #2001

merged 60 commits into from
Jun 9, 2022

Conversation

damoodamoo
Copy link
Member

@damoodamoo damoodamoo commented Jun 8, 2022

PR for issue #1406 - User Interface

Main areas of change

  • ./ui - all the client side code, all new
  • ./api_app - some tweaks to models - field added to resource object, and migration added to add the field across all resource objects in cosmos.
  • Dockerfile - removed option to install Node, made it the default behaviour
  • Makefile - added target to deploy UI. Relies on DEPLOY_UI=true in .env

image

damoodamoo and others added 30 commits May 4, 2022 21:30
* basic polling

* btn placement, panel

* fun with polling

* mostly implemented

* shimmer on loading

* polling from config

* pr feedback
* basic polling

* btn placement, panel

* fun with polling

* mostly implemented

* shimmer on loading

* polling from config

* pr feedback

* shimmer at top of list
* basic resource card

* callout and context menu

* pr snags
* ResourcePropertyPanel implemented to display resource properties in a consistent manner.
* ResourcePropertyPanel included in WorkspaceItem, WorkspaceServiceItem and UserResourceItem
* Property values starting with https:// rendered as links.
* updatedWhen formatted using moment.
* Adds a Connect button to the ResourceCard
* Connect button shown if there's a connection_uri available in the resource props.
* connection_uri launched in new window.
* enable browser debugging

* Update to use pwa-msedge

Co-authored-by: Steve Haigh <steve_a_haigh@hotmail.com>

Co-authored-by: Steve Haigh <steve_a_haigh@hotmail.com>
* Added pages within create panel

* Added dynamic form and creating page

* Added workspace service integration

* Added to main services page

* Moved navigate hook

* New line

* New line

* Remove npm lock
* better control of all contexts, resource update management, disable/enable implemented

* cards with disable/enable/delete

* deleted

* merged form, fixed snags

* fixed notifications race issues

* PR snags
* initial actions implementation

* moved all workspace props to context for consistency

* workspace context fixed + owned by workspace provider

* improved stability on adding multiple ops

* getting all ops consistently, clearing ws context

* customactions implemented and tested
* add empty ResourcePropertyPanel component

* add initial display of workspace properties

* display workspace service and user resource properties too

* Initial work with History

* Dynamic Key/value display

* UI Tweaks

* DetailsList

* Sorted the history for most recent

Co-authored-by: Christofer Löf <166592+christoferlof@users.noreply.github.com>
* shared services, tweaks to allow Create form to create any resource type

* pivot areas used + resource history re-used across all resource types
* Fix Guacamole refresh token (#1785)

* Fixing Guacamole refresh token

* Fix aad tenant bug

Co-authored-by: Anat Balzam <anatbalzam@microsoft.com>

* Add Contributor to the Role permissions (#1781)

* Put it back to Owner during investigation

* Attempt to find correct permissions

* User Access Administrator

Co-authored-by: Marcus Robinson <marrobi@microsoft.com>

* Ignore Only Root index.html (#1800)

* fixes #1775

* remove unwanted cli prefix

* only ignore root index.html

* Gitea/Guacamole should be able to access AAD_TENANT_ID (#1798)

* Add auth-tenant-id to ws keyvault

* Bump versions

* linting

* re-instating the deploy/destroy files

* Linting

* Update deploy.sh

* Update destroy.sh

* shared services in pr bot and split out in tests (#1813)

* Resource Processor: Configure logging handler per process (#1784)

* Update TRE Developer doc for API (#1801)

* E2E work with scope_id from workspace properties (#1797)

* E2E work with local API

* Added scope identifier uri into tests

* Hangiver from previous method

* Try adding a sleep into the endpoint dns

* Bump the version

* Wait for the private endpoint

* Bump version

* Forgot to wait on teh sleep

* Bumped

* refactoring bug

* Purge Protection

* Bump version

* PR Comments

* More PR tweaks

* typo

* shell check comment

* Remove purge protection

* _get_app_auth_info

* Update docs on running End-to-end tests locally (#1829)

* Fix check order in pr-bot (#1850)

Only check user permissions if a command is detected
to avoid adding 'sorry, not allowed' comments in response to comments
that aren't commands

* Next available IP range calculator only considers active workspaces (#1849)

* Increase Azure CLI version (#1864)

* update all versions to 0.3 (#1754)

* Fix Firewall Logging (#1870)

* switch firewall away from dedicated log tables

* update TF lock

* fix liniting issue with firewall.tf

* Change how access properties in get_scope (#1882)

* added missing param for invoke-action (#1906)

* added missing param

* api version

* Add Bicep tools to devcontainer (#1848)

Co-authored-by: Marcus Robinson <marrobi@microsoft.com>

* E2E tests: Fix shared service and performance tests  (#1860)

* Fix tests

* WIP

* WIP: add a command to build a user resource

* Fix performance test

* fix gucacamole dev vm

* removed unused import

* Fix shared services test

* fix user resources command

* Revert Makefile changes

* fix tabs

* Update templates/workspaces/base/terraform/variables.tf

Co-authored-by: Ross Smith <ross-p-smith@users.noreply.github.com>

* Add .terraform in .dockerignore files (#1872)

* Bump pyjwt from 2.3.0 to 2.4.0 in /api_app (#1913)

* Add resource id var to shared services. (#1914)

* Add resource id var to shared services.

* Update gitea version.

* Fix linter version.

Co-authored-by: Liza Shakury <lizashakury@Lizas-MacBook-Pro.local>

* add tflint config (#1919)

* Update httpx package (#1917)

* update httpx package

* bump version number of API

* Improve documentation for Resource Processor (#1827)

* Re-host Nexus on vm (#1584)

* Initial commit

* Replaced webapp with vm

* Amended docker start commands

* Amended firewall

* Add nexus config to persistent volume

* Add private dns zone

* Corrected rg var

* Added Nexus letsencrypt cert gen

* Fixed linting

* Changed terraform.lock.hcl to previous version

* Removed leftover debug

* Typo fix

Co-authored-by: Stuart Leeks <stuart@leeks.net>

* File path amend

Co-authored-by: Stuart Leeks <stuart@leeks.net>

* Fix for cloudapp DNS resolution errors

* Docker running on Nexus VM

* Documented Letsencrypt process

* Permissions fix

* Typo fix

Co-authored-by: Stuart Leeks <stuart@leeks.net>

* Typo fix

Co-authored-by: Stuart Leeks <stuart@leeks.net>

* Typo fix

Co-authored-by: Stuart Leeks <stuart@leeks.net>

* Formatting changes

* Added reference to letsencrypt doc

* Added new page reference

* Moved password generation for nexus to tf

* Write script to fs first before execution

* Password reset finally working

* Make config nexus script runnable from any dir

* Added basic status info

* Fix recursive file loop

* Typo fix

* Updated docs

* renamed env file

* Fix typo

* Added new nexus fqdn to user resources

* Add vnet link to workspaces

* Bump versions

* Removed nexus properties file

* Updated execution permissions

* Get cert in tf

* Added az cli get cert

* Amended prune job

* Added msi id to login

* Amended msi and exported cert pwd

* Jetty configuration

* Escape jetty vars

* Password script fixes

* Amended networking to use module

* Use https in config script

* Removed res proc location variable

* Potential linting fix

* Linting fixes

* Linting directive positioning

* Gitea version bump

* Terraform format

* Reorder linting to workaround superlinter bug with Terraform

* Added nexus-cert to build and caching of letsencrypt

* Adopted new shared service deploy method

* Added cron job to renew nexus cert

* Removed location references

* And another

* Removed location refs and added az cli

* Fixed nexus-cert kv permissions

* Corrected outputs directory

* Fixed shared service deployment steps

* Updated docs and removed renew prompt

* version bump

* Increase bundle versions

* remote location from variables files

* Removed shared service make

* Removed docker prune

* Bash headers

* Layer clean

* Reduce layer

* Testing without kv role assignment

* Removed kv role assignment

* Adding firewall rule to allow letsencrypt from RP

* Genericised cert service and added letsencrypt action

* Fixed auth hook

* Removed make commands

* Certbot in bundle container

* Tidied naming

* Python base image

* Generate action successful

* Inject cert name to nexus bundle

* Implemented app gateway start/stop

* Separated cloudinit yaml into scripts

* Fixed new line issue

* Fixed bash casing

* Added local nexus repo config

* Added retry logic to config repos

* gitea bump

* Fixed status code

* terraform linting

* Added docs

* Lint fix

* Update docs/tre-developers/letsencrypt.md

* Update docs/tre-admins/setup-instructions/configuring-shared-services.md

* Update docs/tre-developers/letsencrypt.md

* Update docs/tre-developers/letsencrypt.md

* Update docs/tre-admins/setup-instructions/configuring-shared-services.md

Co-authored-by: Marcus Robinson <marrobi@microsoft.com>

* Fix firewall conflict

* Added note to docs for cert kv conflicts

* Renamed sonatype-nexus to nexus for new version

* Added old nexus service code

* Lint fix

* Renamed folder to be obvious as the nexus-vm

* Added docs for upgrade path

* Added data.azurerm rg core

* linting

* bash linting

* Require workspace of 0.2.14 or above

* Moved new version notes to section below config steps

* Removed give new cert name

* RP cert permissions

* tf format

* Added required params for certs and nexus tempalte schema

* Added cert import permissions

* Added certs delete permission

* App gateway az login

* Version bumps

* tf fmt

* Added missing az cred params to certs

* Add purge permission

* Bump tf versions to 3.4.0 & set purge to false

* Removed unsupported property from new provider

* Moved nexus private zone to core

* Amended location var

* Amended zone location

* Added upgrade flag for tf

* Remove tf lock

* Added new tf key

* Added key into uninstall

* Resolve firewall rule conflicts

* Var reference fix

* Fix for potential @ symbol in nexus admin password causing curl bug

* Added nexus_version variable to user resources for back compat

* Added docs for nexus_version

* downgrade superlinter

* revert superlinter to v4

* Remove lint aws plugin block

* Use superlinter latest

* Manually set tflint path

Co-authored-by: oliver7598 <oliver.a@live.co.uk>
Co-authored-by: Stuart Leeks <stuart@leeks.net>
Co-authored-by: Ross Smith <ross-p-smith@users.noreply.github.com>
Co-authored-by: ross-p-smith <rosmith@microsoft.com>
Co-authored-by: Jamie D <daltskin@hotmail.com>
Co-authored-by: Stuart Leeks <stuartle@microsoft.com>
Co-authored-by: marrobi <marrobi@microsoft.com>

* Mandatory client-secret when creating a workspace (#1924)

* Mandatory client_secret when creating workspace

* Debugging settings

* azure rm version

* Update templates/workspaces/base/.env.sample

Co-authored-by: Marcus Robinson <marrobi@microsoft.com>

* Update templates/workspaces/base/.env.sample

Co-authored-by: Marcus Robinson <marrobi@microsoft.com>

* Update templates/workspaces/base/terraform/variables.tf

Co-authored-by: Marcus Robinson <marrobi@microsoft.com>

* disable app service's ftp (#1930)

* Airlock resources - tf scripts (#1843)

* Airlock resources - tf scripts

* reusing the existing sb + adding network rules
bug fixes

* Make etag required in API documentaiton, remove custom check (#1932)

* Make etag required in API documentaiton, remove custom check

* Update _version.py

* tests + remove string

Co-authored-by: sharon <sharon.hart@microsoft.com>

* Reimage Resource Processor Automatically (#1929)

* reimage resource processor automatically

* resource processor vm user docker permissions

* update hcl

* initial swa deploy

* Tag tre core services (#1916)

* tag core resources

Co-authored-by: Anat Balzam <anatbaz@gmail.com>
Co-authored-by: Anat Balzam <anatbalzam@microsoft.com>
Co-authored-by: Ross Smith <ross-p-smith@users.noreply.github.com>
Co-authored-by: Marcus Robinson <marrobi@microsoft.com>
Co-authored-by: Martin Peck <mpeck@microsoft.com>
Co-authored-by: tanya-borisova <tborisova@microsoft.com>
Co-authored-by: Stuart Leeks <stuartle@microsoft.com>
Co-authored-by: Tamir Kamara <26870601+tamirkamara@users.noreply.github.com>
Co-authored-by: Sven Aelterman <17446043+SvenAelterman@users.noreply.github.com>
Co-authored-by: Sonali Rajput <71600666+Sonali-Rajput@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Liza Shakury <42377481+LizaShak@users.noreply.github.com>
Co-authored-by: Liza Shakury <lizashakury@Lizas-MacBook-Pro.local>
Co-authored-by: James Griffin <me@JamesGriff.in>
Co-authored-by: oliver7598 <oliver.a@live.co.uk>
Co-authored-by: Stuart Leeks <stuart@leeks.net>
Co-authored-by: ross-p-smith <rosmith@microsoft.com>
Co-authored-by: Jamie D <daltskin@hotmail.com>
Co-authored-by: Elad Iwanir <13205761+eladiw@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
Co-authored-by: sharon <sharon.hart@microsoft.com>
Co-authored-by: Guy Bertental <gubert@microsoft.com>
@damoodamoo
Copy link
Member Author

/test-extended

@github-actions
Copy link

github-actions bot commented Jun 8, 2022

🤖 pr-bot 🤖

🏃 Running extended tests: https://github.com/microsoft/AzureTRE/actions/runs/2463926921 (with refid 42d8d54e)

(in response to this comment from @damoodamoo)

Copy link
Collaborator

@tamirkamara tamirkamara left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I took a look at the things out side of the UI folder and added a few comments.
Are the API changes just additions without breaking changes? Asking since we have parties developing their own UI against the API...

.github/workflows/build_validation_develop.yml Outdated Show resolved Hide resolved
Makefile Show resolved Hide resolved
templates/core/terraform/scripts/build-deploy-ui.sh Outdated Show resolved Hide resolved
templates/core/terraform/scripts/build-deploy-ui.sh Outdated Show resolved Hide resolved
templates/core/terraform/variables.tf Outdated Show resolved Hide resolved
ui/.vscode/launch.json Outdated Show resolved Hide resolved
Copy link
Contributor

@ross-p-smith ross-p-smith left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great - canna wait to have me a UI!

@damoodamoo
Copy link
Member Author

/test-destroy-env

@github-actions
Copy link

github-actions bot commented Jun 9, 2022

Destroying PR test environment (RG: rg-tre42d8d54e)... (run: https://github.com/microsoft/AzureTRE/actions/runs/2467911381)

@github-actions
Copy link

github-actions bot commented Jun 9, 2022

Destroying branch test environment (RG: rg-tre429b089f)... (run: https://github.com/microsoft/AzureTRE/actions/runs/2467911381)

@github-actions
Copy link

github-actions bot commented Jun 9, 2022

Branch test environment destroy complete (RG: rg-tre429b089f)

@damoodamoo
Copy link
Member Author

/test-extended

@github-actions
Copy link

github-actions bot commented Jun 9, 2022

🤖 pr-bot 🤖

🏃 Running extended tests: https://github.com/microsoft/AzureTRE/actions/runs/2467971911 (with refid 42d8d54e)

(in response to this comment from @damoodamoo)

@github-actions
Copy link

github-actions bot commented Jun 9, 2022

PR test environment destroy complete (RG: rg-tre42d8d54e)

@damoodamoo damoodamoo merged commit 3744b5f into main Jun 9, 2022
@tamirkamara tamirkamara deleted the feature/ui branch October 3, 2022 07:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants