carvel-dev / carvel-dev/kbld

Images present as args to a container command are not included nor substituted with kbld

Open
#97 11 comments 1 reaction 0 assignees View on GitHub
discussion enhancement
Dominant language
Go
Stars
329
Forks
52
PR merge metrics
No merged PRs in 30d

Description

**What steps did you take:**
For kubernetes native apps, it's not uncommon (I don't think?) to have deployments which trigger `Jobs` using a specific image. In this case, the image to use is configured with the executable, as in the following small example:

```bash
$ cat /tmp/kbld-issue/example.yml
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
name: kbld-test
spec:
template:
metadata:
spec:
containers:
- args:
- --some-img-arg=docker.io/bitnami/kubeapps-asset-syncer:2.0.1-scratch-r0
command:
- /some-command
image: docker.io/bitnami/kubeapps-apprepository-controller:2.0.1-scratch-r0
name: controller
```

**What happened:**

When running `kbld` only the container image is found:

```bash
$ kbld inspect -f /tmp/kbld-issue/example.yml
Images

Image docker.io/bitnami/kubeapps-apprepository-controller:2.0.1-scratch-r0
Metadata -
Resource deployment/kbld-test (apps/v1) cluster

1 images

Succeeded
```

**What did you expect:**
I (naively) expected both images to be found, but see that could be tricky without something marking the CLI arg as an image.

**Anything else you would like to add:**
Not sure if this is a feature request or an issue, sorry in advance if I chose the wrong one :)

**Environment:**

- kbld version (use `kbld --version`): 0.28.0
- Docker registry used (e.g. `Docker HUB`): N/A
- OS (e.g. from `/etc/os-release`): VERSION="20.04.2 LTS (Focal Fossa)"

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.