You've already forked docker-compose-docker
							
							Initial Commit
This commit is contained in:
		
							
								
								
									
										1
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| * | ||||
							
								
								
									
										670
									
								
								.drone.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										670
									
								
								.drone.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,670 @@ | ||||
| --- | ||||
| kind: pipeline | ||||
| type: kubernetes | ||||
| name: linter | ||||
|  | ||||
| clone: | ||||
|   disable: true | ||||
|  | ||||
| platform: | ||||
|   os: linux | ||||
|  | ||||
| steps: | ||||
| - name: clone | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.3.1 | ||||
|  | ||||
| - name: markdown lint | ||||
|   commands: | ||||
|   - markdownlint *.md | ||||
|   image: git.cryptic.systems/volker.raschek/markdownlint:0.38.0 | ||||
|   resources: | ||||
|     limits: | ||||
|       cpu: 150 | ||||
|       memory: 150M | ||||
|  | ||||
| - 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.5 | ||||
|   resources: | ||||
|     limits: | ||||
|       cpu: 150 | ||||
|       memory: 150M | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   event: | ||||
|     exclude: | ||||
|     - tag | ||||
|  | ||||
| --- | ||||
| kind: pipeline | ||||
| type: docker | ||||
| name: dry-run-amd64 | ||||
|  | ||||
| clone: | ||||
|   disable: true | ||||
|  | ||||
| depends_on: | ||||
| - linter | ||||
|  | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: amd64 | ||||
|  | ||||
| steps: | ||||
| - name: clone | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.3.1 | ||||
|  | ||||
| - name: build | ||||
|   image: docker.io/plugins/docker:20.17.2 | ||||
|   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/docker-compose | ||||
|     tags: latest-amd64 | ||||
|     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.5 | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   branch: | ||||
|     exclude: | ||||
|     - master | ||||
|   event: | ||||
|   - pull_request | ||||
|   - push | ||||
|   repo: | ||||
|   - volker.raschek/docker-compose-docker | ||||
|  | ||||
| --- | ||||
| kind: pipeline | ||||
| type: docker | ||||
| name: dry-run-arm64-v8 | ||||
|  | ||||
| clone: | ||||
|   disable: true | ||||
|  | ||||
| depends_on: | ||||
| - linter | ||||
|  | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: arm64 | ||||
|  | ||||
| steps: | ||||
| - name: clone | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.3.1 | ||||
|  | ||||
| - name: build | ||||
|   image: docker.io/plugins/docker:20.17.2 | ||||
|   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/docker-compose | ||||
|     tags: latest-arm64-v8 | ||||
|     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.5 | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   branch: | ||||
|     exclude: | ||||
|     - master | ||||
|   event: | ||||
|   - pull_request | ||||
|   - push | ||||
|   repo: | ||||
|   - volker.raschek/docker-compose-docker | ||||
|  | ||||
| --- | ||||
| kind: pipeline | ||||
| type: docker | ||||
| name: latest-amd64 | ||||
|  | ||||
| clone: | ||||
|   disable: true | ||||
|  | ||||
| depends_on: | ||||
| - linter | ||||
|  | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: amd64 | ||||
|  | ||||
| steps: | ||||
| - name: clone | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.3.1 | ||||
|  | ||||
| - name: build | ||||
|   image: docker.io/plugins/docker:20.17.2 | ||||
|   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/docker-compose | ||||
|     tags: latest-amd64 | ||||
|     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.5 | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   branch: | ||||
|   - master | ||||
|   event: | ||||
|   - cron | ||||
|   - push | ||||
|   repo: | ||||
|   - volker.raschek/docker-compose-docker | ||||
|  | ||||
| --- | ||||
| kind: pipeline | ||||
| type: docker | ||||
| name: latest-arm64-v8 | ||||
|  | ||||
| clone: | ||||
|   disable: true | ||||
|  | ||||
| depends_on: | ||||
| - linter | ||||
|  | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: arm64 | ||||
|  | ||||
| steps: | ||||
| - name: clone | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.3.1 | ||||
|  | ||||
| - name: build | ||||
|   image: docker.io/plugins/docker:20.17.2 | ||||
|   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/docker-compose | ||||
|     tags: latest-arm64-v8 | ||||
|     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.5 | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   branch: | ||||
|   - master | ||||
|   event: | ||||
|   - cron | ||||
|   - push | ||||
|   repo: | ||||
|   - volker.raschek/docker-compose-docker | ||||
|  | ||||
| --- | ||||
| kind: pipeline | ||||
| type: kubernetes | ||||
| name: latest-manifest | ||||
|  | ||||
| clone: | ||||
|   disable: true | ||||
|  | ||||
| depends_on: | ||||
| - latest-amd64 | ||||
| - latest-arm64-v8 | ||||
|  | ||||
| # docker.io/plugins/manifest only for amd64 architectures available | ||||
| node_selector: | ||||
|   kubernetes.io/os: linux | ||||
|   kubernetes.io/arch: amd64 | ||||
|  | ||||
| steps: | ||||
| - name: clone | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.3.1 | ||||
|  | ||||
| - name: build-manifest | ||||
|   image: docker.io/plugins/manifest:1.4.0 | ||||
|   settings: | ||||
|     auto_tag: false | ||||
|     ignore_missing: true | ||||
|     spec: manifest.tmpl | ||||
|     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.5 | ||||
|   resources: | ||||
|     limits: | ||||
|       cpu: 150 | ||||
|       memory: 150M | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   branch: | ||||
|   - master | ||||
|   event: | ||||
|   - cron | ||||
|   - push | ||||
|   repo: | ||||
|   - volker.raschek/docker-compose-docker | ||||
|  | ||||
| --- | ||||
| kind: pipeline | ||||
| type: kubernetes | ||||
| name: latest-sync | ||||
|  | ||||
| clone: | ||||
|   disable: true | ||||
|  | ||||
| depends_on: | ||||
| - latest-manifest | ||||
|  | ||||
| steps: | ||||
| - name: clone | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.3.1 | ||||
|  | ||||
| - name: latest-sync | ||||
|   commands: | ||||
|   - skopeo sync --all --src=docker --src-creds=$SRC_CRED_USERNAME:$SRC_CRED_PASSWORD --dest=docker --dest-creds=$DEST_CRED_USERNAME:$DEST_CRED_PASSWORD git.cryptic.systems/volker.raschek/docker-compose docker.io/volkerraschek | ||||
|   environment: | ||||
|     SRC_CRED_USERNAME: | ||||
|       from_secret: git_cryptic_systems_container_registry_user | ||||
|     SRC_CRED_PASSWORD: | ||||
|       from_secret: git_cryptic_systems_container_registry_password | ||||
|     DEST_CRED_USERNAME: | ||||
|       from_secret: container_image_registry_user | ||||
|     DEST_CRED_PASSWORD: | ||||
|       from_secret: container_image_registry_password | ||||
|   image: quay.io/skopeo/stable:v1.14.0 | ||||
|  | ||||
| - 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.5 | ||||
|   resources: | ||||
|     limits: | ||||
|       cpu: 150 | ||||
|       memory: 150M | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   branch: | ||||
|   - master | ||||
|   event: | ||||
|   - cron | ||||
|   - push | ||||
|   repo: | ||||
|   - volker.raschek/docker-compose-docker | ||||
|  | ||||
| --- | ||||
| kind: pipeline | ||||
| type: docker | ||||
| name: tagged-amd64 | ||||
|  | ||||
| clone: | ||||
|   disable: true | ||||
|  | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: amd64 | ||||
|  | ||||
| steps: | ||||
| - name: clone | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.3.1 | ||||
|  | ||||
| - name: build | ||||
|   image: docker.io/plugins/docker:20.17.2 | ||||
|   settings: | ||||
|     auto_tag: true | ||||
|     auto_tag_suffix: amd64 | ||||
|     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/docker-compose | ||||
|     username: | ||||
|       from_secret: git_cryptic_systems_container_registry_user | ||||
|     password: | ||||
|       from_secret: git_cryptic_systems_container_registry_password | ||||
|     build_args: | ||||
|     - DC_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.5 | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   event: | ||||
|   - tag | ||||
|   repo: | ||||
|   - volker.raschek/docker-compose-docker | ||||
|  | ||||
| --- | ||||
| kind: pipeline | ||||
| type: docker | ||||
| name: tagged-arm64-v8 | ||||
|  | ||||
| clone: | ||||
|   disable: true | ||||
|  | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: arm64 | ||||
|  | ||||
| steps: | ||||
| - name: clone | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.3.1 | ||||
|  | ||||
| - name: build | ||||
|   image: docker.io/plugins/docker:20.17.2 | ||||
|   settings: | ||||
|     auto_tag: true | ||||
|     auto_tag_suffix: arm64-v8 | ||||
|     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/docker-compose | ||||
|     username: | ||||
|       from_secret: git_cryptic_systems_container_registry_user | ||||
|     password: | ||||
|       from_secret: git_cryptic_systems_container_registry_password | ||||
|     build_args: | ||||
|     - DC_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.5 | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   event: | ||||
|   - tag | ||||
|   repo: | ||||
|   - volker.raschek/docker-compose-docker | ||||
|  | ||||
| --- | ||||
| kind: pipeline | ||||
| type: kubernetes | ||||
| name: tagged-manifest | ||||
|  | ||||
| clone: | ||||
|   disable: true | ||||
|  | ||||
| depends_on: | ||||
| - tagged-amd64 | ||||
| - tagged-arm64-v8 | ||||
|  | ||||
| # docker.io/plugins/manifest only for amd64 architectures available | ||||
| node_selector: | ||||
|   kubernetes.io/os: linux | ||||
|   kubernetes.io/arch: amd64 | ||||
|  | ||||
| steps: | ||||
| - name: clone | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.3.1 | ||||
|  | ||||
| - name: build-manifest | ||||
|   image: docker.io/plugins/manifest:1.4.0 | ||||
|   settings: | ||||
|     auto_tag: true | ||||
|     ignore_missing: true | ||||
|     spec: manifest.tmpl | ||||
|     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.5 | ||||
|   resources: | ||||
|     limits: | ||||
|       cpu: 150 | ||||
|       memory: 150M | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   event: | ||||
|   - tag | ||||
|   repo: | ||||
|   - volker.raschek/docker-compose-docker | ||||
|  | ||||
| --- | ||||
| kind: pipeline | ||||
| type: kubernetes | ||||
| name: tagged-sync | ||||
|  | ||||
| clone: | ||||
|   disable: true | ||||
|  | ||||
| depends_on: | ||||
| - tagged-manifest | ||||
|  | ||||
| steps: | ||||
| - name: clone | ||||
|   image: git.cryptic.systems/volker.raschek/git:1.3.1 | ||||
|  | ||||
| - name: tagged-sync | ||||
|   commands: | ||||
|   - skopeo sync --all --src=docker --src-creds=$SRC_CRED_USERNAME:$SRC_CRED_PASSWORD --dest=docker --dest-creds=$DEST_CRED_USERNAME:$DEST_CRED_PASSWORD git.cryptic.systems/volker.raschek/docker-compose docker.io/volkerraschek | ||||
|   environment: | ||||
|     SRC_CRED_USERNAME: | ||||
|       from_secret: git_cryptic_systems_container_registry_user | ||||
|     SRC_CRED_PASSWORD: | ||||
|       from_secret: git_cryptic_systems_container_registry_password | ||||
|     DEST_CRED_USERNAME: | ||||
|       from_secret: container_image_registry_user | ||||
|     DEST_CRED_PASSWORD: | ||||
|       from_secret: container_image_registry_password | ||||
|   image: quay.io/skopeo/stable:v1.14.0 | ||||
|  | ||||
| - 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.5 | ||||
|   resources: | ||||
|     limits: | ||||
|       cpu: 150 | ||||
|       memory: 150M | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   event: | ||||
|   - tag | ||||
|   repo: | ||||
|   - volker.raschek/docker-compose-docker | ||||
							
								
								
									
										12
									
								
								.editorconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								.editorconfig
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| root = true | ||||
|  | ||||
| [*] | ||||
| indent_style = space | ||||
| indent_size = 2 | ||||
| end_of_line = lf | ||||
| charset = utf-8 | ||||
| trim_trailing_whitespace = true | ||||
| insert_final_newline = false | ||||
|  | ||||
| [Makefile] | ||||
| indent_style = tab | ||||
							
								
								
									
										1
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| Makefile eol=lf | ||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| # IntelliJ | ||||
| .idea/ | ||||
							
								
								
									
										143
									
								
								.markdownlint.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										143
									
								
								.markdownlint.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,143 @@ | ||||
| # markdownlint YAML configuration | ||||
| # https://github.com/DavidAnson/markdownlint/blob/main/schema/.markdownlint.yaml | ||||
|  | ||||
| # Default state for all rules | ||||
| default: true | ||||
|  | ||||
| # Path to configuration file to extend | ||||
| extends: null | ||||
|  | ||||
| # MD003/heading-style/header-style - Heading style | ||||
| MD003: | ||||
|   # Heading style | ||||
|   style: "atx" | ||||
|  | ||||
| # MD004/ul-style - Unordered list style | ||||
| MD004: | ||||
|   style: "dash" | ||||
|  | ||||
| # MD007/ul-indent - Unordered list indentation | ||||
| MD007: | ||||
|   # Spaces for indent | ||||
|   indent: 2 | ||||
|   # Whether to indent the first level of the list | ||||
|   start_indented: false | ||||
|  | ||||
| # MD009/no-trailing-spaces - Trailing spaces | ||||
| MD009: | ||||
|   # Spaces for line break | ||||
|   br_spaces: 2 | ||||
|   # Allow spaces for empty lines in list items | ||||
|   list_item_empty_lines: false | ||||
|   # Include unnecessary breaks | ||||
|   strict: false | ||||
|  | ||||
| # MD010/no-hard-tabs - Hard tabs | ||||
| MD010: | ||||
|   # Include code blocks | ||||
|   code_blocks: true | ||||
|  | ||||
| # MD012/no-multiple-blanks - Multiple consecutive blank lines | ||||
| MD012: | ||||
|   # Consecutive blank lines | ||||
|   maximum: 1 | ||||
|  | ||||
| # MD013/line-length - Line length | ||||
| MD013: | ||||
|   # Number of characters | ||||
|   line_length: 120 | ||||
|   # Number of characters for headings | ||||
|   heading_line_length: 120 | ||||
|   # Number of characters for code blocks | ||||
|   code_block_line_length: 120 | ||||
|   # Include code blocks | ||||
|   code_blocks: false | ||||
|   # Include tables | ||||
|   tables: false | ||||
|   # Include headings | ||||
|   headings: true | ||||
|   # Include headings | ||||
|   headers: true | ||||
|   # Strict length checking | ||||
|   strict: false | ||||
|   # Stern length checking | ||||
|   stern: false | ||||
|  | ||||
| # MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines | ||||
| MD022: | ||||
|   # Blank lines above heading | ||||
|   lines_above: 1 | ||||
|   # Blank lines below heading | ||||
|   lines_below: 1 | ||||
|  | ||||
| # MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content | ||||
| MD024: | ||||
|   # Only check sibling headings | ||||
|   allow_different_nesting: true | ||||
|  | ||||
| # MD025/single-title/single-h1 - Multiple top-level headings in the same document | ||||
| MD025: | ||||
|   # Heading level | ||||
|   level: 1 | ||||
|   # RegExp for matching title in front matter | ||||
|   front_matter_title: "^\\s*title\\s*[:=]" | ||||
|  | ||||
| # MD026/no-trailing-punctuation - Trailing punctuation in heading | ||||
| MD026: | ||||
|   # Punctuation characters | ||||
|   punctuation: ".,;:!。,;:!" | ||||
|  | ||||
| # MD029/ol-prefix - Ordered list item prefix | ||||
| MD029: | ||||
|   # List style | ||||
|   style: "one_or_ordered" | ||||
|  | ||||
| # MD030/list-marker-space - Spaces after list markers | ||||
| MD030: | ||||
|   # Spaces for single-line unordered list items | ||||
|   ul_single: 1 | ||||
|   # Spaces for single-line ordered list items | ||||
|   ol_single: 1 | ||||
|   # Spaces for multi-line unordered list items | ||||
|   ul_multi: 1 | ||||
|   # Spaces for multi-line ordered list items | ||||
|   ol_multi: 1 | ||||
|  | ||||
| # MD033/no-inline-html - Inline HTML | ||||
| MD033: | ||||
|   # Allowed elements | ||||
|   allowed_elements: [] | ||||
|  | ||||
| # MD035/hr-style - Horizontal rule style | ||||
| MD035: | ||||
|   # Horizontal rule style | ||||
|   style: "---" | ||||
|  | ||||
| # MD036/no-emphasis-as-heading/no-emphasis-as-header - Emphasis used instead of a heading | ||||
| MD036: | ||||
|   # Punctuation characters | ||||
|   punctuation: ".,;:!?。,;:!?" | ||||
|  | ||||
| # MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading | ||||
| MD041: | ||||
|   # Heading level | ||||
|   level: 1 | ||||
|   # RegExp for matching title in front matter | ||||
|   front_matter_title: "^\\s*title\\s*[:=]" | ||||
|  | ||||
| # MD044/proper-names - Proper names should have the correct capitalization | ||||
| MD044: | ||||
|   # List of proper names | ||||
|   names: [] | ||||
|   # Include code blocks | ||||
|   code_blocks: false | ||||
|  | ||||
| # MD046/code-block-style - Code block style | ||||
| MD046: | ||||
|   # Block style | ||||
|   style: "fenced" | ||||
|  | ||||
| # MD048/code-fence-style - Code fence style | ||||
| MD048: | ||||
|   # Code fence syle | ||||
|   style: "backtick" | ||||
							
								
								
									
										18
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| FROM docker.io/library/golang:1.23.0-alpine3.20 AS build | ||||
|  | ||||
| ARG DC_VERSION=main | ||||
|  | ||||
| RUN set -ex && \ | ||||
|     apk update && \ | ||||
|     apk upgrade && \ | ||||
|     apk add git make | ||||
|  | ||||
| RUN git clone https://github.com/docker/compose.git --branch ${DC_VERSION} docker-compose && \ | ||||
|     cd docker-compose && \ | ||||
|     make DESTDIR=/cache | ||||
|  | ||||
| FROM docker.io/library/alpine:3.20 | ||||
|  | ||||
| COPY --from=build /cache/docker-compose /usr/bin/docker-compose | ||||
|  | ||||
| ENTRYPOINT [ "/usr/bin/docker-compose" ] | ||||
							
								
								
									
										13
									
								
								LICENSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								LICENSE
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| Copyright 2024 Markus Pesch | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
							
								
								
									
										52
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| # DC_VERSION | ||||
| # Only required to install a specifiy version | ||||
| DC_VERSION?=v2.29.2 # renovate: datasource=github-releases depName=docker/compose | ||||
|  | ||||
| # CONTAINER_RUNTIME | ||||
| # The CONTAINER_RUNTIME variable will be used to specified the path to a container runtime. This is needed to start and | ||||
| # run a container image. | ||||
| CONTAINER_RUNTIME?=$(shell which podman) | ||||
|  | ||||
| # DC_IMAGE_REGISTRY_NAME | ||||
| # Defines the name of the new container to be built using several variables. | ||||
| DC_IMAGE_REGISTRY_NAME:=git.cryptic.systems | ||||
| DC_IMAGE_REGISTRY_USER:=volker.raschek | ||||
|  | ||||
| DC_IMAGE_NAMESPACE?=${DC_IMAGE_REGISTRY_USER} | ||||
| DC_IMAGE_NAME:=docker-compose | ||||
| DC_IMAGE_VERSION?=latest | ||||
| DC_IMAGE_FULLY_QUALIFIED=${DC_IMAGE_REGISTRY_NAME}/${DC_IMAGE_NAMESPACE}/${DC_IMAGE_NAME}:${DC_IMAGE_VERSION} | ||||
| DC_IMAGE_UNQUALIFIED=${DC_IMAGE_NAMESPACE}/${DC_IMAGE_NAME}:${DC_IMAGE_VERSION} | ||||
|  | ||||
| # BUILD CONTAINER IMAGE | ||||
| # ===================================================================================================================== | ||||
| PHONY:=container-image/build | ||||
| container-image/build: | ||||
| 	${CONTAINER_RUNTIME} build \ | ||||
| 		--build-arg DC_VERSION=${DC_VERSION} \ | ||||
| 		--file Dockerfile \ | ||||
| 		--no-cache \ | ||||
| 		--pull \ | ||||
| 		--tag ${DC_IMAGE_FULLY_QUALIFIED} \ | ||||
| 		--tag ${DC_IMAGE_UNQUALIFIED} \ | ||||
| 		. | ||||
|  | ||||
| # DELETE CONTAINER IMAGE | ||||
| # ===================================================================================================================== | ||||
| PHONY:=container-image/delete | ||||
| container-image/delete: | ||||
| 	- ${CONTAINER_RUNTIME} image rm ${DC_IMAGE_FULLY_QUALIFIED} ${DC_IMAGE_UNQUALIFIED} | ||||
| 	- ${CONTAINER_RUNTIME} image rm ${BASE_IMAGE_FULL} | ||||
|  | ||||
| # PUSH CONTAINER IMAGE | ||||
| # ===================================================================================================================== | ||||
| PHONY+=container-image/push | ||||
| container-image/push: | ||||
| 	echo ${DC_IMAGE_REGISTRY_PASSWORD} | ${CONTAINER_RUNTIME} login ${DC_IMAGE_REGISTRY_NAME} --username ${DC_IMAGE_REGISTRY_USER} --password-stdin | ||||
| 	${CONTAINER_RUNTIME} push ${DC_IMAGE_FULLY_QUALIFIED} | ||||
|  | ||||
| # PHONY | ||||
| # ===================================================================================================================== | ||||
| # Declare the contents of the PHONY variable as phony. We keep that information in a variable so we can use it in | ||||
| # if_changed. | ||||
| .PHONY: ${PHONY} | ||||
							
								
								
									
										10
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| # docker-compose-docker | ||||
|  | ||||
| [](https://drone.cryptic.systems/volker.raschek/docker-compose-docker) | ||||
| [](https://hub.docker.com/r/volkerraschek/docker-compose) | ||||
|  | ||||
| This project contains all sources to build the container image `docker.io/volkerraschek/docker-compose`. The primary | ||||
| goal of this project is to package the binary `docker-compose` as container image. The source code of the binary can be | ||||
| found in the upstream project of [docker/compose](https://github.com/docker/compose). | ||||
|  | ||||
| The workflow or how `docker-compose` can in general be used is documented [here](https://docs.docker.com/compose/). | ||||
							
								
								
									
										20
									
								
								manifest.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								manifest.tmpl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| image: git.cryptic.systems/volker.raschek/docker-compose:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}} | ||||
| {{#if build.tags}} | ||||
| tags: | ||||
| {{#each build.tags}} | ||||
|   - {{this}} | ||||
| {{/each}} | ||||
|   - "latest" | ||||
| {{/if}} | ||||
| manifests: | ||||
|   - | ||||
|     image: git.cryptic.systems/volker.raschek/docker-compose:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64 | ||||
|     platform: | ||||
|       architecture: amd64 | ||||
|       os: linux | ||||
|   - | ||||
|     image: git.cryptic.systems/volker.raschek/docker-compose:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64-v8 | ||||
|     platform: | ||||
|       architecture: arm64 | ||||
|       os: linux | ||||
|       variant: v8 | ||||
							
								
								
									
										40
									
								
								renovate.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								renovate.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| { | ||||
|   "$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": [ "patch" ] | ||||
|     }, | ||||
|     { | ||||
|       "addLabels": [ "renovate/docker-compose", "renovate/automerge" ], | ||||
|       "automerge": false, | ||||
|       "matchPackageNames": [ "docker-compose" ], | ||||
|       "matchManagers": [ "regex" ] | ||||
|     } | ||||
|   ], | ||||
|   "rebaseLabel": "renovate/rebase", | ||||
|   "rebaseWhen": "behind-base-branch", | ||||
|   "regexManagers": [ | ||||
|     { | ||||
|       "description": "Update version", | ||||
|       "fileMatch": [ | ||||
|         "^Makefile$" | ||||
|       ], | ||||
|       "matchStrings": [ | ||||
|         "DC_VERSION\\?=(?<currentValue>.*) # renovate: datasource=(?<datasource>.*) depName=(?<depName>.*)( lookupName=(?<lookupName>.*))?( versioning=(?<versioning>.*))?" | ||||
|       ] | ||||
|     } | ||||
|   ] | ||||
| } | ||||
		Reference in New Issue
	
	Block a user