volker.raschek
ed7622a34f
chore(coverage): ignore coverage.txt
2025-03-04 17:50:01 +01:00
volker.raschek
967c20c638
fix(cmd): replace deprecated cobra function
2025-03-04 17:50:01 +01:00
volker.raschek
68db80a05a
fix(yaml): set indentation to 2 spaces
...
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
volker.raschek
6761dbf419
test(docker-compose): add further tests regrading depends_on
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2025-02-25 16:21:13 +01:00
volker.raschek
ab282e5173
feat: support depends_on
...
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
volker.raschek
003db26fe5
feat: respect individual ports instead of replacing the entire slice of ports
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
The following patch adapts the logic of the merge strategy existing and last
win for service ports.
In the past, the complete object has been replaced based on the merge strategy.
This behavior has been adapted, that each port should now considered
individually per strategy.
Both strategies now focus on the src port of the host system. With a last-win,
the dest port of the container is overwritten with an existing src port.
```diff
service:
my-app:
ports:
- - 0.0.0.0:8080:80
+ - 0.0.0.0:8080:8080
- 0.0.0.0:8443:8443
```
The situation is different with the existing win strategy. There, the destination
port can no longer be changed once there is a connection with a sourc port.
2025-02-21 13:55:53 +01:00
volker.raschek
f8b4fe9af6
fix(dockerCompoe): compare srcIP and srcPort of mergeExistingWinPorts()
2025-02-21 09:51:53 +01:00
volker.raschek
2c91222753
chore(renovate): disable go package gopkg.in/yaml.v2
continuous-integration/drone/push Build is passing
2025-02-20 17:29:39 +01:00
volker.raschek
b45f8181aa
style(lint): block unused parameter
continuous-integration/drone/push Build is passing
2025-02-20 17:26:43 +01:00
volker.raschek
13301cb367
fix(dockerCompose): add further methods of port
...
This patch adds the following methods:
ports.ExistsDstIP()
ports.ExistsDstPort()
ports.ExistsProtocol()
ports.ExistsSrcIP()
ports.ExistsSrcPort()
ports.GetDstIP()
ports.GetDstPort()
ports.GetProtocol()
ports.GetSrcIP()
ports.GetSrcPort()
2025-02-20 17:26:43 +01:00
volker.raschek
0a68b2d8e7
fix(dockerCompose): add port.ExistProtocol
2025-02-20 17:26:43 +01:00
volker.raschek
f2dc3d5174
fix(fetcher): handle all os.Stat() errors
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2024-12-03 11:09:38 +01:00
volker.raschek
6ced20b951
fix(ci): update renovate config
continuous-integration/drone/push Build is passing
2024-03-02 13:42:00 +01:00
volker.raschek
2da0b01a44
fix(renovate): remove automerge options
continuous-integration/drone/push Build is passing
2024-01-21 15:03:05 +01:00
volker.raschek
b83efda648
test(assets): add depends_on as example
continuous-integration/drone/push Build is passing
2023-11-25 18:21:07 +01:00
volker.raschek
5dea30fec0
fix(domain): iterate when merging over custom configs
...
The normal dcmerge did not work, as the check and addition was only
possible if at least one attribute such as service, network or volume
was presentThe normal dcmerge did not work, as the check and addition
was only possible if at least one attribute such as service, network or
volume was present.
The logic was adjusted.
The logic was adjusted.
2023-11-25 18:21:07 +01:00
volker.raschek
3d97ee0ab8
fix(lint): increase line length to 120
2023-11-25 18:21:07 +01:00
volker.raschek
8b68c9587c
feat: support depends_on
2023-11-25 18:21:07 +01:00
volker.raschek
d8ada5578b
fix(ci): unsupport arm v7
continuous-integration/drone/push Build is passing
2023-10-30 21:32:36 +01:00
volker.raschek
46dd067b48
fix(renovate): exclude updating docker.io/plugins/docker
continuous-integration/drone/push Build is passing
2023-09-03 16:37:08 +02:00
volker.raschek
751bb810d2
fix(dockerCompose): protect of empty attributes
2023-08-28 11:37:24 +02:00
volker.raschek
9b469bd8c6
fix: rename firstWin to existingWin
2023-08-28 11:13:32 +02:00
volker.raschek
4ad9da6d63
fix(cmd): add flag first-win
2023-08-28 10:57:36 +02:00
volker.raschek
2ea83b7591
fix(dockerCompose): add MergeFirstWin()
2023-08-28 10:57:36 +02:00
volker.raschek
6f673e4a72
test: add example docker-compose
2023-08-28 10:57:36 +02:00
volker.raschek
d9ecf068c9
fix(dockerCompose): add Service.MergeFirstWin()
2023-08-28 10:57:36 +02:00
volker.raschek
4c3c6cd5d2
fix(dockerCompose): add ServiceDeploy.MergeFirstWin()
2023-08-28 10:57:36 +02:00
volker.raschek
23290fbd5d
fix(dockerCompose): add ServiceDeployResources.MergeFirstWin()
2023-08-28 10:57:36 +02:00
volker.raschek
07673bfd53
fix(dockerCompose): add ServiceDeployResourcesLimits.MergeFirstWin()
2023-08-28 10:57:36 +02:00
volker.raschek
405a0258f1
fix(dockerCompose): add ServiceNetwork.MergeFirstWin()
2023-08-28 10:57:36 +02:00
volker.raschek
462299d5cd
fix(dockerCompose): add ServiceUlimits.MergeFirstWin()
2023-08-28 10:57:36 +02:00
volker.raschek
6524785871
test(dockerCompose): add ServiceUlimitsNoFile.MergeFirstWin()
2023-08-28 10:57:36 +02:00
volker.raschek
1207bcfcab
test(dockerCompose): add Volume.MergeFirstWin()
2023-08-28 10:57:36 +02:00
volker.raschek
a656dc2db1
fix(dockerCompose): add ServiceUlimitsNoFile.MergeFirstWin()
2023-08-28 10:57:36 +02:00
volker.raschek
14c645dd96
fix(dockerCompose): add Volume.MergeFirstWin()
2023-08-28 10:57:36 +02:00
volker.raschek
87ec3349ea
fix(ci): execute linter and unit-test in parallel
continuous-integration/drone/push Build is passing
2023-08-02 23:26:19 +02:00
volker.raschek
ad1cf8cbef
fix(ci): execute unit tests on dry-run
continuous-integration/drone/push Build encountered an error
2023-08-02 23:20:38 +02:00
volker.raschek
16f1f5e9da
fix(ci): execute unit tests
continuous-integration/drone/push Build is passing
2023-08-02 23:19:08 +02:00
volker.raschek
ce48d6dd0c
fix(dockerCompose): mergeLastWinImage
continuous-integration/drone/push Build is passing
2023-07-26 14:44:12 +02:00
volker.raschek
3bf9380001
fix(cmd): expect at least one argument
continuous-integration/drone/push Build is passing
2023-07-26 10:43:49 +02:00
volker.raschek
f7c1664197
fix(cmd): adapt default output
continuous-integration/drone/push Build is passing
2023-07-26 10:37:56 +02:00
volker.raschek
cadf25b089
fix(cmd): rename flag to last-win
continuous-integration/drone/push Build is passing
2023-07-26 10:28:08 +02:00
volker.raschek
c50c0a835e
fix(gomod): downgrade to yaml v2.0
continuous-integration/drone/push Build is passing
2023-07-26 10:17:32 +02:00
volker.raschek
c16871010c
style(README): add newline
continuous-integration/drone/push Build is passing
2023-07-26 10:16:15 +02:00
volker.raschek
ad29107f60
style(README): rm newline
2023-07-26 10:16:08 +02:00
volker.raschek
3777c49ee9
Initial Commit
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2023-07-26 09:57:40 +02:00