mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-18 08:15:16 +01:00
fix(replication): aws ecr delete image
Signed-off-by: Ziming Zhang <zziming@vmware.com> Change-Id: I5e38b813c2840e0270973c38680cb8f815e5ece9 Signed-off-by: Ziming Zhang <zziming@vmware.com>
This commit is contained in:
parent
3fe7517432
commit
ed3bf041e2
@ -271,3 +271,38 @@ func (a *adapter) createRepository(repository string) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeleteManifest ...
|
||||
func (a *adapter) DeleteManifest(repository, reference string) error {
|
||||
// AWS doesn't implement standard OCI delete manifest API, so use it's sdk.
|
||||
if a.registry.Credential == nil ||
|
||||
len(a.registry.Credential.AccessKey) == 0 || len(a.registry.Credential.AccessSecret) == 0 {
|
||||
return errors.New("no credential ")
|
||||
}
|
||||
cred := credentials.NewStaticCredentials(
|
||||
a.registry.Credential.AccessKey,
|
||||
a.registry.Credential.AccessSecret,
|
||||
"")
|
||||
if a.region == "" {
|
||||
return errors.New("no region parsed")
|
||||
}
|
||||
config := &aws.Config{
|
||||
Credentials: cred,
|
||||
Region: &a.region,
|
||||
HTTPClient: &http.Client{
|
||||
Transport: registry.GetHTTPTransport(a.registry.Insecure),
|
||||
},
|
||||
}
|
||||
if a.forceEndpoint != nil {
|
||||
config.Endpoint = a.forceEndpoint
|
||||
}
|
||||
sess := session.Must(session.NewSession(config))
|
||||
|
||||
svc := awsecrapi.New(sess)
|
||||
|
||||
_, err := svc.BatchDeleteImage(&awsecrapi.BatchDeleteImageInput{
|
||||
RepositoryName: &repository,
|
||||
ImageIds: []*awsecrapi.ImageIdentifier{{ImageTag: &reference}},
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user