Skip to content

Crash if you specify an empty initContainer #141

@DolceTriade

Description

@DolceTriade

Description of the problem / feature request:

panic: interface conversion: interface {} is nil, not []interface {}

goroutine 1 [running]:
github.com/adobe/rules_gitops/resolver/pkg.(*imageTagTransformer).updateContainers(0xc0000dde00, 0xc0003884b0?, {0x96bcc1?, 0xe?})
	external/com_adobe_rules_gitops/resolver/pkg/resolver.go:115 +0x23b
github.com/adobe/rules_gitops/resolver/pkg.(*imageTagTransformer).findAndReplaceTag(0x8edec0?, 0xc0003883f0?)
	external/com_adobe_rules_gitops/resolver/pkg/resolver.go:101 +0x1ba
github.com/adobe/rules_gitops/resolver/pkg.(*imageTagTransformer).findContainers(0x8edec0?, 0xc0003883f0?)
	external/com_adobe_rules_gitops/resolver/pkg/resolver.go:157 +0x105
github.com/adobe/rules_gitops/resolver/pkg.(*imageTagTransformer).findAndReplaceTag(0x8edec0?, 0xc0003883c0?)
	external/com_adobe_rules_gitops/resolver/pkg/resolver.go:109 +0x1f4
github.com/adobe/rules_gitops/resolver/pkg.(*imageTagTransformer).findContainers(0x8edec0?, 0xc0003883c0?)
	external/com_adobe_rules_gitops/resolver/pkg/resolver.go:157 +0x105
github.com/adobe/rules_gitops/resolver/pkg.(*imageTagTransformer).findAndReplaceTag(0x8edec0?, 0xc000388390?)
	external/com_adobe_rules_gitops/resolver/pkg/resolver.go:109 +0x1f4
github.com/adobe/rules_gitops/resolver/pkg.(*imageTagTransformer).findContainers(0x8edec0?, 0xc000388390?)
	external/com_adobe_rules_gitops/resolver/pkg/resolver.go:157 +0x105
github.com/adobe/rules_gitops/resolver/pkg.(*imageTagTransformer).findAndReplaceTag(0x8edec0?, 0xc000388360?)
	external/com_adobe_rules_gitops/resolver/pkg/resolver.go:109 +0x1f4
github.com/adobe/rules_gitops/resolver/pkg.(*imageTagTransformer).findContainers(0x8edec0?, 0xc000388360?)
	external/com_adobe_rules_gitops/resolver/pkg/resolver.go:157 +0x105
github.com/adobe/rules_gitops/resolver/pkg.(*imageTagTransformer).findAndReplaceTag(0x8edec0?, 0xc0003882d0?)
	external/com_adobe_rules_gitops/resolver/pkg/resolver.go:109 +0x1f4
github.com/adobe/rules_gitops/resolver/pkg.(*imageTagTransformer).findContainers(0x8edec0?, 0xc0003882d0?)
	external/com_adobe_rules_gitops/resolver/pkg/resolver.go:157 +0x105
github.com/adobe/rules_gitops/resolver/pkg.(*imageTagTransformer).findAndReplaceTag(0xc0000a8008?, 0xc0000dde28?)
	external/com_adobe_rules_gitops/resolver/pkg/resolver.go:109 +0x1f4
github.com/adobe/rules_gitops/resolver/pkg.ResolveImages({0xa24800?, 0xc0000a8000?}, {0xa24840, 0xc0000a8008}, 0x5?)
	external/com_adobe_rules_gitops/resolver/pkg/resolver.go:43 +0x1f1
main.main()
	external/com_adobe_rules_gitops/resolver/resolver.go:68 +0x305

Feature requests: what underlying problem are you trying to solve with this feature?

Replace this line with your answer.

Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.

Add an empty initContainers: to your yaml file:

Something like this...

          imagePullSecrets:
          - name: image-pull-secret
          initContainers:
          containers:
          - name: git-gc
            imagePullPolicy: Always


What operating system are you running Bazel on?

Linux

What's the output of bazel info release?

INFO: Invocation ID: 19ee5aac-88ff-4179-bced-c34b03442851
release 6.0.0- (@non-git)

Snippet of the WORKSPACE file that includes rules_gitops rules.

# Adobe K8s GitOps
http_archive(
    name = "com_adobe_rules_gitops",
    sha256 = "6e8a2273b8ec19c7bd64904ea819f1e6cca7eee000d6197393e943f8c219949a",
    strip_prefix = "rules_gitops-0.17.0",
    urls = ["https://github.com/adobe/rules_gitops/archive/refs/tags/v0.17.0.tar.gz"],
)

Have you found anything relevant by searching the web?

No

Any other information, logs, or outputs that you want to share?

Seems like we just need a nil check in resolver.go

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions