You've already forked dcmerge
							
							Compare commits
	
		
			44 Commits
		
	
	
		
			v0.1.1
			...
			b83efda648
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						b83efda648
	
				 | 
					
					
						|||
| 
						
						
							
						
						5dea30fec0
	
				 | 
					
					
						|||
| 
						
						
							
						
						3d97ee0ab8
	
				 | 
					
					
						|||
| 
						
						
							
						
						8b68c9587c
	
				 | 
					
					
						|||
| 669ebd0f25 | |||
| 8f794494a2 | |||
| 
						
						
							
						
						8e411cc486
	
				 | 
					
					
						|||
| d7e8970860 | |||
| 8603eca0b5 | |||
| 
						
						
							
						
						d8ada5578b
	
				 | 
					
					
						|||
| 4f5d115926 | |||
| dac3be4e2d | |||
| 173637693f | |||
| 3ba641aa12 | |||
| 768a49319d | |||
| 66f5fff92a | |||
| b6b2e069cd | |||
| 2c738d0417 | |||
| 
						
						
							
						
						46dd067b48
	
				 | 
					
					
						|||
| 9669685997 | |||
| 9a76f3432a | |||
| 
						
						
							
						
						751bb810d2
	
				 | 
					
					
						|||
| 
						
						
							
						
						9b469bd8c6
	
				 | 
					
					
						|||
| 
						
						
							
						
						4ad9da6d63
	
				 | 
					
					
						|||
| 
						
						
							
						
						2ea83b7591
	
				 | 
					
					
						|||
| 
						
						
							
						
						6f673e4a72
	
				 | 
					
					
						|||
| 
						
						
							
						
						d9ecf068c9
	
				 | 
					
					
						|||
| 
						
						
							
						
						4c3c6cd5d2
	
				 | 
					
					
						|||
| 
						
						
							
						
						23290fbd5d
	
				 | 
					
					
						|||
| 
						
						
							
						
						07673bfd53
	
				 | 
					
					
						|||
| 
						
						
							
						
						405a0258f1
	
				 | 
					
					
						|||
| 
						
						
							
						
						462299d5cd
	
				 | 
					
					
						|||
| 
						
						
							
						
						6524785871
	
				 | 
					
					
						|||
| 
						
						
							
						
						1207bcfcab
	
				 | 
					
					
						|||
| 
						
						
							
						
						a656dc2db1
	
				 | 
					
					
						|||
| 
						
						
							
						
						14c645dd96
	
				 | 
					
					
						|||
| 7b0109caf4 | |||
| 6bfd49947e | |||
| 04e0d98dde | |||
| 
						
						
							
						
						87ec3349ea
	
				 | 
					
					
						|||
| 
						
						
							
						
						ad1cf8cbef
	
				 | 
					
					
						|||
| 
						
						
							
						
						16f1f5e9da
	
				 | 
					
					
						|||
| 35d35f0b20 | |||
| 0375ccbf69 | 
							
								
								
									
										311
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										311
									
								
								.drone.yml
									
									
									
									
									
								
							@@ -11,12 +11,12 @@ platform:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
steps:
 | 
					steps:
 | 
				
			||||||
- name: clone
 | 
					- name: clone
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/git:1.2.1
 | 
					  image: git.cryptic.systems/volker.raschek/git:1.3.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: markdown lint
 | 
					- name: markdown lint
 | 
				
			||||||
  commands:
 | 
					  commands:
 | 
				
			||||||
  - markdownlint *.md
 | 
					  - markdownlint *.md
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/markdownlint:0.35.0
 | 
					  image: git.cryptic.systems/volker.raschek/markdownlint:0.37.0
 | 
				
			||||||
  resources:
 | 
					  resources:
 | 
				
			||||||
    limits:
 | 
					    limits:
 | 
				
			||||||
      cpu: 150
 | 
					      cpu: 150
 | 
				
			||||||
@@ -34,7 +34,7 @@ steps:
 | 
				
			|||||||
      from_secret: smtp_username
 | 
					      from_secret: smtp_username
 | 
				
			||||||
    SMTP_PASSWORD:
 | 
					    SMTP_PASSWORD:
 | 
				
			||||||
      from_secret: smtp_password
 | 
					      from_secret: smtp_password
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/drone-email:0.1.2
 | 
					  image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
 | 
				
			||||||
  resources:
 | 
					  resources:
 | 
				
			||||||
    limits:
 | 
					    limits:
 | 
				
			||||||
      cpu: 150
 | 
					      cpu: 150
 | 
				
			||||||
@@ -49,6 +49,59 @@ trigger:
 | 
				
			|||||||
    exclude:
 | 
					    exclude:
 | 
				
			||||||
    - tag
 | 
					    - tag
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					kind: pipeline
 | 
				
			||||||
 | 
					type: docker
 | 
				
			||||||
 | 
					name: unit-test-amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clone:
 | 
				
			||||||
 | 
					  disable: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					platform:
 | 
				
			||||||
 | 
					  arch: amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					steps:
 | 
				
			||||||
 | 
					- name: clone
 | 
				
			||||||
 | 
					  image: git.cryptic.systems/volker.raschek/git:1.3.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: unit-test
 | 
				
			||||||
 | 
					  commands:
 | 
				
			||||||
 | 
					  - go test -v ./...
 | 
				
			||||||
 | 
					  image: docker.io/library/golang:1.21.4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					trigger:
 | 
				
			||||||
 | 
					  event:
 | 
				
			||||||
 | 
					    exclude:
 | 
				
			||||||
 | 
					    - tag
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					kind: pipeline
 | 
				
			||||||
 | 
					type: docker
 | 
				
			||||||
 | 
					name: unit-test-arm64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clone:
 | 
				
			||||||
 | 
					  disable: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					platform:
 | 
				
			||||||
 | 
					  arch: arm64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					steps:
 | 
				
			||||||
 | 
					- name: clone
 | 
				
			||||||
 | 
					  image: git.cryptic.systems/volker.raschek/git:1.3.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: unit-test
 | 
				
			||||||
 | 
					  commands:
 | 
				
			||||||
 | 
					  - go test -v ./...
 | 
				
			||||||
 | 
					  image: docker.io/library/golang:1.21.4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					trigger:
 | 
				
			||||||
 | 
					  event:
 | 
				
			||||||
 | 
					    include:
 | 
				
			||||||
 | 
					    - pull_request
 | 
				
			||||||
 | 
					    - push
 | 
				
			||||||
 | 
					    exclude:
 | 
				
			||||||
 | 
					    - tag
 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
