Commit Graph

88 Commits

Author SHA1 Message Date
Wenkai Yin
185525e9c8 Implement a default image registry client
Provide a default implemmentation for image registry interface, other adapters can use it directly

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-12 20:21:58 +08:00
Wenkai Yin
7ab21db26a Update the job ID in flow controller
Update the job ID for the task if it is scheduled successfully

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-12 15:42:16 +08:00
Wenkai Yin
772367498f Merge remote-tracking branch 'upstream/master' into 190311_sync 2019-03-11 20:34:49 +08:00
Wenkai Yin
d1f4c20e64 Implement replication policy management API
This commit implements the replication policy management API

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-09 01:32:51 +08:00
Wenkai Yin
272508e509 Provide a null implementation for Harbor adapter
This commit provides a null implementation for Harbor adapter to fill data for the listing adapter API

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-09 01:10:25 +08:00
慕薇疯魔
1039800fa9 1. Migration for policy manager.
2. Clear test database after run test.
3. UT for policy manager and dao.

Signed-off-by: 慕薇疯魔 <kfanjian@gmail.com>
2019-03-11 16:01:31 +08:00
Frank Kung
5bd5d59a4f 1. Define ng persist replication policy model.
2. Add ng replication policy CURD methods.
3. Implement ng policy manger.

