Commit Graph

1709 Commits

Author SHA1 Message Date
Deng, Qian
e2a53c497a Fix repo is undefined issue on chart summary ui
Because HTML render before component initialize, so assign value on onInit
2018-08-09 11:58:27 +08:00
Mia ZHOU
4730a131ef UI changed after harbor moved to CNCF
Changes include:
1 Modify the about dialog, remove vmware copyright
2 Remove VM tag in the login page.
3 Modify "vmware harbor" to "harbor" in login page.
2018-08-08 15:41:33 +08:00
Deng, Qian
8d67330d9a Add status to charts and versions UI
Add status to present if the chart or version is deprecated.
2018-08-08 15:02:18 +08:00
Deng, Qian
cff8fc52ba Change UI about security table
1. Change wording from 'sign' to 'ready'
2. Provide download for prov file
2018-08-08 11:19:12 +08:00
Deng, Qian
173100be6d Refactor Chart Summary Commands UI
1. Add Clipboard after command
2. Change the layout of command table
2018-08-08 11:19:12 +08:00
Deng, Qian
2e99719d07 Fix wording of group list
Fix i18n key in group list
2018-08-08 11:12:10 +08:00
Mia ZHOU
e2edbef3df Refine helm chart card view
Changes including:

1 chart list view will have icon which from the latest version.

2 Card View will change to the option2 (large icon).

3 version list will also have icons inside the data grid.
2018-08-08 10:22:07 +08:00
Mia ZHOU
8f183c02ae modify helm chart card view 2018-08-07 15:23:22 +08:00
Mia ZHOU
72ffa4826e
Merge pull request #5544 from zhoumeina/pr/refine_chart_detail_layout
Fix some layout issue in chart detail page
2018-08-07 13:49:29 +08:00
Daniel Jiang
1f39bb4f13
Merge pull request #5520 from stonezdj/duplicate_group_dn
Fix LDAP user group related issues
2018-08-07 13:47:55 +08:00
Mia ZHOU
207cf384af Fix some layout issue in chart detail page
Refine the layout in chart detail page.
2018-08-07 12:25:37 +08:00
stonezdj
d9b4b18943 Fix LDAP group related issues
User groups should not have same DN
Should not import an LDAP group if there is a user group with same DN
2018-08-07 12:02:38 +08:00
Deng, Qian
637c43bef6 Fix style issues on chart detail values page
1. Fix margin of title
2. Fix icon size to 24px
2018-08-06 20:39:23 +08:00
Deng, Qian
d1a205581d Update i18n file for other languege
Update i18n files
2018-08-06 19:53:08 +08:00
Deng, Qian
5548eba238 Refine LDAP Group UI Text
Refine some wording related to LDAP
2018-08-06 19:53:07 +08:00
Deng, Qian
b52987bebd Fix Chart UI Source Repository URL redner issue
1. When there are multiple source repos, the table should display multiple lines
2. Wrap text when url too long
2018-08-06 19:53:07 +08:00
Deng, Qian
c04e752cf3 Fix issues on the list-view of helm chart registry
1. Fix The header of version column
2. Fix word of no item placeholder
3. Fix the footer of gridview
4. Fix filter of version and chart
2018-08-06 19:53:07 +08:00
Deng, Qian
91da5f015c Abstract style to mixin
Abstract general style to mixin file for reuse.
2018-08-06 19:53:07 +08:00
Deng, Qian
a9792c9c9a Back to charts page when delete whole versions
Jump to charts page after you delete all the versions in a chart.
Because if you not do it, page will return 404.
2018-08-06 19:53:07 +08:00
Deng, Qian
0e8e3304ab Fix spiner related issue on helmchart ui
1. Fix spinner size on upload modal
2. Make the spinner into the center when chart detail page is loading
2018-08-06 19:53:07 +08:00
Mia ZHOU
9bcf33212d
Merge pull request #5537 from zhoumeina/pr/fix_helm_chart_log
Fix helm chart getImageLink was deleted by accident
2018-08-06 18:50:36 +08:00
Mia ZHOU
ccd5ddf307 If user upload a not valid helm chart file, UI need to show the error from backend.
Fix:
Modify the error handler to use the backend error instead of frontend hardcode.
2018-08-06 17:39:09 +08:00
Mia ZHOU
8d66f057cd Fix helm chart getImageLink was deleted by accident
add back getImageLink function
2018-08-06 17:00:08 +08:00
Steven Zou
ecd8cc712d Add 'Deprecated' info for the chart
info returned by getting /charts include 'Deprecated' field
amend error message in the access checking logic
2018-08-06 16:31:41 +08:00
Steven Zou
bc6d7b69e7
Merge pull request #5524 from steven-zou/pro_deletable_enable
Enhance the project deletable checking logic to include helm charts checking
2018-08-06 16:00:38 +08:00
Steven Zou
b501199033 Enhance the project deletable checking logic to include helm charts checking
add utility handler in chart controller to support getting charts by ns
add ut case for utility handler
update deletable checking logic in project controller

refactor project deletable test case
2018-08-06 15:23:50 +08:00
Mia ZHOU
04261687cd Fix ldap cert verify has to align with ldap mode. should not show in other mode.
Fix edit group sccess message.
This pr will focus on 2 issues:
1  In configuration,
LDAP verify cert should only show in ldap mode. It should not show in database mode.
2 When user using ldap mode to login harbor. And edit a group sccessfully, the popup message shows wrong. It should show "Edit group sccess".
2018-08-06 09:43:04 +08:00
Mia ZHOU
034367f202
Merge pull request #5523 from zhoumeina/pr/error_log_fix
Add onError for some logo return 404
2018-08-06 09:18:06 +08:00
Yan
6ed80a370d
Fix go gas issue for chartserver (#5522)
Add the error handling to fix go gas issue "Error unhandled"
2018-08-03 19:25:39 +08:00
Mia ZHOU
4c8976da71 Add onError for some logo return 404
We need to set a default logo for some logo may not exsit
2018-08-03 17:51:57 +08:00
Qian Deng
0f519c9dc9
Merge pull request #5513 from ninjadq/hidden_chart_lib_without_chartmeseum
Hide the helmcharts tab when chart museum is not installed.
2018-08-03 05:41:06 -04:00
Wenkai Yin
5faf41e4a7
Merge pull request #5521 from wy65701436/cherry-pick-gas
Cherry-pick -- Fix security issue found by gas
2018-08-03 16:50:58 +08:00
wangyan
9a95f14918 Cherry-pick -- Fix security issue found by gas 2018-08-03 01:16:53 -07:00
Mia ZHOU
c6665934cd
Merge pull request #5516 from ninjadq/fix_ldap_parameter
Fix bug of repository can not delete on card view
2018-08-03 14:17:21 +08:00
Mia ZHOU
8319cbdc29
Merge pull request #5514 from zhoumeina/pr/fix_tooltip_content
Modify configuration tooltip
2018-08-03 13:54:34 +08:00
Deng, Qian
6a71188ecf Fix bug of repository can not delete on card view
Fix argument types of repo delete function
2018-08-03 13:34:31 +08:00
Mia ZHOU
8e66d90904 Modify cofiguration tooltip
Refine the tooltip content in configuration tooltips
2018-08-03 12:55:35 +08:00
Qian Deng
4cb0a3ee52
Merge pull request #5456 from zhoumeina/pr/fix_access_level_sort
Fix access level can not sort
2018-08-02 22:56:56 -04:00
Deng, Qian
66d85a12b4 Hide the helmcharts tab when chart museum is not installed.
Add parameter for receving chartmuseum installation state.
Using that to decide the presentation of helmchart tab in project.
2018-08-03 10:56:06 +08:00
Wenkai Yin
5f64bc8548
Merge pull request #5450 from ywk253100/180801_job_status
Update job status when failed to submit it
2018-08-03 09:33:39 +08:00
Wenkai Yin
3031e851ea
Merge pull request #5466 from steven-zou/fix_wrong_status_of_prov
Fix issues described in #5464 and #5465
2018-08-02 18:49:45 +08:00
Mia ZHOU
aaf4b49564 Fix remove button not clickable
Remove comment
2018-08-02 16:22:53 +08:00
Steven Zou
ce52f54e29 Fix issues described in #5464 and #5465
return unified error format by the chart repo API
update the prov file status at anytime
2018-08-02 14:07:04 +08:00
System Administrator
54f9b60ea4 Fix access level can not sort
Issue description:
In project list page. User click sort according access level, it does not work.

Fix:

Remodify the compare method.
2018-08-02 13:21:45 +08:00
Deng, Qian
8feb49c64e Feature of helm chart UI
1. Add Charts list view
2. Add Charts card view
3. Add Chart version list view
4. Add chart version card view
5. Add Chart Detail Summary
6. Add Chart Detail Value
6. Add Chart Detail Deps
7. Update nodeclarity Dockerfile
8. Add markdown support
9. Add package-lock file to src
2018-08-01 13:20:06 +08:00
Wenkai Yin
4ecbf3c0f5 Update job status when failed to submit it
Set the status of replication job to "error" when the submitting to jobservice fails
2018-08-01 10:35:01 +08:00
Mia ZHOU
67beabb364 Add ldap admin DN
Problem description:
currently, harbor does not support config ldap admin DN

Enhancement:
Add ldap admin dn in configuration as a optional config.
2018-07-31 16:20:26 +08:00
Qian Deng
3c0bd20d7e
Merge pull request #5439 from zhoumeina/pr/fix_new_group_disable
New group button should disabled when login without ldap
2018-07-31 03:30:23 -04:00
Mia ZHOU
caa98896ae New group button should disabled when login without ldap
Disable "New group" button when user does not login with ldap
2018-07-31 14:19:00 +08:00
Wenkai Yin
3739a96d30
Merge pull request #5436 from reasonerjt/creation-time-sql
Set default creation_time and update_time at model
2018-07-31 13:51:44 +08:00
Daniel Jiang
bda0a92ea9
Merge pull request #5427 from ywk253100/180730_redirect
Remove the URL rewrite for docker registry request
2018-07-31 13:34:15 +08:00
Daniel Jiang
6062bf279b Set default creation_time and update_time at model
This commit set the default value of creation_time and update_time to
data objects by adding `orm:add_now` annotations.
2018-07-31 12:56:14 +08:00
Mia ZHOU
1af3bcd93d Fix Repositories card view title displayed wrong
Problem Description:

In the card view of repositories, if the title is long, it can not show all the text.

Fix:

Add css

    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap:break-word;
    white-space: nowrap

in mixin files, and tooltip to show all the text.
2018-07-31 10:51:42 +08:00
Qian Deng
43774df6f3
Merge pull request #5426 from zhoumeina/pr/fix_remove_button_not_clickable
Fix remove button not clickable
2018-07-30 05:27:04 -04:00
Wenkai Yin
7e6a13915b Remove the URL rewrite for docker registry request
This commit redirects the request to UI directory without URL rewrite
2018-07-30 17:24:15 +08:00
Wenkai Yin
48489bf7ae
Merge pull request #5424 from steven-zou/add_more_ut_cases
Add more UT cases for chart repo API controller
2018-07-30 15:20:22 +08:00
Mia ZHOU
52634dcec4 Fix remove button not clickable
Problem description:
In member tab, Action->remove is not clickable in production mode.

Root cause analysis:

Some style for clarity checkbox impact dropdown menu.

Fix:
We do a quick fix in member.component.scss. Set checkbox in this component
position:inherit;

This will overide the clarity original style
2018-07-30 14:01:19 +08:00
Steven Zou
34db0d9c8a Add more UT cases for chart repo API controller
case for testing require access
case for testing require namespace
case for testing multipart checking
case for testing URL rewriting
2018-07-30 13:25:11 +08:00
Steven Zou
4b1f0470ca Provide digital signature info of the related chart version 2018-07-27 15:07:22 +08:00
Wenkai Yin
2a40068d75 Fix cross slot issue of redis
This commit upgrdes the github.com/gocraft/work package to 0.5.1 and updates the namespace value
to fix the redis cross slot issue mentioned in #4633
2018-07-27 14:23:39 +08:00
Steven Zou
cfefcb7450
Merge pull request #5399 from steven-zou/fix_access_control_issue
Fix the access control checking issue
2018-07-26 15:27:30 +08:00
Mia ZHOU
4ff45b0624 Use capitalize in configuration dropdown menu
Problem Description:
configuration dropdown menu use all uppercase letters.

Fix:
Modify all of them in capitalize letters.

Note:Try to use css text-transform:Caplitalize but not working, if anyone know the reason, please kindly tell me.
2018-07-26 14:40:12 +08:00
Steven Zou
01fb95062c Fix the access control checking issue
should check access first, then check authentication
return 401/403 accroding to the checking results properly
2018-07-26 14:28:16 +08:00
Mia ZHOU
397af582a2 Replicate project error message is not correct
Problem description:
when user try to new a replication rule, he need to input source project name.
In this case, if user input a project name not exist. The error message will be:"Please add a project name",
this is not accurate.

Fix:
Modify the error message to "This project is not exist".

Plus:Modify the error popup using standard tooltip component.
2018-07-26 13:37:45 +08:00
Daniel Jiang
97fb67f835 No scan all policy if Clair is not installed.
This commit fixes #5283 by not registering scan all policy when Harbor
is not deployed with Clair.
2018-07-25 19:52:16 +08:00
Mia ZHOU
9fba539bd4
Merge pull request #5392 from zhoumeina/new_label_fix
Fix configuration->label->new sometimes not enable.
2018-07-25 18:32:16 +08:00
Mia ZHOU
60f83843e3 Fix configuration->label->new sometimes not enable.
Problem description:
1 label enable sometimes not correct. User input good label names, submit button still disabled.
2 Some times click submit, not working.

Fix:

1 After review the new label code. It trying to use a global variable to control the progress of validation. In the progress of validation, it will disabled the submit button.

This will cause user bad experience. Just remove this logic.

2 Backend use fuzzy matching, the frontend logic did not change before. So when user already have a user name called "abcd",and then input another name called "abc" it will report duplicated name error.
This logic still need change.

3 This is the first version of refine. Can be refine again if find some other logic not correct.
2018-07-25 17:47:22 +08:00
Steven Zou
b8c7a8cb68
Merge pull request #5393 from steven-zou/fix_content_length_issue
Set the content length to -1 to let the reader read all the uploading…
2018-07-25 17:08:32 +08:00
Steven Zou
850af80762 Set the content length to -1 to let the reader read all the uploading contents in the request 2018-07-25 16:25:44 +08:00
Mia ZHOU
50678523c4 Notification should not hide content according to ux
Issue description:
Notification will hide some content when it popup.

According to ux requirement, we should make it not extend to the whole widh of UI, and should not hide the content.

Fix:
Use clarity alert-app-level style,it will show as ux design,and text in center too.
2018-07-25 11:29:08 +08:00
Steven Zou
07bfad968a Update content length of request when rewriting the content 2018-07-24 23:10:42 +08:00
Qian Deng
7ee2e1053e
Merge pull request #5383 from zhoumeina/notification_ui_refine
Notification should not hide content according to ux
2018-07-24 10:00:33 -04:00
Mia ZHOU
2240693a1d Notification should not hide content according to ux
Issue description:
Notification will hide some content when it popup.

According to ux requirement, we should make it not extend to the whole widh of UI, and should not hide the content.

Fix:
Modify the position from 'absolute' to 'relative', so that it will not hide the content.
2018-07-24 17:56:46 +08:00
stonezdj
9b209858f4 Ldap_group_admin_dn can not updated via rest 2018-07-24 17:47:57 +08:00
Qian Deng
eafee964c1
Merge pull request #5372 from zhoumeina/fix_configuration_button_validation
Fix issue install clair the first time use scan will have undefined e…
2018-07-24 02:07:59 -04:00
Mia ZHOU
19e2a9ad1b Fix issue install clair the first time use scan will have undefined error
Description:
Reproduce Steps:
1 User install Clair
2 User use scan to scan the image
2 There will be a notification pop with undefined error
Root cause:
In result-bar-chart-component.ts  copyValue function
  this.summary.scan_status = newVal.scan_status;
It try to set scan status to summary object.
Somehow, the first time summary is undefined. It will cause this error.

Fix:
1 Do a empty check before assign value to a object.
2 Set a default value to summary.
2018-07-24 13:36:39 +08:00
silenceshell
7745b79b2e var name should not be error (#5332)
Rename the variable names from "error" to "err"
2018-07-24 11:33:21 +08:00
Steven Zou
9f0f959749 Fix the multipart form data content missing issue by refill the content again before passing to the backend server
refill the multipart form data at harbor API layer
export write error functions from the chartserver package
refactor the error format to be compatiable with push plugin
2018-07-24 10:32:20 +08:00
Steven Zou
405e89158a
Merge pull request #5364 from steven-zou/fix_file_missing_issue
Fix the issue of returning '* file not found' error
2018-07-23 15:32:02 +08:00
Steven Zou
2f0b706f84 Fix the issue of returning '* file not found' error
return default empty when file is not existing
2018-07-23 14:53:40 +08:00
Daniel Jiang
b9762afbdd Clean up vendor folder
Add `prune` section to Gopkg.toml to remove the unused packages from
vendor folder.
Update the reference of `semver` and `distribution` repo.
2018-07-23 14:40:25 +08:00
Steven Zou
bb380e6dbc
Merge pull request #5314 from steven-zou/chart_repo_supporting
Refactor chart API endpoints
2018-07-20 20:43:55 +08:00
Steven Zou
0227a1315a Keep the chart server related configurations in adminserver
append chart server related config options to the supporting list of adminserver
provide chart server related config access method in the API layer
update prepare script and ui env template file to enable cache driver config for chart server API
append flag info in the systeminfo API to indicate if chart server is deployed with Harbor
refactor the response rewriting logic to return structual error object
add api init method to initilizing objects required in API handlers
chage owner of the storage folder
update offline/online package scripts in Harbor-Util.robot
2018-07-20 19:40:33 +08:00
Yan
efdb57548f
add admin job api (#5344)
It supports Harbor admin to trigger job either manual or
schedule. The job will be populated to job service to execute. 
The api includes:
1. POST /api/system/gc
2, GET /api/system/gc/:id 
3, GET /api/system/gc/:id/log
4, PUT/GET/POST /api/system/gc/schedule
2018-07-20 19:22:37 +08:00
Steven Zou
726d81803b Fix conflicts in Makefiles and prepare script files with upstream 2018-07-19 03:17:05 -07:00
stonezdj
f5e82f75a7 Add SafeCast function and set default value for some sytem configure
Add SafeCastString, SafeCastInt, SafeCastFloat64, SafeCastBool function to check
the type matched and avoid panic in runtime

Add default value to configure settings to avoid cannot save configure
issue
2018-07-17 17:00:06 +08:00
Yan
9e65499c10
Add garbage collection job implemention, this job could (#5268)
be triggered by manual and schedule. It calls registrtctl
to do the GC job, and log the output.
2018-07-16 18:08:40 +08:00
Yan
d5b85a6748
Add the registry controller httpserver, it's responsible for controlling (#5265)
docker regsitry. This version has the API to call regsitry GC with jobservice
secret. Seprates it into a standalone container as do not want to invoke two
processes in one container.

It needs to mount the registry storage into this container in order to do GC,
and needs to copy the registry binary into it.
2018-07-16 16:50:28 +08:00
Steven Zou
b572e64a68 Refactor chart API endpoints
add /chartrepo after /api
add /chartrepo before /index.yaml,/:repo/index.yaml and /:repo/charts/:filename
add debug messages to the potential debug points
add more supporting mime types "multipart/form-data", "application/octet-stream" to the API endpoints

update travis file to inject ENV for UT cases of chart repo
2018-07-16 14:33:39 +08:00
Wenkai Yin
8a92019e8e
Merge pull request #5310 from reasonerjt/adminserver-update-schema
Let adminserver initialise the DB schema.
2018-07-16 12:52:11 +08:00
Daniel Jiang
0d6ea995e1 Let adminserver initialise the DB schema.
This commit make update to remove the code from ui container to init the
DB schema.  As UI has dependency on admin server, so it's safe to assume
adminserver has to be ready first.  Regardless the setting of the config
store of admin server, it will try to access and intialize the schema of
database.
2018-07-13 17:32:17 +08:00
Daniel Jiang
8f8a6a1fc9
Merge pull request #5304 from steven-zou/chart_repo_supporting
Add API routes of chart repo services in harbor API router
2018-07-13 16:55:49 +08:00
Steven Zou
3a44f76b94 Add API routes of chart repo services in harbor API router
add chart repo API controller
update GetChartVersion to extract repo name from the request
update the corresponding UI cases

update the chart controller initialization process
2018-07-13 16:10:46 +08:00
timchenxiaoyu
a912a55ac2 add sync registry env (#5294)
By default Harbor will call catalog API of registry and sync the result to DB, this becomes problematic when registry is configured to custom storage service, there maybe inconsistent result and the whole process may be very time consuming.
So in this commit a env var SYNC_REGISTRY is introduced if user want Harbor to sync the repo when it starts up, by default it's false.
2018-07-13 11:15:41 +08:00
Daniel Jiang
e415d56099
Merge pull request #5258 from steven-zou/chart_repo_supporting
Implement the API services to support chart repo functions
2018-07-11 18:46:36 +08:00
Steven Zou
6ea9291c09 Refactor code after PR reviewing
pass cache config to the constructor of chart cache
use break loop to instead of return in GetIndexYaml
fix typo reids to redis
pass credential to the reverse proxy and chart client via constructors
2018-07-11 17:31:34 +08:00
Steven Zou
da4359f56b Add UT cases for the code of supporting chart repo server
add UT cases for cache
add UT cases for ChartOperator
add UT cases for the main API service of chart server
export some consts in the security.go of filter package to let them visible in chartserver package
2018-07-11 13:55:35 +08:00
Steven Zou
44cbb29664 Add cache support for the querying of chart details
support in memory cache
support redis cache
2018-07-08 11:17:55 +08:00
Steven Zou
7d782c41fc Implement the functions of getting chart version details and chart lists
getting chart list returns chart list instead of map and provides total versions info
getting chart details will return dependencies and values besides the metatdata of the chart version
2018-07-06 20:53:13 +08:00
Daniel Jiang
ad7a85da51
Merge pull request #5200 from stonezdj/add_group_search_api
Add REST API to search LDAP by Group DN
2018-07-06 15:10:31 +08:00