kind: pipeline
 | 
					kind: pipeline
 | 
				
			||||||
type: docker
 | 
					type: docker
 | 
				
			||||||
@@ -59,6 +112,7 @@ clone:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					depends_on:
 | 
				
			||||||
- linter
 | 
					- linter
 | 
				
			||||||
 | 
					- unit-test-amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
platform:
 | 
					platform:
 | 
				
			||||||
  os: linux
 | 
					  os: linux
 | 
				
			||||||
@@ -66,10 +120,10 @@ platform:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
steps:
 | 
					steps:
 | 
				
			||||||
- name: clone
 | 
					- name: clone
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/git:1.2.1
 | 
					  image: git.cryptic.systems/volker.raschek/git:1.3.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: build
 | 
					- name: build
 | 
				
			||||||
  image: docker.io/plugins/docker:20.10.9
 | 
					  image: docker.io/plugins/docker:20.17.1
 | 
				
			||||||
  settings:
 | 
					  settings:
 | 
				
			||||||
    auto_tag: false
 | 
					    auto_tag: false
 | 
				
			||||||
    dockerfile: Dockerfile
 | 
					    dockerfile: Dockerfile
 | 
				
			||||||
@@ -99,73 +153,7 @@ steps:
 | 
				
			|||||||
      from_secret: smtp_username
 | 
					      from_secret: smtp_username
 | 
				
			||||||
    SMTP_PASSWORD:
 | 
					    SMTP_PASSWORD:
 | 
				
			||||||
      from_secret: smtp_password
 | 
					      from_secret: smtp_password
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/drone-email:0.1.2
 | 
					  image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
 | 
				
			||||||
  when:
 | 
					 | 
				
			||||||
    status:
 | 
					 | 
				
			||||||
    - changed
 | 
					 | 
				
			||||||
    - failure
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
trigger:
 | 
					 | 
				
			||||||
  branch:
 | 
					 | 
				
			||||||
    exclude:
 | 
					 | 
				
			||||||
    - master
 | 
					 | 
				
			||||||
  event:
 | 
					 | 
				
			||||||
  - pull_request
 | 
					 | 
				
			||||||
  - push
 | 
					 | 
				
			||||||
  repo:
 | 
					 | 
				
			||||||
  - volker.raschek/dcmerge
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
kind: pipeline
 | 
					 | 
				
			||||||
type: docker
 | 
					 | 
				
			||||||
name: dry-run-arm-v7
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
clone:
 | 
					 | 
				
			||||||
  disable: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
depends_on:
 | 
					 | 
				
			||||||
- linter
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
platform:
 | 
					 | 
				
			||||||
  os: linux
 | 
					 | 
				
			||||||
  arch: arm
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
steps:
 | 
					 | 
				
			||||||
- name: clone
 | 
					 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/git:1.2.1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- name: build
 | 
					 | 
				
			||||||
  image: docker.io/plugins/docker:20.10.9
 | 
					 | 
				
			||||||
  settings:
 | 
					 | 
				
			||||||
    auto_tag: false
 | 
					 | 
				
			||||||
    dockerfile: Dockerfile
 | 
					 | 
				
			||||||
    dry_run: true
 | 
					 | 
				
			||||||
    force_tag: true
 | 
					 | 
				
			||||||
    no_cache: true
 | 
					 | 
				
			||||||
    purge: true
 | 
					 | 
				
			||||||
    mirror:
 | 
					 | 
				
			||||||
      from_secret: docker_io_mirror
 | 
					 | 
				
			||||||
    registry: git.cryptic.systems
 | 
					 | 
				
			||||||
    repo: git.cryptic.systems/volker.raschek/dcmerge
 | 
					 | 
				
			||||||
    tags: latest-arm-v7
 | 
					 | 
				
			||||||
    username:
 | 
					 | 
				
			||||||
      from_secret: git_cryptic_systems_container_registry_user
 | 
					 | 
				
			||||||
    password:
 | 
					 | 
				
			||||||
      from_secret: git_cryptic_systems_container_registry_password
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- name: email-notification
 | 
					 | 
				
			||||||
  environment:
 | 
					 | 
				
			||||||
    SMTP_FROM_ADDRESS:
 | 
					 | 
				
			||||||
      from_secret: smtp_from_address
 | 
					 | 
				
			||||||
    SMTP_FROM_NAME:
 | 
					 | 
				
			||||||
      from_secret: smtp_from_name
 | 
					 | 
				
			||||||
    SMTP_HOST:
 | 
					 | 
				
			||||||
      from_secret: smtp_host
 | 
					 | 
				
			||||||
    SMTP_USERNAME:
 | 
					 | 
				
			||||||
      from_secret: smtp_username
 | 
					 | 
				
			||||||
    SMTP_PASSWORD:
 | 
					 | 
				
			||||||
      from_secret: smtp_password
 | 
					 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/drone-email:0.1.2
 | 
					 | 
				
			||||||
  when:
 | 
					  when:
 | 
				
			||||||
    status:
 | 
					    status:
 | 
				
			||||||
    - changed
 | 
					    - changed
 | 
				
			||||||
