Skip to content
This repository has been archived by the owner on Nov 1, 2022. It is now read-only.

prevents AWS errors when not using AWS #1810

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 27 additions & 13 deletions cmd/fluxd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -334,23 +334,37 @@ func main() {

// Wrap the procedure for collecting images to scan
{
awsConf := registry.AWSRegistryConfig{
Regions: *registryAWSRegions,
AccountIDs: *registryAWSAccountIDs,
BlockIDs: *registryAWSBlockAccountIDs,
awsOptions := []string{
"registry-ecr-region",
"registry-ecr-include-id",
"registry-ecr-exclude-id",
}
credsWithAWSAuth, err := registry.ImageCredsWithAWSAuth(imageCreds, log.With(logger, "component", "aws"), awsConf)
if err != nil {
logger.Log("warning", "AWS authorization not used; pre-flight check failed")
} else {
imageCreds = credsWithAWSAuth
usingAWS := false
for _, awsOption := range awsOptions {
if fs.Changed(awsOption) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This breaks Weave Cloud and any other user that relies on Flux to automatically setup ECR auth.

usingAWS = true
break
}
}
if *dockerConfig != "" {
credsWithDefaults, err := registry.ImageCredsWithDefaults(imageCreds, *dockerConfig)
if usingAWS {
awsConf := registry.AWSRegistryConfig{
Regions: *registryAWSRegions,
AccountIDs: *registryAWSAccountIDs,
BlockIDs: *registryAWSBlockAccountIDs,
}
credsWithAWSAuth, err := registry.ImageCredsWithAWSAuth(imageCreds, log.With(logger, "component", "aws"), awsConf)
if err != nil {
logger.Log("warning", "--docker-config not used; pre-flight check failed", "err", err)
logger.Log("warning", "AWS authorization not used; pre-flight check failed")
} else {
imageCreds = credsWithDefaults
imageCreds = credsWithAWSAuth
}
if *dockerConfig != "" {
Copy link
Member

@stefanprodan stefanprodan Mar 9, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using a docker config is an alternative to ECR auth so it should not depend on AWS being enabled or nor.

credsWithDefaults, err := registry.ImageCredsWithDefaults(imageCreds, *dockerConfig)
if err != nil {
logger.Log("warning", "--docker-config not used; pre-flight check failed", "err", err)
} else {
imageCreds = credsWithDefaults
}
}
}
}
Expand Down