You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by of...@apache.org on 2020/04/28 12:53:52 UTC
[incubator-dlab] branch bucket-browser-gcp updated (2f2f49d ->
894465b)
This is an automated email from the ASF dual-hosted git repository.
ofuks pushed a change to branch bucket-browser-gcp
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git.
from 2f2f49d Fix merge bug
new 5dc1b13 bucket browser aws
new 40d6e90 Merge remote-tracking branch 'origin/bucket-browser-gcp' into bucket-browser-gcp
new 59dc52b Merge remote-tracking branch 'origin/bucket-browser-gcp' into bucket-browser-gcp
new e84ca63 Added permissions for bucket browser
add 0d48523 [odahu-integration] Created Odahu template
add 930d2d1 [odahu-integration] Created Odahu template
add c908b19 [odahu-integration] Created Odahu template
add ae3aaad [odahu-integration] Added all parameters and fixed some issues
add 1a33442 [odahu-integration] Changed input method for certificates for Odahu
add 71fe6e9 [odahu-integration] Added support of nexus repository
add 7d977b9 [odahu-integration] Bugfix
add 9b6ef03 [odahu-integration] Bugfix
add 066ebf1 [odahu-integration] Bugfix
add 2f45bba [odahu-integration] Added test print functions
add 256b5dc [odahu-integration] Added test print functions
add 095b7f8 [odahu-integration] Added test print functions
add 5650fb1 [odahu-integration] Bugfix
add 36056b7 [odahu-integration] Bugfix
add 04a5fad [odahu-integration] Bugfix
add be8b5c6 [odahu-integration] Bugfix
add 7373ba7 [odahu-integration] Bugfix
add 79cd655 [odahu-integration] Added Nexus authentication
add 6ee5e52 [odahu-integration] Bugfixing
add a0c2e62 [odahu-integration] Bugfixing
add f3922f1 [odahu-integration] Bugfixing
add a43330c [odahu-integration] Bugfixing and added function that gets available zones
add e89888e [DLAB-1357]: Added page Legion deployment
add 09efef4 [DLAB-1357]: Added legion icon to Resource page
add c0d4694 [DLAB-1357]: Added condition for empty clusters list
add 13050f5 [DLAB-1357]: Added legion icon to Resource page
add fbcc5f2 [DLAB-1451]: Added url to application facade
add 34fc749 Added create odahu cluster feature
add eb1bf66 Merge branch 'DLAB-1357' of github.com:apache/incubator-dlab into DLAB-1357
add f2c3da1 [DLAB-1357]: Started to add connection with backend
add 7914e54 Added edge_user_name parameter
add a6544f3 Merge remote-tracking branch 'origin/DLAB-1357' into DLAB-1357
add b7d6ed5 [DLAB-1457]: Added create and get odahu request
add af2b549 Updated callback functionality
add b9a993b Merge remote-tracking branch 'origin/DLAB-1357' into DLAB-1357
add ac3285d [DLAB-1357]: Small fixes
add 248cb1c [DLAB-1357]: Odahu grid style fixed
add acdf862 Added start/stop/terminate features
add 79a5018 Merge branch 'DLAB-1357' of github.com:apache/incubator-dlab into DLAB-1357
add 722ff6e [DLAB-1357]: Added stop/start action for ODAHU
add e415821 [DLAB-1357]: Fixed terminate action, added validation
add 6833966 Small fix
add 2178ea1 Default Changelist
add 20b1df1 Added confirmation dialog for clusters action
add 505c9ea Hided odahu for for AWS, Azure
add 231f2cc Default Changelist
add f509cda Changed HTTP method from DELETE to POST
add ab979e2 Merge remote-tracking branch 'origin/DLAB-1357' into DLAB-1357
add 33de467 Secured APIs
add 41f3742 Stop/terminate odahu iun case of stopping/terminating project/endpoint
add 15b134a Disable action if cluster terminated
add ab94068 Merge remote-tracking branch 'origin/DLAB-1357' into DLAB-1357
add 0ee7696 Merge remote-tracking branch 'origin/DLAB-1357' into DLAB-1357
add 047ce4d Added Odahu on 'List of Resources' and 'Environment Management' pages
add c01ee33 small fixes
add 16e0e1a Added tags functionality for Odahu
add 0f9a92f Fixed bug with displaying on 'List of Resources' page
add 0156872 Added Odahu to resources.
add 7c211ea Fixed error message position
add c625c6b Merge branch 'DLAB-1357' into odahu-integration
add f6e8de6 Merge remote-tracking branch 'origin/odahu-integration' into odahu-integration
add 66807b6 [odahu-integration] Bugfixing
add 875c5e0 [odahu-integration] Bugfixing
add c31fa9d Increased warmupPollTimeout
add dc6f0c5 Merge branch 'develop' into odahu-integration
add fc6ffdc Added some changes after merge
add 0810373 Merge pull request #621 from apache/DLAB-625
add b0e5737 [odahu-integration] Temporarily removed preparation of odahu image
add 9f01030 [odahu-integration] Fixed link to jupyterlab image
add 032c5ca Small fixes
add a4d320a Merge remote-tracking branch 'origin/odahu-integration' into odahu-integration
add c7be71b Merge remote-tracking branch 'origin/odahu-integration' into odahu-integration
add df99320 [odahu-integration] Fixed scripts for Odahu deployment
add 5ed6742 Fixed billing for Azure
add 1619ae0 Merge remote-tracking branch 'origin/odahu-integration' into odahu-integration
add 567aa0d Fixed billing on list of resources
add b12bfe2 Fixed style bugs, added status to odahu-detail dialog
add 9a5472c Small fix
add 2f35122 Merge remote-tracking branch 'origin/odahu-integration' into odahu-integration
add 4f25188 [odahu-integration] Added necessary parameters in result.json
add 1ca89ad [odahu-integration] Changed exit code for investigation purpose
add 006e244 [DLAB-1614] Convey Grafana credentials to FE
add e1a15ea [DLAB-1616]: Added grafana credential
add 8017a10 [DLAB-1614] Convey Grafana credentials to DevOps
add 469484a Merge remote-tracking branch 'origin/odahu-integration' into odahu-integration
add 4e22de2 [DLAB-384]: Prevented terminate Odahu cluster in stopped status
add f41e1a5 [DLAB-1619] Prevent terminate Odahu cluster in stopped status
add 00f13b4 Merge remote-tracking branch 'origin/odahu-integration' into odahu-integration
add 38eaa52 [odahu-integration] Removed system exit for investigation purpose
add 8688c25 [DLAB-1620]: Updated Odahu termination if cluster stopped
add 6c24682 Small fix
add 5f235ff Merge remote-tracking branch 'origin/odahu-integration' into odahu-integration
add 0d19157 Merge remote-tracking branch 'origin/odahu-integration' into odahu-integration
add 6235cef [odahu-integration] Removed nginx restart command for investigation purpose
add d5cfe64 [odahu-integration] Added gcr authentication and fixed some bugs
add c187ffd [odahu-integration]: added bucket_tags
add 08a4ec1 Merge branch 'odahu-integration' of https://github.com/apache/incubator-dlab into odahu-integration
add b931d7e Added ssh key parameter for start/stop/terminate actions
add 383a6b1 Merge remote-tracking branch 'origin/odahu-integration' into odahu-integration
add c754988 [odahu-integration] Bugfix
add db7ad1d [odahu-integration] Bugfix
add 33f86a4 [odahu-integration] Bugfix
add 4b6a7ca [odahu-integration] Bugfix
add 4ca3b25 [odahu-integration] Bugfix
add 58d11dd [odahu-integration] Bugfix
add f0b6218 [odahu-integration] Bugfix
add cb8fd16 [odahu-integration] Bugfix
add 0854b95 [odahu-integration] Bugfix
add 896210e [odahu-integration] Bugfix
add 0b38369 [odahu-integration] Added print functions for testing purpose
add e64dc74 [odahu-integration] Changed odahu deploy image
add 25a5418 [odahu-integration] Bugfix
add 74f8966 [odahu-integration] Bugfix
add 1497a08 [odahu-integration] Bugfix
add 707516e [odahu-integration]: fix create state bucket
add 8e17faf Merge remote-tracking branch 'origin/odahu-integration' into odahu-integration
add 2fe22d5 [odahu-integration] Temporary fix for resume action
add 329e178 [odahu-integration] Added configuration of redirectUris for keycloak
add 12262fc [odahu-integration] Added configuration of redirectUris for keycloak
add 4e73a98 [odahu-integration] Bugfix
add 567ee7e [DLAB-1651]: Added possibility to create Odahu cluster in case of cluster termination/fail in the same project
add 408d722 Merge remote-tracking branch 'origin/odahu-integration' into odahu-integration
add 3c2f0d0 Merge remote-tracking branch 'origin/odahu-integration' into odahu-integration
add 92fc0ac [odahu-integration] Fixed domain issue and cluster name
add 8176f1f [odahu-integration] Bugfix
add 4ebe963 [DLAB-1678] Ignore image_url field in response file
add 2b1ae93 Merge remote-tracking branch 'origin/odahu-integration' into odahu-integration
add ef74e4f [odahu-integration] Added scripts for odahu deployment on aws
add 314a202 [odahu-integration] Bugfix
add 0effadb [odahu-integration] Bugfix
add 3ea7505 [odahu-integration] Bugfix
add c4d95a8 [odahu-integration] Bugfix
add 727fe42 [odahu-integration] Created shell script to omit tty error
add d8484d9 [odahu-integration] Edited GCR login process
add 3083819 [odahu-integration] Bugfix
add 6e6a7f7 [odahu-integration] Bugfix
add bb66347 [odahu-integration] Added 'cat' action for testing purpose
add 6a1b48e [odahu-integration] Bugfixing
add 89982e2 [odahu-integration] Bugfixing
add 8116544 [odahu-integration] Bugfixing
add e24b1e3 [odahu-integration] Bugfixing
add d84f661 [odahu-integration] Bugfixing
add c86e0e9 [odahu-integration] Bugfixing
add 7488e82 Merge branch 'odahu-integration' into develop
add 4d86331 Revert merge
add 72a2f1c [DLAB-1571] Convey billing for remote gcp endpoint
add 1c2288e Added some changes
add cf65de2 Added billing filter functionality
add 1a24f7e Added some changes
add b687782 Added shape and status filter
add 66cb878 Added metadata to billing report
add a2bd9fa Refactoring
add 06dd176 Refactoring
add 8aa8ec3 Added download report feature
add 3713da8 Refactoring
add d383c85 Merge branch 'develop' into DLAB-1571
add 375d4b5 Added Get API by dlabIds
add dcab9cb [DLAB-1566]: Changed billing model for remote endpoints
add 525c476 Added detailed billing feature
add bf010b4 Code refactoring
add becd827 Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 581c5a2 Code refactoring
add d97da87 Code refactoring
add 099d952 [DLAB-1565]: Convey billing for remote endpoints
add aa5a8ca [DLAB-1565]: Convey billing for remote endpoints - variables for GCP added
add 002a3e0 [DLAB-1565]: Convey billing for remote endpoints - variables for GCP main.tf added
add 762b99f [DLAB-1565]: Convey billing for remote endpoints - put billing.yml fixed
add 76561bd [DLAB-1565]: Convey billing for remote endpoints - billing.yml added
add fee0e82 [DLAB-1565]: Convey billing for remote endpoints - sed parameters in billing.yml fixed
add a457dc5 [DLAB-1565]: Convey billing for remote endpoints - billing.yml according to cloud provider fixed
add e2816f8 [DLAB-1565]: Convey billing for remote endpoints - billing.yml according to cloud provider fixed again
add b1019df [DLAB-1565]: Convey billing for remote endpoints - billing.yml according to cloud provider fixed again
add c40ec2e [DLAB-1565]: Convey billing for remote endpoints - [GCP] implemented
add 025d788 [DLAB-1565]: Convey billing for remote endpoints - [GCP] fixed
add 3018eb8 [DLAB-1565]: Convey billing for remote endpoints - [GCP] fixed
add fa19a8a [DLAB-1565]: Convey billing for remote endpoints - [GCP] fixed
add a5ba7b9 [DLAB-1565]: Convey billing for remote endpoints - [GCP] fixed
add f888554 Merge pull request #638 from apache/DLAB-1565
add f0d7635 Changed port to 8088
add 4b791b9 [DLAB-643] Conveyed billing for remote aws endpoint
add 101fa77 Refactoring
add 9b09d6a Fixed search by dlabId
add 35d053a Refactoring
add f74a6be Changed billing for remote endpoint on UI
add 3d9e518 Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 667524f Conveyed billing for Azure remote endpoint
add 27bd697 Changed config file
add 6579e18 [DLAB-1565]: Convey billing for remote endpoints - [GCP] billing added to supervisor
add b7e6253 [DLAB-1565]: Convey billing for remote endpoints - [GCP] billing added to supervisor
add f3a312c [DLAB-1565]: Convey billing for remote endpoints - [GCP] billing.yml and variables fixed
add 2490ac7 [DLAB-1565]: Convey billing for remote endpoints - [GCP] billing.yml and variables fixed
add 80075f6 [DLAB-1565]: Convey billing for remote endpoints - Mongo on endpoint added
add 73205b8 [DLAB-1565]: Convey billing for remote endpoints - Mongo on endpoint fixed
add c0d8b04 [DLAB-1565]: Convey billing for remote endpoints - Mongo on endpoint fixed
add f34781e [DLAB-1565]: Convey billing for remote endpoints - Mongo on endpoint fixed
add b453d50 [DLAB-1565]: Convey billing for remote endpoints - Mongo on endpoint fixed
add da81d30 [DLAB-1565]: Convey billing for remote endpoints - Mongo on endpoint fixed
add 4b9669d [DLAB-1565]: Convey billing for remote endpoints - Mongo on endpoint installation fixed
add 1954560 [DLAB-1565]: Convey billing for remote endpoints - Mongo on endpoint installation fixed
add fb3dd9d [DLAB-1565]: Convey billing for remote endpoints - Mongo on endpoint installation fixed
add d015791 [DLAB-1565]: Convey billing for remote endpoints - Mongo on endpoint installation fixed
add d5a00cf [DLAB-1565]: Convey billing for remote endpoints - Mongo on endpoint installation fixed
add a3bd962 [DLAB-1565]: Convey billing for remote endpoints - Mongo on endpoint installation fixed
add eaeb086 [DLAB-1565]: Convey billing for remote endpoints - Mongo on endpoint installation fixed
add 3603ce6 [DLAB-1565]: Convey billing for remote endpoints - Mongo on endpoint installation fixed, pymongo added
add c154402 [DLAB-1565]: Convey billing for remote endpoints - Mongo on endpoint installation fixed, pymongo added
add 96b0510 [DLAB-1565]: Convey billing for remote endpoints - python libs added
add 2ae11d2 [DLAB-1565]: Convey billing for remote endpoints - [GCP] final fixes
add 8bb7e82 Merge pull request #657 from apache/DLAB-1565
add 5dfb76d Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 92a2288 Small changes in config file
add 3ba0487 Added more changes to Azure remote billing
add 193a0c1 Fixed billing issues on self-service side
add 2aad4d7 Added changes to Azure remote billing
add e726ab4 Fixed small bugs
add 0612a4a Added changes for azure remote billing
add 4d17eb7 Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add b270d01 [DLAB-1565]: [AWS] - billing on remote endpoint implementation
add dc6907b [DLAB-1565]: [AWS] - billing on remote endpoint fixes
add 1bad0bc [DLAB-1565]: [AWS] - billing on remote endpoint fixes
add 6bf1b74 [DLAB-1565]: [AWS] - billing on remote endpoint fixes
add 8afeb3c [DLAB-1565]: [AWS] - billing on remote endpoint fixes
add 7eae24a [DLAB-1565]: [AWS] - billing on remote endpoint fixes
add fb5deb6 [DLAB-1565]: [AWS] - billing on remote endpoint fixes
add 5f22f61 [DLAB-1565]: [AWS] - billing on remote endpoint fixes
add fd084c6 [DLAB-1565]: [AWS] - billing on remote endpoint fixes
add 57b8b64 [DLAB-1565]: [AWS] - billing on remote endpoint fixes
add 67c5d7c [DLAB-1565]: [Azure] - billing on remote endpoint
add 64f24fb [DLAB-1565]: [Azure] - billing on remote endpoint fixes
add d6efc09 [DLAB-1565]: [Azure] - billing on remote endpoint fixes
add 9ce7393 [DLAB-1565]: [Azure] - Billing on remote endpoint fixed
add cb63850 Merge pull request #672 from apache/DLAB-1565-aws
add d43f177 [DLAB-1571]: [AWS] - Billing parameters fixed; [AWS,GCP,Azure] - port 8088 opened
add eddfe93 [DLAB-1571]: [AWS] - Billing parameters fixed
add 01c7272 [DLAB-1565]: [GCP] - Billing yml cron fixed
add 2c2b713 [DLAB-1565]: [GCP] - billing on local endpoint updated
add cce7bc6 [DLAB-1565]: [GCP] - billing on local endpoint fixed
add 8f4f526 [DLAB-1565]: [GCP] - billing on local endpoint fixed
add 010ebe1 [DLAB-1565]: [GCP] - billing on local endpoint fixed
add 79e094b [DLAB-1565]: [GCP] - billing on local endpoint fixed
add bbe2c5e [DLAB-1565]: [Azure] - billing on local endpoint updated
add b6386fd [DLAB-1565]: [Aws] - billing on local endpoint updated
add 131823d [DLAB-1565]: [Aws] - billing on local endpoint updated
add 91224cc [DLAB-1565]: billing on local endpoint fixed
add 8feb625 Merge branch 'develop' into DLAB-1571
add 2566f24 Fixed merge conflicts
add 280922b [DLAB-1649]: Added possibility to sort by project/user/charges
add bf314b8 Fixed issue with displaying list of resources
add a12ef67 Merge pull request #676 from apache/DLAB-1565-aws
add eae5b35 Remote billing
add 5ebb9c8 Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 4b7abeb Refactoring local billing
add 475a95f Refactoring billing
add 740dbbe Changed cron
add bd944de Remote billing
add 6f616a6 Merge pull request #678 from apache/DLAB-1565-aws
add c7c5acf Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 3fb67c3 Remote billing
add 8151f52 Remote billing
add 8232671 Remote billing
add 435d3a1 Remote billing
add b9dc738 [DLAB-1590] Admin per project
add e7ab0d7 Merge branch 'DLAB-1590' of github.com:apache/incubator-dlab into DLAB-1590
add 3befbd18 Deleted requests which was not used
add 555a485 Admin per project
add e4bcf7c Admin per project
add 8fed687 Admin per project
add ca73d94 Admin per project
add 9729f01 Admin per project
add d753b18 [DLAB-1591]: Add parameters for admin per project
add a6aa0d2 Merge remote-tracking branch 'origin/DLAB-1590' into DLAB-1590
add bdaf53b Admin per project refactoring
add e266731 Admin per project refactoring
add b190bca Merge branch 'DLAB-1590' into DLAB-1571
add d96075e Admin per project
add d797b19 [DLAB-1591]: Update roles for admin per project
add bde44ac [DLAB-384]: Add category names for roles
add 1b229fb Remote billing
add b557d00 Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 760f769 Remote billing
add 95911ca Remote billing
add 09ffe7c Admin per project
add 41480c4 Added standard image format
add a424388 Added custom image format
add b6b4dfb Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add ad23468 Merge branch 'DLAB-1571' into DLAB-1565-aws
add 1d00ec5 Merge pull request #689 from apache/DLAB-1565-aws
add ed3a741 Merge branch 'develop' into DLAB-1571
add c1b44b3 Remote billing
add 665df82 Update sg.tf
add ce458a1 [DLAB-1491]: Fix page refresh
add 9959aab [DLAB-1491, 1682]: Fixed administrative page appear for user who has not permission,Fixed billing header
add e996afc [DLAB-1686] Fixed issue with key sensitive of group
add e55a045 [DLAB-1683] Fixed issue with list of resources for user
add 04d8f93 [DLAB-1685]: Local billing test
add 774e243 [DLAB-1685]: Local billing fixed
add 1198157 [DLAB-1685]: [AWS] Local billing fixed
add 41c26c1 Merge pull request #690 from apache/DLAB-1685
add 9d71130 Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 4f0489e Changed scale
add 23bf755 Increased warmupPollTimeout
add 23d4388 Remote billing
add 501d147 [DLAB-1684, 1690]: Fixed list of resources for user and style fo arrows on roles page
add 6b955d3 Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 329d6a8 Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 0a8d98d Merge branch 'develop' into DLAB-1571
add 7572611 Remote billing
add 27baebd [DLAB-1696, DLAB-1696]: Fixed fixed headers in billing,resourses and menegment page. Fixed billing in resourses
add 7fd2b28 [DLAB-1571]: GCP ssn deployment fixed
add fbb1778 [DLAB-1571]: GCP ssn deployment fixed
add 78f0738 Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 8ab22ae Fixed resource stop and terminate from list of resourse
add 0d8ea60 [DLAB-1694] Fixed quotas issues
add 3ca46a9 Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add f95320b Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 2f467b7 Fixed project terminating
add 2fb381e Revert "[DLAB-1694] Fixed quotas issues"
add 6eab336 Revert "[DLAB-1694] Fixed quotas issues"
add 5d15822 Remote billing gcp
add f4a47a5 Remote billing gcp
add 754252d billing
add bb371c6 fixed filters
add 6e51093 billing azure
add 61df0d8 billing self-service
add 7f26141 fixed exception output
add c43b683 billing self-service
add 6e309d0 billing aws
add 965ba14 set scale
add cb8a112 update logs
add 8bf88c3 billing aws
add ce7d7ae Fixed billing on resources page
add ca644c3 Fixed billing on resources page
add ab0dea3 remote billing
add da85786 Updated details billing on resources page
add 083773e billing rest service
add 8c28e7a remote billing
add bc07cbc updated config
add 71919dc [DLAB-1700] Fixed issue with admin per project
add 64a59ef refactoring
add c4a379d [DLAB-1701]: Project_admin should not be able to remove administrative operation for all Dlab from Super_admin
add 0852d2c Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add fc9e515 fixed billing issues
add 2ef1b7d changed billing scheduler
add 623a31a fixed billing issues
add 16fd6d1 fixed billing issues
add eaab833 [DLAB-1571]: Azure ssn deployment fixed
add f495fcb changed schedulers
add 5721ffa [DLAB-1711]: [GCP] Bucket tags with key 'name' added
add 79b0cf3 Merge pull request #693 from apache/DLAB-1711
add e3f593a Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 236000a [DLAB-1718] fixed bugs with filters
add c49406e [DLAB-1719] Fixed issues with billing export
add 326c273 [DLAB-1571]: Azure ssn configure fixed
add 1ec61d4 Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 89e6df4 send full list of roles
add 70b9713 Allow to set project quota without total, fixed double value in billing filters
add 11aebbe [DLAB-1710] added extra values for image record
add 2708765 added shape for dataengine service
add 27d49d7 Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 2183f70 Fixed sorting on billing page, upd parsing master and slave, removed no projects message for superadmin
add 04008ef [DLAB-1717] fixed filter for shape
add 4cf9c06 [DLAB-1725, DLAB-1726] Fixed issues with billing export
add e46ea8b Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 334d00e [DLAB-1700] Do not convey to Project_Admin groups of Super_Admin and Project_Admin
add 922a73f fixed issues with ami
add 6a7c2bf [DLAB-1732]: [Azure] Billing on local endpoint fixed
add 9a1f5a0 Merge pull request #694 from apache/DLAB-1732
add 2b6e97b [DLAB-1571]: Azure ssn deployment fixed
add 9fa0e9e [DLAB-1731]: Fixed billing report
add ff3b701 [DLAB-1739, 1740]: Fixed sorting and filtering on billing report
add a0c9cfd [DLAB-1571]: AWS local billing fixed
add 23b07c0 [DLAB-1571]: AWS local billing fixed
add 78824a5 Merge remote-tracking branch 'origin/DLAB-1571' into DLAB-1571
add 7b69f62 Fixed user deleted from roles
add 378e500 [DLAB-1571]: [AWS] ssn deployment fixed
add 4c8b468 [DLAB-1571]: [AWS] mongo password setting for billing fixed
add b34898c [DLAB-1571]: [AWS] billing fixed
add 838bcd2 Merge branch 'DLAB-1571' into develop
add d3acae2 [DLAB-1729]: [Azure] Name for 'Jupyter with TensorFlow 1.8.0' is alike for all cloud [DLAB-1730]: Name of template 'Deep Learning 2.3' updated
add 3fff446 Merge pull request #699 from apache/DLAB-1730
add de86cd4 [DLAB-1755]: It is forbidden to upload more than 50 MB into Bucket resolved
add 6210ba6 Merge pull request #703 from apache/DLAB-1755
add c01b775 [DLAB-1680]: added readme from branch 2.1 for comparison
add 64f656a [DLAB-1680]: added readme from branch 2.1rc2 for comparison
add 107ba32 [DLAB-1680]: added readme from branch 2.2rc2 for comparison
add 7142b60 [DLAB-1680]: removed unnecessary READMEs
add d155749 [DLAB-1680]: removed paragraph about edge recreation, made some minor changes, made text more readable
add 1efec16 [DLAB-1680] Updated documentation
add 3da7c94 [DLAB-1680] Updated documentation(2)
add aa169d0 Merge pull request #702 from apache/DLAB-1680
add 915a149 [DLAB-1698]: Updated user guide according to release 2.3 (#692)
new dcf66f1 Merge branch 'develop' into bucket-browser-gcp
new 894465b Added permission for bucket browser
The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
README.md | 503 +++++++++++++--------
USER_GUIDE.md | 476 ++++++++++---------
doc/billing_filter.png | Bin 18705 -> 41447 bytes
doc/billing_page.png | Bin 18577 -> 264721 bytes
doc/bin_icon.png | Bin 0 -> 4379 bytes
doc/computational_scheduler.png | Bin 33900 -> 35577 bytes
doc/computational_scheduler_create.png | Bin 3893 -> 3277 bytes
doc/connect_endpoint.png | Bin 0 -> 202030 bytes
doc/create_notebook_from_ami.png | Bin 27066 -> 35594 bytes
doc/dataproc_create.png | Bin 0 -> 129369 bytes
doc/delete_btn.png | Bin 0 -> 4155 bytes
doc/delete_group.png | Bin 34704 -> 45914 bytes
doc/dlab_aws.png | Bin 0 -> 96693 bytes
doc/dlab_azure.png | Bin 0 -> 94589 bytes
doc/dlab_gcp.png | Bin 0 -> 108227 bytes
doc/emr_creating.png | Bin 37126 -> 43196 bytes
doc/emr_terminate_confirm.png | Bin 1760535 -> 14257 bytes
doc/endpoint_list.png | Bin 0 -> 181738 bytes
doc/environment_management.png | Bin 66404 -> 90301 bytes
doc/git_creds_window.png | Bin 7190623 -> 25654 bytes
doc/git_creds_window2.png | Bin 5946035 -> 26511 bytes
doc/main_page.png | Bin 4746590 -> 35533 bytes
doc/main_page2.png | Bin 8157879 -> 49611 bytes
doc/main_page3.png | Bin 8157879 -> 48735 bytes
doc/main_page_filter.png | Bin 62679 -> 79991 bytes
doc/manage_env_confirm.png | Bin 10464 -> 14049 bytes
doc/manage_environment.png | Bin 21334 -> 18263 bytes
doc/manage_role.png | Bin 108456 -> 28068 bytes
doc/managemanage_resource_actions.png | Bin 4997 -> 4976 bytes
doc/notebook_create.png | Bin 41323 -> 33033 bytes
doc/notebook_info.png | Bin 157517 -> 42371 bytes
doc/notebook_libs_status.png | Bin 50720 -> 59233 bytes
doc/notebook_scheduler.png | Bin 36928 -> 39368 bytes
doc/notebook_terminated.png | Bin 38113 -> 56038 bytes
doc/notebook_terminating.png | Bin 39506 -> 56292 bytes
doc/pen_icon.png | Bin 0 -> 4171 bytes
doc/project_menu.png | Bin 0 -> 86667 bytes
doc/project_view.png | Bin 0 -> 234276 bytes
doc/roles.png | Bin 0 -> 198223 bytes
doc/scheduler_by_inactivity.png | Bin 0 -> 22076 bytes
doc/spark_stop_confirm.png | Bin 10920 -> 12767 bytes
doc/upload_or_generate_user_key.png | Bin 17078 -> 37302 bytes
.../files/aws/deeplearning_description.json | 4 +-
.../files/azure/deeplearning_description.json | 4 +-
.../general/files/azure/tensor_description.json | 4 +-
.../files/gcp/deeplearning_description.json | 4 +-
.../src/general/lib/os/debian/ssn_lib.py | 29 +-
.../src/general/scripts/aws/ssn_configure.py | 10 +-
.../src/general/scripts/azure/ssn_configure.py | 30 +-
.../src/general/scripts/gcp/project_prepare.py | 6 +-
.../src/general/scripts/gcp/ssn_configure.py | 11 +-
.../src/ssn/scripts/configure_billing.py | 125 +++--
.../src/ssn/scripts/configure_ui.py | 8 +-
.../src/ssn/templates/ssn.yml | 7 +-
.../terraform/aws/endpoint/main/network.tf | 7 +
.../terraform/aws/endpoint/main/variables.tf | 22 +-
.../terraform/azure/endpoint/main/sg.tf | 14 +
.../terraform/azure/endpoint/main/variables.tf | 20 +-
.../terraform/bin/deploy/billing_app_aws.yml | 34 ++
.../terraform/bin/deploy/billing_aws.yml | 35 +-
.../terraform/bin/deploy/billing_azure.yml | 59 +++
.../terraform/bin/deploy/billing_gcp.yml | 38 ++
.../terraform/bin/deploy/endpoint_fab.py | 339 +++++++++++++-
.../bin/deploy/mongo_files}/configure_mongo.py | 15 +-
.../bin/deploy/mongo_files}/gcp/mongo_roles.json | 0
.../deploy/mongo_files}/mongod.service_template | 0
.../terraform/bin/deploy/provisioning.yml | 7 +-
.../terraform/bin/deploy/renew_certificates.sh | 2 +-
.../terraform/bin/deploy/supervisor_svc.conf | 10 +
infrastructure-provisioning/terraform/bin/dlab.py | 22 +
.../terraform/gcp/endpoint/main/network.tf | 2 +-
.../terraform/gcp/endpoint/main/variables.tf | 8 +
.../terraform/gcp/endpoint/provisioning.yml | 2 +-
pom.xml | 2 +-
services/billing-aws/billing.yml | 37 +-
services/billing-aws/pom.xml | 128 +++---
.../java/com/epam/dlab/BillingAwsApplication.java} | 13 +-
.../main/java/com/epam/dlab/BillingScheduler.java | 267 -----------
.../main/java/com/epam/dlab}/BillingService.java | 9 +-
.../java/com/epam/dlab/BillingServiceImpl.java | 128 ++++++
.../src/main/java/com/epam/dlab/BillingTool.java | 20 +-
.../src/main/java/com/epam/dlab/Help.java | 19 +-
.../java/com/epam/dlab/conf/SecurityConfig.java | 66 +++
.../configuration/BillingToolConfiguration.java | 30 --
.../dlab/configuration/SchedulerConfiguration.java | 213 ---------
.../epam/dlab/controller/BillingController.java} | 31 +-
.../main/java/com/epam/dlab/core/AdapterBase.java | 4 +-
.../java/com/epam/dlab/core/parser/ParserBase.java | 22 +-
.../com/epam/dlab/core/parser/ParserByLine.java | 11 +-
.../java/com/epam/dlab/module/AdapterConsole.java | 4 +-
.../java/com/epam/dlab/module/AdapterFile.java | 23 +-
.../com/epam/dlab/module/aws/AdapterS3File.java | 3 +-
.../java/com/epam/dlab/mongo/AdapterMongoDb.java | 63 ++-
.../com/epam/dlab/mongo/DlabResourceTypeDAO.java | 297 +-----------
.../java/com/epam/dlab/mongo/ResourceItem.java | 152 -------
.../java/com/epam/dlab/mongo/ResourceItemList.java | 136 ------
.../billing-aws/src/main/resources/application.yml | 34 ++
.../com/epam/dlab/mongo/ResourceItemListTest.java | 54 ---
services/billing-azure/billing.yml | 111 +++--
services/billing-azure/pom.xml | 109 +++--
.../azure/AzureBillableResourcesService.java | 315 -------------
.../billing/azure/AzureBillingDetailsService.java | 194 --------
.../azure/AzureInvoiceCalculationService.java | 60 +--
.../billing/azure/BillingAzureApplication.java} | 8 +-
.../dlab/billing/azure/BillingSchedulerAzure.java | 314 -------------
.../billing/azure/CalculateBillingService.java} | 12 +-
.../billing/azure/CalculateBillingServiceImpl.java | 245 ++++++++++
.../azure/config/BillingConfigurationAzure.java | 6 +-
.../dlab/billing/azure/config/SecurityConfig.java | 66 +++
.../azure/controller/BillingController.java} | 31 +-
.../azure/model/AzureDailyResourceInvoice.java | 34 +-
.../src/main/resources/application.yml | 59 +++
services/billing-gcp/billing.yml | 34 +-
services/billing-gcp/pom.xml | 30 ++
.../dlab/billing/gcp/BillingGcpApplication.java | 2 -
.../gcp/conf/BillingApplicationConfiguration.java | 2 -
.../epam/dlab/billing/gcp/conf/SecurityConfig.java | 66 +++
.../BillingController.java} | 32 +-
.../com/epam/dlab/billing/gcp/dao/BillingDAO.java | 5 +-
.../billing/gcp/dao/impl/BigQueryBillingDAO.java | 44 +-
.../dlab/billing/gcp/documents/UserInstance.java | 55 ---
.../dlab/billing/gcp/model/GcpBillingData.java | 10 +-
.../billing/gcp/repository/BillingRepository.java | 4 +-
.../billing/gcp/repository/ProjectRepository.java | 26 --
.../gcp/repository/UserInstanceRepository.java | 30 --
.../dlab/billing/gcp/service/BillingService.java | 7 +-
.../billing/gcp/service/BillingServiceImpl.java | 186 --------
.../impl/BillingServiceImpl.java} | 34 +-
.../epam/dlab/billing/gcp/util/BillingUtils.java | 95 ----
.../billing-gcp/src/main/resources/application.yml | 26 +-
.../gcp/service/BillingServiceImplTest.java | 87 ----
.../com/epam/dlab/billing/DlabResourceType.java | 86 ----
.../com/epam/dlab/dto/billing/BillingData.java} | 23 +-
.../epam/dlab/dto/billing/BillingResourceType.java | 12 +-
.../computational/UserComputationalResource.java | 8 +-
.../java/com/epam/dlab/ServiceConfiguration.java | 9 +
.../com/epam/dlab/constants/ServiceConsts.java | 1 +
services/provisioning-service/pom.xml | 16 +
.../dlab/backendapi/modules/ProductionModule.java | 29 +-
.../backendapi/modules/ProvisioningDevModule.java | 9 +-
.../dlab/backendapi/resources/BucketResource.java | 8 -
.../BucketServiceAwsImpl.java} | 78 ++--
services/self-service/pom.xml | 6 +
services/self-service/self-service.yml | 9 +-
.../dlab/backendapi/annotation/ProjectAdmin.java | 7 +-
.../com/epam/dlab/backendapi/annotation/User.java | 7 +-
.../epam/dlab/backendapi/dao/BaseBillingDAO.java | 441 +++++-------------
.../java/com/epam/dlab/backendapi/dao/BaseDAO.java | 64 ++-
.../com/epam/dlab/backendapi/dao/BillingDAO.java | 15 +-
.../java/com/epam/dlab/backendapi/dao/EnvDAO.java | 19 -
.../epam/dlab/backendapi/dao/ExploratoryDAO.java | 19 +
.../com/epam/dlab/backendapi/dao/ProjectDAO.java | 2 -
.../epam/dlab/backendapi/dao/ProjectDAOImpl.java | 11 +-
.../com/epam/dlab/backendapi/dao/UserGroupDao.java | 2 -
.../epam/dlab/backendapi/dao/UserGroupDaoImpl.java | 5 -
.../com/epam/dlab/backendapi/dao/UserRoleDao.java | 2 -
.../epam/dlab/backendapi/dao/UserRoleDaoImpl.java | 5 -
.../dlab/backendapi/dao/aws/AwsBillingDAO.java | 74 ---
.../dlab/backendapi/dao/azure/AzureBillingDAO.java | 121 -----
.../dlab/backendapi/dao/gcp/GcpBillingDao.java | 65 ---
.../com/epam/dlab/backendapi/domain/BaseShape.java | 23 -
.../dlab/backendapi/domain/BillingReport.java} | 30 +-
.../dlab/backendapi/domain/BillingReportLine.java} | 52 +--
.../backendapi/domain/DataEngineServiceShape.java | 37 --
.../dlab/backendapi/domain/DataEngineShape.java | 34 --
.../epam/dlab/backendapi/domain/EndpointShape.java | 14 -
.../dlab/backendapi/domain/ExploratoryShape.java | 14 -
.../dlab/backendapi/domain/ProjectManagingDTO.java | 16 -
.../com/epam/dlab/backendapi/domain/SsnShape.java | 14 -
.../interceptor/ProjectAdminInterceptor.java | 74 +++
.../backendapi/modules/AwsSelfServiceModule.java | 83 ----
.../backendapi/modules/AzureSelfServiceModule.java | 81 ----
.../backendapi/modules/CloudProviderModule.java | 34 +-
.../epam/dlab/backendapi/modules/DevModule.java | 30 +-
.../backendapi/modules/GcpSelfServiceModule.java | 84 ----
.../dlab/backendapi/modules/ModuleFactory.java | 13 -
.../dlab/backendapi/modules/ProductionModule.java | 32 +-
.../dlab/backendapi/resources/BillingResource.java | 12 +-
.../dlab/backendapi/resources/BucketResource.java | 5 +
.../backendapi/resources/EnvironmentResource.java | 20 +-
.../resources/InfrastructureInfoResource.java | 13 +-
.../dlab/backendapi/resources/ProjectResource.java | 52 +--
.../backendapi/resources/UserGroupResource.java | 67 +--
.../backendapi/resources/UserRoleResource.java | 6 +-
.../backendapi/resources/dto/BillingFilter.java | 37 +-
.../resources/dto/HealthStatusPageDTO.java | 138 +-----
.../backendapi/resources/dto/ImageInfoRecord.java | 1 +
.../resources/dto/ProjectInfrastructureInfo.java | 3 +
.../dlab/backendapi/resources/dto/UserRoleDto.java | 1 +
.../com/epam/dlab/backendapi/roles/UserRole.java | 13 +-
.../com/epam/dlab/backendapi/roles/UserRoles.java | 62 ++-
.../BillingScheduler.java} | 36 +-
.../dlab/backendapi/service/BillingService.java | 77 +---
.../backendapi/service/EnvironmentService.java | 8 +-
.../backendapi/service/ExploratoryService.java | 8 +
.../service/InfrastructureInfoService.java | 4 +-
.../dlab/backendapi/service/ProjectService.java | 13 +-
.../epam/dlab/backendapi/service/ShapeFormat.java | 5 -
.../dlab/backendapi/service/UserGroupService.java | 12 +-
.../backendapi/service/UserRoleServiceImpl.java | 1 +
.../backendapi/service/aws/AwsBillingService.java | 110 -----
.../service/azure/AzureBillingService.java | 116 -----
.../backendapi/service/gcp/GcpBillingService.java | 104 -----
.../service/impl/BillingServiceImpl.java | 338 ++++++++++++++
.../service/impl/EndpointServiceImpl.java | 2 +-
.../service/impl/EnvironmentServiceImpl.java | 81 ++--
.../service/impl/ExploratoryServiceImpl.java | 27 +-
.../impl/InfrastructureInfoServiceImpl.java | 130 ++++--
.../service/impl/ProjectServiceImpl.java | 65 +--
.../service/impl/UserGroupServiceImpl.java | 97 ++--
.../epam/dlab/backendapi/util/BillingUtils.java | 228 ++++++++++
.../src/main/resources/mongo/aws/mongo_roles.json | 68 +++
.../main/resources/mongo/azure/mongo_roles.json | 68 +++
.../src/main/resources/mongo/gcp/mongo_roles.json | 68 +++
.../manage-environment-dilog.component.ts | 2 +-
.../management-grid/management-grid.component.html | 30 +-
.../management-grid/management-grid.component.ts | 4 +-
.../management/management.component.ts | 3 +-
.../administration/management/management.model.ts | 1 +
.../administration/project/project.component.html | 8 +-
.../administration/project/project.component.ts | 9 +-
.../app/administration/roles/roles.component.html | 35 +-
.../app/administration/roles/roles.component.scss | 7 +
.../app/administration/roles/roles.component.ts | 58 ++-
.../services/applicationServiceFacade.service.ts | 10 -
.../src/app/core/services/healthStatus.service.ts | 11 +-
.../src/app/core/services/project.service.ts | 18 -
.../reporting-grid/reporting-grid.component.html | 123 ++---
.../reporting-grid/reporting-grid.component.scss | 68 ++-
.../reporting-grid/reporting-grid.component.ts | 44 +-
.../src/app/reporting/reporting.component.ts | 96 ++--
.../app/reporting/toolbar/toolbar.component.html | 4 +-
.../cost-details-dialog.component.html | 22 +-
.../cost-details-dialog.component.scss | 2 +-
.../resources-grid/resources-grid.component.html | 38 +-
.../resources-grid/resources-grid.component.scss | 4 +
.../resources-grid/resources-grid.component.ts | 7 +-
.../resources-grid/resources-grid.model.ts | 62 +--
.../src/app/resources/resources.component.html | 2 +-
.../src/app/resources/resources.component.ts | 17 +-
.../multi-level-select-dropdown.component.html | 26 +-
.../multi-level-select-dropdown.component.scss | 25 +-
.../multi-level-select-dropdown.component.ts | 1 +
.../multi-select-dropdown.component.html | 3 +-
.../confirmation-dialog.component.html | 3 +-
.../confirmation-dialog.model.ts | 6 +-
.../src/app/shared/navbar/navbar.component.html | 2 +-
.../src/app/shared/navbar/navbar.component.ts | 2 +-
.../resources/webapp/src/assets/styles/_theme.scss | 5 +
.../webapp/src/dictionary/gcp.dictionary.ts | 2 +-
.../webapp/src/dictionary/global.dictionary.ts | 20 +-
.../resources/EnvironmentResourceTest.java | 97 +---
.../resources/ImageExploratoryResourceTest.java | 2 +-
.../resources/InfrastructureInfoResourceTest.java | 38 +-
.../backendapi/resources/ProjectResourceTest.java | 24 +-
.../resources/UserGroupResourceTest.java | 206 ++-------
.../backendapi/resources/UserRoleResourceTest.java | 7 +-
.../service/UserRoleServiceImplTest.java | 42 +-
.../service/aws/AwsBillingServiceTest.java | 224 ---------
.../service/azure/AzureBillingServiceTest.java | 208 ---------
.../service/impl/EnvironmentServiceImplTest.java | 71 ---
.../impl/ImageExploratoryServiceImplTest.java | 2 +-
.../service/impl/UserGroupServiceImplTest.java | 156 +++----
263 files changed, 4821 insertions(+), 6912 deletions(-)
create mode 100644 doc/bin_icon.png
create mode 100644 doc/connect_endpoint.png
create mode 100644 doc/dataproc_create.png
create mode 100644 doc/delete_btn.png
create mode 100644 doc/dlab_aws.png
create mode 100644 doc/dlab_azure.png
create mode 100644 doc/dlab_gcp.png
create mode 100644 doc/endpoint_list.png
create mode 100644 doc/pen_icon.png
create mode 100644 doc/project_menu.png
create mode 100644 doc/project_view.png
create mode 100644 doc/roles.png
create mode 100644 doc/scheduler_by_inactivity.png
create mode 100644 infrastructure-provisioning/terraform/bin/deploy/billing_app_aws.yml
copy services/billing-aws/billing.yml => infrastructure-provisioning/terraform/bin/deploy/billing_aws.yml (75%)
create mode 100644 infrastructure-provisioning/terraform/bin/deploy/billing_azure.yml
create mode 100644 infrastructure-provisioning/terraform/bin/deploy/billing_gcp.yml
copy infrastructure-provisioning/{src/ssn/scripts => terraform/bin/deploy/mongo_files}/configure_mongo.py (88%)
copy infrastructure-provisioning/{src/ssn/files => terraform/bin/deploy/mongo_files}/gcp/mongo_roles.json (100%)
copy infrastructure-provisioning/{src/ssn/templates => terraform/bin/deploy/mongo_files}/mongod.service_template (100%)
copy services/{billing-gcp/src/main/java/com/epam/dlab/billing/gcp/BillingGcpApplication.java => billing-aws/src/main/java/com/epam/dlab/BillingAwsApplication.java} (79%)
delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/BillingScheduler.java
copy services/{billing-gcp/src/main/java/com/epam/dlab/billing/gcp/service => billing-aws/src/main/java/com/epam/dlab}/BillingService.java (86%)
create mode 100644 services/billing-aws/src/main/java/com/epam/dlab/BillingServiceImpl.java
create mode 100644 services/billing-aws/src/main/java/com/epam/dlab/conf/SecurityConfig.java
delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/configuration/SchedulerConfiguration.java
copy services/{billing-gcp/src/main/java/com/epam/dlab/billing/gcp/documents/Project.java => billing-aws/src/main/java/com/epam/dlab/controller/BillingController.java} (54%)
delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/mongo/ResourceItem.java
delete mode 100644 services/billing-aws/src/main/java/com/epam/dlab/mongo/ResourceItemList.java
create mode 100644 services/billing-aws/src/main/resources/application.yml
delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/mongo/ResourceItemListTest.java
delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/AzureBillableResourcesService.java
delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/AzureBillingDetailsService.java
copy services/{billing-gcp/src/main/java/com/epam/dlab/billing/gcp/BillingGcpApplication.java => billing-azure/src/main/java/com/epam/dlab/billing/azure/BillingAzureApplication.java} (84%)
delete mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/BillingSchedulerAzure.java
copy services/{common/src/main/java/com/epam/dlab/exceptions/DlabAuthenticationException.java => billing-azure/src/main/java/com/epam/dlab/billing/azure/CalculateBillingService.java} (81%)
create mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/CalculateBillingServiceImpl.java
create mode 100644 services/billing-azure/src/main/java/com/epam/dlab/billing/azure/config/SecurityConfig.java
rename services/{billing-gcp/src/main/java/com/epam/dlab/billing/gcp/documents/Project.java => billing-azure/src/main/java/com/epam/dlab/billing/azure/controller/BillingController.java} (52%)
create mode 100644 services/billing-azure/src/main/resources/application.yml
create mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/conf/SecurityConfig.java
copy services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/{scheduler/BillingScheduler.java => controller/BillingController.java} (55%)
delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/documents/UserInstance.java
delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/repository/ProjectRepository.java
delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/repository/UserInstanceRepository.java
delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/service/BillingServiceImpl.java
rename services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/{scheduler/BillingScheduler.java => service/impl/BillingServiceImpl.java} (57%)
delete mode 100644 services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/util/BillingUtils.java
delete mode 100644 services/billing-gcp/src/test/java/com/epam/dlab/billing/gcp/service/BillingServiceImplTest.java
copy services/{billing-azure/src/main/java/com/epam/dlab/billing/azure/model/BillingPeriod.java => dlab-model/src/main/java/com/epam/dlab/dto/billing/BillingData.java} (68%)
copy integration-tests/src/main/java/com/epam/dlab/automation/docker/Labels.java => services/dlab-model/src/main/java/com/epam/dlab/dto/billing/BillingResourceType.java (82%)
copy services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/{gcp/BucketServiceGcpImpl.java => aws/BucketServiceAwsImpl.java} (56%)
copy integration-tests/src/test/java/com/epam/dlab/automation/test/libs/TestDescription.java => services/self-service/src/main/java/com/epam/dlab/backendapi/annotation/ProjectAdmin.java (88%)
copy integration-tests/src/test/java/com/epam/dlab/automation/test/libs/TestDescription.java => services/self-service/src/main/java/com/epam/dlab/backendapi/annotation/User.java (88%)
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/aws/AwsBillingDAO.java
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/azure/AzureBillingDAO.java
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/dao/gcp/GcpBillingDao.java
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/BaseShape.java
copy services/{billing-azure/src/main/java/com/epam/dlab/billing/azure/rate/RateCardResponse.java => self-service/src/main/java/com/epam/dlab/backendapi/domain/BillingReport.java} (65%)
rename services/{billing-gcp/src/main/java/com/epam/dlab/billing/gcp/model/BillingData.java => self-service/src/main/java/com/epam/dlab/backendapi/domain/BillingReportLine.java} (62%)
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/DataEngineServiceShape.java
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/DataEngineShape.java
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/EndpointShape.java
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/ExploratoryShape.java
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/ProjectManagingDTO.java
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/domain/SsnShape.java
create mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/interceptor/ProjectAdminInterceptor.java
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/modules/AwsSelfServiceModule.java
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/modules/AzureSelfServiceModule.java
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/modules/GcpSelfServiceModule.java
copy services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/{exploratory/StopExploratoryJob.java => billing/BillingScheduler.java} (52%)
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/ShapeFormat.java
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/aws/AwsBillingService.java
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/azure/AzureBillingService.java
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/gcp/GcpBillingService.java
create mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BillingServiceImpl.java
create mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/util/BillingUtils.java
delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/aws/AwsBillingServiceTest.java
delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/azure/AzureBillingServiceTest.java
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 03/06: Merge remote-tracking branch
'origin/bucket-browser-gcp' into bucket-browser-gcp
Posted by of...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ofuks pushed a commit to branch bucket-browser-gcp
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 59dc52b3a3d0053869d951cc2868ff6439602942
Merge: 40d6e90 2f2f49d
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Mon Apr 27 17:53:43 2020 +0300
Merge remote-tracking branch 'origin/bucket-browser-gcp' into bucket-browser-gcp
.../src/ssn/templates/ssn_nginx.conf | 4 +-
.../administration/project/project.component.ts | 1 -
.../core/interceptors/http.token.interceptor.ts | 10 +-
.../src/app/core/services/appRouting.service.ts | 1 +
.../services/applicationServiceFacade.service.ts | 21 ++--
.../app/core/services/bucket-browser.service.ts | 104 ++-----------------
.../webapp/src/app/core/util/fileUtils.ts | 10 ++
.../bucket-browser/bucket-browser.component.html | 29 +++---
.../bucket-browser/bucket-browser.component.scss | 16 +++
.../bucket-browser/bucket-browser.component.ts | 100 ++++++------------
.../bucket-browser/bucket-data.service.ts | 108 ++++++++++++++++++++
.../folder-tree/folder-tree.component.ts | 113 ++++++++++++---------
.../detail-dialog/detail-dialog.component.html | 4 +-
.../detail-dialog/detail-dialog.component.ts | 4 +-
.../webapp/src/app/resources/resources.module.ts | 3 +
15 files changed, 289 insertions(+), 239 deletions(-)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 05/06: Merge branch 'develop' into
bucket-browser-gcp
Posted by of...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ofuks pushed a commit to branch bucket-browser-gcp
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit dcf66f15fd3b625356a357e90a286ac40f9ac738
Merge: e84ca63 915a149
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Tue Apr 28 12:42:45 2020 +0300
Merge branch 'develop' into bucket-browser-gcp
# Conflicts:
# infrastructure-provisioning/src/ssn/templates/ssn.yml
# services/dlab-webapp-common/src/main/java/com/epam/dlab/ServiceConfiguration.java
# services/dlab-webapp-common/src/main/java/com/epam/dlab/constants/ServiceConsts.java
# services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/client/RESTService.java
# services/self-service/src/main/java/com/epam/dlab/backendapi/modules/DevModule.java
# services/self-service/src/main/java/com/epam/dlab/backendapi/modules/ProductionModule.java
# services/self-service/src/main/resources/mongo/aws/mongo_roles.json
# services/self-service/src/main/resources/mongo/azure/mongo_roles.json
# services/self-service/src/main/resources/mongo/gcp/mongo_roles.json
README.md | 503 +++++++++++++--------
USER_GUIDE.md | 476 ++++++++++---------
doc/billing_filter.png | Bin 18705 -> 41447 bytes
doc/billing_page.png | Bin 18577 -> 264721 bytes
doc/bin_icon.png | Bin 0 -> 4379 bytes
doc/computational_scheduler.png | Bin 33900 -> 35577 bytes
doc/computational_scheduler_create.png | Bin 3893 -> 3277 bytes
doc/connect_endpoint.png | Bin 0 -> 202030 bytes
doc/create_notebook_from_ami.png | Bin 27066 -> 35594 bytes
doc/dataproc_create.png | Bin 0 -> 129369 bytes
doc/delete_btn.png | Bin 0 -> 4155 bytes
doc/delete_group.png | Bin 34704 -> 45914 bytes
doc/dlab_aws.png | Bin 0 -> 96693 bytes
doc/dlab_azure.png | Bin 0 -> 94589 bytes
doc/dlab_gcp.png | Bin 0 -> 108227 bytes
doc/emr_creating.png | Bin 37126 -> 43196 bytes
doc/emr_terminate_confirm.png | Bin 1760535 -> 14257 bytes
doc/endpoint_list.png | Bin 0 -> 181738 bytes
doc/environment_management.png | Bin 66404 -> 90301 bytes
doc/git_creds_window.png | Bin 7190623 -> 25654 bytes
doc/git_creds_window2.png | Bin 5946035 -> 26511 bytes
doc/main_page.png | Bin 4746590 -> 35533 bytes
doc/main_page2.png | Bin 8157879 -> 49611 bytes
doc/main_page3.png | Bin 8157879 -> 48735 bytes
doc/main_page_filter.png | Bin 62679 -> 79991 bytes
doc/manage_env_confirm.png | Bin 10464 -> 14049 bytes
doc/manage_environment.png | Bin 21334 -> 18263 bytes
doc/manage_role.png | Bin 108456 -> 28068 bytes
doc/managemanage_resource_actions.png | Bin 4997 -> 4976 bytes
doc/notebook_create.png | Bin 41323 -> 33033 bytes
doc/notebook_info.png | Bin 157517 -> 42371 bytes
doc/notebook_libs_status.png | Bin 50720 -> 59233 bytes
doc/notebook_scheduler.png | Bin 36928 -> 39368 bytes
doc/notebook_terminated.png | Bin 38113 -> 56038 bytes
doc/notebook_terminating.png | Bin 39506 -> 56292 bytes
doc/pen_icon.png | Bin 0 -> 4171 bytes
doc/project_menu.png | Bin 0 -> 86667 bytes
doc/project_view.png | Bin 0 -> 234276 bytes
doc/roles.png | Bin 0 -> 198223 bytes
doc/scheduler_by_inactivity.png | Bin 0 -> 22076 bytes
doc/spark_stop_confirm.png | Bin 10920 -> 12767 bytes
doc/upload_or_generate_user_key.png | Bin 17078 -> 37302 bytes
.../files/aws/deeplearning_description.json | 4 +-
.../files/azure/deeplearning_description.json | 4 +-
.../general/files/azure/tensor_description.json | 4 +-
.../files/gcp/deeplearning_description.json | 4 +-
.../src/general/lib/os/debian/ssn_lib.py | 29 +-
.../src/general/scripts/aws/ssn_configure.py | 10 +-
.../src/general/scripts/azure/ssn_configure.py | 30 +-
.../src/general/scripts/gcp/project_prepare.py | 6 +-
.../src/general/scripts/gcp/ssn_configure.py | 11 +-
.../src/ssn/scripts/configure_billing.py | 125 +++--
.../src/ssn/scripts/configure_ui.py | 8 +-
.../src/ssn/templates/ssn.yml | 5 +
.../terraform/aws/endpoint/main/network.tf | 7 +
.../terraform/aws/endpoint/main/variables.tf | 22 +-
.../terraform/azure/endpoint/main/sg.tf | 14 +
.../terraform/azure/endpoint/main/variables.tf | 20 +-
.../terraform/bin/deploy/billing_app_aws.yml | 34 ++
.../terraform/bin/deploy/billing_aws.yml | 35 +-
.../terraform/bin/deploy/billing_azure.yml | 59 +++
.../terraform/bin/deploy/billing_gcp.yml | 38 ++
.../terraform/bin/deploy/endpoint_fab.py | 339 +++++++++++++-
.../bin/deploy/mongo_files/configure_mongo.py | 95 ++++
.../bin/deploy/mongo_files}/gcp/mongo_roles.json | 100 ----
.../deploy/mongo_files/mongod.service_template} | 56 +--
.../terraform/bin/deploy/provisioning.yml | 7 +-
.../terraform/bin/deploy/renew_certificates.sh | 2 +-
.../terraform/bin/deploy/supervisor_svc.conf | 10 +
infrastructure-provisioning/terraform/bin/dlab.py | 22 +
.../terraform/gcp/endpoint/main/network.tf | 2 +-
.../terraform/gcp/endpoint/main/variables.tf | 8 +
.../terraform/gcp/endpoint/provisioning.yml | 2 +-
pom.xml | 2 +-
services/billing-aws/billing.yml | 37 +-
services/billing-aws/pom.xml | 128 +++---
.../java/com/epam/dlab/BillingAwsApplication.java} | 13 +-
.../main/java/com/epam/dlab/BillingScheduler.java | 267 -----------
.../main/java/com/epam/dlab/BillingService.java} | 10 +-
.../java/com/epam/dlab/BillingServiceImpl.java | 128 ++++++
.../src/main/java/com/epam/dlab/BillingTool.java | 20 +-
.../src/main/java/com/epam/dlab/Help.java | 19 +-
.../java/com/epam/dlab/conf/SecurityConfig.java | 66 +++
.../configuration/BillingToolConfiguration.java | 30 --
.../dlab/configuration/SchedulerConfiguration.java | 213 ---------
.../epam/dlab/controller/BillingController.java} | 31 +-
.../main/java/com/epam/dlab/core/AdapterBase.java | 4 +-
.../java/com/epam/dlab/core/parser/ParserBase.java | 22 +-
.../com/epam/dlab/core/parser/ParserByLine.java | 11 +-
.../java/com/epam/dlab/module/AdapterConsole.java | 4 +-
.../java/com/epam/dlab/module/AdapterFile.java | 23 +-
.../com/epam/dlab/module/aws/AdapterS3File.java | 3 +-
.../java/com/epam/dlab/mongo/AdapterMongoDb.java | 63 ++-
.../com/epam/dlab/mongo/DlabResourceTypeDAO.java | 297 +-----------
.../java/com/epam/dlab/mongo/ResourceItem.java | 152 -------
.../java/com/epam/dlab/mongo/ResourceItemList.java | 136 ------
.../billing-aws/src/main/resources/application.yml | 34 ++
.../com/epam/dlab/mongo/ResourceItemListTest.java | 54 ---
services/billing-azure/billing.yml | 111 +++--
services/billing-azure/pom.xml | 109 +++--
.../azure/AzureBillableResourcesService.java | 315 -------------
.../billing/azure/AzureBillingDetailsService.java | 194 --------
.../azure/AzureInvoiceCalculationService.java | 60 +--
.../billing/azure/BillingAzureApplication.java} | 8 +-
.../dlab/billing/azure/BillingSchedulerAzure.java | 314 -------------
.../billing/azure/CalculateBillingService.java} | 9 +-
.../billing/azure/CalculateBillingServiceImpl.java | 245 ++++++++++
.../azure/config/BillingConfigurationAzure.java | 6 +-
.../dlab/billing/azure/config/SecurityConfig.java | 66 +++
.../azure/controller/BillingController.java} | 31 +-
.../azure/model/AzureDailyResourceInvoice.java | 34 +-
.../src/main/resources/application.yml | 59 +++
services/billing-gcp/billing.yml | 34 +-
services/billing-gcp/pom.xml | 30 ++
.../dlab/billing/gcp/BillingGcpApplication.java | 2 -
.../gcp/conf/BillingApplicationConfiguration.java | 2 -
.../epam/dlab/billing/gcp/conf/SecurityConfig.java | 66 +++
.../BillingController.java} | 32 +-
.../com/epam/dlab/billing/gcp/dao/BillingDAO.java | 5 +-
.../billing/gcp/dao/impl/BigQueryBillingDAO.java | 44 +-
.../dlab/billing/gcp/documents/UserInstance.java | 55 ---
.../dlab/billing/gcp/model/GcpBillingData.java | 10 +-
.../billing/gcp/repository/BillingRepository.java | 4 +-
.../gcp/repository/UserInstanceRepository.java | 30 --
.../dlab/billing/gcp/service/BillingService.java | 7 +-
.../billing/gcp/service/BillingServiceImpl.java | 186 --------
.../impl/BillingServiceImpl.java} | 34 +-
.../epam/dlab/billing/gcp/util/BillingUtils.java | 95 ----
.../billing-gcp/src/main/resources/application.yml | 26 +-
.../gcp/service/BillingServiceImplTest.java | 87 ----
.../com/epam/dlab/billing/DlabResourceType.java | 86 ----
.../com/epam/dlab/dto/billing/BillingData.java} | 28 +-
.../dlab/dto/billing/BillingResourceType.java} | 14 +-
.../computational/UserComputationalResource.java | 8 +-
.../java/com/epam/dlab/ServiceConfiguration.java | 9 +
.../com/epam/dlab/constants/ServiceConsts.java | 1 +
services/self-service/pom.xml | 6 +
services/self-service/self-service.yml | 9 +-
.../dlab/backendapi/annotation/ProjectAdmin.java} | 15 +-
.../com/epam/dlab/backendapi/annotation/User.java} | 15 +-
.../epam/dlab/backendapi/dao/BaseBillingDAO.java | 441 +++++-------------
.../java/com/epam/dlab/backendapi/dao/BaseDAO.java | 64 ++-
.../com/epam/dlab/backendapi/dao/BillingDAO.java | 15 +-
.../java/com/epam/dlab/backendapi/dao/EnvDAO.java | 19 -
.../epam/dlab/backendapi/dao/ExploratoryDAO.java | 19 +
.../com/epam/dlab/backendapi/dao/ProjectDAO.java | 2 -
.../epam/dlab/backendapi/dao/ProjectDAOImpl.java | 11 +-
.../com/epam/dlab/backendapi/dao/UserGroupDao.java | 2 -
.../epam/dlab/backendapi/dao/UserGroupDaoImpl.java | 5 -
.../com/epam/dlab/backendapi/dao/UserRoleDao.java | 2 -
.../epam/dlab/backendapi/dao/UserRoleDaoImpl.java | 5 -
.../dlab/backendapi/dao/aws/AwsBillingDAO.java | 74 ---
.../dlab/backendapi/dao/azure/AzureBillingDAO.java | 121 -----
.../dlab/backendapi/dao/gcp/GcpBillingDao.java | 65 ---
.../com/epam/dlab/backendapi/domain/BaseShape.java | 23 -
.../dlab/backendapi/domain/BillingReport.java} | 32 +-
.../dlab/backendapi/domain/BillingReportLine.java} | 52 +--
.../backendapi/domain/DataEngineServiceShape.java | 37 --
.../dlab/backendapi/domain/DataEngineShape.java | 34 --
.../epam/dlab/backendapi/domain/EndpointShape.java | 14 -
.../dlab/backendapi/domain/ExploratoryShape.java | 14 -
.../dlab/backendapi/domain/ProjectManagingDTO.java | 16 -
.../com/epam/dlab/backendapi/domain/SsnShape.java | 14 -
.../interceptor/ProjectAdminInterceptor.java | 74 +++
.../backendapi/modules/AwsSelfServiceModule.java | 83 ----
.../backendapi/modules/AzureSelfServiceModule.java | 81 ----
.../backendapi/modules/CloudProviderModule.java | 34 +-
.../epam/dlab/backendapi/modules/DevModule.java | 30 +-
.../backendapi/modules/GcpSelfServiceModule.java | 84 ----
.../dlab/backendapi/modules/ModuleFactory.java | 13 -
.../dlab/backendapi/modules/ProductionModule.java | 32 +-
.../dlab/backendapi/resources/BillingResource.java | 12 +-
.../backendapi/resources/EnvironmentResource.java | 20 +-
.../resources/InfrastructureInfoResource.java | 13 +-
.../dlab/backendapi/resources/ProjectResource.java | 52 +--
.../backendapi/resources/UserGroupResource.java | 67 +--
.../backendapi/resources/UserRoleResource.java | 6 +-
.../backendapi/resources/dto/BillingFilter.java | 37 +-
.../resources/dto/HealthStatusPageDTO.java | 129 +-----
.../backendapi/resources/dto/ImageInfoRecord.java | 1 +
.../resources/dto/ProjectInfrastructureInfo.java | 3 +
.../com/epam/dlab/backendapi/roles/UserRole.java | 13 +-
.../com/epam/dlab/backendapi/roles/UserRoles.java | 62 ++-
.../schedulers/billing/BillingScheduler.java | 52 +++
.../dlab/backendapi/service/BillingService.java | 77 +---
.../backendapi/service/EnvironmentService.java | 8 +-
.../backendapi/service/ExploratoryService.java | 8 +
.../service/InfrastructureInfoService.java | 4 +-
.../dlab/backendapi/service/ProjectService.java | 13 +-
.../epam/dlab/backendapi/service/ShapeFormat.java | 5 -
.../dlab/backendapi/service/UserGroupService.java | 12 +-
.../backendapi/service/UserRoleServiceImpl.java | 1 +
.../backendapi/service/aws/AwsBillingService.java | 110 -----
.../service/azure/AzureBillingService.java | 116 -----
.../backendapi/service/gcp/GcpBillingService.java | 104 -----
.../service/impl/BillingServiceImpl.java | 338 ++++++++++++++
.../service/impl/EndpointServiceImpl.java | 2 +-
.../service/impl/EnvironmentServiceImpl.java | 81 ++--
.../service/impl/ExploratoryServiceImpl.java | 27 +-
.../impl/InfrastructureInfoServiceImpl.java | 112 +++--
.../service/impl/ProjectServiceImpl.java | 65 +--
.../service/impl/UserGroupServiceImpl.java | 97 ++--
.../epam/dlab/backendapi/util/BillingUtils.java | 228 ++++++++++
.../src/main/resources/mongo/aws/mongo_roles.json | 19 +
.../main/resources/mongo/azure/mongo_roles.json | 19 +
.../src/main/resources/mongo/gcp/mongo_roles.json | 20 +
.../manage-environment-dilog.component.ts | 2 +-
.../management-grid/management-grid.component.html | 30 +-
.../management-grid/management-grid.component.ts | 4 +-
.../management/management.component.ts | 3 +-
.../administration/management/management.model.ts | 1 +
.../administration/project/project.component.html | 8 +-
.../administration/project/project.component.ts | 9 +-
.../app/administration/roles/roles.component.html | 35 +-
.../app/administration/roles/roles.component.scss | 7 +
.../app/administration/roles/roles.component.ts | 58 ++-
.../services/applicationServiceFacade.service.ts | 10 -
.../src/app/core/services/healthStatus.service.ts | 11 +-
.../src/app/core/services/project.service.ts | 18 -
.../reporting-grid/reporting-grid.component.html | 123 ++---
.../reporting-grid/reporting-grid.component.scss | 68 ++-
.../reporting-grid/reporting-grid.component.ts | 44 +-
.../src/app/reporting/reporting.component.ts | 96 ++--
.../app/reporting/toolbar/toolbar.component.html | 4 +-
.../cost-details-dialog.component.html | 22 +-
.../cost-details-dialog.component.scss | 2 +-
.../resources-grid/resources-grid.component.html | 38 +-
.../resources-grid/resources-grid.component.scss | 4 +
.../resources-grid/resources-grid.component.ts | 7 +-
.../resources-grid/resources-grid.model.ts | 62 +--
.../src/app/resources/resources.component.html | 2 +-
.../src/app/resources/resources.component.ts | 17 +-
.../multi-level-select-dropdown.component.html | 26 +-
.../multi-level-select-dropdown.component.scss | 25 +-
.../multi-level-select-dropdown.component.ts | 1 +
.../multi-select-dropdown.component.html | 3 +-
.../confirmation-dialog.component.html | 3 +-
.../confirmation-dialog.model.ts | 6 +-
.../src/app/shared/navbar/navbar.component.html | 2 +-
.../src/app/shared/navbar/navbar.component.ts | 2 +-
.../resources/webapp/src/assets/styles/_theme.scss | 5 +
.../webapp/src/dictionary/gcp.dictionary.ts | 2 +-
.../webapp/src/dictionary/global.dictionary.ts | 20 +-
.../resources/EnvironmentResourceTest.java | 97 +---
.../resources/ImageExploratoryResourceTest.java | 2 +-
.../resources/InfrastructureInfoResourceTest.java | 38 +-
.../backendapi/resources/ProjectResourceTest.java | 24 +-
.../resources/UserGroupResourceTest.java | 206 ++-------
.../backendapi/resources/UserRoleResourceTest.java | 7 +-
.../service/UserRoleServiceImplTest.java | 42 +-
.../service/aws/AwsBillingServiceTest.java | 224 ---------
.../service/azure/AzureBillingServiceTest.java | 208 ---------
.../service/impl/EnvironmentServiceImplTest.java | 71 ---
.../impl/ImageExploratoryServiceImplTest.java | 2 +-
.../service/impl/UserGroupServiceImplTest.java | 156 +++----
255 files changed, 4706 insertions(+), 6955 deletions(-)
diff --cc infrastructure-provisioning/src/ssn/templates/ssn.yml
index 503116f,7b18d26..41a9723
--- a/infrastructure-provisioning/src/ssn/templates/ssn.yml
+++ b/infrastructure-provisioning/src/ssn/templates/ssn.yml
@@@ -62,10 -62,10 +62,15 @@@ provisioningService
timeout: 3s
connectionTimeout: 3s
+bucketService:
+ jerseyClient:
+ timeout: 10m
+ connectionTimeout: 3s
+
+ billingService:
+ jerseyClient:
+ timeout: 4m
+ connectionTimeout: 3s
+
# Log out user on inactivity
inactiveUserTimeoutMillSec: 7200000
diff --cc services/dlab-webapp-common/src/main/java/com/epam/dlab/ServiceConfiguration.java
index 51b0779,3297abd..1ae0afb
--- a/services/dlab-webapp-common/src/main/java/com/epam/dlab/ServiceConfiguration.java
+++ b/services/dlab-webapp-common/src/main/java/com/epam/dlab/ServiceConfiguration.java
@@@ -54,11 -54,11 +54,16 @@@ public class ServiceConfiguration exten
@Valid
@NotNull
+ @JsonProperty(ServiceConsts.BUCKET_SERVICE_NAME)
+ private RESTServiceFactory bucketFactory = new RESTServiceFactory();
+
+ @Valid
+ @NotNull
+ @JsonProperty(ServiceConsts.BILLING_SERVICE_NAME)
+ private RESTServiceFactory billingFactory = new RESTServiceFactory();
+
+ @Valid
+ @NotNull
@JsonProperty(ServiceConsts.SECURITY_SERVICE_NAME)
private RESTServiceFactory securityFactory;
@@@ -90,10 -90,10 +95,14 @@@
return provisioningFactory;
}
+ public RESTServiceFactory getBucketFactory() {
+ return bucketFactory;
+ }
+
+ public RESTServiceFactory getBillingFactory() {
+ return billingFactory;
+ }
+
public RESTServiceFactory getSecurityFactory() {
return securityFactory;
}
diff --cc services/dlab-webapp-common/src/main/java/com/epam/dlab/constants/ServiceConsts.java
index d7d7208,e1bcf23..b04db9f
--- a/services/dlab-webapp-common/src/main/java/com/epam/dlab/constants/ServiceConsts.java
+++ b/services/dlab-webapp-common/src/main/java/com/epam/dlab/constants/ServiceConsts.java
@@@ -20,14 -20,14 +20,15 @@@
package com.epam.dlab.constants;
public final class ServiceConsts {
- public static final String MONGO_NAME = "mongo";
- public static final String PROVISIONING_SERVICE_NAME = "provisioningService";
- public static final String BILLING_SERVICE_NAME = "billingService";
- public static final String MAVEN_SEARCH_API = "mavenSearchService";
- public static final String SECURITY_SERVICE_NAME = "securityService";
- public static final String SELF_SERVICE_NAME = "selfService";
- public static final String PROVISIONING_USER_AGENT = "provisioning-service";
+ public static final String MONGO_NAME = "mongo";
+ public static final String PROVISIONING_SERVICE_NAME = "provisioningService";
++ public static final String BILLING_SERVICE_NAME = "billingService";
+ public static final String BUCKET_SERVICE_NAME = "bucketService";
+ public static final String MAVEN_SEARCH_API = "mavenSearchService";
+ public static final String SECURITY_SERVICE_NAME = "securityService";
+ public static final String SELF_SERVICE_NAME = "selfService";
+ public static final String PROVISIONING_USER_AGENT = "provisioning-service";
- private ServiceConsts() {
- }
+ private ServiceConsts() {
+ }
}
diff --cc services/self-service/src/main/java/com/epam/dlab/backendapi/modules/CloudProviderModule.java
index c4c771d,8b41baf..f75f877
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/modules/CloudProviderModule.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/modules/CloudProviderModule.java
@@@ -21,14 -21,11 +21,12 @@@ package com.epam.dlab.backendapi.module
import com.epam.dlab.backendapi.SelfServiceApplication;
import com.epam.dlab.backendapi.annotation.BudgetLimited;
+ import com.epam.dlab.backendapi.annotation.ProjectAdmin;
import com.epam.dlab.backendapi.conf.SelfServiceApplicationConfiguration;
- import com.epam.dlab.backendapi.dao.BillingDAO;
- import com.epam.dlab.backendapi.dao.aws.AwsBillingDAO;
- import com.epam.dlab.backendapi.dao.azure.AzureBillingDAO;
- import com.epam.dlab.backendapi.dao.gcp.GcpBillingDao;
import com.epam.dlab.backendapi.interceptor.BudgetLimitInterceptor;
+ import com.epam.dlab.backendapi.interceptor.ProjectAdminInterceptor;
import com.epam.dlab.backendapi.resources.BillingResource;
+import com.epam.dlab.backendapi.resources.BucketResource;
import com.epam.dlab.backendapi.resources.aws.ComputationalResourceAws;
import com.epam.dlab.backendapi.resources.azure.ComputationalResourceAzure;
import com.epam.dlab.backendapi.resources.gcp.ComputationalResourceGcp;
diff --cc services/self-service/src/main/java/com/epam/dlab/backendapi/modules/DevModule.java
index f8de46d,9275319..31b4056
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/modules/DevModule.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/modules/DevModule.java
@@@ -132,9 -132,9 +134,12 @@@ public class DevModule extends ModuleBa
bind(RESTService.class).annotatedWith(Names.named(ServiceConsts.PROVISIONING_SERVICE_NAME))
.toInstance(configuration.getProvisioningFactory()
.build(environment, ServiceConsts.PROVISIONING_SERVICE_NAME));
+ bind(RESTService.class).annotatedWith(Names.named(ServiceConsts.BUCKET_SERVICE_NAME))
+ .toInstance(configuration.getBucketFactory()
+ .build(environment, ServiceConsts.BUCKET_SERVICE_NAME));
+ bind(RESTService.class).annotatedWith(Names.named(ServiceConsts.BILLING_SERVICE_NAME))
+ .toInstance(configuration.getBillingFactory()
+ .build(environment, ServiceConsts.BILLING_SERVICE_NAME));
bind(ImageExploratoryService.class).to(ImageExploratoryServiceImpl.class);
bind(ImageExploratoryDao.class).to(ImageExploratoryDaoImpl.class);
bind(BackupService.class).to(BackupServiceImpl.class);
@@@ -156,18 -156,18 +161,19 @@@
bind(ExternalLibraryService.class).to(MavenCentralLibraryService.class);
bind(SystemInfoService.class).to(SystemInfoServiceImpl.class);
bind(UserGroupService.class).to(UserGroupServiceImpl.class);
- bind(UserRoleService.class).to(UserRoleServiceImpl.class);
- bind(UserRoleDao.class).to(UserRoleDaoImpl.class);
- bind(UserGroupDao.class).to(UserGroupDaoImpl.class);
- bind(ApplicationSettingService.class).to(ApplicationSettingServiceImpl.class);
- bind(UserSettingService.class).to(UserSettingServiceImpl.class);
- bind(GuacamoleService.class).to(GuacamoleServiceImpl.class);
- bind(EndpointService.class).to(EndpointServiceImpl.class);
- bind(EndpointDAO.class).to(EndpointDAOImpl.class);
- bind(ProjectService.class).to(ProjectServiceImpl.class);
- bind(ProjectDAO.class).to(ProjectDAOImpl.class);
- bind(BucketService.class).to(BucketServiceImpl.class);
- }
+ bind(UserRoleService.class).to(UserRoleServiceImpl.class);
+ bind(UserRoleDao.class).to(UserRoleDaoImpl.class);
+ bind(UserGroupDao.class).to(UserGroupDaoImpl.class);
+ bind(ApplicationSettingService.class).to(ApplicationSettingServiceImpl.class);
+ bind(UserSettingService.class).to(UserSettingServiceImpl.class);
+ bind(GuacamoleService.class).to(GuacamoleServiceImpl.class);
+ bind(EndpointService.class).to(EndpointServiceImpl.class);
+ bind(EndpointDAO.class).to(EndpointDAOImpl.class);
+ bind(ProjectService.class).to(ProjectServiceImpl.class);
+ bind(ProjectDAO.class).to(ProjectDAOImpl.class);
+ bind(BillingDAO.class).to(BaseBillingDAO.class);
++ bind(BucketService.class).to(BucketServiceImpl.class);
+ }
private void configureCors(Environment environment) {
final FilterRegistration.Dynamic cors =
diff --cc services/self-service/src/main/java/com/epam/dlab/backendapi/modules/ProductionModule.java
index 6896ee7,d20adbf..5fb314d
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/modules/ProductionModule.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/modules/ProductionModule.java
@@@ -123,9 -123,9 +125,12 @@@ public class ProductionModule extends M
bind(RESTService.class).annotatedWith(Names.named(ServiceConsts.PROVISIONING_SERVICE_NAME))
.toInstance(configuration.getProvisioningFactory().build(environment, ServiceConsts
.PROVISIONING_SERVICE_NAME));
+ bind(RESTService.class).annotatedWith(Names.named(ServiceConsts.BUCKET_SERVICE_NAME))
+ .toInstance(configuration.getBucketFactory().build(environment, ServiceConsts
+ .BUCKET_SERVICE_NAME));
+ bind(RESTService.class).annotatedWith(Names.named(ServiceConsts.BILLING_SERVICE_NAME))
+ .toInstance(configuration.getBillingFactory()
+ .build(environment, ServiceConsts.BILLING_SERVICE_NAME));
bind(ImageExploratoryService.class).to(ImageExploratoryServiceImpl.class);
bind(ImageExploratoryDao.class).to(ImageExploratoryDaoImpl.class);
bind(BackupService.class).to(BackupServiceImpl.class);
@@@ -148,17 -148,17 +153,18 @@@
bind(UserRoleDao.class).to(UserRoleDaoImpl.class);
bind(UserGroupDao.class).to(UserGroupDaoImpl.class);
bind(InactivityService.class).to(InactivityServiceImpl.class);
- bind(ApplicationSettingService.class).to(ApplicationSettingServiceImpl.class);
- bind(UserSettingService.class).to(UserSettingServiceImpl.class);
- bind(GuacamoleService.class).to(GuacamoleServiceImpl.class);
- bind(EndpointService.class).to(EndpointServiceImpl.class);
- bind(EndpointDAO.class).to(EndpointDAOImpl.class);
- bind(ProjectService.class).to(ProjectServiceImpl.class);
- bind(ProjectDAO.class).to(ProjectDAOImpl.class);
- bind(TagService.class).to(TagServiceImpl.class);
- bind(SecurityService.class).to(SecurityServiceImpl.class);
- bind(KeycloakService.class).to(KeycloakServiceImpl.class);
- bind(BucketService.class).to(BucketServiceImpl.class);
- bind(Client.class).toInstance(httpClient);
- }
+ bind(ApplicationSettingService.class).to(ApplicationSettingServiceImpl.class);
+ bind(UserSettingService.class).to(UserSettingServiceImpl.class);
+ bind(GuacamoleService.class).to(GuacamoleServiceImpl.class);
+ bind(EndpointService.class).to(EndpointServiceImpl.class);
+ bind(EndpointDAO.class).to(EndpointDAOImpl.class);
+ bind(ProjectService.class).to(ProjectServiceImpl.class);
+ bind(ProjectDAO.class).to(ProjectDAOImpl.class);
+ bind(BillingDAO.class).to(BaseBillingDAO.class);
++ bind(BucketService.class).to(BucketServiceImpl.class);
+ bind(TagService.class).to(TagServiceImpl.class);
+ bind(SecurityService.class).to(SecurityServiceImpl.class);
+ bind(KeycloakService.class).to(KeycloakServiceImpl.class);
+ bind(Client.class).toInstance(httpClient);
+ }
}
diff --cc services/self-service/src/main/resources/mongo/aws/mongo_roles.json
index 076dc75,6a8fd29..942f281
--- a/services/self-service/src/main/resources/mongo/aws/mongo_roles.json
+++ b/services/self-service/src/main/resources/mongo/aws/mongo_roles.json
@@@ -324,54 -324,23 +324,71 @@@
]
},
{
+ "_id": "bucketBrowserView",
+ "description": "Allow to view objects within the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/view"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserUpload",
+ "description": "Allow to upload object to the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/upload"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserDownload",
+ "description": "Allow to download object from the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/download"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserDelete",
+ "description": "Allow to delete object from the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/delete"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "projectAdmin",
+ "description": "Allow to execute administration operation per project",
+ "type": "ADMINISTRATION",
+ "cloud": "AWS",
+ "pages": [
+ "environment/*",
+ "/roleManagement",
+ "/api/settings",
+ "/user/settings",
+ "/api/project",
+ "/api/endpoint"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
"_id": "admin",
"description": "Allow to execute administration operation",
"type": "ADMINISTRATION",
diff --cc services/self-service/src/main/resources/mongo/azure/mongo_roles.json
index 886b635,86eadff..f05f3d1
--- a/services/self-service/src/main/resources/mongo/azure/mongo_roles.json
+++ b/services/self-service/src/main/resources/mongo/azure/mongo_roles.json
@@@ -264,54 -264,23 +264,71 @@@
]
},
{
+ "_id": "bucketBrowserView",
+ "description": "Allow to view objects within the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/view"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserUpload",
+ "description": "Allow to upload object to the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/upload"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserDownload",
+ "description": "Allow to download object from the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/download"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserDelete",
+ "description": "Allow to delete object from the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/delete"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "projectAdmin",
+ "description": "Allow to execute administration operation per project",
+ "type": "ADMINISTRATION",
+ "cloud": "AZURE",
+ "pages": [
+ "environment/*",
+ "/roleManagement",
+ "/api/settings",
+ "/user/settings",
+ "/api/project",
+ "/api/endpoint"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
"_id": "admin",
"description": "Allow to execute administration operation",
"type": "ADMINISTRATION",
diff --cc services/self-service/src/main/resources/mongo/gcp/mongo_roles.json
index 1dc61ae,d2ef6dd..8a36ff4
--- a/services/self-service/src/main/resources/mongo/gcp/mongo_roles.json
+++ b/services/self-service/src/main/resources/mongo/gcp/mongo_roles.json
@@@ -300,54 -300,23 +300,71 @@@
]
},
{
+ "_id": "bucketBrowserView",
+ "description": "Allow to view objects within the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/view"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserUpload",
+ "description": "Allow to upload object to the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/upload"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserDownload",
+ "description": "Allow to download object from the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/download"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserDelete",
+ "description": "Allow to delete object from the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/delete"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "projectAdmin",
+ "description": "Allow to execute administration operation per project",
+ "type": "ADMINISTRATION",
+ "cloud": "GCP",
+ "pages": [
+ "environment/*",
+ "/roleManagement",
+ "/api/settings",
+ "/user/settings",
+ "/api/project",
+ "/api/endpoint"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
"_id": "admin",
"description": "Allow to execute administration operation",
"type": "ADMINISTRATION",
diff --cc services/self-service/src/main/resources/webapp/src/app/resources/resources.component.ts
index 6394d89,2587a62..7933fec
--- a/services/self-service/src/main/resources/webapp/src/app/resources/resources.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources.component.ts
@@@ -24,10 -24,9 +24,10 @@@ import { MatDialog } from '@angular/mat
import { ResourcesGridComponent } from './resources-grid/resources-grid.component';
import { ExploratoryEnvironmentCreateComponent } from './exploratory/create-environment';
import { Exploratory } from './resources-grid/resources-grid.model';
- import { HealthStatusService, ProjectService } from '../core/services';
+ import {ApplicationSecurityService, HealthStatusService} from '../core/services';
import { ManageUngitComponent } from './manage-ungit/manage-ungit.component';
import { Project } from './../administration/project/project.component';
+import {BucketBrowserComponent} from './bucket-browser/bucket-browser.component';
@Component({
selector: 'dlab-resources',
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 01/06: bucket browser aws
Posted by of...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ofuks pushed a commit to branch bucket-browser-gcp
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 5dc1b13e3f41b74e374646bb3e7ba11360e4bb13
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Thu Apr 23 15:31:48 2020 +0300
bucket browser aws
---
.../src/ssn/templates/ssn.yml | 2 +-
services/provisioning-service/pom.xml | 16 +++
.../dlab/backendapi/modules/ProductionModule.java | 29 ++---
.../backendapi/modules/ProvisioningDevModule.java | 9 +-
.../dlab/backendapi/resources/BucketResource.java | 8 --
.../service/impl/aws/BucketServiceAwsImpl.java | 125 +++++++++++++++++++++
6 files changed, 164 insertions(+), 25 deletions(-)
diff --git a/infrastructure-provisioning/src/ssn/templates/ssn.yml b/infrastructure-provisioning/src/ssn/templates/ssn.yml
index 949ddf9..503116f 100644
--- a/infrastructure-provisioning/src/ssn/templates/ssn.yml
+++ b/infrastructure-provisioning/src/ssn/templates/ssn.yml
@@ -64,7 +64,7 @@ provisioningService:
bucketService:
jerseyClient:
- timeout: 5m
+ timeout: 10m
connectionTimeout: 3s
# Log out user on inactivity
diff --git a/services/provisioning-service/pom.xml b/services/provisioning-service/pom.xml
index 78bc19b..2fc22bd 100644
--- a/services/provisioning-service/pom.xml
+++ b/services/provisioning-service/pom.xml
@@ -38,6 +38,13 @@
<type>pom</type>
<scope>import</scope>
</dependency>
+ <dependency>
+ <groupId>software.amazon.awssdk</groupId>
+ <artifactId>bom</artifactId>
+ <version>2.11.9</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
</dependencies>
</dependencyManagement>
@@ -85,6 +92,15 @@
<artifactId>google-cloud-storage</artifactId>
<version>1.106.0</version>
</dependency>
+ <dependency>
+ <groupId>software.amazon.awssdk</groupId>
+ <artifactId>s3</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.5.9</version>
+ </dependency>
<dependency>
<groupId>commons-io</groupId>
diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/modules/ProductionModule.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/modules/ProductionModule.java
index d01ebc5..6ba8505 100644
--- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/modules/ProductionModule.java
+++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/modules/ProductionModule.java
@@ -34,6 +34,7 @@ import com.epam.dlab.backendapi.service.RestoreCallbackHandlerService;
import com.epam.dlab.backendapi.service.impl.CheckInactivityServiceImpl;
import com.epam.dlab.backendapi.service.impl.ProjectServiceImpl;
import com.epam.dlab.backendapi.service.impl.RestoreCallbackHandlerServiceImpl;
+import com.epam.dlab.backendapi.service.impl.aws.BucketServiceAwsImpl;
import com.epam.dlab.backendapi.service.impl.gcp.BucketServiceGcpImpl;
import com.epam.dlab.cloud.CloudProvider;
import com.epam.dlab.constants.ServiceConsts;
@@ -67,17 +68,19 @@ public class ProductionModule extends ModuleBase<ProvisioningServiceApplicationC
.build(environment, ServiceConsts.SECURITY_SERVICE_NAME, ServiceConsts
.PROVISIONING_USER_AGENT));
- bind(RESTService.class).toInstance(configuration.getSelfFactory().build(environment, ServiceConsts
- .SELF_SERVICE_NAME));
- bind(MetadataHolder.class).to(DockerWarmuper.class);
- bind(ICommandExecutor.class).to(CommandExecutor.class).asEagerSingleton();
- bind(ObjectMapper.class).toInstance(new ObjectMapper().configure(JsonParser.Feature.AUTO_CLOSE_SOURCE, true));
- bind(CallbackHandlerDao.class).to(FileSystemCallbackHandlerDao.class);
- bind(RestoreCallbackHandlerService.class).to(RestoreCallbackHandlerServiceImpl.class);
- bind(CheckInactivityService.class).to(CheckInactivityServiceImpl.class);
- bind(ProjectService.class).to(ProjectServiceImpl.class);
- if (configuration.getCloudProvider() == CloudProvider.GCP) {
- bind(BucketService.class).to(BucketServiceGcpImpl.class);
- }
- }
+ bind(RESTService.class).toInstance(configuration.getSelfFactory().build(environment, ServiceConsts
+ .SELF_SERVICE_NAME));
+ bind(MetadataHolder.class).to(DockerWarmuper.class);
+ bind(ICommandExecutor.class).to(CommandExecutor.class).asEagerSingleton();
+ bind(ObjectMapper.class).toInstance(new ObjectMapper().configure(JsonParser.Feature.AUTO_CLOSE_SOURCE, true));
+ bind(CallbackHandlerDao.class).to(FileSystemCallbackHandlerDao.class);
+ bind(RestoreCallbackHandlerService.class).to(RestoreCallbackHandlerServiceImpl.class);
+ bind(CheckInactivityService.class).to(CheckInactivityServiceImpl.class);
+ bind(ProjectService.class).to(ProjectServiceImpl.class);
+ if (configuration.getCloudProvider() == CloudProvider.GCP) {
+ bind(BucketService.class).to(BucketServiceGcpImpl.class);
+ } else if (configuration.getCloudProvider() == CloudProvider.AWS) {
+ bind(BucketService.class).to(BucketServiceAwsImpl.class);
+ }
+ }
}
diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/modules/ProvisioningDevModule.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/modules/ProvisioningDevModule.java
index 43685a6..f4bbed5 100644
--- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/modules/ProvisioningDevModule.java
+++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/modules/ProvisioningDevModule.java
@@ -37,6 +37,7 @@ import com.epam.dlab.backendapi.service.RestoreCallbackHandlerService;
import com.epam.dlab.backendapi.service.impl.CheckInactivityServiceImpl;
import com.epam.dlab.backendapi.service.impl.ProjectServiceImpl;
import com.epam.dlab.backendapi.service.impl.RestoreCallbackHandlerServiceImpl;
+import com.epam.dlab.backendapi.service.impl.aws.BucketServiceAwsImpl;
import com.epam.dlab.backendapi.service.impl.gcp.BucketServiceGcpImpl;
import com.epam.dlab.cloud.CloudProvider;
import com.epam.dlab.constants.ServiceConsts;
@@ -82,9 +83,11 @@ public class ProvisioningDevModule extends ModuleBase<ProvisioningServiceApplica
bind(RestoreCallbackHandlerService.class).to(RestoreCallbackHandlerServiceImpl.class);
bind(CheckInactivityService.class).to(CheckInactivityServiceImpl.class);
bind(ProjectService.class).to(ProjectServiceImpl.class);
- if (configuration.getCloudProvider() == CloudProvider.GCP) {
- bind(BucketService.class).to(BucketServiceGcpImpl.class);
- }
+ if (configuration.getCloudProvider() == CloudProvider.GCP) {
+ bind(BucketService.class).to(BucketServiceGcpImpl.class);
+ } else if (configuration.getCloudProvider() == CloudProvider.AWS) {
+ bind(BucketService.class).to(BucketServiceAwsImpl.class);
+ }
}
/**
diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java
index 7859a0a..a44d21f 100644
--- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java
+++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java
@@ -21,8 +21,6 @@ package com.epam.dlab.backendapi.resources;
import com.epam.dlab.auth.UserInfo;
import com.epam.dlab.backendapi.service.BucketService;
-import com.google.cloud.storage.Storage;
-import com.google.cloud.storage.StorageOptions;
import com.google.inject.Inject;
import io.dropwizard.auth.Auth;
import lombok.extern.slf4j.Slf4j;
@@ -92,10 +90,4 @@ public class BucketResource {
bucketService.deleteObject(bucket, object);
return Response.ok().build();
}
-
- public static void main(String[] args) {
- Storage storage = StorageOptions.getDefaultInstance().getService();
- String bucketName = "ofuks-1304-prj1-local-bucket";
- storage.delete(bucketName, "1.txt");
- }
}
diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/aws/BucketServiceAwsImpl.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/aws/BucketServiceAwsImpl.java
new file mode 100644
index 0000000..8193fde
--- /dev/null
+++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/aws/BucketServiceAwsImpl.java
@@ -0,0 +1,125 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package com.epam.dlab.backendapi.service.impl.aws;
+
+import com.epam.dlab.backendapi.service.BucketService;
+import com.epam.dlab.dto.bucket.BucketDTO;
+import com.epam.dlab.exceptions.DlabException;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
+import software.amazon.awssdk.awscore.exception.AwsServiceException;
+import software.amazon.awssdk.core.sync.RequestBody;
+import software.amazon.awssdk.core.sync.ResponseTransformer;
+import software.amazon.awssdk.services.s3.S3Client;
+import software.amazon.awssdk.services.s3.model.DeleteObjectRequest;
+import software.amazon.awssdk.services.s3.model.GetObjectRequest;
+import software.amazon.awssdk.services.s3.model.ListObjectsRequest;
+import software.amazon.awssdk.services.s3.model.PutObjectRequest;
+import software.amazon.awssdk.services.s3.model.S3Object;
+
+import java.io.InputStream;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Slf4j
+public class BucketServiceAwsImpl implements BucketService {
+
+ @Override
+ public List<BucketDTO> getObjects(String bucket) {
+ try {
+ S3Client s3 = S3Client.create();
+ ListObjectsRequest getRequest = ListObjectsRequest
+ .builder()
+ .bucket(bucket)
+ .build();
+
+ return s3.listObjects(getRequest).contents()
+ .stream()
+ .map(o -> toBucketDTO(bucket, o))
+ .collect(Collectors.toList());
+ } catch (Exception e) {
+ log.error("Cannot retrieve objects from bucket {}. Reason: {}", bucket, e.getMessage());
+ throw new DlabException(String.format("Cannot retrieve objects from bucket %s. Reason: %s", bucket, e.getMessage()));
+ }
+ }
+
+ @Override
+ public void uploadObject(String bucket, String object, InputStream stream) {
+ try {
+ S3Client s3 = S3Client.create();
+ PutObjectRequest uploadRequest = PutObjectRequest
+ .builder()
+ .bucket(bucket)
+ .key(object)
+ .build();
+ s3.putObject(uploadRequest, RequestBody.fromBytes(IOUtils.toByteArray(stream)));
+ } catch (Exception e) {
+ log.error("Cannot upload object {} to bucket {}. Reason: {}", object, bucket, e.getMessage());
+ throw new DlabException(String.format("Cannot upload object %s to bucket %s. Reason: %s", object, bucket, e.getMessage()));
+ }
+ }
+
+ @Override
+ public byte[] downloadObject(String bucket, String object) {
+ try {
+ S3Client s3 = S3Client.create();
+ GetObjectRequest downloadRequest = GetObjectRequest
+ .builder()
+ .bucket(bucket)
+ .key(object)
+ .build();
+ return s3.getObject(downloadRequest, ResponseTransformer.toBytes()).asByteArray();
+ } catch (Exception e) {
+ log.error("Cannot download object {} from bucket {}. Reason: {}", object, bucket, e.getMessage());
+ throw new DlabException(String.format("Cannot download object %s from bucket %s. Reason: %s", object, bucket, e.getMessage()));
+ }
+ }
+
+ @Override
+ public void deleteObject(String bucket, String object) {
+ try {
+ S3Client s3 = S3Client.create();
+ DeleteObjectRequest deleteObjectRequest = DeleteObjectRequest
+ .builder()
+ .bucket(bucket)
+ .key(object)
+ .build();
+ s3.deleteObject(deleteObjectRequest);
+ } catch (AwsServiceException e) {
+ log.error("Cannot delete object {} from bucket {}. Reason: {}", object, bucket, e.getMessage());
+ throw new DlabException(String.format("Cannot delete object %s from bucket %s. Reason: %s", object, bucket, e.getMessage()));
+ }
+ }
+
+ private BucketDTO toBucketDTO(String bucket, S3Object s3Object) {
+ final String size = FileUtils.byteCountToDisplaySize(s3Object.size());
+ Date date = Date.from(s3Object.lastModified());
+ SimpleDateFormat formatter = new SimpleDateFormat(DATE_FORMAT);
+ return BucketDTO.builder()
+ .bucket(bucket)
+ .object(s3Object.key())
+ .size(size)
+ .lastModifiedDate(formatter.format(date))
+ .build();
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 02/06: Merge remote-tracking branch
'origin/bucket-browser-gcp' into bucket-browser-gcp
Posted by of...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ofuks pushed a commit to branch bucket-browser-gcp
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 40d6e90e1d30d51dc6d8e8075a04b99773439f8f
Merge: 5dc1b13 f45a0d7
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Fri Apr 24 11:33:06 2020 +0300
Merge remote-tracking branch 'origin/bucket-browser-gcp' into bucket-browser-gcp
.../core/interceptors/http.token.interceptor.ts | 2 +-
.../services/applicationServiceFacade.service.ts | 29 +++
.../app/core/services/bucket-browser.service.ts | 153 +++++++++++++
.../bucket-browser/bucket-browser.component.html | 90 ++++++++
.../bucket-browser/bucket-browser.component.scss | 243 +++++++++++++++++++++
.../bucket-browser/bucket-browser.component.ts | 205 +++++++++++++++++
.../folder-tree/folder-tree.component.html | 32 +++
.../folder-tree/folder-tree.component.scss | 38 ++++
.../folder-tree/folder-tree.component.ts | 191 ++++++++++++++++
.../detail-dialog/detail-dialog.component.html | 4 +-
.../detail-dialog/detail-dialog.component.scss | 1 +
.../detail-dialog/detail-dialog.component.ts | 11 +-
.../src/app/resources/resources.component.html | 3 +
.../src/app/resources/resources.component.ts | 6 +
.../webapp/src/app/resources/resources.module.ts | 12 +-
.../webapp/src/assets/styles/_dialogs.scss | 1 +
16 files changed, 1013 insertions(+), 8 deletions(-)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 04/06: Added permissions for bucket browser
Posted by of...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ofuks pushed a commit to branch bucket-browser-gcp
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit e84ca635019c375a6ac3089658edcfee72045d18
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Tue Apr 28 12:35:54 2020 +0300
Added permissions for bucket browser
---
.../dlab/backendapi/resources/BucketResource.java | 5 +++
.../dlab/backendapi/resources/dto/UserRoleDto.java | 1 +
.../src/main/resources/mongo/aws/mongo_roles.json | 48 ++++++++++++++++++++++
.../main/resources/mongo/azure/mongo_roles.json | 48 ++++++++++++++++++++++
.../src/main/resources/mongo/gcp/mongo_roles.json | 48 ++++++++++++++++++++++
5 files changed, 150 insertions(+)
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java
index a98daa2..7198e35 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java
@@ -27,6 +27,7 @@ import lombok.extern.slf4j.Slf4j;
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataParam;
+import javax.annotation.security.RolesAllowed;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
@@ -54,6 +55,7 @@ public class BucketResource {
@Path("/{bucket}/endpoint/{endpoint}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
+ @RolesAllowed("/api/bucket/view")
public Response getListOfObjects(@Auth UserInfo userInfo,
@PathParam("bucket") String bucket,
@PathParam("endpoint") String endpoint) {
@@ -64,6 +66,7 @@ public class BucketResource {
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
+ @RolesAllowed("/api/bucket/upload")
public Response uploadObject(@Auth UserInfo userInfo,
@FormDataParam("object") String object,
@FormDataParam("bucket") String bucket,
@@ -78,6 +81,7 @@ public class BucketResource {
@Path("/{bucket}/object/{object}/endpoint/{endpoint}/download")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_OCTET_STREAM)
+ @RolesAllowed("/api/bucket/download")
public Response downloadObject(@Auth UserInfo userInfo,
@PathParam("bucket") String bucket,
@PathParam("object") String object,
@@ -91,6 +95,7 @@ public class BucketResource {
@Path("/{bucket}/object/{object}/endpoint/{endpoint}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
+ @RolesAllowed("/api/bucket/delete")
public Response deleteObject(@Auth UserInfo userInfo,
@PathParam("bucket") String bucket,
@PathParam("object") String object,
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/UserRoleDto.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/UserRoleDto.java
index 5c90602..84551af 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/UserRoleDto.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/UserRoleDto.java
@@ -50,6 +50,7 @@ public class UserRoleDto {
NOTEBOOK_SHAPE,
COMPUTATIONAL_SHAPE,
BILLING,
+ BUCKET_BROWSER,
ADMINISTRATION
}
}
diff --git a/services/self-service/src/main/resources/mongo/aws/mongo_roles.json b/services/self-service/src/main/resources/mongo/aws/mongo_roles.json
index 9998d84..076dc75 100644
--- a/services/self-service/src/main/resources/mongo/aws/mongo_roles.json
+++ b/services/self-service/src/main/resources/mongo/aws/mongo_roles.json
@@ -324,6 +324,54 @@
]
},
{
+ "_id": "bucketBrowserView",
+ "description": "Allow to view objects within the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/view"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserUpload",
+ "description": "Allow to upload object to the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/upload"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserDownload",
+ "description": "Allow to download object from the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/download"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserDelete",
+ "description": "Allow to delete object from the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/delete"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
"_id": "admin",
"description": "Allow to execute administration operation",
"type": "ADMINISTRATION",
diff --git a/services/self-service/src/main/resources/mongo/azure/mongo_roles.json b/services/self-service/src/main/resources/mongo/azure/mongo_roles.json
index 113a705..886b635 100644
--- a/services/self-service/src/main/resources/mongo/azure/mongo_roles.json
+++ b/services/self-service/src/main/resources/mongo/azure/mongo_roles.json
@@ -264,6 +264,54 @@
]
},
{
+ "_id": "bucketBrowserView",
+ "description": "Allow to view objects within the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/view"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserUpload",
+ "description": "Allow to upload object to the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/upload"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserDownload",
+ "description": "Allow to download object from the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/download"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserDelete",
+ "description": "Allow to delete object from the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/delete"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
"_id": "admin",
"description": "Allow to execute administration operation",
"type": "ADMINISTRATION",
diff --git a/services/self-service/src/main/resources/mongo/gcp/mongo_roles.json b/services/self-service/src/main/resources/mongo/gcp/mongo_roles.json
index 8098628..1dc61ae 100644
--- a/services/self-service/src/main/resources/mongo/gcp/mongo_roles.json
+++ b/services/self-service/src/main/resources/mongo/gcp/mongo_roles.json
@@ -300,6 +300,54 @@
]
},
{
+ "_id": "bucketBrowserView",
+ "description": "Allow to view objects within the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/view"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserUpload",
+ "description": "Allow to upload object to the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/upload"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserDownload",
+ "description": "Allow to download object from the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/download"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
+ "_id": "bucketBrowserDelete",
+ "description": "Allow to delete object from the bucket",
+ "type": "BUCKET_BROWSER",
+ "cloud": "GCP",
+ "pages": [
+ "/api/bucket/delete"
+ ],
+ "groups": [
+ "$anyuser"
+ ]
+ },
+ {
"_id": "admin",
"description": "Allow to execute administration operation",
"type": "ADMINISTRATION",
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 06/06: Added permission for bucket browser
Posted by of...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ofuks pushed a commit to branch bucket-browser-gcp
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 894465b7f9f87fd435fbb70d39340470f444afc5
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Tue Apr 28 15:51:49 2020 +0300
Added permission for bucket browser
---
.../backendapi/resources/dto/HealthStatusPageDTO.java | 11 +++++++++++
.../service/impl/InfrastructureInfoServiceImpl.java | 18 ++++++++++++++++--
.../src/main/resources/mongo/aws/mongo_roles.json | 1 +
.../src/main/resources/mongo/azure/mongo_roles.json | 1 +
4 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/HealthStatusPageDTO.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/HealthStatusPageDTO.java
index 17e7b91..4eb0b3b 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/HealthStatusPageDTO.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/HealthStatusPageDTO.java
@@ -47,4 +47,15 @@ public class HealthStatusPageDTO {
private int billingUserQuoteUsed;
@JsonProperty
private boolean projectAssigned;
+ @JsonProperty
+ private BucketBrowser bucketBrowser;
+
+ @Builder
+ @Data
+ public static class BucketBrowser {
+ private final boolean view;
+ private final boolean upload;
+ private final boolean download;
+ private final boolean delete;
+ }
}
\ No newline at end of file
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/InfrastructureInfoServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/InfrastructureInfoServiceImpl.java
index b1eac51..4063ca1 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/InfrastructureInfoServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/InfrastructureInfoServiceImpl.java
@@ -29,6 +29,7 @@ import com.epam.dlab.backendapi.domain.ProjectEndpointDTO;
import com.epam.dlab.backendapi.resources.dto.HealthStatusEnum;
import com.epam.dlab.backendapi.resources.dto.HealthStatusPageDTO;
import com.epam.dlab.backendapi.resources.dto.ProjectInfrastructureInfo;
+import com.epam.dlab.backendapi.roles.RoleType;
import com.epam.dlab.backendapi.roles.UserRoles;
import com.epam.dlab.backendapi.service.BillingService;
import com.epam.dlab.backendapi.service.EndpointService;
@@ -55,9 +56,12 @@ import java.util.stream.StreamSupport;
@Slf4j
public class InfrastructureInfoServiceImpl implements InfrastructureInfoService {
+ private static final String RELEASE_NOTES_FORMAT = "https://github.com/apache/incubator-dlab/blob/%s/RELEASE_NOTES.md";
+ private static final String PERMISSION_VIEW = "/api/bucket/view";
+ private static final String PERMISSION_UPLOAD = "/api/bucket/upload";
+ private static final String PERMISSION_DOWNLOAD = "/api/bucket/download";
+ private static final String PERMISSION_DELETE = "/api/bucket/delete";
- private static final String RELEASE_NOTES_FORMAT = "https://github.com/apache/incubator-dlab/blob/%s" +
- "/RELEASE_NOTES.md";
private final ExploratoryDAO expDAO;
private final SelfServiceApplicationConfiguration configuration;
private final BillingDAO billingDAO;
@@ -134,6 +138,12 @@ public class InfrastructureInfoServiceImpl implements InfrastructureInfoService
.projectAssigned(projectService.isAnyProjectAssigned(userInfo))
.billingQuoteUsed(billingDAO.getBillingQuoteUsed())
.billingUserQuoteUsed(billingDAO.getBillingUserQuoteUsed(user))
+ .bucketBrowser(HealthStatusPageDTO.BucketBrowser.builder()
+ .view(checkAccess(userInfo, PERMISSION_VIEW))
+ .upload(checkAccess(userInfo, PERMISSION_UPLOAD))
+ .download(checkAccess(userInfo, PERMISSION_DOWNLOAD))
+ .delete(checkAccess(userInfo, PERMISSION_DELETE))
+ .build())
.build();
} catch (Exception e) {
log.warn("Could not return status of resources for user {}: {}", user, e.getLocalizedMessage(), e);
@@ -183,4 +193,8 @@ public class InfrastructureInfoServiceImpl implements InfrastructureInfoService
return shared;
}
+
+ private boolean checkAccess(UserInfo userInfo, String permission) {
+ return UserRoles.checkAccess(userInfo, RoleType.PAGE, permission, userInfo.getRoles());
+ }
}
diff --git a/services/self-service/src/main/resources/mongo/aws/mongo_roles.json b/services/self-service/src/main/resources/mongo/aws/mongo_roles.json
index 942f281..ee7d97e 100644
--- a/services/self-service/src/main/resources/mongo/aws/mongo_roles.json
+++ b/services/self-service/src/main/resources/mongo/aws/mongo_roles.json
@@ -402,6 +402,7 @@
"/api/settings",
"/user/settings",
"/api/project",
+ "/api/project/create",
"/api/endpoint"
],
"groups": [
diff --git a/services/self-service/src/main/resources/mongo/azure/mongo_roles.json b/services/self-service/src/main/resources/mongo/azure/mongo_roles.json
index f05f3d1..1cd44b1 100644
--- a/services/self-service/src/main/resources/mongo/azure/mongo_roles.json
+++ b/services/self-service/src/main/resources/mongo/azure/mongo_roles.json
@@ -342,6 +342,7 @@
"/api/settings",
"/user/settings",
"/api/project",
+ "/api/project/create",
"/api/endpoint"
],
"groups": [
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org