@@ -191,6 +179,7 @@ clone:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					depends_on:
 | 
				
			||||||
- linter
 | 
					- linter
 | 
				
			||||||
 | 
					- unit-test-arm64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
platform:
 | 
					platform:
 | 
				
			||||||
  os: linux
 | 
					  os: linux
 | 
				
			||||||
@@ -198,10 +187,10 @@ platform:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
steps:
 | 
					steps:
 | 
				
			||||||
- name: clone
 | 
					- name: clone
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/git:1.2.1
 | 
					  image: git.cryptic.systems/volker.raschek/git:1.3.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: build
 | 
					- name: build
 | 
				
			||||||
  image: docker.io/plugins/docker:20.10.9
 | 
					  image: docker.io/plugins/docker:20.17.1
 | 
				
			||||||
  settings:
 | 
					  settings:
 | 
				
			||||||
    auto_tag: false
 | 
					    auto_tag: false
 | 
				
			||||||
    dockerfile: Dockerfile
 | 
					    dockerfile: Dockerfile
 | 
				
			||||||
@@ -231,7 +220,7 @@ steps:
 | 
				
			|||||||
      from_secret: smtp_username
 | 
					      from_secret: smtp_username
 | 
				
			||||||
    SMTP_PASSWORD:
 | 
					    SMTP_PASSWORD:
 | 
				
			||||||
      from_secret: smtp_password
 | 
					      from_secret: smtp_password
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/drone-email:0.1.2
 | 
					  image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
 | 
				
			||||||
  when:
 | 
					  when:
 | 
				
			||||||
    status:
 | 
					    status:
 | 
				
			||||||
    - changed
 | 
					    - changed
 | 
				
			||||||
@@ -257,6 +246,7 @@ clone:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					depends_on:
 | 
				
			||||||
- linter
 | 
					- linter
 | 
				
			||||||
 | 
					- unit-test-amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
platform:
 | 
					platform:
 | 
				
			||||||
  os: linux
 | 
					  os: linux
 | 
				
			||||||
@@ -264,10 +254,10 @@ platform:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
steps:
 | 
					steps:
 | 
				
			||||||
- name: clone
 | 
					- name: clone
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/git:1.2.1
 | 
					  image: git.cryptic.systems/volker.raschek/git:1.3.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: build
 | 
					- name: build
 | 
				
			||||||
  image: docker.io/plugins/docker:20.10.9
 | 
					  image: docker.io/plugins/docker:20.17.1
 | 
				
			||||||
  settings:
 | 
					  settings:
 | 
				
			||||||
    auto_tag: false
 | 
					    auto_tag: false
 | 
				
			||||||
    dockerfile: Dockerfile
 | 
					    dockerfile: Dockerfile
 | 
				
			||||||
@@ -296,71 +286,7 @@ steps:
 | 
				
			|||||||
      from_secret: smtp_username
 | 
					      from_secret: smtp_username
 | 
				
			||||||
    SMTP_PASSWORD:
 | 
					    SMTP_PASSWORD:
 | 
				
			||||||
      from_secret: smtp_password
 | 
					      from_secret: smtp_password
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/drone-email:0.1.2
 | 
					  image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
 | 
				
			||||||
  when:
 | 
					 | 
				
			||||||
    status:
 | 
					 | 
				
			||||||
    - changed
 | 
					 | 
				
			||||||
    - failure
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
trigger:
 | 
					 | 
				
			||||||
  branch:
 | 
					 | 
				
			||||||
  - master
 | 
					 | 
				
			||||||
  event:
 | 
					 | 
				
			||||||
  - cron
 | 
					 | 
				
			||||||
  - push
 | 
					 | 
				
			||||||
  repo:
 | 
					 | 
				
			||||||
  - volker.raschek/dcmerge
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
kind: pipeline
 | 
					 | 
				
			||||||
type: docker
 | 
					 | 
				
			||||||
name: latest-arm-v7
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
clone:
 | 
					 | 
				
			||||||
  disable: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
depends_on:
 | 
					 | 
				
			||||||
- linter
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
platform:
 | 
					 | 
				
			||||||
  os: linux
 | 
					 | 
				
			||||||
  arch: arm
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
steps:
 | 
					 | 
				
			||||||
