From 0d9f158ab82b9781bb24f922c04db241da8eb987 Mon Sep 17 00:00:00 2001 From: zeaslity Date: Wed, 15 Nov 2023 15:26:47 +0800 Subject: [PATCH] [ Server ] [ Harbor ] - sync projects - 3 --- agent-go/executor/HarborExecutor.go | 56 +++++++++++++++++++++-------- 1 file changed, 41 insertions(+), 15 deletions(-) diff --git a/agent-go/executor/HarborExecutor.go b/agent-go/executor/HarborExecutor.go index 02c727c..d990757 100644 --- a/agent-go/executor/HarborExecutor.go +++ b/agent-go/executor/HarborExecutor.go @@ -219,22 +219,25 @@ 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,需要根据实际情况设置 - }, - DestNamespace: "", // 可以指定目标 Harbor 中的特定项目,如果为空,则使用源项目名称 - Trigger: &model.ReplicationTrigger{ - Type: "manual", // 可以是 "manual", "scheduled", 或 "event_based" - // 如果是 "scheduled",还需要设置 Cron 表达式 - // TriggerSettings: &model.TriggerSettings{Cron: "0 * * * *"}, + Credential: &model.RegistryCredential{ + AccessKey: "admin", + AccessSecret: "V2ryStr@ngPss", + Type: "basic", + }, + Description: "", + ID: 4, + Insecure: false, + Name: "cmii", // 源 Harbor 实例的注册表 ID,通常为 0 + Type: "harbor", + URL: "10.250.0.126:8033", }, + Enabled: true, //Filters: []*model.ReplicationFilter{ // { // Type: "name", @@ -245,7 +248,30 @@ func (hOp *HarborOperator) SyncProjectExec(funcArgs []string) (bool, []string) { // Value: "rancher/**", // 根据需要同步的仓库进行调整 // }, //}, - Filters: nil, + 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: false, + Name: "cmii", // 源 Harbor 实例的注册表 ID,通常为 0 + Type: "harbor", + URL: "10.250.0.100:8033", + }, + Trigger: &model.ReplicationTrigger{ + Type: "manual", // 可以是 "manual", "scheduled", 或 "event_based" + // 如果是 "scheduled",还需要设置 Cron 表达式 + // TriggerSettings: &model.TriggerSettings{Cron: "0 * * * *"}, + }, } // 在源 Harbor 中创建复制策略