package transform import ( "github.com/drone/drone/model" "github.com/drone/drone/yaml" ) func ImageSecrets(c *yaml.Config, secrets []*model.Secret, event string) error { var images []*yaml.Container images = append(images, c.Pipeline...) images = append(images, c.Services...) for _, image := range images { imageSecrets(image, secrets, event) } return nil } func imageSecrets(c *yaml.Container, secrets []*model.Secret, event string) { for _, secret := range secrets { if !secret.Match(c.Image, event) { continue } switch secret.Name { case "REGISTRY_USERNAME": c.AuthConfig.Username = secret.Value case "REGISTRY_PASSWORD": c.AuthConfig.Password = secret.Value case "REGISTRY_EMAIL": c.AuthConfig.Email = secret.Value default: if c.Environment == nil { c.Environment = map[string]string{} } c.Environment[secret.Name] = secret.Value } } }