- name: clone
 | 
					 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/git:1.2.1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- name: build
 | 
					 | 
				
			||||||
  image: docker.io/plugins/docker:20.10.9
 | 
					 | 
				
			||||||
  settings:
 | 
					 | 
				
			||||||
    auto_tag: false
 | 
					 | 
				
			||||||
    dockerfile: Dockerfile
 | 
					 | 
				
			||||||
    force_tag: true
 | 
					 | 
				
			||||||
    no_cache: true
 | 
					 | 
				
			||||||
    purge: true
 | 
					 | 
				
			||||||
    mirror:
 | 
					 | 
				
			||||||
      from_secret: docker_io_mirror
 | 
					 | 
				
			||||||
    registry: git.cryptic.systems
 | 
					 | 
				
			||||||
    repo: git.cryptic.systems/volker.raschek/dcmerge
 | 
					 | 
				
			||||||
    tags: latest-arm-v7
 | 
					 | 
				
			||||||
    username:
 | 
					 | 
				
			||||||
      from_secret: git_cryptic_systems_container_registry_user
 | 
					 | 
				
			||||||
    password:
 | 
					 | 
				
			||||||
      from_secret: git_cryptic_systems_container_registry_password
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- name: email-notification
 | 
					 | 
				
			||||||
  environment:
 | 
					 | 
				
			||||||
    SMTP_FROM_ADDRESS:
 | 
					 | 
				
			||||||
      from_secret: smtp_from_address
 | 
					 | 
				
			||||||
    SMTP_FROM_NAME:
 | 
					 | 
				
			||||||
      from_secret: smtp_from_name
 | 
					 | 
				
			||||||
    SMTP_HOST:
 | 
					 | 
				
			||||||
      from_secret: smtp_host
 | 
					 | 
				
			||||||
    SMTP_USERNAME:
 | 
					 | 
				
			||||||
      from_secret: smtp_username
 | 
					 | 
				
			||||||
    SMTP_PASSWORD:
 | 
					 | 
				
			||||||
      from_secret: smtp_password
 | 
					 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/drone-email:0.1.2
 | 
					 | 
				
			||||||
  when:
 | 
					  when:
 | 
				
			||||||
    status:
 | 
					    status:
 | 
				
			||||||
    - changed
 | 
					    - changed
 | 
				
			||||||
@@ -385,6 +311,7 @@ clone:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					depends_on:
 | 
				
			||||||
- linter
 | 
					- linter
 | 
				
			||||||
 | 
					- unit-test-arm64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
platform:
 | 
					platform:
 | 
				
			||||||
  os: linux
 | 
					  os: linux
 | 
				
			||||||
@@ -392,10 +319,10 @@ platform:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
steps:
 | 
					steps:
 | 
				
			||||||
- name: clone
 | 
					- name: clone
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/git:1.2.1
 | 
					  image: git.cryptic.systems/volker.raschek/git:1.3.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: build
 | 
					- name: build
 | 
				
			||||||
  image: docker.io/plugins/docker:20.10.9
 | 
					  image: docker.io/plugins/docker:20.17.1
 | 
				
			||||||
  settings:
 | 
					  settings:
 | 
				
			||||||
    auto_tag: false
 | 
					    auto_tag: false
 | 
				
			||||||
    dockerfile: Dockerfile
 | 
					    dockerfile: Dockerfile
 | 
				
			||||||
@@ -424,7 +351,7 @@ steps:
 | 
				
			|||||||
      from_secret: smtp_username
 | 
					      from_secret: smtp_username
 | 
				
			||||||
    SMTP_PASSWORD:
 | 
					    SMTP_PASSWORD:
 | 
				
			||||||
      from_secret: smtp_password
 | 
					      from_secret: smtp_password
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/drone-email:0.1.2
 | 
					  image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
 | 
				
			||||||
  when:
 | 
					  when:
 | 
				
			||||||
    status:
 | 
					    status:
 | 
				
			||||||
    - changed
 | 
					    - changed
 | 
				
			||||||
@@ -449,7 +376,6 @@ clone:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					depends_on:
 | 
				
			||||||
- latest-amd64
 | 
					- latest-amd64
 | 
				
			||||||
- latest-arm-v7
 | 
					 | 
				
			||||||
- latest-arm64-v8
 | 
					- latest-arm64-v8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# docker.io/plugins/manifest only for amd64 architectures available
 | 
					# docker.io/plugins/manifest only for amd64 architectures available
 | 
				
			||||||
@@ -459,7 +385,7 @@ node_selector:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
steps:
 | 
					steps:
 | 
				
			||||||
- name: clone
 | 
					- name: clone
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/git:1.2.1
 | 
					  image: git.cryptic.systems/volker.raschek/git:1.3.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: build-manifest
 | 
					- name: build-manifest
 | 
				
			||||||
  image: docker.io/plugins/manifest:1.4.0
 | 
					  image: docker.io/plugins/manifest:1.4.0
 | 
				
			||||||
@@ -484,7 +410,7 @@ steps:
 | 
				
			|||||||
      from_secret: smtp_username
 | 
					      from_secret: smtp_username
 | 
				
			||||||
    SMTP_PASSWORD:
 | 
					    SMTP_PASSWORD:
 | 
				
			||||||
      from_secret: smtp_password
 | 
					      from_secret: smtp_password
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/drone-email:0.1.2
 | 
					  image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
 | 
				
			||||||
  resources:
 | 
					  resources:
 | 
				
			||||||
    limits:
 | 
					    limits:
 | 
				
			||||||
      cpu: 150
 | 
					      cpu: 150
 | 
				
			||||||
@@ -516,7 +442,7 @@ depends_on:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
steps:
 | 
					steps:
 | 
				
			||||||
- name: clone
 | 
					- name: clone
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/git:1.2.1
 | 
					  image: git.cryptic.systems/volker.raschek/git:1.3.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: latest-sync
 | 
					- name: latest-sync
 | 
				
			||||||
  commands:
 | 
					  commands:
 | 
				
			||||||
@@ -530,7 +456,7 @@ steps:
 | 
				
			|||||||
      from_secret: container_image_registry_user
 | 
					      from_secret: container_image_registry_user
 | 
				
			||||||
    DEST_CRED_PASSWORD:
 | 
					    DEST_CRED_PASSWORD:
 | 
				
			||||||
      from_secret: container_image_registry_password
 | 
					      from_secret: container_image_registry_password
 | 
				
			||||||
  image: quay.io/skopeo/stable:v1.13.0
 | 
					  image: quay.io/skopeo/stable:v1.13.3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: email-notification
 | 
					- name: email-notification
 | 
				
			||||||
  environment:
 | 
					  environment:
 | 
				
			||||||
