You've already forked getpsrc
							
							feat: update Makefile, renovate, gitlangci-lint, markdownlint, container-image
This commit is contained in:
		
							
								
								
									
										1
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| getpsrc | ||||
							
								
								
									
										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/getpsrc | ||||
|     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/getpsrc | ||||
|  | ||||
| --- | ||||
| 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/getpsrc | ||||
|     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/getpsrc | ||||
|  | ||||
| --- | ||||
| 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/getpsrc | ||||
|     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/getpsrc | ||||
|  | ||||
| --- | ||||
| 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/getpsrc | ||||
|     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/getpsrc | ||||
|  | ||||
| --- | ||||
| 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/getpsrc | ||||
|  | ||||
| --- | ||||
| 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/getpsrc 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/getpsrc | ||||
|  | ||||
| --- | ||||
| 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/getpsrc | ||||
|     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.5 | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   event: | ||||
|   - tag | ||||
|   repo: | ||||
|   - volker.raschek/getpsrc | ||||
|  | ||||
| --- | ||||
| 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/getpsrc | ||||
|     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.5 | ||||
|   when: | ||||
|     status: | ||||
|     - changed | ||||
|     - failure | ||||
|  | ||||
| trigger: | ||||
|   event: | ||||
|   - tag | ||||
|   repo: | ||||
|   - volker.raschek/getpsrc | ||||
|  | ||||
| --- | ||||
| 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/getpsrc | ||||
|  | ||||
| --- | ||||
| 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/getpsrc 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/getpsrc | ||||
| @@ -1,15 +1,13 @@ | ||||
| # EditorConfig is awesome: https://EditorConfig.org | ||||
|  | ||||
| # top-most EditorConfig file | ||||
| # Editor configuration, see http://editorconfig.org | ||||
| root = true | ||||
|  | ||||
| [*] | ||||
| indent_style = space | ||||
| indent_size = 2 | ||||
| end_of_line = lf | ||||
| charset = utf-8 | ||||
| trim_trailing_whitespace = true | ||||
| end_of_line = lf | ||||
| indent_size = 2 | ||||
| indent_style = space | ||||
| insert_final_newline = false | ||||
| trim_trailing_whitespace = true | ||||
|  | ||||
| [Makefile] | ||||
| [{Makefile,*.go}] | ||||
| indent_style = tab | ||||
							
								
								
									
										10
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| # checkout alls text files with end of line = line feed | ||||
| * text eol=lf | ||||
|  | ||||
| # Binary files should be checked in and out as binary | ||||
| *.png binary | ||||
| *.jpg binary | ||||
| *.eot binary | ||||
| *.ttf binary | ||||
| *.pkcs8 binary | ||||
| *.pkcs12 binary | ||||
							
								
								
									
										26
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1 +1,25 @@ | ||||
| getpsrc | ||||
| **/*.iml | ||||
| **/*.idea | ||||
| **/target | ||||
| **/.project | ||||
| **/.settings | ||||
| **/.classpath | ||||
| **/npm-debug.log | ||||
| **/node/* | ||||
| **/nb-configuration.xml | ||||
| **/*.war | ||||
| **/*.class | ||||
| **/*.DS_Store | ||||
|  | ||||
| **/.vscode | ||||
|  | ||||
| .repo | ||||
| **/pom.xml.releaseBackup | ||||
| **/release.properties | ||||
| **/bindata.go | ||||
| **/t1k.rpm | ||||
| **/orbis-u-t1k.tar.gz | ||||
| **/container.log | ||||
| **/.env | ||||
| **/coverage* | ||||
| getpsrc* | ||||
| @@ -1,6 +1,4 @@ | ||||
| run: | ||||
|   skip-dirs: | ||||
|   - it | ||||
|   timeout: 10m | ||||
|   tests: true | ||||
|  | ||||
| @@ -26,3 +24,4 @@ linters: | ||||
|   - rowserrcheck | ||||
|   - sqlclosecheck | ||||
|   - unparam | ||||
|   - whitespace | ||||
							
								
								
									
										144
									
								
								.markdownlint.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										144
									
								
								.markdownlint.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,144 @@ | ||||
| # 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: 80 | ||||
|   # Number of characters for headings | ||||
|   heading_line_length: 80 | ||||
|   # Number of characters for code blocks | ||||
|   code_block_line_length: 80 | ||||
|   # 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: | ||||
|   - oas-collector | ||||
|   # 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" | ||||
							
								
								
									
										37
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								Dockerfile
									
									
									
									
									
								
							| @@ -1,31 +1,28 @@ | ||||
