diff --git a/agent-go/executor/HarborExecutor.go b/agent-go/executor/HarborExecutor.go index 8dfd06d..18ee1fd 100644 --- a/agent-go/executor/HarborExecutor.go +++ b/agent-go/executor/HarborExecutor.go @@ -218,32 +218,59 @@ func (hOp *HarborOperator) SyncProjectExec(funcArgs []string) (bool, []string) { // 创建复制策略 newPolicy := &model.ReplicationPolicy{ - Name: "sync-repositories-to-target", - Enabled: true, - Deletion: false, - Override: true, - SrcRegistry: &model.Registry{ - Name: "cmii", // 源 Harbor 实例的注册表 ID,通常为 0 - }, + CopyByChunk: nil, + Deletion: false, + Description: "", + DestNamespace: "", // 可以指定目标 Harbor 中的特定项目,如果为空,则使用源项目名称 + DestNamespaceReplaceCount: nil, DestRegistry: &model.Registry{ - Name: "cmii", // 目标 Harbor 实例的注册表 ID,需要根据实际情况设置 + Credential: &model.RegistryCredential{ + AccessKey: "admin", + AccessSecret: "V2ryStr@ngPss", + Type: "basic", + }, + Description: "", + ID: 4, + Insecure: true, + Name: "cmii", // 源 Harbor 实例的注册表 ID,通常为 0 + Type: "harbor", + URL: "10.250.0.126:8033", + }, + Enabled: true, + //Filters: []*model.ReplicationFilter{ + // { + // Type: "name", + // Value: "cmii/**", // 根据需要同步的仓库进行调整 + // }, + // { + // Type: "name", + // Value: "rancher/**", // 根据需要同步的仓库进行调整 + // }, + //}, + Filters: nil, + ID: 0, + Name: "sync-repositories-to-target", + Override: true, + ReplicateDeletion: false, + Speed: nil, + SrcRegistry: &model.Registry{ + Credential: &model.RegistryCredential{ + AccessKey: "admin", + AccessSecret: "V2ryStr@ngPss", + Type: "basic", + }, + Description: "", + ID: 4, + Insecure: true, + Name: "cmii", // 源 Harbor 实例的注册表 ID,通常为 0 + Type: "harbor", + URL: "10.250.0.100:8033", }, - DestNamespace: "", // 可以指定目标 Harbor 中的特定项目,如果为空,则使用源项目名称 Trigger: &model.ReplicationTrigger{ Type: "manual", // 可以是 "manual", "scheduled", 或 "event_based" // 如果是 "scheduled",还需要设置 Cron 表达式 // TriggerSettings: &model.TriggerSettings{Cron: "0 * * * *"}, }, - Filters: []*model.ReplicationFilter{ - { - Type: "name", - Value: "cmii/**", // 根据需要同步的仓库进行调整 - }, - { - Type: "name", - Value: "rancher/**", // 根据需要同步的仓库进行调整 - }, - }, } // 在源 Harbor 中创建复制策略 @@ -251,7 +278,7 @@ func (hOp *HarborOperator) SyncProjectExec(funcArgs []string) (bool, []string) { err := sourceClient.NewReplicationPolicy(ctx, newPolicy.DestRegistry, newPolicy.SrcRegistry, newPolicy.Deletion, newPolicy.Override, newPolicy.Enabled, newPolicy.Filters, newPolicy.Trigger, newPolicy.DestNamespace, newPolicy.Name, newPolicy.Name) if err != nil { - syncErrorMessage := fmt.Sprintf("[Harbor Sync Project ] - Sync Project Failed !: %v\n", err) + syncErrorMessage := fmt.Sprintf("[Harbor Sync Project ] - Sync Project Failed !: %s\n", err.Error()) log.Error(syncErrorMessage) return false, []string{ syncErrorMessage, diff --git a/server/src/test/java/io/wdd/server/func/TestBaseFuncScheduler.java b/server/src/test/java/io/wdd/server/func/TestBaseFuncScheduler.java index 1a48aa8..05bc2aa 100644 --- a/server/src/test/java/io/wdd/server/func/TestBaseFuncScheduler.java +++ b/server/src/test/java/io/wdd/server/func/TestBaseFuncScheduler.java @@ -34,10 +34,10 @@ public class TestBaseFuncScheduler { ServerQueryEntity serverQueryEntity = new ServerQueryEntity(); // exsi server -// serverQueryEntity.setServerName("Chengdu-amd64-99"); + serverQueryEntity.setServerName("Chengdu-amd64-99"); // lappro - serverQueryEntity.setServerName("Chengdu-amd64-65"); +// serverQueryEntity.setServerName("Chengdu-amd64-65"); ServerInfoPO serverInfoPO = serverService .serverGetByPage(serverQueryEntity)