I have a bundle that looks like this:
```
---
bundle: kubernetes
applications:
foo:
charm: /built/foo_ubuntu-20.04-amd64.charm
scale: 1
```
I try to deploy it with `juju deploy ./test-bundle.yaml`, and it fails with this message:
```
Executing changes:
- upload charm istio-pilot from local for series focal with architecture=amd64
ERROR cannot deploy bundle: cannot deploy local charm at "/built/foo": file does not exist
```
What's interesting is that if I change the bundle to point at a non-existent file, deploying it will fail with this message:
```
charm path in application "foo" does not exist: /built/bad-path.charm
```
It looks like Juju is reading the built charm to parse out `name:` from `metadata.yaml`, then going back and trying to use that as a filename to read from. This won't exist, even with `.charm` appended to it, as charmcraft has started inserting the base name and architecture into the built charm filenames.
It looks like it has something to do with the charm already being deployed. I have a bundle that looks like this, where `foo.charm` is a packed `istio-gateway` charm:
```yaml
---
bundle: kubernetes
applications:
asdf:
charm: ./foo.charm
scale: 1
```
```
# Works great once
$ juju deploy ./test-bundle.yaml
Executing changes:
- upload charm /built/foo.charm for series focal with architecture=amd64
- deploy application asdf with 1 unit on focal
added resource noop
Deploy of bundle completed.
```
``` istio-gateway" : file does not exist
# Breaks the second time
$ juju deploy ./test-bundle.yaml
Executing changes:
- upload charm istio-gateway from local for series focal with architecture=amd64
ERROR cannot deploy bundle: cannot deploy local charm at "/built/
```