[ Server ] [ Harbor ] - sync projects - 9

This commit is contained in:
zeaslity
2023-11-16 11:19:11 +08:00
parent eac8866484
commit 6fadb5422e

View File

@@ -221,10 +221,27 @@ func (hOp *HarborOperator) SyncProjectExec(funcArgs []string) (bool, []string) {
return false, append(syncNotExistHarborProjectError, "targetClient")
}
}
octopusReplicationPolicyName := "octopus-sync-replication"
OctopusSourceHarborName := "octopus-source"
// add source registry to destination harbor
log.InfoF("[Harbor Sync Project ] - start to create source harbor endpoints => %s", hOp.SourceHarborHost)
OctopusSourceHarborName := "octopus-source"
log.Debug("[Harbor Sync Project ] - start to delete exist replication policy !")
policies, _ := targetClient.ListReplicationPolicies(ctx)
if policies != nil {
for _, policy := range policies {
if policy.Name == octopusReplicationPolicyName {
err := targetClient.DeleteReplicationPolicyByID(ctx, policy.ID)
if err != nil {
return false, []string{
"[Harbor Sync Project ] - delete exists replication policy failed !",
}
}
}
}
}
log.Debug("[Harbor Sync Project ] - start to delete exist exist harbor endpoints !")
exitRegistry, _ := targetClient.GetRegistryByName(ctx, OctopusSourceHarborName)
if exitRegistry != nil {
log.Debug("[Harbor Sync Project ] - source endpoints already exists ! delete it !")
@@ -255,6 +272,7 @@ func (hOp *HarborOperator) SyncProjectExec(funcArgs []string) (bool, []string) {
}
}
// 创建复制策略
octopusReplicationPolicy := &model.ReplicationPolicy{
CopyByChunk: nil,
Deletion: false,
@@ -275,7 +293,7 @@ func (hOp *HarborOperator) SyncProjectExec(funcArgs []string) (bool, []string) {
},
},
ID: 0,
Name: "octopus-sync-replication",
Name: octopusReplicationPolicyName,
Override: true,
ReplicateDeletion: false,
Speed: nil,
@@ -289,20 +307,6 @@ func (hOp *HarborOperator) SyncProjectExec(funcArgs []string) (bool, []string) {
// 在源 Harbor 中创建复制策略
log.Info("[Harbor Sync Project ] - Start To Sync Project !")
policies, _ := targetClient.ListReplicationPolicies(ctx)
if policies != nil {
for _, policy := range policies {
if policy.Name == octopusReplicationPolicy.Name {
err := targetClient.DeleteReplicationPolicyByID(ctx, policy.ID)
if err != nil {
return false, []string{
"[Harbor Sync Project ] - delete exists replication policy failed !",
}
}
}
}
}
err = targetClient.NewReplicationPolicy(ctx, octopusReplicationPolicy.DestRegistry, octopusReplicationPolicy.SrcRegistry, octopusReplicationPolicy.Deletion, octopusReplicationPolicy.Override, octopusReplicationPolicy.Enabled, octopusReplicationPolicy.Filters, octopusReplicationPolicy.Trigger, octopusReplicationPolicy.DestNamespace, octopusReplicationPolicy.Name, octopusReplicationPolicy.Name)
if err != nil {
syncErrorMessage := fmt.Sprintf("[Harbor Sync Project ] - Sync Project Failed !: %s\n", err.Error())