Signed-off-by: Frank Kung <kfanjian@gmail.com>
Signed-off-by: 慕薇疯魔 <kfanjian@gmail.com>
2019-03-11 11:13:10 +08:00
Wenkai Yin
0b08291a2f
Merge branch 'replication_ng' into 190227_adapter_interface 2019-03-08 13:01:39 +08:00
Wenkai Yin
6742e0ceda Refactor the adapter interface
This commit refactors the Adapter interface and adjust the code in the flow controller and repository handler

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-08 12:26:17 +08:00
Wenkai Yin
ec2a7f9239 Implement replication operation API
This commit implements the replication operation related APIs

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-08 10:06:33 +08:00
Wenkai Yin
7f49151115 Implement replication adapter API
This commit implements the replication adapter API

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-03-06 15:01:33 +08:00
De Chen
2bc2a44db8
Merge branch 'replication_ng' into registries-management 2019-03-05 16:22:34 +08:00
cd1989
b00098d492 Add unit tests and fix CI
Signed-off-by: cd1989 <chende@caicloud.io>
2019-03-05 15:37:36 +08:00
Wenkai Yin
937ee46ae0
Merge branch 'replication_ng' into replication_ng 2019-03-05 15:20:21 +08:00
cd1989
8732a20709 Rewrite registry manager with new interface
Signed-off-by: cd1989 <chende@caicloud.io>
2019-02-27 11:54:04 +08:00
cd1989
6bdf3053a7 Implement registries manager
Signed-off-by: cd1989 <chende@caicloud.io>
2019-02-27 11:54:04 +08:00
Wenkai Yin
95888b3dc2
Merge branch 'replication_ng' into 190130_transfer_repo 2019-02-27 11:00:42 +08:00
Yuan Lei
253600ad39 sync from upstream and merge the conflic
Signed-off-by: Yuan Lei <371304458@qq.com>
2019-02-27 10:52:03 +08:00
Wenkai Yin
79d34c6f80 Create dao folder in replication
This commit creates a new folder called dao under replication to hold dao codes

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-02-26 14:54:16 +08:00
Nguyen Quang Huy
eda6c47b3e add signoff for DCO gate (#6981)
Some variable name, function name is colliding with builtin function.

Signed-off-by: Nguyen Quang Huy <huynq0911@gmail.com>
2019-02-22 15:00:18 +08:00
Wenkai Yin
8894a27d2d Implement the operation controller
This commit implements the operation controller. The operation controller wraps the flow controller and execution manager to provide capabilities for the upper level

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-02-22 10:12:14 +08:00
Wenkai Yin
e3a9264162 Refactor the Scheduler interface
This commit refactors the Scheduler interface and does the corresponding changes to the flow controller

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-02-21 15:34:57 +08:00
Yuan Lei
7108b5c58c update scheduler interface to follow the new standard
Signed-off-by: Yuan Lei <371304458@qq.com>
2019-02-18 11:40:58 +08:00
Wenkai Yin
f0f2e77fb4 Implement the repository transfer
This commit implements the Transfer interface for resource repository

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-02-15 17:49:35 +08:00
Wenkai Yin
530ba1d27b Fix #6698
This commit fixes the issue #6698: cannot create a same name replication policy after deleting it

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-02-15 15:17:48 +08:00
Wenkai Yin
e12da7264a Implement the replication flow controller
1. Implement the replication flow controller
2. Implement the registry adapter management
3. Define the interface for PolicyManager, RegistryManager, ExecutionManager, TaskManager and Scheduler

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-02-14 11:34:12 +08:00
Yuan Lei
bd84f5f490 sperate the logics to two part: 1,tasks generating. 2,tasks submit
Signed-off-by: Yuan Lei <371304458@qq.com>
2019-02-13 17:47:07 +08:00
Yuan Lei
956a4c4f05 scheduler module to schedule the transfer job of resouce
Signed-off-by: Yuan Lei <371304458@qq.com>
2019-02-11 16:49:25 +08:00
Wenkai Yin
759cb5467b Refine the replication job
1. Refine the replication job
2. Define the Transfer interface
3. Define the common models

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2019-01-29 15:48:02 +08:00
Daniel Jiang
5d59d6fab8 Bump up golang to 1.11.2
Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2019-01-11 14:44:32 +08:00
Steven Zou
ec2ad4d0b8
Merge pull request #6093 from cd1989/replication-record-id
Add op uuid to image replication
2018-11-30 14:54:43 +08:00
Wenkai Yin
88aa413fe6 Pass internal core URL as source in replication
Currently, we pass the external URL as the source registry and set insecure as true in replication, this causes security issue. This commit replaces the URL with the internal one and set insecure to false. Fixes #6109.

Signed-off-by: Wenkai Yin <yinw@vmware.com>
2018-11-01 17:13:38 +08:00
Steven Zou
9bbc9233f1
Merge pull request #6147 from clouderati/fix-misspelling
Fix mispelling
2018-10-26 12:47:31 +08:00
clouderati
5c47e83bd6 Fix mispelling
* s/convertor/converter
* s/Convertor/Converter

Signed-off-by: clouderati <35942204+clouderati@users.noreply.github.com>
2018-10-25 21:29:46 +00:00
clouderati
b0d523841e Adding copyright header
Adding header to replication/models/policy.go file as it was previously
missing.

Signed-off-by: clouderati <35942204+clouderati@users.noreply.github.com>
2018-10-25 20:54:05 +00:00
陈德
1ffd9d8fba Add op uuid to image replication
Signed-off-by: 陈德 <chende@caicloud.io>
2018-10-21 23:55:57 +08:00
Daniel Jiang
b895a2d7cf Revoke the change in replicator
Revoke the change made to replicator to reset the insecure flag to true
when accessing source registry.  The reason is that the replicator will
use external URL to access source registry, setting it to false will
break replication when Harbor is hosting with self-signed certificate.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2018-10-11 18:29:38 +08:00
Daniel Jiang
1188bd89b9 Use secure transport to access HTTP endpoint
In various parts of the code, we used insecure transport in http Client
when we assume the endpoint is http.  This causes complaints form
security scanner.  We should use secure transport in such cases.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2018-10-10 17:51:02 +08:00
Daniel Jiang
b12dc3b5d8 Schedule "scan all" via jobservice
This commit leverage the jobservice to trigger "scan all" and
gets rid of the local scheduler to make the harbor-core container
stateless.
It keeps using the notifer mechanism to handle the configuration change.

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2018-09-28 15:42:37 +08:00
clouderati
587459df15 Replacing copyright notices with "Copyright Project Harbor Authors".
Signed-off-by: clouderati <35942204+clouderati@users.noreply.github.com>
2018-09-19 16:59:36 +00:00
Qian Deng
7873a0312a Rename harbor-ui to harbor-core
1. Update the nginx.conf
2. Update Makefile
3. Update docker-compose
4. Update image name
5. Rename folder ui to core
6. Change the harbor-ui's package name to core
7. Remove unused static file on harbor-core
8. Remove unused code for harbor-portal

Signed-off-by: Qian Deng <dengq@vmware.com>
2018-09-19 16:35:13 +08:00
陈德
0582db9a82 Apply consistent format for comments
Signed-off-by: 陈德 <chende@caicloud.io>
2018-09-05 16:16:31 +08:00
wang yan
aab761ac8a Fix gofmt check results
Signed-off-by: wang yan <wangyan@vmware.com>
2018-08-29 11:50:00 +08:00
Yan
fca2bb3a6b
Fix misspell checking results (#5749)
Signed-off-by: wang yan <wangyan@vmware.com>
2018-08-29 10:25:42 +08:00
Daniel Jiang
dcf4e2ee78 Update import path in go code
vmware -> goharbor

Signed-off-by: Daniel Jiang <jiangd@vmware.com>
2018-08-23 17:50:53 +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
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
Wenkai Yin 79628
ad62fffb0e Add label filter in replication policy API
The label filter can be used to filter images when do the replication, this commit provides the filter in replication policy
2018-05-21 15:01:17 +08:00
Steven Zou
3917512d3e
Merge pull request #4962 from ywk253100/180509_label_filter
Add label filter to filter chain
2018-05-15 20:12:34 +08:00
Wenkai Yin 79628
c1ebf0ba1e Add label filter to filter chain
Label filters are used to filter the resources according to the labels, adding the filters to the chain to enable the function.
2018-05-15 19:19:01 +08:00