GoogleContainerTools / GoogleContainerTools/skaffold

Path conflict in local config dependency

Open
#8,231 4 comments 0 reactions 0 assignees View on GitHub
area/modules kind/question kind/usability
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

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.