Skip to content

Commit fe8a303

Browse files
author
Luan Pinto
committed
Add -disable-ecr flag
Signed-off-by: Luan Pinto <luan.pinto@luan-pinto.bofh.etux>
1 parent 74d0048 commit fe8a303

File tree

3 files changed

+26
-11
lines changed

3 files changed

+26
-11
lines changed

main.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ func main() {
3636
imageCheckInterval := flag.Duration("check-interval", time.Minute, "image re-check interval")
3737
ignoredImagesStr := flag.String("ignored-images", "", "tilde-separated image regexes to ignore, each image will be checked against this list of regexes")
3838
allowedImagesStr := flag.String("allowed-images", "", "tilde-separated image regexes to allow, each image will be checked against this list of regexes")
39+
disableECR := flag.Bool("disable-ecr", false, "disable AWS ECR integration (always use k8s provider)")
3940
bindAddr := flag.String("bind-address", ":8080", "address:port to bind /metrics endpoint to")
4041
namespaceLabels := flag.String("namespace-label", "", "namespace label for checks")
4142
insecureSkipVerify := flag.Bool("skip-registry-cert-verification", false, "whether to skip registries' certificate verification")
@@ -103,6 +104,7 @@ func main() {
103104
*defaultRegistry,
104105
*namespaceLabels,
105106
mirrors,
107+
*disableECR,
106108
)
107109
prometheus.MustRegister(registryChecker)
108110

pkg/providers/provider.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,13 @@ var (
3131
)
3232

3333
func (p ProviderRegistry) GetAuthKeychain(registry string) (authn.Keychain, error) {
34-
switch {
35-
case amazonURLRegex.MatchString(registry):
36-
return p["amazon"].GetAuthKeychain(registry)
37-
default:
38-
return p["k8s"].GetAuthKeychain(registry)
39-
}
34+
switch {
35+
case amazonURLRegex.MatchString(registry):
36+
if amazonProvider, ok := p["amazon"]; ok && amazonProvider != nil {
37+
return amazonProvider.GetAuthKeychain(registry)
38+
}
39+
return p["k8s"].GetAuthKeychain(registry)
40+
default:
41+
return p["k8s"].GetAuthKeychain(registry)
42+
}
4043
}

pkg/registry/checker.go

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ func NewChecker(
8787
defaultRegistry string,
8888
namespaceLabel string,
8989
mirrorsMap map[string]string,
90+
disableECR bool,
9091
) *Checker {
9192
informerFactory := informers.NewSharedInformerFactory(kubeClient, time.Hour)
9293

@@ -259,11 +260,20 @@ func NewChecker(
259260
logrus.Info("Caches populated successfully")
260261

261262
rc.imageStore.RunGC(rc.controllerIndexers.GetContainerInfosForImage)
262-
registry := providers.NewProviderChain(
263-
amazon.NewProvider(),
264-
k8s.NewProvider(rc.controllerIndexers.GetImagePullSecrets),
265-
)
266-
rc.providerRegistry = registry
263+
264+
var registry providers.ProviderRegistry
265+
if disableECR {
266+
registry = providers.NewProviderChain(
267+
k8s.NewProvider(rc.controllerIndexers.GetImagePullSecrets),
268+
)
269+
} else {
270+
registry = providers.NewProviderChain(
271+
amazon.NewProvider(),
272+
k8s.NewProvider(rc.controllerIndexers.GetImagePullSecrets),
273+
)
274+
}
275+
276+
rc.providerRegistry = registry
267277

268278
return rc
269279
}

0 commit comments

Comments
 (0)