@@ -544,7 +470,7 @@ steps:
 | 
				
			|||||||
      from_secret: smtp_username
 | 
					      from_secret: smtp_username
 | 
				
			||||||
    SMTP_PASSWORD:
 | 
					    SMTP_PASSWORD:
 | 
				
			||||||
      from_secret: smtp_password
 | 
					      from_secret: smtp_password
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/drone-email:0.1.2
 | 
					  image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
 | 
				
			||||||
  resources:
 | 
					  resources:
 | 
				
			||||||
    limits:
 | 
					    limits:
 | 
				
			||||||
      cpu: 150
 | 
					      cpu: 150
 | 
				
			||||||
@@ -577,10 +503,10 @@ platform:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
steps:
 | 
					steps:
 | 
				
			||||||
- name: clone
 | 
					- name: clone
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/git:1.2.1
 | 
					  image: git.cryptic.systems/volker.raschek/git:1.3.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: build
 | 
					- name: build
 | 
				
			||||||
  image: docker.io/plugins/docker:20.10.9
 | 
					  image: docker.io/plugins/docker:20.17.1
 | 
				
			||||||
  settings:
 | 
					  settings:
 | 
				
			||||||
    auto_tag: true
 | 
					    auto_tag: true
 | 
				
			||||||
    auto_tag_suffix: amd64
 | 
					    auto_tag_suffix: amd64
 | 
				
			||||||
@@ -611,67 +537,7 @@ steps:
 | 
				
			|||||||
      from_secret: smtp_username
 | 
					      from_secret: smtp_username
 | 
				
			||||||
    SMTP_PASSWORD:
 | 
					    SMTP_PASSWORD:
 | 
				
			||||||
      from_secret: smtp_password
 | 
					      from_secret: smtp_password
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/drone-email:0.1.2
 | 
					  image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
 | 
				
			||||||
  when:
 | 
					 | 
				
			||||||
    status:
 | 
					 | 
				
			||||||
    - changed
 | 
					 | 
				
			||||||
    - failure
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
trigger:
 | 
					 | 
				
			||||||
  event:
 | 
					 | 
				
			||||||
  - tag
 | 
					 | 
				
			||||||
  repo:
 | 
					 | 
				
			||||||
  - volker.raschek/dcmerge
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
kind: pipeline
 | 
					 | 
				
			||||||
type: docker
 | 
					 | 
				
			||||||
name: tagged-arm-v7
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
clone:
 | 
					 | 
				
			||||||
  disable: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
platform:
 | 
					 | 
				
			||||||
  os: linux
 | 
					 | 
				
			||||||
  arch: arm
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
steps:
 | 
					 | 
				
			||||||
- name: clone
 | 
					 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/git:1.2.1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- name: build
 | 
					 | 
				
			||||||
  image: docker.io/plugins/docker:20.10.9
 | 
					 | 
				
			||||||
  settings:
 | 
					 | 
				
			||||||
    auto_tag: true
 | 
					 | 
				
			||||||
    auto_tag_suffix: arm-v7
 | 
					 | 
				
			||||||
    dockerfile: Dockerfile
 | 
					 | 
				
			||||||
    force_tag: true
 | 
					 | 
				
			||||||
    no_cache: true
 | 
					 | 
				
			||||||
    purge: true
 | 
					 | 
				
			||||||
    mirror:
 | 
					 | 
				
			||||||
      from_secret: docker_io_mirror
 | 
					 | 
				
			||||||
    registry: git.cryptic.systems
 | 
					 | 
				
			||||||
    repo: git.cryptic.systems/volker.raschek/dcmerge
 | 
					 | 
				
			||||||
    username:
 | 
					 | 
				
			||||||
      from_secret: git_cryptic_systems_container_registry_user
 | 
					 | 
				
			||||||
    password:
 | 
					 | 
				
			||||||
      from_secret: git_cryptic_systems_container_registry_password
 | 
					 | 
				
			||||||
    build_args:
 | 
					 | 
				
			||||||
    - VERSION=${DRONE_TAG}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- name: email-notification
 | 
					 | 
				
			||||||
  environment:
 | 
					 | 
				
			||||||
    SMTP_FROM_ADDRESS:
 | 
					 | 
				
			||||||
      from_secret: smtp_from_address
 | 
					 | 
				
			||||||
    SMTP_FROM_NAME:
 | 
					 | 
				
			||||||
      from_secret: smtp_from_name
 | 
					 | 
				
			||||||
    SMTP_HOST:
 | 
					 | 
				
			||||||
      from_secret: smtp_host
 | 
					 | 
				
			||||||
    SMTP_USERNAME:
 | 
					 | 
				
			||||||
      from_secret: smtp_username
 | 
					 | 
				
			||||||
    SMTP_PASSWORD:
 | 
					 | 
				
			||||||
      from_secret: smtp_password
 | 
					 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/drone-email:0.1.2
 | 
					 | 
				
			||||||
  when:
 | 
					  when:
 | 
				
			||||||
    status:
 | 
					    status:
 | 
				
			||||||
    - changed
 | 
					    - changed
 | 
				
			||||||
@@ -697,10 +563,10 @@ platform:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
steps:
 | 
					steps:
 | 
				
			||||||
- name: clone
 | 
					- name: clone
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/git:1.2.1
 | 
					  image: git.cryptic.systems/volker.raschek/git:1.3.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: build
 | 
					- name: build
 | 
				
			||||||
  image: docker.io/plugins/docker:20.10.9
 | 
					  image: docker.io/plugins/docker:20.17.1
 | 
				
			||||||
  settings:
 | 
					  settings:
 | 
				
			||||||
    auto_tag: true
 | 
					    auto_tag: true
 | 
				
			||||||
    auto_tag_suffix: arm64-v8
 | 
					    auto_tag_suffix: arm64-v8
 | 
				
			||||||