| ARG BASE_IMAGE | ||||
| ARG BUILD_IMAGE | ||||
| FROM docker.io/library/golang:1.21.6-alpine3.18 as build | ||||
|  | ||||
| # BUILD | ||||
| # ===================================================================== | ||||
| FROM ${BUILD_IMAGE} AS build | ||||
|  | ||||
| ARG GONOPROXY | ||||
| ARG GONOSUMDB | ||||
| ARG GOPRIVATE | ||||
| ARG GOPROXY | ||||
| ARG GOSUMDB | ||||
| ARG VERSION | ||||
|  | ||||
| COPY ./ /workspace | ||||
|  | ||||
| RUN cd /workspace && \ | ||||
|     GONOPROXY=${GONOPROXY} \ | ||||
|     GONOSUMDB=${GONOSUMDB} \ | ||||
|     GOPRIVATE=${GOPRIVATE} \ | ||||
|     GOPROXY=${GOPROXY} \ | ||||
|     GOSUMDB=${GOSUMDB} \ | ||||
|     VERSION=${VERSION} \ | ||||
|       make all | ||||
| WORKDIR /workspace | ||||
|  | ||||
| RUN set -ex && \ | ||||
|     apk update && \ | ||||
|     apk add git make && \ | ||||
|     make all VERSION=${VERSION} | ||||
|  | ||||
| # TARGET | ||||
| # ===================================================================== | ||||
| FROM ${BASE_IMAGE} | ||||
| FROM docker.io/library/alpine:3.19 | ||||
|  | ||||
| ARG VERSION=latest | ||||
|  | ||||
| LABEL org.opencontainers.image.authors="Markus Pesch" \ | ||||
|       org.opencontainers.image.description="Return the ip address of the router to forward traffic to an external ip address" \ | ||||
|       org.opencontainers.image.documentation="https://git.cryptic.systems/volker.raschek/getpsrc#getpsrc" \ | ||||
|       org.opencontainers.image.title="getpsrc" \ | ||||
|       org.opencontainers.image.vendor="Markus Pesch" \ | ||||
|       org.opencontainers.image.version="${VERSION}" | ||||
|  | ||||
| COPY --from=build /workspace/getpsrc /usr/bin/getpsrc | ||||
|  | ||||
|   | ||||
							
								
								
									
										50
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										50
									
								
								Makefile
									
									
									
									
									
								
							| @@ -2,29 +2,13 @@ | ||||
