e93554e4bc
fix #74 Mainly borrowed from https://github.com/drone-plugins/drone-docker/tree/master/cmd/drone-ecr. `drone/ecr` is still on 20.10.14 and sparsely updated/maintained. Would be great to add support for additional registries like ECR to buildx. The login process is as follows: 1. Call the AWS API with some arguments to get a short-lived auth token (12h) 2. Use the token and Username `AWS` for the `docker login` call ## Notes - To push to ECR, the full registry URL must be given in the tag, i.e. `registry/owner/repo`. For this, `Registry` must also be added the to `Build` struct besides the `Settings` struct - For now I've only referenced the source in `ecr.go` by using the most recent commit of today. Should this be done differently? - The implementation here from me is simple and probably a bit "naive" as this is my first "real" golang feature PR. - I've tested this change with a custom image and was able to successfully push to ECR while dynamically creating a repository. Proper tests would still be great... - Vars `assumeRole` and `externalID` are somehow not exposed in https://plugins.drone.io/plugins/ecr and I am not sure if this is by design or because they were just forgotten. Anyhow, this is reason I didn't expose them for now and just added internal dummy vars. Co-authored-by: pat-s <patrick.schratz@gmail.com> Co-committed-by: pat-s <patrick.schratz@gmail.com> |
||
---|---|---|
.. | ||
coredns.go | ||
daemon.go | ||
docker.go | ||
docker_test.go | ||
ecr.go | ||
impl.go | ||
impl_test.go | ||
labels.go | ||
login.go | ||
plugin.go | ||
tags.go | ||
tags_test.go |