Compare commits

...

13 Commits

Author SHA1 Message Date
ef1c7f25a3
chore(deps): update container images
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-04-01 19:11:19 +00:00
cc9c98b84d
chore(renovate): use configuration preset
All checks were successful
continuous-integration/drone/push Build is passing
2025-03-30 22:46:31 +02:00
9f29df1311
chore(deps): update docker.io/plugins/docker docker tag to v20.18.8
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-03-26 20:10:46 +00:00
1d8a8d7b76 Merge pull request 'chore(deps): update docker.io/library/golang docker tag to v1.24.1' (#74) from renovate/docker.io-library-golang-1.x into master
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #74
2025-03-22 17:01:14 +00:00
3e73692f28
chore(deps): update docker.io/library/golang docker tag to v1.24.1
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is passing
2025-03-22 15:29:22 +00:00
7a0c89c8b7 chore(renovate): remove obsolete matchBaseBranches
All checks were successful
continuous-integration/drone/push Build is passing
2025-03-22 15:10:00 +00:00
3c56ae6e5e
fix(docker-compose): extend YAML marshaler of service.dependsOn
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
The current implementation of the method DependsOnContainer.MarshalYAML()
transform the short syntax into the long syntax. More about booth version
types of depends_on is described here:

- https://docs.docker.com/reference/compose-file/services/#short-syntax-1
- https://docs.docker.com/reference/compose-file/services/#long-syntax-1

Other applications are not compatible with the long syntax. For this reason the
MarshalYAML method has been adapted to take care of the specific syntax.

As documented of the long syntax, `depends_on.<dependency>.condition: service_started`
is the same as `depends_on: [ 'dependency' ]`, the long syntax will be shortened
when no other condition type of a dependency is specified.
2025-03-04 17:50:01 +01:00
ed7622a34f
chore(coverage): ignore coverage.txt 2025-03-04 17:50:01 +01:00
967c20c638
fix(cmd): replace deprecated cobra function 2025-03-04 17:50:01 +01:00
c23633a385
chore(deps): update quay.io/skopeo/stable docker tag to v1.18.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-02-28 17:10:07 +00:00
68db80a05a
fix(yaml): set indentation to 2 spaces
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
The replaced module gopkg.in/yaml.v3 enforce an indentation of 4 spaces, when 0
spaces are defined. This is sad, because the old behavior can not be reproduced.

Instead of using 4 spaces for indentation, when `yamlEncoder.SetIndent(0)` is
called, we call `yamlEncoder.SetIndent(2)` to use 2 spaces for indentation,
because it is closer to 0 instead 4 spaces.
2025-02-25 16:35:44 +01:00
6761dbf419
test(docker-compose): add further tests regrading depends_on
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2025-02-25 16:21:13 +01:00
ab282e5173
feat: support depends_on
All checks were successful
continuous-integration/drone/push Build is passing
This PR supports the extended pattern of `depends_on`. If the short version of
`depends_on` is defined, it will be migrated to the extended version like the
example below:

```yaml
services:
  web:
    depends_on
    - database

services:
  web:
    depends_on:
      database:
        condition: service_started
```

All three types of merging strategies are supported.
2025-02-24 22:44:11 +01:00
21 changed files with 428 additions and 803 deletions

View File

@ -16,7 +16,7 @@ steps:
- name: markdown lint
commands:
- markdownlint *.md
image: git.cryptic.systems/volker.raschek/markdownlint:0.43.0
image: git.cryptic.systems/volker.raschek/markdownlint:0.44.0
resources:
limits:
cpu: 150
@ -67,7 +67,7 @@ steps:
- name: unit-test
commands:
- go test -v ./...
image: docker.io/library/golang:1.24.0
image: docker.io/library/golang:1.24.2
trigger:
event:
@ -92,7 +92,7 @@ steps:
- name: unit-test
commands:
- go test -v ./...
image: docker.io/library/golang:1.24.0
image: docker.io/library/golang:1.24.2
trigger:
event:
@ -123,7 +123,7 @@ steps:
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build
image: docker.io/plugins/docker:20.18.7
image: docker.io/plugins/docker:20.18.8
settings:
auto_tag: false
dockerfile: Dockerfile
@ -190,7 +190,7 @@ steps:
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build
image: docker.io/plugins/docker:20.18.7
image: docker.io/plugins/docker:20.18.8
settings:
auto_tag: false
dockerfile: Dockerfile
@ -257,7 +257,7 @@ steps:
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build
image: docker.io/plugins/docker:20.18.7
image: docker.io/plugins/docker:20.18.8
settings:
auto_tag: false
dockerfile: Dockerfile
@ -322,7 +322,7 @@ steps:
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build
image: docker.io/plugins/docker:20.18.7
image: docker.io/plugins/docker:20.18.8
settings:
auto_tag: false
dockerfile: Dockerfile
@ -456,7 +456,7 @@ steps:
from_secret: container_image_registry_user
DEST_CRED_PASSWORD:
from_secret: container_image_registry_password
image: quay.io/skopeo/stable:v1.17.0
image: quay.io/skopeo/stable:v1.18.0
- name: email-notification
environment:
@ -506,7 +506,7 @@ steps:
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build
image: docker.io/plugins/docker:20.18.7
image: docker.io/plugins/docker:20.18.8
settings:
auto_tag: true
auto_tag_suffix: amd64
@ -566,7 +566,7 @@ steps:
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build
image: docker.io/plugins/docker:20.18.7
image: docker.io/plugins/docker:20.18.8
settings:
auto_tag: true
auto_tag_suffix: arm64-v8
@ -696,7 +696,7 @@ steps:
from_secret: container_image_registry_user
DEST_CRED_PASSWORD:
from_secret: container_image_registry_password
image: quay.io/skopeo/stable:v1.17.0
image: quay.io/skopeo/stable:v1.18.0
- name: email-notification
environment:

3
.gitignore vendored
View File

@ -1 +1,2 @@
dcmerge
dcmerge
coverage.txt

View File

@ -8,7 +8,7 @@ import (
"git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose"
"git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher"
"github.com/spf13/cobra"
"gopkg.in/yaml.v2"
"gopkg.in/yaml.v3"
)
func Execute(version string) error {
@ -18,7 +18,7 @@ func Execute(version string) error {
Long: "To load completions",
DisableFlagsInUseLine: true,
ValidArgs: []string{"bash", "zsh", "fish", "powershell"},
Args: cobra.ExactValidArgs(1),
Args: cobra.MatchAll(cobra.ExactArgs(1)),
Run: func(cmd *cobra.Command, args []string) {
switch args[0] {
case "bash":
@ -100,10 +100,12 @@ func run(cmd *cobra.Command, args []string) error {
defer f.Close()
yamlEncoder := yaml.NewEncoder(f)
yamlEncoder.SetIndent(2)
return yamlEncoder.Encode(dockerComposeConfig)
default:
yamlEncoder := yaml.NewEncoder(os.Stdout)
yamlEncoder.SetIndent(2)
return yamlEncoder.Encode(dockerComposeConfig)
}

View File

@ -1,663 +0,0 @@
mode: count
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:26.50,28.9 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:28.9,30.3 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:32.2,32.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:33.33,34.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:35.33,36.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:37.33,38.15 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:39.10,44.45 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:49.50,51.2 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:54.49,56.2 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:59.50,61.2 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:64.49,66.2 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:69.40,70.45 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:70.45,71.29 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:71.29,73.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:76.2,76.43 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:76.43,77.28 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:77.28,79.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:82.2,82.45 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:82.45,83.29 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:83.29,85.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:88.2,88.43 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:88.43,89.28 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:89.28,91.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:96.51,97.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:98.33,99.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:100.33,101.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:111.10,116.44 5 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:121.47,122.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:123.33,124.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:125.33,126.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:136.10,141.40 5 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:145.58,146.25 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:146.25,148.3 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:151.73,152.45 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:152.45,153.21 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:153.21,154.12 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:157.3,157.35 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:157.35,159.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:159.9,161.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:165.70,166.42 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:166.42,167.20 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:167.20,168.12 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:171.3,171.34 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:171.34,173.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:173.9,175.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:179.73,180.45 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:180.45,181.21 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:181.21,182.12 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:185.3,185.35 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:185.35,187.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:187.9,189.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:193.70,194.42 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:194.42,195.20 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:195.20,196.12 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:199.3,199.34 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:199.34,201.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:201.9,203.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:207.54,208.26 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:208.26,210.3 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:213.69,214.45 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:214.45,215.21 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:215.21,216.12 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:219.3,219.35 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:219.35,221.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:221.9,223.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:227.66,228.42 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:228.42,229.20 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:229.20,230.12 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:233.3,233.34 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:233.34,235.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:235.9,237.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:241.69,242.45 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:242.45,243.21 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:243.21,244.12 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:247.3,247.35 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:247.35,249.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:249.9,251.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:255.66,256.42 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:256.42,257.20 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:257.20,258.12 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:261.3,261.34 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:261.34,263.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:263.9,265.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:269.26,276.2 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:285.51,287.9 2 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:287.9,289.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:291.2,291.9 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:292.34,293.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:294.34,295.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:296.34,297.15 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:298.10,301.30 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:305.54,306.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:307.34,308.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:309.34,310.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:320.10,321.39 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:325.50,326.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:327.34,328.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:329.34,330.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:340.10,341.35 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:345.66,346.32 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:346.32,348.3 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:351.62,352.32 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:352.32,354.3 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:357.28,362.2 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:369.59,371.9 2 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:371.9,373.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:375.2,375.9 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:376.42,377.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:378.42,379.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:380.42,381.15 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:382.10,383.51 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:387.70,388.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:389.42,390.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:391.42,392.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:402.10,403.52 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:407.66,408.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:409.42,410.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:411.42,412.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:422.10,423.48 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:427.91,428.55 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:428.55,429.55 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:429.55,431.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:435.87,436.55 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:436.55,437.55 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:437.55,439.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:443.36,447.2 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:454.71,456.9 2 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:456.9,458.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:460.2,460.9 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:461.54,462.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:463.54,464.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:465.54,466.15 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:467.10,468.56 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:472.48,474.2 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:481.50,483.9 2 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:483.9,485.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:487.2,487.9 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:488.33,489.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:490.33,491.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:492.33,493.15 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:494.10,495.31 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:501.51,502.22 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:502.22,504.3 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:509.47,510.22 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:510.22,512.3 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:515.26,517.2 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:537.55,538.45 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:538.45,540.18 2 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:540.18,542.4 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:545.2,545.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:549.49,550.33 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:550.33,552.18 2 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:552.18,554.4 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:557.2,557.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:570.48,571.28 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:571.28,572.24 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:572.24,574.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:576.2,576.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:580.75,581.35 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:581.35,583.41 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:583.41,585.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:588.2,588.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:592.61,593.35 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:593.35,595.16 2 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:595.16,597.4 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:600.2,600.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:604.55,605.35 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:605.35,607.15 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:607.15,609.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:612.2,612.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:616.51,618.9 2 189
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:618.9,620.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:622.2,622.9 1 187
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:623.34,624.14 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:625.34,626.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:627.34,628.15 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:629.10,642.42 1 185
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:646.54,647.9 1 80
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:648.34,649.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:650.34,651.9 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:661.10,674.45 13 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:680.50,681.9 1 80
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:682.34,683.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:684.34,685.9 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:695.10,708.41 13 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:712.77,713.48 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:713.48,714.81 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:714.81,716.4 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:720.79,721.50 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:721.50,722.83 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:722.83,724.4 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:728.65,729.34 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:729.34,730.59 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:730.59,732.4 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:736.65,737.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:738.40,739.20 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:740.40,741.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:742.40,743.9 1 77
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:744.10,745.36 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:749.71,750.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:751.52,752.32 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:753.52,754.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:755.52,756.9 1 73
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:757.10,758.44 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:758.44,759.29 1 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:759.29,760.13 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:763.4,764.33 2 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:764.33,766.5 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:771.55,772.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:773.44,774.18 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:775.44,776.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:777.44,778.14 1 78
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:779.10,780.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:784.67,785.39 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:785.39,786.68 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:786.68,788.4 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:792.59,793.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:794.40,795.20 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:796.40,797.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:798.40,799.9 1 73
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:800.10,801.32 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:801.32,802.23 1 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:802.23,803.13 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:806.4,807.27 2 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:807.27,809.5 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:814.81,815.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:816.44,817.24 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:818.44,819.14 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:820.44,821.9 1 74
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:822.10,823.39 1 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:823.39,824.45 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:824.45,826.5 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:826.10,828.5 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:833.55,834.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:835.38,836.18 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:837.38,838.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:839.38,840.9 1 71
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:841.10,843.24 1 7
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:843.24,844.26 1 6
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:844.26,845.18 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:848.4,850.27 2 6
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:850.27,852.12 2 7
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:854.48,855.19 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:857.56,858.19 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:860.56,861.19 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:863.56,864.19 1 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:868.4,868.39 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:873.61,874.33 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:874.33,875.59 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:875.59,877.4 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:881.68,882.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:883.42,884.22 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:885.42,886.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:887.42,888.9 1 75
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:889.10,890.38 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:894.61,895.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:896.42,897.22 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:898.42,899.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:900.42,901.9 1 75
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:902.10,903.34 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:903.34,905.40 2 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:905.40,907.5 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:912.73,913.48 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:913.48,914.30 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:914.30,915.12 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:918.3,918.55 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:918.55,920.4 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:924.75,925.50 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:925.50,926.31 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:926.31,927.12 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:930.3,930.57 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:930.57,932.4 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:936.61,937.32 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:937.32,938.20 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:938.20,939.12 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:942.3,942.39 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:942.39,944.4 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:948.61,949.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:950.40,951.20 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:952.40,953.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:954.40,955.9 1 77
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:956.10,957.32 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:961.67,962.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:963.52,964.32 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:965.52,966.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:967.52,968.9 1 74
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:969.10,970.44 1 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:970.44,971.29 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:971.29,972.13 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:975.4,976.32 2 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:981.51,982.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:983.44,984.18 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:985.44,986.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:987.44,988.9 1 78
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:989.10,990.23 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:990.23,992.4 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:996.63,997.39 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:997.39,998.26 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:998.26,999.12 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1002.3,1002.46 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1002.46,1004.4 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1008.55,1009.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1010.40,1011.20 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1012.40,1013.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1014.40,1015.9 1 74
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1016.10,1017.32 1 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1017.32,1018.23 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1018.23,1019.13 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1022.4,1023.26 2 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1028.77,1029.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1030.44,1031.24 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1032.44,1033.14 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1034.44,1035.9 1 75
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1036.10,1037.39 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1037.39,1038.45 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1038.45,1040.5 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1040.10,1042.5 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1047.51,1048.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1049.38,1050.18 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1051.38,1052.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1053.38,1054.9 1 70
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1055.10,1056.24 1 8
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1056.24,1057.26 1 7
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1057.26,1058.13 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1060.4,1060.31 1 6
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1065.57,1066.33 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1066.33,1067.23 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1067.23,1068.12 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1071.3,1071.40 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1071.40,1073.4 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1077.64,1078.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1079.42,1080.22 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1081.42,1082.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1083.42,1084.9 1 75
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1085.10,1086.34 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1090.57,1091.9 1 79
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1092.42,1093.22 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1094.42,1095.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1096.42,1097.9 1 74
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1098.10,1099.34 1 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1099.34,1100.24 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1100.24,1101.13 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1104.4,1105.32 2 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1112.50,1114.45 2 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1114.45,1116.18 2 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1116.18,1118.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1120.2,1120.31 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1124.44,1126.33 2 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1126.33,1128.18 2 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1128.18,1130.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1132.2,1132.19 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1142.48,1144.31 2 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1144.31,1145.10 1 9
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1146.30,1147.12 1 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1148.11,1149.31 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1152.2,1152.17 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1162.47,1164.31 2 14
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1164.31,1165.10 1 23
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1166.29,1167.12 1 14
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1168.11,1169.31 1 9
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1172.2,1172.17 1 14
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1176.45,1178.35 2 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1178.35,1181.10 2 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1182.43,1183.92 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1184.42,1185.119 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1188.2,1188.21 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1192.61,1195.2 2 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1198.55,1201.2 2 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1209.40,1213.2 3 11
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1216.67,1218.20 2 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1218.20,1220.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1220.8,1222.3 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1226.28,1240.2 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1247.58,1249.9 2 194
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1249.9,1251.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1253.2,1253.9 1 192
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1254.41,1255.14 1 177
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1256.41,1257.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1258.41,1259.15 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1260.10,1261.53 1 14
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1267.73,1268.9 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1269.41,1270.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1271.41,1272.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1282.10,1283.62 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1289.69,1290.9 1 9
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1291.41,1292.14 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1293.41,1294.9 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1304.10,1305.58 1 7
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1309.93,1310.9 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1311.47,1312.27 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1313.47,1314.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1315.47,1316.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1317.10,1318.43 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1322.89,1323.9 1 7
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1324.47,1325.27 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1326.47,1327.14 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1328.47,1329.9 1 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1330.10,1331.39 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1335.40,1339.2 1 14
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1347.68,1349.9 2 35
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1349.9,1351.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1353.2,1353.9 1 33
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1354.51,1355.14 1 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1356.51,1357.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1358.51,1359.15 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1360.10,1362.63 1 28
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1368.101,1369.9 1 9
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1370.51,1371.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1372.51,1373.9 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1378.51,1380.14 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1381.10,1383.72 2 8
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1389.97,1390.9 1 8
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1391.51,1392.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1393.51,1394.9 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1399.51,1401.14 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1402.10,1404.68 2 7
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1408.97,1409.9 1 8
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1410.42,1411.22 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1412.42,1413.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1414.42,1415.9 1 6
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1416.10,1417.38 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1421.109,1422.9 1 8
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1423.54,1424.34 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1425.54,1426.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1427.54,1428.9 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1429.10,1430.50 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1434.93,1435.9 1 7
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1436.42,1437.22 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1438.42,1439.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1440.42,1441.9 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1442.10,1443.34 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1447.105,1448.9 1 7
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1449.54,1450.34 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1451.54,1452.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1453.54,1454.9 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1455.10,1456.46 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1460.58,1465.2 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1473.75,1475.9 2 72
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1475.9,1477.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1479.2,1479.9 1 70
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1480.58,1481.14 1 38
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1482.58,1483.14 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1484.58,1485.15 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1486.10,1488.54 1 30
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1494.120,1495.9 1 10
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1496.58,1497.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1498.58,1499.9 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1509.10,1511.67 2 8
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1517.116,1518.9 1 7
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1519.58,1520.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1521.58,1522.9 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1532.10,1534.63 2 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1538.77,1539.25 1 8
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1539.25,1541.3 1 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1544.81,1545.27 1 8
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1545.27,1547.3 1 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1550.73,1551.23 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1551.23,1553.3 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1556.77,1557.27 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1557.27,1559.3 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1562.70,1564.2 1 6
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1571.59,1573.9 2 33
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1573.9,1575.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1577.2,1577.9 1 31
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1578.42,1579.14 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1580.42,1581.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1582.42,1583.15 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1584.10,1585.56 1 29
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1591.76,1592.9 1 7
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1593.42,1594.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1595.42,1596.9 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1605.42,1607.14 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1608.10,1609.53 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1615.72,1616.9 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1617.42,1618.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1619.42,1620.9 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1629.42,1631.14 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1632.10,1633.49 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1637.69,1638.32 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1638.32,1639.58 1 6
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1639.58,1641.4 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1645.65,1646.32 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1646.32,1647.58 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1647.58,1649.4 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1653.42,1657.2 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1665.58,1667.9 2 188
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1667.9,1669.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1671.2,1671.9 1 186
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1672.41,1673.14 1 165
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1674.41,1675.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1676.41,1677.15 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1678.10,1680.41 1 20
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1686.75,1687.9 1 7
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1688.41,1689.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1690.41,1691.9 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1700.10,1702.50 2 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1708.71,1709.9 1 7
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1710.41,1711.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1712.41,1713.9 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1722.10,1724.46 2 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1728.60,1729.22 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1729.22,1731.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1732.2,1732.17 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1735.79,1736.29 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1736.29,1738.3 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1741.56,1742.22 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1742.22,1744.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1747.75,1748.29 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1748.29,1750.3 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1753.42,1757.2 1 17
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1765.65,1767.9 2 47
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1767.9,1769.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1771.2,1771.9 1 45
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1772.48,1773.14 1 12
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1774.48,1775.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1776.48,1777.15 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1778.10,1780.40 1 32
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1786.94,1787.9 1 7
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1788.48,1789.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1790.48,1791.9 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1801.10,1803.53 2 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1809.90,1810.9 1 7
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1811.48,1812.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1813.48,1814.9 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1824.10,1826.49 2 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1830.65,1831.21 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1831.21,1833.3 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1834.2,1834.16 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1837.65,1838.21 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1838.21,1840.3 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1841.2,1841.16 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1844.61,1845.21 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1845.21,1847.3 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1850.61,1851.21 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1851.21,1853.3 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1856.54,1858.2 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1865.50,1867.9 2 14
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1867.9,1869.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1871.2,1871.9 1 12
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1872.33,1873.14 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1874.33,1875.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1876.33,1877.15 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1878.10,1879.39 1 10
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1885.51,1886.9 1 5
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1887.33,1888.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1889.33,1890.9 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1899.10,1900.46 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1904.47,1905.9 1 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1906.33,1907.14 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1908.33,1909.9 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1918.10,1919.42 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1923.51,1924.16 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1924.16,1926.3 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1927.2,1927.19 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1930.54,1931.28 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1931.28,1933.3 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1936.26,1940.2 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1944.61,1945.32 1 33
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1945.32,1946.13 1 25
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1946.13,1948.4 1 12
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1950.2,1950.14 1 21
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1953.60,1954.49 1 1643
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1954.49,1956.25 1 3275
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1956.25,1957.26 1 243
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1957.26,1958.31 1 275
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1958.31,1959.19 1 232
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1962.4,1962.16 1 11
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1964.3,1964.14 1 3264
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1967.2,1967.63 1 1643
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1970.60,1974.2 3 22
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1985.66,1989.9 3 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1990.44,1991.59 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1992.24,1993.23 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1996.2,1997.9 2 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:1998.44,1999.59 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2000.24,2001.23 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2004.2,2004.34 1 4
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2007.61,2011.42 4 8
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2011.42,2014.3 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2015.2,2015.22 1 8
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2025.36,2027.2 1 12
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2030.34,2032.2 1 27
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2035.37,2037.2 1 11
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2040.34,2042.2 1 94
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2045.36,2047.2 1 13
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2051.31,2052.9 1 9
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2053.23,2054.76 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2055.10,2056.24 1 7
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2061.33,2065.9 3 43
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2066.25,2067.12 1 6
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2068.13,2069.12 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2072.2,2072.19 1 37
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2076.35,2080.9 3 35
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2081.25,2082.12 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2083.13,2084.12 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2087.2,2087.19 1 33
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2091.36,2095.9 3 26
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2096.25,2097.12 1 6
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2098.13,2099.12 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2102.2,2102.19 1 20
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2107.31,2108.9 1 38
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2109.23,2110.76 1 24
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2111.10,2112.24 1 14
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2117.33,2121.9 3 133
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2122.25,2123.12 1 6
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2124.13,2125.12 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2128.2,2128.19 1 127
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2132.35,2136.9 3 75
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2137.25,2138.12 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2139.13,2140.12 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/config.go:2143.2,2143.19 1 73
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:8.53,9.9 1 3
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:10.38,11.14 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:12.38,13.15 1 1
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:14.38,15.15 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:16.10,18.25 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:18.25,19.26 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:19.26,20.35 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:20.35,21.19 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:24.4,24.16 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:26.3,26.14 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:31.50,35.2 1 2
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:38.64,39.50 1 176
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:39.50,41.34 1 352
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:41.34,42.35 1 18
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:42.35,44.27 1 22
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:44.27,45.19 1 18
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:48.4,48.16 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:50.3,50.14 1 352
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:53.2,53.55 1 176
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:57.59,58.9 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:59.16,60.15 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose/equalable.go:61.10,63.17 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:14.61,17.30 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:17.30,19.17 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:19.17,21.4 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:23.3,23.10 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:24.80,26.18 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:26.18,28.5 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:30.4,30.76 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:31.42,32.15 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:33.11,35.18 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:35.18,37.5 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:39.4,39.76 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:43.2,43.34 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:48.73,50.16 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:50.16,52.3 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:54.2,55.16 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:55.16,57.3 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:58.2,60.38 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:60.38,62.3 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:64.2,68.16 4 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:68.16,70.3 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:72.2,72.27 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:75.76,77.9 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:78.18,79.18 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:80.24,81.57 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:84.2,85.16 2 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:85.16,87.3 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:88.2,94.16 5 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:94.16,96.3 1 0
git.cryptic.systems/volker.raschek/dcmerge/pkg/fetcher/fetcher.go:98.2,98.27 1 0

3
go.mod
View File

@ -5,7 +5,7 @@ go 1.20
require (
github.com/spf13/cobra v1.9.1
github.com/stretchr/testify v1.10.0
gopkg.in/yaml.v2 v2.4.0
gopkg.in/yaml.v3 v3.0.1
)
require (
@ -13,5 +13,4 @@ require (
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/spf13/pflag v1.0.6 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

2
go.sum
View File

@ -14,7 +14,5 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View File

@ -4,6 +4,8 @@ import (
"fmt"
"regexp"
"strings"
"gopkg.in/yaml.v3"
)
const (
@ -69,24 +71,36 @@ func (c *Config) ExistsVolume(name string) bool {
func (c *Config) Merge(config *Config) {
for name, network := range config.Networks {
if !c.ExistsNetwork(name) {
if c.Networks == nil {
c.Networks = make(map[string]*Network)
}
c.Networks[name] = network
}
}
for name, secret := range config.Secrets {
if !c.ExistsSecret(name) {
if c.Secrets == nil {
c.Secrets = make(map[string]*Secret)
}
c.Secrets[name] = secret
}
}
for name, service := range config.Services {
if !c.ExistsService(name) {
if c.Services == nil {
c.Services = make(map[string]*Service)
}
c.Services[name] = service
}
}
for name, volume := range config.Volumes {
if !c.ExistsVolume(name) {
if c.Volumes == nil {
c.Volumes = make(map[string]*Volume)
}
c.Volumes[name] = volume
}
}
@ -517,19 +531,19 @@ func NewSecret() *Secret {
}
type Service struct {
CapabilitiesAdd []string `json:"cap_add,omitempty" yaml:"cap_add,omitempty"`
CapabilitiesDrop []string `json:"cap_drop,omitempty" yaml:"cap_drop,omitempty"`
DependsOn []string `json:"depends_on,omitempty" yaml:"depends_on,omitempty"`
Deploy *ServiceDeploy `json:"deploy,omitempty" yaml:"deploy,omitempty"`
Environments []string `json:"environment,omitempty" yaml:"environment,omitempty"`
ExtraHosts []string `json:"extra_hosts,omitempty" yaml:"extra_hosts,omitempty"`
Image string `json:"image,omitempty" yaml:"image,omitempty"`
Labels []string `json:"labels,omitempty" yaml:"labels,omitempty"`
Networks map[string]*ServiceNetwork `json:"networks,omitempty" yaml:"networks,omitempty"`
Ports []Port `json:"ports,omitempty" yaml:"ports,omitempty"`
Secrets []string `json:"secrets,omitempty" yaml:"secrets,omitempty"`
ULimits *ServiceULimits `json:"ulimits,omitempty" yaml:"ulimits,omitempty"`
Volumes []string `json:"volumes,omitempty" yaml:"volumes,omitempty"`
CapabilitiesAdd []string `json:"cap_add,omitempty" yaml:"cap_add,omitempty"`
CapabilitiesDrop []string `json:"cap_drop,omitempty" yaml:"cap_drop,omitempty"`
DependsOnContainer *DependsOnContainer `json:"depends_on,omitempty" yaml:"depends_on,omitempty"`
Deploy *ServiceDeploy `json:"deploy,omitempty" yaml:"deploy,omitempty"`
Environments []string `json:"environment,omitempty" yaml:"environment,omitempty"`
ExtraHosts []string `json:"extra_hosts,omitempty" yaml:"extra_hosts,omitempty"`
Image string `json:"image,omitempty" yaml:"image,omitempty"`
Labels []string `json:"labels,omitempty" yaml:"labels,omitempty"`
Networks map[string]*ServiceNetwork `json:"networks,omitempty" yaml:"networks,omitempty"`
Ports []Port `json:"ports,omitempty" yaml:"ports,omitempty"`
Secrets []string `json:"secrets,omitempty" yaml:"secrets,omitempty"`
ULimits *ServiceULimits `json:"ulimits,omitempty" yaml:"ulimits,omitempty"`
Volumes []string `json:"volumes,omitempty" yaml:"volumes,omitempty"`
}
// ExistsEnvironment returns true if the passed name of environment variable is
@ -629,7 +643,7 @@ func (s *Service) Equal(equalable Equalable) bool {
default:
return equalSlice(s.CapabilitiesAdd, service.CapabilitiesAdd) &&
equalSlice(s.CapabilitiesDrop, service.CapabilitiesDrop) &&
equalSlice(s.DependsOn, service.DependsOn) &&
s.DependsOnContainer.Equal(service.DependsOnContainer) &&
s.Deploy.Equal(service.Deploy) &&
equalSlice(s.Environments, service.Environments) &&
equalSlice(s.ExtraHosts, service.ExtraHosts) &&
@ -661,7 +675,7 @@ func (s *Service) MergeExistingWin(service *Service) {
default:
s.mergeExistingWinCapabilitiesAdd(service.CapabilitiesAdd)
s.mergeExistingWinCapabilitiesDrop(service.CapabilitiesDrop)
s.mergeExistingWinDependsOn(service.DependsOn)
s.mergeExistingWinDependsOnContainer(service.DependsOnContainer)
s.mergeExistingWinDeploy(service.Deploy)
s.mergeExistingWinEnvironments(service.Environments)
s.mergeExistingWinExtraHosts(service.ExtraHosts)
@ -695,7 +709,7 @@ func (s *Service) MergeLastWin(service *Service) {
default:
s.mergeLastWinCapabilitiesAdd(service.CapabilitiesAdd)
s.mergeLastWinCapabilitiesDrop(service.CapabilitiesDrop)
s.mergeLastWinDependsOn(service.DependsOn)
s.mergeLastWinDependsOnContainer(service.DependsOnContainer)
s.mergeLastWinDeploy(service.Deploy)
s.mergeLastWinEnvironments(service.Environments)
s.mergeLastWinExtraHosts(service.ExtraHosts)
@ -725,10 +739,22 @@ func (s *Service) mergeExistingWinCapabilitiesDrop(capabilitiesDrop []string) {
}
}
func (s *Service) mergeExistingWinDependsOn(dependsOn []string) {
for _, depOn := range dependsOn {
if !existsInSlice(s.DependsOn, depOn) && len(depOn) > 0 {
s.DependsOn = append(s.DependsOn, depOn)
func (s *Service) mergeExistingWinDependsOnContainer(dependsOnContainer *DependsOnContainer) {
switch {
case s.DependsOnContainer != nil && dependsOnContainer == nil:
fallthrough
case s.DependsOnContainer == nil && dependsOnContainer == nil:
return
case s.DependsOnContainer == nil && dependsOnContainer != nil:
s.DependsOnContainer = dependsOnContainer
default:
for name, depOn := range dependsOnContainer.DependsOn {
if !ExistsInMap(s.DependsOnContainer.DependsOn, name) && depOn != nil {
if s.DependsOnContainer.DependsOn == nil {
s.DependsOnContainer.DependsOn = make(map[string]*ServiceDependsOn)
}
s.DependsOnContainer.DependsOn[name] = depOn
}
}
}
}
@ -933,14 +959,20 @@ func (s *Service) mergeLastWinCapabilitiesDrop(capabilitiesDrop []string) {
}
}
func (s *Service) mergeLastWinDependsOn(dependsOn []string) {
for _, dep := range dependsOn {
if len(dep) <= 0 {
continue
}
if !existsInSlice(s.DependsOn, dep) {
s.DependsOn = append(s.DependsOn, dep)
func (s *Service) mergeLastWinDependsOnContainer(dependsOnContainer *DependsOnContainer) {
switch {
case s.DependsOnContainer != nil && dependsOnContainer == nil:
fallthrough
case s.DependsOnContainer == nil && dependsOnContainer == nil:
return
case s.DependsOnContainer == nil && dependsOnContainer != nil:
s.DependsOnContainer = dependsOnContainer
default:
for name, depOn := range dependsOnContainer.DependsOn {
if s.DependsOnContainer.DependsOn == nil {
s.DependsOnContainer.DependsOn = make(map[string]*ServiceDependsOn)
}
s.DependsOnContainer.DependsOn[name] = depOn
}
}
}
@ -1222,6 +1254,88 @@ func (s *Service) SetVolume(src string, dest string, perm string) {
}
}
const (
ServiceDependsOnConditionServiceCompletedSuccessfully string = "service_completed_successfully"
ServiceDependsOnConditionServiceHealthy string = "service_healthy"
ServiceDependsOnConditionServiceStarted string = "service_started"
)
// DependsOnContainer is a wrapper to handle different YAML type formats of DependsOn.
type DependsOnContainer struct {
Slice []string
DependsOn map[string]*ServiceDependsOn
}
// Equal returns true if the passed equalable is equal
func (sdoc *DependsOnContainer) Equal(equalable Equalable) bool {
serviceDependsOnContainer, ok := equalable.(*DependsOnContainer)
if !ok {
return false
}
switch {
case sdoc == nil && serviceDependsOnContainer == nil:
return true
case sdoc != nil && serviceDependsOnContainer == nil:
fallthrough
case sdoc == nil && serviceDependsOnContainer != nil:
return false
default:
return equalSlice(sdoc.Slice, serviceDependsOnContainer.Slice) &&
EqualStringMap(sdoc.DependsOn, serviceDependsOnContainer.DependsOn)
}
}
// MarshalYAML implements the MarshalYAML interface to customize the behavior when being marshaled into a YAML document.
func (sdoc *DependsOnContainer) MarshalYAML() (interface{}, error) {
var foundAnotherCondition bool = false
var dependencyNames []string
for dependencyName, dependencyDefinition := range sdoc.DependsOn {
if dependencyDefinition.Condition == ServiceDependsOnConditionServiceStarted {
dependencyNames = append(dependencyNames, dependencyName)
continue
}
foundAnotherCondition = true
}
switch {
case foundAnotherCondition:
return sdoc.DependsOn, nil
case !foundAnotherCondition && len(dependencyNames) > 0:
return dependencyNames, nil
default:
return nil, nil
}
}
// UnmarshalYAML implements the UnmarshalYAML interface to customize the behavior when being unmarshaled into a YAML
// document.
func (sdoc *DependsOnContainer) UnmarshalYAML(value *yaml.Node) error {
if sdoc.DependsOn == nil {
sdoc.DependsOn = make(map[string]*ServiceDependsOn)
}
if sdoc.Slice == nil {
sdoc.Slice = make([]string, 0)
}
if err := value.Decode(&sdoc.Slice); err == nil {
for _, s := range sdoc.Slice {
sdoc.DependsOn[s] = &ServiceDependsOn{
Condition: ServiceDependsOnConditionServiceStarted,
}
}
return nil
}
if err := value.Decode(sdoc.DependsOn); err != nil {
return err
}
return nil
}
// NewService returns an empty initialized Service.
func NewService() *Service {
return &Service{
@ -1239,6 +1353,31 @@ func NewService() *Service {
}
}
type ServiceDependsOn struct {
Condition string `yaml:"condition,omitempty"`
Restart string `yaml:"restart,omitempty"`
}
// Equal returns true if the passed equalable is equal
func (sdo *ServiceDependsOn) Equal(equalable Equalable) bool {
serviceDependsOn, ok := equalable.(*ServiceDependsOn)
if !ok {
return false
}
switch {
case sdo == nil && serviceDependsOn == nil:
return true
case sdo != nil && serviceDependsOn == nil:
fallthrough
case sdo == nil && serviceDependsOn != nil:
return false
default:
return sdo.Condition == serviceDependsOn.Condition &&
sdo.Restart == serviceDependsOn.Restart
}
}
type ServiceDeploy struct {
Resources *ServiceDeployResources `json:"resources" yaml:"resources"`
}

View File

@ -1,12 +1,90 @@
package dockerCompose_test
import (
"bytes"
"embed"
"strings"
"testing"
"git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose"
"github.com/stretchr/testify/require"
"gopkg.in/yaml.v3"
)
//go:embed test/assets/merge
var testAssetsMerge embed.FS
func TestConfig_Merge(t *testing.T) {
require := require.New(t)
testAssetPath := "test/assets/merge"
testAssetMergeDirEntries, err := testAssetsMerge.ReadDir(testAssetPath)
require.NoError(err)
// iterate over testcase directories
for i, mergeDirEntry := range testAssetMergeDirEntries {
if !mergeDirEntry.IsDir() {
continue
}
// iterate over files in testcase directories
testCaseAssetPath := testAssetPath + "/" + mergeDirEntry.Name()
testCaseDirEntries, err := testAssetsMerge.ReadDir(testCaseAssetPath)
require.NoError(err)
expectedDockerComposeConfig := &dockerCompose.Config{}
dockerComposeConfigs := []*dockerCompose.Config{}
for _, testCaseDirEntry := range testCaseDirEntries {
if testCaseDirEntry.IsDir() {
continue
}
dockerComposeConfigFile := testAssetPath + "/" + mergeDirEntry.Name() + "/" + testCaseDirEntry.Name()
b, err := testAssetsMerge.ReadFile(dockerComposeConfigFile)
require.NoError(err)
yamlDecoder := yaml.NewDecoder(bytes.NewReader(b))
switch {
case strings.HasPrefix(testCaseDirEntry.Name(), "expectedResult"):
err = yamlDecoder.Decode(expectedDockerComposeConfig)
require.NoError(err)
case strings.HasSuffix(testCaseDirEntry.Name(), ".yml") || strings.HasSuffix(testCaseDirEntry.Name(), ".yaml"):
dockerComposeConfig := &dockerCompose.Config{}
err = yamlDecoder.Decode(dockerComposeConfig)
require.NoError(err)
dockerComposeConfigs = append(dockerComposeConfigs, dockerComposeConfig)
}
}
actualDockerComposeConfig := &dockerCompose.Config{}
for _, dockerComposeConfig := range dockerComposeConfigs {
actualDockerComposeConfig.Merge(dockerComposeConfig)
}
expectedBytes := make([]byte, 0)
expectedBytesBuffer := bytes.NewBuffer(expectedBytes)
yamlEncoder := yaml.NewEncoder(expectedBytesBuffer)
err = yamlEncoder.Encode(expectedDockerComposeConfig)
require.NoError(err)
err = yamlEncoder.Close()
require.NoError(err)
actualBytes := make([]byte, 0)
actualBytesBuffer := bytes.NewBuffer(actualBytes)
yamlEncoder = yaml.NewEncoder(actualBytesBuffer)
err = yamlEncoder.Encode(actualDockerComposeConfig)
require.NoError(err)
err = yamlEncoder.Close()
require.NoError(err)
require.Equal(expectedBytesBuffer.String(), actualBytesBuffer.String(), "TestCase %v", i)
}
}
func TestNetwork_Equal(t *testing.T) {
require := require.New(t)
@ -223,34 +301,34 @@ func TestService_Equal(t *testing.T) {
},
{
equalableA: &dockerCompose.Service{
CapabilitiesAdd: []string{},
CapabilitiesDrop: []string{},
DependsOn: []string{},
Deploy: nil,
Environments: []string{},
ExtraHosts: []string{},
Image: "",
Labels: []string{},
Networks: map[string]*dockerCompose.ServiceNetwork{},
Ports: []dockerCompose.Port{},
Secrets: []string{},
ULimits: nil,
Volumes: []string{},
CapabilitiesAdd: []string{},
CapabilitiesDrop: []string{},
DependsOnContainer: &dockerCompose.DependsOnContainer{},
Deploy: nil,
Environments: []string{},
ExtraHosts: []string{},
Image: "",
Labels: []string{},
Networks: map[string]*dockerCompose.ServiceNetwork{},
Ports: []dockerCompose.Port{},
Secrets: []string{},
ULimits: nil,
Volumes: []string{},
},
equalableB: &dockerCompose.Service{
CapabilitiesAdd: []string{},
CapabilitiesDrop: []string{},
DependsOn: []string{},
Deploy: nil,
Environments: []string{},
ExtraHosts: []string{},
Image: "",
Labels: []string{},
Networks: map[string]*dockerCompose.ServiceNetwork{},
Ports: []dockerCompose.Port{},
Secrets: []string{},
ULimits: nil,
Volumes: []string{},
CapabilitiesAdd: []string{},
CapabilitiesDrop: []string{},
DependsOnContainer: &dockerCompose.DependsOnContainer{},
Deploy: nil,
Environments: []string{},
ExtraHosts: []string{},
Image: "",
Labels: []string{},
Networks: map[string]*dockerCompose.ServiceNetwork{},
Ports: []dockerCompose.Port{},
Secrets: []string{},
ULimits: nil,
Volumes: []string{},
},
expectedResult: true,
},
@ -292,19 +370,74 @@ func TestService_Equal(t *testing.T) {
},
{
equalableA: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{Slice: []string{"app"}},
},
equalableB: &dockerCompose.Service{
DependsOn: []string{},
DependsOnContainer: nil,
},
expectedResult: false,
},
{
equalableA: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{Slice: []string{"app"}},
},
equalableB: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{},
},
expectedResult: false,
},
{
equalableA: &dockerCompose.Service{
DependsOnContainer: &dockerCompose.DependsOnContainer{Slice: []string{"app"}},
},
equalableB: &dockerCompose.Service{
DependsOnContainer: &dockerCompose.DependsOnContainer{Slice: []string{}},
},
expectedResult: false,
},
{
equalableA: &dockerCompose.Service{
DependsOnContainer: &dockerCompose.DependsOnContainer{Slice: []string{"app"}},
},
equalableB: &dockerCompose.Service{
DependsOnContainer: &dockerCompose.DependsOnContainer{Slice: []string{"app"}},
},
expectedResult: true,
},
{
equalableA: &dockerCompose.Service{
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
equalableB: &dockerCompose.Service{
DependsOnContainer: &dockerCompose.DependsOnContainer{},
},
expectedResult: false,
},
{
equalableA: &dockerCompose.Service{
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
equalableB: &dockerCompose.Service{
DependsOnContainer: &dockerCompose.DependsOnContainer{},
},
expectedResult: false,
},
{
equalableA: &dockerCompose.Service{
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
equalableB: &dockerCompose.Service{
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{}},
},
expectedResult: false,
},
{
equalableA: &dockerCompose.Service{
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
equalableB: &dockerCompose.Service{
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
expectedResult: true,
},
@ -598,46 +731,46 @@ func TestService_MergeExistingWin(t *testing.T) {
// DependsOn
{
serviceDeploymentA: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
serviceDeploymentB: &dockerCompose.Service{
DependsOn: []string{},
DependsOnContainer: &dockerCompose.DependsOnContainer{},
},
expectedService: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
},
{
serviceDeploymentA: &dockerCompose.Service{
DependsOn: []string{},
DependsOnContainer: &dockerCompose.DependsOnContainer{},
},
serviceDeploymentB: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
expectedService: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
},
{
serviceDeploymentA: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
serviceDeploymentB: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
expectedService: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
},
{
serviceDeploymentA: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
serviceDeploymentB: &dockerCompose.Service{
DependsOn: []string{""},
DependsOnContainer: nil,
},
expectedService: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
},
@ -1582,46 +1715,46 @@ func TestService_MergeLastWin(t *testing.T) {
// DependsOn
{
serviceDeploymentA: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
serviceDeploymentB: &dockerCompose.Service{
DependsOn: []string{},
DependsOnContainer: &dockerCompose.DependsOnContainer{},
},
expectedService: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
},
{
serviceDeploymentA: &dockerCompose.Service{
DependsOn: []string{},
DependsOnContainer: &dockerCompose.DependsOnContainer{},
},
serviceDeploymentB: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
expectedService: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
},
{
serviceDeploymentA: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
serviceDeploymentB: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
expectedService: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
},
{
serviceDeploymentA: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
serviceDeploymentB: &dockerCompose.Service{
DependsOn: []string{""},
DependsOnContainer: nil,
},
expectedService: &dockerCompose.Service{
DependsOn: []string{"app"},
DependsOnContainer: &dockerCompose.DependsOnContainer{DependsOn: map[string]*dockerCompose.ServiceDependsOn{"app": {Condition: "service_started"}}},
},
},

View File

@ -0,0 +1,6 @@
services:
frontend:
depends_on:
backend:
condition: service_started
image: library/frontend:latest

View File

@ -0,0 +1,3 @@
services:
backend:
image: library/backend:latest

View File

@ -0,0 +1,7 @@
services:
backend:
image: library/backend:latest
frontend:
depends_on:
- backend
image: library/frontend:latest

View File

@ -0,0 +1,5 @@
services:
frontend:
depends_on:
- backend
image: library/frontend:latest

View File

@ -0,0 +1,3 @@
services:
backend:
image: library/backend:latest

View File

@ -0,0 +1,7 @@
services:
backend:
image: library/backend:latest
frontend:
depends_on:
- backend
image: library/frontend:latest

View File

@ -0,0 +1,6 @@
services:
frontend:
depends_on:
backend:
condition: service_completed_successfully
image: library/frontend:latest

View File

@ -0,0 +1,3 @@
services:
backend:
image: library/backend:latest

View File

@ -0,0 +1,8 @@
services:
backend:
image: library/backend:latest
frontend:
depends_on:
backend:
condition: service_completed_successfully
image: library/frontend:latest

View File

@ -8,7 +8,7 @@ import (
"os"
"git.cryptic.systems/volker.raschek/dcmerge/pkg/domain/dockerCompose"
"gopkg.in/yaml.v2"
"gopkg.in/yaml.v3"
)
func Fetch(urls ...string) ([]*dockerCompose.Config, error) {

View File

@ -1,42 +1,10 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"assignees": [ "volker.raschek" ],
"labels": [ "renovate" ],
"packageRules": [
{
"addLabels": [ "renovate/droneci", "renovate/automerge" ],
"automerge": true,
"matchManagers": "droneci",
"matchUpdateTypes": [ "minor", "patch"]
},
{
"description": "Automatically update patch version of used container images in docker files",
"addLabels": [ "renovate/container-image", "renovate/automerge" ],
"automerge": true,
"matchBaseBranches": [ "master" ],
"matchManagers": [ "dockerfile" ],
"matchUpdateTypes": [ "minor", "patch" ]
},
{
"description": "Automatically update minor and patch versions of go modules",
"addLabels": [ "renovate/gomod", "renovate/automerge" ],
"automerge": true,
"matchManagers": [ "gomod" ],
"matchUpdateTypes": [ "minor", "patch" ]
},
{
"description": "Disable major update version of go modules",
"enabled": false,
"matchManagers": [ "gomod" ],
"matchPackageNames": [
"gopkg.in/yaml.v2"
],
"matchUpdateTypes": [ "major" ]
}
],
"postUpdateOptions": [
"gomodTidy"
],
"rebaseLabel": "renovate/rebase",
"rebaseWhen": "behind-base-branch"
"extends": [
"local>volker.raschek/renovate-config:default#master",
"local>volker.raschek/renovate-config:container#master",
"local>volker.raschek/renovate-config:actions#master",
"local>volker.raschek/renovate-config:golang#master",
"local>volker.raschek/renovate-config:regexp#master"
]
}