@@ -731,7 +597,7 @@ steps:
 | 
				
			|||||||
      from_secret: smtp_username
 | 
					      from_secret: smtp_username
 | 
				
			||||||
    SMTP_PASSWORD:
 | 
					    SMTP_PASSWORD:
 | 
				
			||||||
      from_secret: smtp_password
 | 
					      from_secret: smtp_password
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/drone-email:0.1.2
 | 
					  image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
 | 
				
			||||||
  when:
 | 
					  when:
 | 
				
			||||||
    status:
 | 
					    status:
 | 
				
			||||||
    - changed
 | 
					    - changed
 | 
				
			||||||
@@ -753,7 +619,6 @@ clone:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					depends_on:
 | 
				
			||||||
- tagged-amd64
 | 
					- tagged-amd64
 | 
				
			||||||
- tagged-arm-v7
 | 
					 | 
				
			||||||
- tagged-arm64-v8
 | 
					- tagged-arm64-v8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# docker.io/plugins/manifest only for amd64 architectures available
 | 
					# docker.io/plugins/manifest only for amd64 architectures available
 | 
				
			||||||
@@ -763,7 +628,7 @@ node_selector:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
steps:
 | 
					steps:
 | 
				
			||||||
- name: clone
 | 
					- name: clone
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/git:1.2.1
 | 
					  image: git.cryptic.systems/volker.raschek/git:1.3.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: build-manifest
 | 
					- name: build-manifest
 | 
				
			||||||
  image: docker.io/plugins/manifest:1.4.0
 | 
					  image: docker.io/plugins/manifest:1.4.0
 | 
				
			||||||
@@ -788,7 +653,7 @@ steps:
 | 
				
			|||||||
      from_secret: smtp_username
 | 
					      from_secret: smtp_username
 | 
				
			||||||
    SMTP_PASSWORD:
 | 
					    SMTP_PASSWORD:
 | 
				
			||||||
      from_secret: smtp_password
 | 
					      from_secret: smtp_password
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/drone-email:0.1.2
 | 
					  image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
 | 
				
			||||||
  resources:
 | 
					  resources:
 | 
				
			||||||
    limits:
 | 
					    limits:
 | 
				
			||||||
      cpu: 150
 | 
					      cpu: 150
 | 
				
			||||||
@@ -817,7 +682,7 @@ depends_on:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
steps:
 | 
					steps:
 | 
				
			||||||
- name: clone
 | 
					- name: clone
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/git:1.2.1
 | 
					  image: git.cryptic.systems/volker.raschek/git:1.3.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: tagged-sync
 | 
					- name: tagged-sync
 | 
				
			||||||
  commands:
 | 
					  commands:
 | 
				
			||||||
@@ -831,7 +696,7 @@ steps:
 | 
				
			|||||||
      from_secret: container_image_registry_user
 | 
					      from_secret: container_image_registry_user
 | 
				
			||||||
    DEST_CRED_PASSWORD:
 | 
					    DEST_CRED_PASSWORD:
 | 
				
			||||||
      from_secret: container_image_registry_password
 | 
					      from_secret: container_image_registry_password
 | 
				
			||||||
  image: quay.io/skopeo/stable:v1.13.0
 | 
					  image: quay.io/skopeo/stable:v1.13.3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: email-notification
 | 
					- name: email-notification
 | 
				
			||||||
  environment:
 | 
					  environment:
 | 
				
			||||||
@@ -845,7 +710,7 @@ steps:
 | 
				
			|||||||
      from_secret: smtp_username
 | 
					      from_secret: smtp_username
 | 
				
			||||||
    SMTP_PASSWORD:
 | 
					    SMTP_PASSWORD:
 | 
				
			||||||
      from_secret: smtp_password
 | 
					      from_secret: smtp_password
 | 
				
			||||||
  image: git.cryptic.systems/volker.raschek/drone-email:0.1.2
 | 
					  image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
 | 
				
			||||||
  resources:
 | 
					  resources:
 | 
				
			||||||
    limits:
 | 
					    limits:
 | 
				
			||||||
      cpu: 150
 | 
					      cpu: 150
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -45,11 +45,11 @@ MD012:
 | 
				
			|||||||
# MD013/line-length - Line length
 | 
					# MD013/line-length - Line length
 | 
				
			||||||
MD013:
 | 
					MD013:
 | 
				
			||||||
  # Number of characters
 | 
					  # Number of characters
 | 
				
			||||||
  line_length: 80
 | 
					  line_length: 120
 | 
				
			||||||
  # Number of characters for headings
 | 
					  # Number of characters for headings
 | 
				
			||||||
  heading_line_length: 80
 | 
					  heading_line_length: 120
 | 
				
			||||||
  # Number of characters for code blocks
 | 
					  # Number of characters for code blocks
 | 
				
			||||||
  code_block_line_length: 80
 | 
					  code_block_line_length: 120
 | 
				
			||||||
  # Include code blocks
 | 
					  # Include code blocks
 | 
				
			||||||
  code_blocks: false
 | 
					  code_blocks: false
 | 
				
			||||||
  # Include tables
 | 
					  # Include tables
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "rewrap.wrappingColumn": 120,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
FROM docker.io/library/golang:1.20.6-alpine3.18 AS build
 | 
					FROM docker.io/library/golang:1.21.4-alpine3.18 AS build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN apk add git make
 | 
					RUN apk add git make
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -10,7 +10,7 @@ RUN make install \
 | 
				
			|||||||
      PREFIX=/usr \
 | 
					      PREFIX=/usr \
 | 
				
			||||||
      VERSION=${VERSION}
 | 
					      VERSION=${VERSION}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FROM docker.io/library/alpine:3.18.2
 | 
					FROM docker.io/library/alpine:3.18.4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY --from=build /cache /
 | 
					COPY --from=build /cache /
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										33
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								README.md
									
									
									
									
									
								
							@@ -3,22 +3,18 @@
 | 
				
			|||||||