| VERSION?=$(shell git describe --abbrev=0)+hash.$(shell git rev-parse --short HEAD) | ||||
|  | ||||
| # CONTAINER_RUNTIME | ||||
| CONTAINER_RUNTIME?=$(shell which docker) | ||||
|  | ||||
| # BUILD_IMAGE | ||||
| BUILD_IMAGE_REGISTRY_HOST?=docker.io | ||||
| BUILD_IMAGE_NAMESPACE=library | ||||
| BUILD_IMAGE_REPOSITORY=golang | ||||
| BUILD_IMAGE_VERSION?=1.16 | ||||
| BUILD_IMAGE_FULLY_QUALIFIED:=${BUILD_IMAGE_REGISTRY_HOST}/${BUILD_IMAGE_NAMESPACE}/${BUILD_IMAGE_REPOSITORY}:${BUILD_IMAGE_VERSION} | ||||
|  | ||||
| # BASE_IMAGE | ||||
| BASE_IMAGE_REGISTRY_HOST?=docker.io | ||||
| BASE_IMAGE_NAMESPACE=library | ||||
| BASE_IMAGE_REPOSITORY=busybox | ||||
| BASE_IMAGE_VERSION?=latest | ||||
| BASE_IMAGE_FULLY_QUALIFIED=${BASE_IMAGE_REGISTRY_HOST}/${BASE_IMAGE_NAMESPACE}/${BASE_IMAGE_REPOSITORY}:${BASE_IMAGE_VERSION} | ||||
| CONTAINER_RUNTIME?=$(shell which podman) | ||||
|  | ||||
| # CONTAINER_IMAGE | ||||
| CONTAINER_IMAGE_REGISTRY_HOST?=docker.io | ||||
| CONTAINER_IMAGE_NAMESPACE=volkerraschek | ||||
| CONTAINER_IMAGE_REPOSITORY=getpsrc | ||||
| CONTAINER_IMAGE_REGISTRY_HOST?=git.cryptic.systems | ||||
| CONTAINER_IMAGE_REPOSITORY=volker.raschek/getpsrc | ||||
| CONTAINER_IMAGE_VERSION?=latest | ||||
| CONTAINER_IMAGE_FULLY_QUALIFIED=${CONTAINER_IMAGE_REGISTRY_HOST}/${CONTAINER_IMAGE_NAMESPACE}/${CONTAINER_IMAGE_REPOSITORY}:${CONTAINER_IMAGE_VERSION} | ||||
| CONTAINER_IMAGE_UNQUALIFIED=${CONTAINER_IMAGE_NAMESPACE}/${CONTAINER_IMAGE_REPOSITORY}:${CONTAINER_IMAGE_VERSION} | ||||
| CONTAINER_IMAGE_FULLY_QUALIFIED=${CONTAINER_IMAGE_REGISTRY_HOST}/${CONTAINER_IMAGE_REPOSITORY}:${CONTAINER_IMAGE_VERSION} | ||||
|  | ||||
| # EXECUTABLES | ||||
| # ============================================================================== | ||||
| @@ -34,18 +18,13 @@ PHONY=all | ||||
| all: clean ${EXECUTABLE_TARGETS} | ||||
|  | ||||
| getpsrc: | ||||
| 	GOPRIVATE=$(shell go env GOPRIVATE) \ | ||||
| 	GOPROXY=$(shell go env GOPROXY) \ | ||||
| 	GONOPROXY=$(shell go env GONOPROXY) \ | ||||
| 	GONOSUMDB=$(shell go env GONOSUMDB) \ | ||||
| 	GOSUMDB=$(shell go env GOSUMDB) \ | ||||
| 	go build -tags netgo -ldflags "-X main.version=${VERSION}" -o ${@} main.go | ||||
|  | ||||
| # CLEAN | ||||
| # ============================================================================== | ||||
| PHONY+=clean | ||||
| clean: | ||||
| 	rm --force --recursive $(shell pwd)/getpsrc* | ||||
| 	rm -f -r $(shell pwd)/getpsrc* | ||||
|  | ||||
| # GOLANGCI-LINT | ||||
| # ============================================================================== | ||||
| @@ -64,17 +43,9 @@ gosec: | ||||
| PHONY+=container-image/build | ||||
| container-image/build: | ||||
| 	${CONTAINER_RUNTIME} build \ | ||||
| 		--build-arg BASE_IMAGE=${BASE_IMAGE_FULLY_QUALIFIED} \ | ||||
| 		--build-arg BUILD_IMAGE=${BUILD_IMAGE_FULLY_QUALIFIED} \ | ||||
| 		--build-arg GOPRIVATE=$(shell go env GOPRIVATE) \ | ||||
| 		--build-arg GOPROXY=$(shell go env GOPROXY) \ | ||||
| 		--build-arg GONOPROXY=$(shell go env GONOPROXY) \ | ||||
| 		--build-arg GONOSUMDB=$(shell go env GONOSUMDB) \ | ||||
| 		--build-arg GOSUMDB=$(shell go env GOSUMDB) \ | ||||
| 		--build-arg VERSION=${VERSION} \ | ||||
| 		--file ./Dockerfile \ | ||||
| 		--no-cache \ | ||||
| 		--tag ${CONTAINER_IMAGE_UNQUALIFIED} \ | ||||
| 		--tag ${CONTAINER_IMAGE_FULLY_QUALIFIED} \ | ||||
| 		. | ||||
|  | ||||
| @@ -104,18 +75,13 @@ PHONY+=container-run | ||||
| container-run: | ||||
| 	${CONTAINER_RUNTIME} run \ | ||||
| 		--env CONTAINER_IMAGE_VERSION=${CONTAINER_IMAGE_VERSION} \ | ||||
| 		--env GONOPROXY=$(shell go env GONOPROXY) \ | ||||
| 		--env GONOSUMDB=$(shell go env GONOSUMDB) \ | ||||
| 		--env GOPRIVATE=$(shell go env GOPRIVATE) \ | ||||
| 		--env GOPROXY=$(shell go env GOPROXY) \ | ||||
| 		--env GOSUMDB=$(shell go env GOSUMDB) \ | ||||
| 		--env VERSION=${VERSION} \ | ||||
| 		--net=host \ | ||||
| 		--rm \ | ||||
| 		--volume /tmp:/tmp \ | ||||
| 		--volume ${HOME}/go:/root/go \ | ||||
| 		--volume $(shell pwd):/workspace \ | ||||
| 		--workdir /workspace \ | ||||
| 		--volume "${HOME}/go:/root/go" \ | ||||
| 		--volume "$(shell pwd):$(shell pwd)" \ | ||||
| 		--workdir "$(shell pwd)" \ | ||||
| 			${BUILD_IMAGE_FULLY_QUALIFIED} \ | ||||
| 				make ${COMMAND} | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,12 @@ | ||||
| # getpsrc | ||||
|  | ||||
| [](https://drone.cryptic.systems/volker.raschek/getpsrc) | ||||
| [](https://hub.docker.com/r/volkerraschek/getpsrc) | ||||
|  | ||||
| `getpsrc` is a small programme to determine the src routing ip for an external ip. | ||||
|  | ||||
| `getpsrc` serves as an alternative to `ip route get <ip> | awk ...` because `ip | ||||
| route get` can return different output depending on the environment and | ||||
| therefore the construct is unsafe. | ||||
|  | ||||
| `getpsrc` is also as container image available: `docker.io/volkerraschek/getpsrc`. | ||||
|   | ||||
							
								
								
									
										20
									
								
								manifest.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								manifest.tmpl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| image: git.cryptic.systems/volker.raschek/db-wait:{{#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/db-wait:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{else}}latest{{/if}}-amd64 | ||||
|     platform: | ||||
|       architecture: amd64 | ||||
|       os: linux | ||||
|   - | ||||
|     image: git.cryptic.systems/volker.raschek/db-wait:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64-v8 | ||||
|     platform: | ||||
|       architecture: arm64 | ||||
|       os: linux | ||||
|       variant: v8 | ||||
							
								
								
									
										56
									
								
								renovate.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								renovate.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,56 @@ | ||||
| { | ||||
|   "$schema": "https://docs.renovatebot.com/renovate-schema.json", | ||||
|   "assigneesFromCodeOwners": true, | ||||
|   "labels": [ "renovate" ], | ||||
|   "packageRules": [ | ||||
|     { | ||||
|       "description": "Automatically update minor and patch versions of container images", | ||||
|       "addLabels": [ "renovate/container-images", "renovate/automerge" ], | ||||
|       "automerge": true, | ||||
|       "matchDatasources":[ "docker" ], | ||||
|       "matchUpdateTypes": [ "minor", "patch"] | ||||
|     }, | ||||
|     { | ||||
|       "description": "Prepare MR for major update of container images", | ||||
|       "addLabels": [ "renovate/container-images", "renovate/automerge" ], | ||||
|       "automerge": false, | ||||
|       "matchDatasources":[ "docker" ], | ||||
|       "matchUpdateTypes": [ "major"] | ||||
|     }, | ||||
|     { | ||||
|       "description": "Automatically update minor and patch versions of used drone-ci images", | ||||
|       "addLabels": [ "renovate/droneci", "renovate/automerge" ], | ||||
|       "automerge": true, | ||||
|       "matchManagers": "droneci", | ||||
|       "matchUpdateTypes": [ "minor", "patch"] | ||||
|     }, | ||||
|     { | ||||
|       "description": "Prepare MR for major update of used drone-ci images", | ||||
|       "addLabels": [ "renovate/droneci", "renovate/automerge" ], | ||||
|       "automerge": false, | ||||
|       "matchManagers": "droneci", | ||||
|       "matchUpdateTypes": [ "major"] | ||||
|     }, | ||||
|     { | ||||
|       "description": "Automatically update minor and patch versions of go modules", | ||||
|       "addLabels": [ "renovate/gomod", "renovate/automerge" ], | ||||
|       "automerge": true, | ||||
|       "matchBaseBranches": [ "master" ], | ||||
|       "matchManagers": [ "gomod" ], | ||||
|       "matchUpdateTypes": [ "minor", "patch" ] | ||||
|     }, | ||||
|     { | ||||
|       "description": "Prepare MR for major update of go modules", | ||||
|       "addLabels": [ "renovate/gomod" ], | ||||
|       "automerge": false, | ||||
|       "matchBaseBranches": [ "master" ], | ||||
|       "matchManagers": [ "gomod" ], | ||||
|       "matchUpdateTypes": [ "major" ] | ||||
|     } | ||||
|   ], | ||||
|   "postUpdateOptions": [ | ||||
|     "gomodTidy" | ||||
|   ], | ||||
|   "rebaseLabel": "renovate/rebase", | ||||
|   "rebaseWhen": "behind-base-branch" | ||||
| } | ||||
		Reference in New Issue
	
	Block a user