GoogleContainerTools / GoogleContainerTools/skaffold
Path conflict in local config dependency
- Dominant language
- Go
- Stars
- 15.9k
- Forks
- 1.7k
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 10
Description
### Expected behavior
I have 4 micro-services and set 4 skaffold.yaml(A,B,C,D) for each of them, and I want to create an integrate for all of them so I create a. new skaffold.yaml(E) to handle this. I expect I can test this 4(A,B,C,D) individually and integrately(E). In the E/skaffold.yaml I need to use local config dependency. and In the (A,B,C,D) build part, I need to set `build.artifact.context`.
### Actual behavior
Currently, A,B,C,D worked well, but when I want to run the E (which calls A,B,C,B by local config dependency)
Due to
> Note:
In imported configurations, files are resolved relative to the location of imported Skaffold configuration file.
the path was changed and it will bring error because of it wrong path of `build.artifact.context`.
like ' image "A" context "root/ope/skaffold/A/dist" does not exist '
Structure as follow.
```yaml
___ope__skaffold__A
| |__B
| |__C
| |__D
| |__E
|_dist
|_docker
```
### Information
- Skaffold version: v2beta26
- Operating system: mac OS 12.6.1
- Installed via:
- Contents of skaffold.yaml:
E/skaffold.yaml
```yaml
apiVersion: skaffold/v2beta26
kind: Config
requires:
- path: ../A/skaffold.yaml
configs: ["A"]
- path: ../B/skaffold.yaml
configs: ["B"]
```
A/skaffold.yaml
```yaml
apiVersion: skaffold/v2beta26
kind: Config
metadata:
name: A
build:
tagPolicy:
gitCommit: {}
local:
push: true
useDockerCLI: true
artifacts:
- image: A
context: dist/
docker:
dockerfile: ../ope/docker/A/Dockerfile
deploy:
~~~
profiles:
~~~
```
### Conflict
Are there some ways I can override in E to reset the path ?
I think I can just set the context by using absolute path but I can't do that because it will change by our different servers.
Contributor guide
Assessment
This issue has not been assessed yet.