Add support for AAD auth for docker-acr (#395)

* Add support for AAD auth for docker-acr

* Update go version

---------

Co-authored-by: TP Honey <tp@harness.io>
This commit is contained in:
Rutvij Mehta
2023-08-22 04:07:41 -07:00
committed by GitHub
parent 025dfb0adc
commit be7bda4431
6 changed files with 316 additions and 68 deletions
+18 -15
View File
@@ -16,20 +16,21 @@ import (
type (
// Daemon defines Docker daemon parameters.
Daemon struct {
Registry string // Docker registry
Mirror string // Docker registry mirror
Insecure bool // Docker daemon enable insecure registries
StorageDriver string // Docker daemon storage driver
StoragePath string // Docker daemon storage path
Disabled bool // DOcker daemon is disabled (already running)
Debug bool // Docker daemon started in debug mode
Bip string // Docker daemon network bridge IP address
DNS []string // Docker daemon dns server
DNSSearch []string // Docker daemon dns search domain
MTU string // Docker daemon mtu setting
IPv6 bool // Docker daemon IPv6 networking
Experimental bool // Docker daemon enable experimental mode
RegistryType drone.RegistryType // Docker registry type
Registry string // Docker registry
Mirror string // Docker registry mirror
Insecure bool // Docker daemon enable insecure registries
StorageDriver string // Docker daemon storage driver
StoragePath string // Docker daemon storage path
Disabled bool // DOcker daemon is disabled (already running)
Debug bool // Docker daemon started in debug mode
Bip string // Docker daemon network bridge IP address
DNS []string // Docker daemon dns server
DNSSearch []string // Docker daemon dns search domain
MTU string // Docker daemon mtu setting
IPv6 bool // Docker daemon IPv6 networking
Experimental bool // Docker daemon enable experimental mode
RegistryType drone.RegistryType // Docker registry type
ArtifactRegistry string // Docker registry where artifact can be viewed
}
// Login defines Docker login parameters.
@@ -231,7 +232,9 @@ func (p Plugin) Exec() error {
if p.ArtifactFile != "" {
if digest, err := getDigest(p.Build.TempTag); err == nil {
if err = drone.WritePluginArtifactFile(p.Daemon.RegistryType, p.ArtifactFile, p.Daemon.Registry, p.Build.Repo, digest, p.Build.Tags); err != nil {
// ArtifactRegistry here will be read from env variable ARTIFACT_REGISTRY (valid for ACR). If this env
// variable is not present, it'll be read from PLUGIN_REGISTRY then finally DOCKER_REGISTRY both are valid for docker / ecr / gcr / heroku.
if err = drone.WritePluginArtifactFile(p.Daemon.RegistryType, p.ArtifactFile, p.Daemon.ArtifactRegistry, p.Build.Repo, digest, p.Build.Tags); err != nil {
fmt.Printf("failed to write plugin artifact file at path: %s with error: %s\n", p.ArtifactFile, err)
}
} else {