[](https://drone.cryptic.systems/volker.raschek/dcmerge)
 | 
					[](https://drone.cryptic.systems/volker.raschek/dcmerge)
 | 
				
			||||||
[](https://hub.docker.com/r/volkerraschek/dcmerge)
 | 
					[](https://hub.docker.com/r/volkerraschek/dcmerge)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
`dcmerge` is a small program to merge docker-compose files from multiple
 | 
					`dcmerge` is a small program to merge docker-compose files from multiple sources. It is available via RPM and docker.
 | 
				
			||||||
sources. It is available via RPM and docker.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
The dynamic pattern of a docker-compose file, that for example `environments`
 | 
					The dynamic pattern of a docker-compose file, that for example `environments` can be specified as a string slice or a
 | 
				
			||||||
can be specified as a string slice or a list of objects is currently not
 | 
					list of objects is currently not supported. `dcmerge` expect a strict pattern layout. The `environments`, `ports` and
 | 
				
			||||||
supported. `dcmerge` expect a strict pattern layout. The `environments`, `ports`
 | 
					`volumes` must be declared as a slice of strings.
 | 
				
			||||||
and `volumes` must be declared as a slice of strings.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Dockercompose file can be read-in from different sources. Currently are the
 | 
					Dockercompose file can be read-in from different sources. Currently are the following sources supported:
 | 
				
			||||||
following sources supported:
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
- File
 | 
					- File
 | 
				
			||||||
- HTTP/HTTPS
 | 
					- HTTP/HTTPS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Furthermore, `dcmerge` support different ways to merge multiple docker-compose
 | 
					Furthermore, `dcmerge` support different ways to merge multiple docker-compose files.
 | 
				
			||||||
files.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
- The default merge, add missing secrets, services, networks and volumes.
 | 
					- The default merge, add missing secrets, services, networks and volumes.
 | 
				
			||||||
- The existing-win merge, add and protect existing attributes.
 | 
					- The existing-win merge, add and protect existing attributes.
 | 
				
			||||||
@@ -26,9 +22,8 @@ files.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## default
 | 
					## default
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Merge only missing secrets, services, networks and volumes without respecting
 | 
					Merge only missing secrets, services, networks and volumes **without respecting their attributes**. For example, when
 | 
				
			||||||
their attributes. For example, when the service `app` is already declared, it is
 | 
					the service `app` is already declared, it is not possible to add the service `app` twice. The second service will be
 | 
				
			||||||
not possible to add the service `app` twice. The second service will be
 | 
					 | 
				
			||||||
completely skipped.
 | 
					completely skipped.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```yaml
 | 
					```yaml
 | 
				
			||||||
@@ -68,10 +63,9 @@ services:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## existing-win
 | 
					## existing-win
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The existing-win merge protects existing attributes. For example there are two
 | 
					The existing-win merge protects existing attributes. For example there are two different docker-compose files, but booth
 | 
				
			||||||
different docker-compose files, but booth has the same environment variable
 | 
					has the same environment variable `CLIENT_SECRET` defined with different values. The first declaration of the attribute
 | 
				
			||||||
`CLIENT_SECRET` defined with different values. The first declaration of the
 | 
					wins and is for overwriting protected.
 | 
				
			||||||
attribute wins and is for overwriting protected.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
```yaml
 | 
					```yaml
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
@@ -99,9 +93,8 @@ services:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## last-win
 | 
					## last-win
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The last-win merge overwrite recursive existing attributes. For example there
 | 
					The last-win merge overwrite recursive existing attributes. For example there are two different docker-compose files,
 | 
				
			||||||
are two different docker-compose files, but booth has the same environment
 | 
					but booth has the same environment variable `CLIENT_SECRET` defined with different values. The last passed
 | 
				
			||||||
variable `CLIENT_SECRET` defined with different values. The last passed
 | 
					 | 
				
			||||||
docker-compose file which contains this environment wins.
 | 
					docker-compose file which contains this environment wins.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```yaml
 | 
					```yaml
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										13
									
								
								cmd/root.go
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								cmd/root.go
									
									
									
									
									
								
							@@ -42,6 +42,7 @@ dcmerge docker-compose.yml https://git.example.local/user/repo/docker-compose.ym
 | 
				
			|||||||
		RunE:    run,
 | 
							RunE:    run,
 | 
				
			||||||
		Version: version,
 | 
							Version: version,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						rootCmd.Flags().BoolP("existing-win", "f", false, "Protect existing attributes")
 | 
				
			||||||
	rootCmd.Flags().BoolP("last-win", "l", false, "Overwrite existing attributes")
 | 
						rootCmd.Flags().BoolP("last-win", "l", false, "Overwrite existing attributes")
 | 
				
			||||||
	rootCmd.Flags().StringP("output-file", "o", "", "Write instead on stdout into a file")
 | 
						rootCmd.Flags().StringP("output-file", "o", "", "Write instead on stdout into a file")
 | 
				
			||||||
	rootCmd.AddCommand(completionCmd)
 | 
						rootCmd.AddCommand(completionCmd)
 | 
				
			||||||
@@ -50,6 +51,11 @@ dcmerge docker-compose.yml https://git.example.local/user/repo/docker-compose.ym
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func run(cmd *cobra.Command, args []string) error {
 | 
					func run(cmd *cobra.Command, args []string) error {
 | 
				
			||||||
 | 
						mergeExisting, err := cmd.Flags().GetBool("existing-win")
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return fmt.Errorf("Failed to parse flag last-win: %s", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mergeLastWin, err := cmd.Flags().GetBool("last-win")
 | 
						mergeLastWin, err := cmd.Flags().GetBool("last-win")
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return fmt.Errorf("Failed to parse flag last-win: %s", err)
 | 
							return fmt.Errorf("Failed to parse flag last-win: %s", err)
 | 
				
			||||||
@@ -69,12 +75,15 @@ func run(cmd *cobra.Command, args []string) error {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	for _, config := range dockerComposeConfigs {
 | 
						for _, config := range dockerComposeConfigs {
 | 
				
			||||||
		switch {
 | 
							switch {
 | 
				
			||||||
		case mergeLastWin:
 | 
							case mergeExisting && mergeLastWin:
 | 
				
			||||||
 | 
								return fmt.Errorf("Neither --first-win or --last-win can be specified - not booth.")
 | 
				
			||||||
 | 
							case mergeExisting && !mergeLastWin:
 | 
				
			||||||
 | 
								dockerComposeConfig.MergeExistingWin(config)
 | 
				
			||||||
 | 
							case !mergeExisting && mergeLastWin:
 | 
				
			||||||
			dockerComposeConfig.MergeLastWin(config)
 | 
								dockerComposeConfig.MergeLastWin(config)
 | 
				
			||||||
		default:
 | 
							default:
 | 
				
			||||||
			dockerComposeConfig.Merge(config)
 | 
								dockerComposeConfig.Merge(config)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	switch {
 | 
						switch {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							@@ -3,7 +3,7 @@ module git.cryptic.systems/volker.raschek/dcmerge
 | 
				
			|||||||
go 1.20
 | 
					go 1.20
 | 
				
			||||||
 | 
					
 | 
				
			||||||
require (
 | 
					require (
 | 
				
			||||||
	github.com/spf13/cobra v1.7.0
 | 
						github.com/spf13/cobra v1.8.0
 | 
				
			||||||
	github.com/stretchr/testify v1.8.4
 | 
						github.com/stretchr/testify v1.8.4
 | 
				
			||||||
	gopkg.in/yaml.v2 v2.4.0
 | 
						gopkg.in/yaml.v2 v2.4.0
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								go.sum
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 | 
					github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 | 
				
			||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 | 
					github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 | 
				
			||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 | 
					github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 | 
				
			||||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
 | 
					github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
 | 
				
			||||||
@@ -6,8 +6,8 @@ github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLf
 | 
				
			|||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 | 
					github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 | 
				
			||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 | 
					github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 | 
				
			||||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 | 
					github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 | 
				
			||||||
github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I=
 | 
					github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
 | 
				
			||||||
github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0=
 | 
					github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
 | 
				
			||||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
 | 
					github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
 | 
				
			||||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
 | 
					github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
 | 
				
			||||||
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
 | 
					github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,12 +12,6 @@ manifests:
 | 
				
			|||||||
    platform:
 | 
					    platform:
 | 
				
			||||||
      architecture: amd64
 | 
					      architecture: amd64
 | 
				
			||||||
      os: linux
 | 
					      os: linux
 | 
				
			||||||
  -
 | 
					 | 
				
			||||||
    image: git.cryptic.systems/volker.raschek/dcmerge:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm-v7
 | 
					 | 
				
			||||||
    platform:
 | 
					 | 
				
			||||||
      architecture: arm
 | 
					 | 
				
			||||||
      os: linux
 | 
					 | 
				
			||||||
      variant: v7
 | 
					 | 
				
			||||||
  -
 | 
					  -
 | 
				
			||||||
    image: git.cryptic.systems/volker.raschek/dcmerge:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64-v8
 | 
					    image: git.cryptic.systems/volker.raschek/dcmerge:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64-v8
 | 
				
			||||||
    platform:
 | 
					    platform:
 | 
				
			||||||
 
 | 
				
			|||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										12
									
								
								test/assets/docker-compose-a.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								test/assets/docker-compose-a.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					version: "3.3"
 | 
				
			||||||
 | 
					services:
 | 
				
			||||||
 | 
					  app:
 | 
				
			||||||
 | 
					    depends_on:
 | 
				
			||||||
 | 
					    - oracle
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					    - HTTP_PROXY=1.2.3.4:8080
 | 
				
			||||||
 | 
					    image: repository:version
 | 
				
			||||||
 | 
					    ports:
 | 
				
			||||||
 | 
					    - 8080:80
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					    - /etc/localtime:/etc/localtime
 | 
				
			||||||
							
								
								
									
										12
									
								
								test/assets/docker-compose-b.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								test/assets/docker-compose-b.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					version: "3.3"
 | 
				
			||||||
 | 
					services:
 | 
				
			||||||
 | 
					  app:
 | 
				
			||||||
 | 
					    depends_on:
 | 
				
			||||||
 | 
					    - postgres
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					    - HTTP_PROXY=4.3.2.1:8080
 | 
				
			||||||
 | 
					    image: repository:version
 | 
				
			||||||
 | 
					    ports:
 | 
				
			||||||
 | 
					    - 10080:80
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					    - /usr/share/zoneinfo/UTC:/etc/localtime
 | 
				
			||||||
		Reference in New Issue
	
	Block a user