78 Commits

Author SHA1 Message Date
CSRBot bbcfcab7ab chore(deps): update harbor.cryptic.systems/docker/plugins/docker docker tag to v20.18.8
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2025-04-02 10:03:12 +00:00
volker.raschek d7462bfd36 chore(ci): rollback plugins/docker to 20.18.6
continuous-integration/drone/push Build is failing
2025-04-02 10:43:06 +02:00
volker.raschek 9102653939 chore(ci): use container image mirror
continuous-integration/drone/push Build is failing
2025-04-02 09:53:41 +02:00
CSRBot 614bc5c52f chore(deps): update git.cryptic.systems/volker.raschek/markdownlint docker tag to v0.44.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2025-04-01 19:05:08 +00:00
volker.raschek 01907606ce fix(Makefile): make FQIN configurable
continuous-integration/drone/push Build is failing
2025-04-01 20:45:07 +02:00
volker.raschek d7491888c6 fix(Makefile): pull image from git.cryptic.systems
continuous-integration/drone/push Build is failing
2025-04-01 20:37:12 +02:00
CSRBot 8cb74a3152 chore(deps): update volkerraschek/markdownlint docker tag to v0.43.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2025-03-30 19:03:55 +00:00
volker.raschek ad4317cf0e chore(renovate): use configuration preset
continuous-integration/drone/push Build is failing
2025-03-30 20:49:29 +02:00
volker.raschek a7aaa7b100 chore(renovate): use configuration preset
continuous-integration/drone/push Build is failing
2025-03-30 20:48:50 +02:00
CSRBot ab76d2e80c chore(deps): update docker.io/plugins/docker docker tag to v20.18.8
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2025-03-26 20:03:33 +00:00
CSRBot 2bc7928a99 chore(deps): update quay.io/skopeo/stable docker tag to v1.18.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2025-02-28 17:04:10 +00:00
CSRBot 8261cefaf1 chore(deps): update docker.io/plugins/docker docker tag to v20.18.7
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2025-02-18 08:03:10 +00:00
CSRBot ea552ae0cb chore(deps): update docker.io/plugins/docker docker tag to v20.18.6
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-12-25 05:03:20 +00:00
CSRBot 969ebe7f83 chore(deps): update git.cryptic.systems/volker.raschek/markdownlint docker tag to v0.43.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-12-03 14:05:11 +00:00
CSRBot 5e6f033398 chore(deps): update docker.io/plugins/docker docker tag to v20.18.5
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-11-29 11:03:29 +00:00
CSRBot 4bd01c4c66 chore(deps): update git.cryptic.systems/volker.raschek/git docker tag to v1.4.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-11-25 23:03:57 +00:00
CSRBot f4099d1476 chore(deps): update quay.io/skopeo/stable docker tag to v1.17.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-11-21 17:03:24 +00:00
CSRBot a1d8fe227c chore(deps): update quay.io/skopeo/stable docker tag to v1.16.1
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-10-14 19:52:42 +00:00
CSRBot 4eae4680c6 chore(deps): update git.cryptic.systems/volker.raschek/markdownlint docker tag to v0.42.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build was killed
2024-10-14 19:05:00 +00:00
CSRBot 13081a41cc chore(deps): update docker.io/plugins/docker docker tag to v20.18.4
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-08-22 16:03:15 +00:00
CSRBot 4576b7c8c1 chore(deps): update docker.io/plugins/docker docker tag to v20.18.3
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-08-18 19:03:48 +00:00
CSRBot 1ae6b75ee6 chore(deps): update quay.io/skopeo/stable docker tag to v1.16.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-08-18 16:03:32 +00:00
CSRBot 9ff52d9607 chore(deps): update docker.io/plugins/docker docker tag to v20.18.2
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-07-23 19:04:50 +00:00
CSRBot bd7cba8651 chore(deps): update quay.io/skopeo/stable docker tag to v1.15.2
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-07-16 16:02:51 +00:00
CSRBot d5e5b6db55 chore(deps): update docker.io/plugins/docker docker tag to v20.18.1
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-07-15 22:03:39 +00:00
CSRBot 03c7386e00 chore(deps): update quay.io/skopeo/stable docker tag to v1.15.1
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-06-01 16:01:33 +00:00
CSRBot 7f7cfcdcda chore(deps): update git.cryptic.systems/volker.raschek/markdownlint docker tag to v0.41.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-05-27 13:05:41 +00:00
CSRBot 53ad08aabd chore(deps): update docker.io/plugins/docker docker tag to v20.17.5
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-05-20 13:04:29 +00:00
CSRBot b96bf9da2e chore(deps): update docker.io/plugins/docker docker tag to v20.17.4
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-05-13 10:02:19 +00:00
CSRBot 7525f7b431 chore(deps): update git.cryptic.systems/volker.raschek/markdownlint docker tag to v0.40.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-05-07 22:05:45 +00:00
CSRBot 868f202c91 chore(deps): update quay.io/skopeo/stable docker tag to v1.15.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-04-20 01:02:59 +00:00
CSRBot 83df321204 chore(deps): update docker.io/plugins/docker docker tag to v20.17.3
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2024-04-19 22:03:01 +00:00
volker.raschek cbdd6227eb fix(ci): markdownlint
continuous-integration/drone Build is passing
2024-04-19 22:03:59 +02:00
volker.raschek a25147746c Merge pull request 'chore(deps): update git.cryptic.systems/volker.raschek/markdownlint docker tag to v0.39.0' (#19) from renovate/git.cryptic.systems-volker.raschek-markdownlint-0.x into master
Reviewed-on: #19
2024-02-15 17:59:30 +00:00
CSRBot 74d87bc20a chore(deps): update git.cryptic.systems/volker.raschek/markdownlint docker tag to v0.39.0 2024-01-28 23:02:37 +00:00
volker.raschek 991b2d51d9 fix(renovate): remove automerge options 2024-01-21 14:34:38 +01:00
volker.raschek bff3f0864c Merge pull request 'chore(deps): update quay.io/skopeo/stable docker tag to v1.14.0' (#17) from renovate/quay.io-skopeo-stable-1.x into master
Reviewed-on: #17
2023-12-20 11:17:35 +00:00
volker.raschek 033751b0b5 Merge pull request 'chore(deps): update git.cryptic.systems/volker.raschek/markdownlint docker tag to v0.38.0' (#18) from renovate/git.cryptic.systems-volker.raschek-markdownlint-0.x into master
Reviewed-on: #18
2023-12-20 11:17:00 +00:00
CSRBot 85d86a2f75 chore(deps): update git.cryptic.systems/volker.raschek/markdownlint docker tag to v0.38.0 2023-12-09 14:31:00 +00:00
CSRBot 3d4a9eda14 chore(deps): update quay.io/skopeo/stable docker tag to v1.14.0 2023-12-06 17:16:31 +01:00
volker.raschek 1744831564 fix(renovate): include dep updates of docker.io/plugins/docker 2023-10-30 21:29:19 +01:00
volker.raschek 765a7ecd59 Merge pull request 'chore(deps): update git.cryptic.systems/volker.raschek/git docker tag to v1.3.1' (#15) from renovate/git.cryptic.systems-volker.raschek-git-1.x into master
Reviewed-on: #15
2023-10-02 07:51:45 +00:00
volker.raschek 9532212c29 Merge pull request 'chore(deps): update git.cryptic.systems/volker.raschek/drone-email docker tag to v0.1.5' (#16) from renovate/git.cryptic.systems-volker.raschek-drone-email-0.x into master
Reviewed-on: #16
2023-10-02 07:51:21 +00:00
CSRBot 6e49477f18 chore(deps): update git.cryptic.systems/volker.raschek/drone-email docker tag to v0.1.5 2023-10-02 00:16:56 +02:00
CSRBot fae5d001ae chore(deps): update git.cryptic.systems/volker.raschek/git docker tag to v1.3.1 2023-10-01 23:02:30 +02:00
volker.raschek 673e64b5c6 Merge pull request 'chore(deps): update git.cryptic.systems/volker.raschek/markdownlint docker tag to v0.37.0' (#14) from renovate/git.cryptic.systems-volker.raschek-markdownlint-0.x into master
Reviewed-on: #14
2023-09-29 07:02:08 +00:00
volker.raschek 567042d30d Merge pull request 'chore(deps): update quay.io/skopeo/stable docker tag to v1.13.3' (#13) from renovate/quay.io-skopeo-stable-1.x into master
Reviewed-on: #13
2023-09-29 07:01:33 +00:00
CSRBot 450b5ceeb3 chore(deps): update git.cryptic.systems/volker.raschek/markdownlint docker tag to v0.37.0 2023-09-22 19:32:18 +02:00
CSRBot 0b538ca704 chore(deps): update quay.io/skopeo/stable docker tag to v1.13.3 2023-09-21 18:20:03 +02:00
volker.raschek 1a1b5742be fix(renovate): exclude updating docker.io/plugins/docker 2023-09-03 16:10:36 +02:00
volker.raschek e5f7741027 fix: cleanup pkg cache
continuous-integration/drone/push Build is failing
2023-07-23 11:17:14 +02:00
volker.raschek 8b34224735 fix: migrate to git.cryptic.systems
continuous-integration/drone/push Build is failing
2023-06-18 15:29:45 +02:00
volker.raschek 2d3a7ee939 feat(ci): use git.cryptic.systems/volker.raschek/drone-email v0.1.2
continuous-integration/drone/push Build is failing
2023-06-17 15:51:23 +02:00
volker.raschek 4638c6d3db feat(ci): use git.cryptic.systems/volker.raschek/markdownlint v0.33.0
continuous-integration/drone/push Build is failing
2023-06-08 19:37:14 +02:00
volker.raschek 72c6f89704 feat(ci): use docker.io/plugins/drone v20.10.9
continuous-integration/drone/push Build is failing
2023-06-08 19:24:34 +02:00
volker.raschek ceef088bc7 fix: remove arch linux pkgs from cache
continuous-integration/drone/push Build is failing
2023-06-08 18:32:50 +02:00
volker.raschek a592b8220d feat(ci): migrate to volker.raschek/git v1.2.1
continuous-integration/drone/push Build is passing
2023-06-08 18:16:33 +02:00
volker.raschek 6755685f89 feat: add ssh and vim, make scp possible
continuous-integration/drone/push Build is passing
2023-02-05 11:08:57 +01:00
CSRBot e9fd9d3c33 chore(deps): update dependency docker.io/volkerraschek/markdownlint to v0.33.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-01-07 19:51:59 +01:00
volker.raschek e9e84b7d21 fix: import own certificate
continuous-integration/drone/push Build is passing
2022-12-22 16:31:42 +01:00
CSRBot c05394f916 chore(deps): update dependency docker.io/volkerraschek/markdownlint to v0.32.2
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-09-28 19:51:23 +02:00
volker.raschek 408d473757 fix(ci): remove docker socket volume
continuous-integration/drone/push Build is passing
2022-07-26 17:25:17 +02:00
volker.raschek 718dd43565 fix(ci): use docker.io/volkerraschek/drone-email:0.1.0
continuous-integration/drone/push Build is failing
2022-07-26 16:36:27 +02:00
CSRBot 3ec38ce502 chore(deps): update dependency docker.io/volkerraschek/markdownlint to v0.32.1
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is failing
2022-07-25 13:11:05 +02:00
CSRBot cdcbe178a4 chore(deps): update dependency docker.io/volkerraschek/markdownlint to v0.32.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-07-18 11:11:13 +02:00
volker.raschek 60c8144916 fix(ci): resource limits
continuous-integration/drone/push Build is passing
2022-05-22 13:08:14 +02:00
volker.raschek 51a789d881 fix(ci): use fully qualified image name
continuous-integration/drone/push Build encountered an error
2022-05-22 13:00:02 +02:00
volker.raschek d8ad30b0fb fix(ci): resource limits
continuous-integration/drone/push Build encountered an error
2022-05-22 12:52:52 +02:00
volker.raschek 571893e66e fix(ci): use gitea to sync repo with github
continuous-integration/drone/push Build is passing
2022-05-03 17:36:47 +02:00
volker.raschek 246342ea67 fix: makepkg, build user
continuous-integration/drone/push Build is passing
2022-04-02 16:41:35 +02:00
CSRBot 3b25c80adc chore(deps): update dependency docker.io/volkerraschek/markdownlint to v0.31.1
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-03-16 20:03:13 +01:00
volker.raschek 799fc1291b fix: repo server
continuous-integration/drone/push Build is passing
2022-03-16 19:57:16 +01:00
volker.raschek 17caf9bfb6 fix: repo server
continuous-integration/drone/push Build is failing
2022-03-16 19:28:34 +01:00
volker.raschek e1312f1fff fix(ci): add package rules
continuous-integration/drone/push Build is failing
2022-01-30 18:42:50 +01:00
CSRBot d4d9883a34 chore(deps): update docker.io/volkerraschek/markdownlint docker tag to v0.30.0
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2021-11-20 12:00:39 +00:00
volker.raschek 70a28081e9 fix(ci): renovate rebase conditions
continuous-integration/drone/push Build is passing
2021-10-30 12:12:20 +02:00
volker.raschek c69b768a08 fix(ci): add renovate config
continuous-integration/drone/push Build is passing
2021-10-24 16:16:40 +02:00
volker.raschek bb0013913b fix(ci): sync depends on latest-manifest
continuous-integration/drone/push Build is passing
2021-10-12 21:44:06 +02:00
10 changed files with 690 additions and 185 deletions
+290 -122
View File
@@ -3,35 +3,39 @@ kind: pipeline
type: kubernetes type: kubernetes
name: linter name: linter
platform: clone:
os: linux disable: true
arch: amd64
steps: steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: markdown lint - name: markdown lint
commands: commands:
- markdownlint *.md - markdownlint *.md
image: docker.io/volkerraschek/markdownlint:0.29.0 image: git.cryptic.systems/volker.raschek/markdownlint:0.44.0
resources: resources:
limits: limits:
cpu: 50 cpu: 150
memory: 50M memory: 150M
- name: email-notification - name: email-notification
environment: environment:
PLUGIN_HOST: SMTP_FROM_ADDRESS:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host from_secret: smtp_host
PLUGIN_USERNAME: SMTP_USERNAME:
from_secret: smtp_username from_secret: smtp_username
PLUGIN_PASSWORD: SMTP_PASSWORD:
from_secret: smtp_password from_secret: smtp_password
PLUGIN_FROM: image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
from_secret: smtp_mail_address
image: docker.io/drillster/drone-email:latest
resources: resources:
limits: limits:
cpu: 50 cpu: 150
memory: 25M memory: 150M
when: when:
status: status:
- changed - changed
@@ -45,53 +49,124 @@ trigger:
--- ---
kind: pipeline kind: pipeline
type: docker type: docker
name: latest-amd64 name: dry-run-amd64
clone:
disable: true
depends_on:
- linter
platform: platform:
os: linux os: linux
arch: amd64 arch: amd64
steps: steps:
- name: build - name: clone
image: plugins/docker image: git.cryptic.systems/volker.raschek/git:1.4.0
settings:
dockerfile: Dockerfile
auto_tag: false
tags: latest-amd64
repo: volkerraschek/build-image
username:
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
no_cache: true
volumes:
- name: docker_socket
path: /var/run/docker.sock
- name: notify - name: build
image: drillster/drone-email image: harbor.cryptic.systems/docker/plugins/docker:20.18.8
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/build-image
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: environment:
PLUGIN_HOST: SMTP_FROM_ADDRESS:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host from_secret: smtp_host
PLUGIN_USERNAME: SMTP_USERNAME:
from_secret: smtp_username from_secret: smtp_username
PLUGIN_PASSWORD: SMTP_PASSWORD:
from_secret: smtp_password from_secret: smtp_password
PLUGIN_FROM: image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
from_secret: smtp_mail_address
when: when:
status: status:
- changed - changed
- failure - failure
volumes: trigger:
- name: docker_socket branch:
host: exclude:
path: /var/run/docker.sock - master
event:
- pull_request
- push
repo:
- volker.raschek/build-image
---
kind: pipeline
type: docker
name: latest-amd64
clone:
disable: true
depends_on: depends_on:
- linter - linter
platform:
os: linux
arch: amd64
steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build
image: harbor.cryptic.systems/docker/plugins/docker:20.18.8
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/build-image
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: trigger:
branch: branch:
- master - master
@@ -106,40 +181,113 @@ kind: pipeline
type: kubernetes type: kubernetes
name: latest-manifest name: latest-manifest
clone:
disable: true
depends_on:
- latest-amd64
# docker.io/plugins/manifest only for amd64 architectures available
node_selector:
kubernetes.io/os: linux
kubernetes.io/arch: amd64
steps: steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build-manifest - name: build-manifest
image: plugins/manifest image: harbor.cryptic.systems/docker/plugins/manifest:1.4.0
settings: settings:
auto_tag: false auto_tag: false
ignore_missing: true ignore_missing: true
spec: manifest.tmpl spec: manifest.tmpl
username: username:
from_secret: container_image_registry_user from_secret: git_cryptic_systems_container_registry_user
password: password:
from_secret: container_image_registry_password from_secret: git_cryptic_systems_container_registry_password
- name: notify - name: email-notification
image: docker.io/drillster/drone-email:latest
environment: environment:
PLUGIN_HOST: SMTP_FROM_ADDRESS:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host from_secret: smtp_host
PLUGIN_USERNAME: SMTP_USERNAME:
from_secret: smtp_username from_secret: smtp_username
PLUGIN_PASSWORD: SMTP_PASSWORD:
from_secret: smtp_password from_secret: smtp_password
PLUGIN_FROM: image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
from_secret: smtp_mail_address
resources: resources:
limits: limits:
cpu: 50 cpu: 150
memory: 25M memory: 150M
when: when:
status: status:
- changed - changed
- failure - failure
trigger:
branch:
- master
event:
- cron
- push
repo:
- volker.raschek/build-image
---
kind: pipeline
type: kubernetes
name: latest-sync
clone:
disable: true
depends_on: depends_on:
- latest-amd64 - latest-manifest
steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- 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/build-image 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.18.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: trigger:
branch: branch:
@@ -155,48 +303,53 @@ kind: pipeline
type: docker type: docker
name: tagged-amd64 name: tagged-amd64
clone:
disable: true
platform: platform:
os: linux os: linux
arch: amd64 arch: amd64
steps: steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build - name: build
image: plugins/docker image: harbor.cryptic.systems/docker/plugins/docker:20.18.8
settings: settings:
dockerfile: Dockerfile
auto_tag: true auto_tag: true
auto_tag_suffix: amd64 auto_tag_suffix: amd64
repo: volkerraschek/build-image dockerfile: Dockerfile
username: force_tag: true
from_secret: container_image_registry_user
password:
from_secret: container_image_registry_password
no_cache: true no_cache: true
volumes: purge: true
- name: docker_socket mirror:
path: /var/run/docker.sock from_secret: docker_io_mirror
registry: git.cryptic.systems
repo: git.cryptic.systems/volker.raschek/build-image
username:
from_secret: git_cryptic_systems_container_registry_user
password:
from_secret: git_cryptic_systems_container_registry_password
- name: notify - name: email-notification
image: drillster/drone-email
environment: environment:
PLUGIN_HOST: SMTP_FROM_ADDRESS:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host from_secret: smtp_host
PLUGIN_USERNAME: SMTP_USERNAME:
from_secret: smtp_username from_secret: smtp_username
PLUGIN_PASSWORD: SMTP_PASSWORD:
from_secret: smtp_password from_secret: smtp_password
PLUGIN_FROM: image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
from_secret: smtp_mail_address
when: when:
status: status:
- changed - changed
- failure - failure
volumes:
- name: docker_socket
host:
path: /var/run/docker.sock
trigger: trigger:
event: event:
- tag - tag
@@ -208,41 +361,54 @@ kind: pipeline
type: kubernetes type: kubernetes
name: tagged-manifest name: tagged-manifest
clone:
disable: true
depends_on:
- tagged-amd64
# docker.io/plugins/manifest only for amd64 architectures available
node_selector:
kubernetes.io/os: linux
kubernetes.io/arch: amd64
steps: steps:
- name: clone
image: git.cryptic.systems/volker.raschek/git:1.4.0
- name: build-manifest - name: build-manifest
image: plugins/manifest image: harbor.cryptic.systems/docker/plugins/manifest:1.4.0
settings: settings:
auto_tag: true auto_tag: true
ignore_missing: true ignore_missing: true
spec: manifest.tmpl spec: manifest.tmpl
username: username:
from_secret: container_image_registry_user from_secret: git_cryptic_systems_container_registry_user
password: password:
from_secret: container_image_registry_password from_secret: git_cryptic_systems_container_registry_password
- name: notify - name: email-notification
image: docker.io/drillster/drone-email:latest
environment: environment:
PLUGIN_HOST: SMTP_FROM_ADDRESS:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host from_secret: smtp_host
PLUGIN_USERNAME: SMTP_USERNAME:
from_secret: smtp_username from_secret: smtp_username
PLUGIN_PASSWORD: SMTP_PASSWORD:
from_secret: smtp_password from_secret: smtp_password
PLUGIN_FROM: image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
from_secret: smtp_mail_address
resources: resources:
limits: limits:
cpu: 50 cpu: 150
memory: 25M memory: 150M
when: when:
status: status:
- changed - changed
- failure - failure
depends_on:
- tagged-amd64
trigger: trigger:
event: event:
- tag - tag
@@ -252,54 +418,56 @@ trigger:
--- ---
kind: pipeline kind: pipeline
type: kubernetes type: kubernetes
name: sync name: tagged-sync
platform: clone:
os: linux disable: true
arch: amd64
depends_on:
- tagged-manifest
steps: steps:
- name: github - name: clone
image: docker.io/appleboy/drone-git-push:latest image: git.cryptic.systems/volker.raschek/git:1.4.0
resources:
limits: - name: tagged-sync
cpu: 50 commands:
memory: 25M - 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/build-image docker.io/volkerraschek
settings: environment:
branch: master SRC_CRED_USERNAME:
remote: ssh://git@github.com/volker-raschek/build-image.git from_secret: git_cryptic_systems_container_registry_user
force: true SRC_CRED_PASSWORD:
ssh_key: from_secret: git_cryptic_systems_container_registry_password
from_secret: ssh_key DEST_CRED_USERNAME:
from_secret: container_image_registry_user
DEST_CRED_PASSWORD:
from_secret: container_image_registry_password
image: quay.io/skopeo/stable:v1.18.0
- name: email-notification - name: email-notification
environment: environment:
PLUGIN_HOST: SMTP_FROM_ADDRESS:
from_secret: smtp_from_address
SMTP_FROM_NAME:
from_secret: smtp_from_name
SMTP_HOST:
from_secret: smtp_host from_secret: smtp_host
PLUGIN_USERNAME: SMTP_USERNAME:
from_secret: smtp_username from_secret: smtp_username
PLUGIN_PASSWORD: SMTP_PASSWORD:
from_secret: smtp_password from_secret: smtp_password
PLUGIN_FROM: image: git.cryptic.systems/volker.raschek/drone-email:0.1.5
from_secret: smtp_mail_address
image: docker.io/drillster/drone-email:latest
resources: resources:
limits: limits:
cpu: 50 cpu: 150
memory: 25M memory: 150M
when: when:
status: status:
- changed - changed
- failure - failure
depends_on:
- tagged-manifest
trigger: trigger:
branch:
- master
event: event:
- cron - tag
- push
repo: repo:
- volker.raschek/build-image - volker.raschek/build-image
+1
View File
@@ -1 +1,2 @@
.env .env
test.sh
+147 -26
View File
@@ -7,23 +7,32 @@ default: true
# Path to configuration file to extend # Path to configuration file to extend
extends: null extends: null
# MD003/heading-style/header-style - Heading style # MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md001.md
MD001: true
# MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md003.md
MD003: MD003:
# Heading style # Heading style
style: "atx" style: "atx"
# MD004/ul-style - Unordered list style # MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md004.md
MD004: MD004:
# List style
style: "dash" style: "dash"
# MD007/ul-indent - Unordered list indentation # MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md005.md
MD005: true
# MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md007.md
MD007: MD007:
# Spaces for indent # Spaces for indent
indent: 2 indent: 2
# Whether to indent the first level of the list # Whether to indent the first level of the list
start_indented: false start_indented: false
# Spaces for first level indent (when start_indented is set)
start_indent: 2
# MD009/no-trailing-spaces - Trailing spaces # MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md009.md
MD009: MD009:
# Spaces for line break # Spaces for line break
br_spaces: 2 br_spaces: 2
@@ -32,67 +41,93 @@ MD009:
# Include unnecessary breaks # Include unnecessary breaks
strict: false strict: false
# MD010/no-hard-tabs - Hard tabs # MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md010.md
MD010: MD010:
# Include code blocks # Include code blocks
code_blocks: true code_blocks: true
# Fenced code languages to ignore
ignore_code_languages: []
# Number of spaces for each hard tab
spaces_per_tab: 1
# MD012/no-multiple-blanks - Multiple consecutive blank lines # MD012/no-multiple-blanks - Multiple consecutive blank lines
MD012: MD012:
# Consecutive blank lines # Consecutive blank lines
maximum: 1 maximum: 1
# MD013/line-length - Line length # MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md013.md
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
tables: false tables: false
# Include headings # Include headings
headings: true headings: true
# Include headings
headers: true
# Strict length checking # Strict length checking
strict: false strict: false
# Stern length checking # Stern length checking
stern: false stern: false
# MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines # MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md014.md
MD014: true
# MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md018.md
MD018: true
# MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md019.md
MD019: true
# MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md020.md
MD020: true
# MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md021.md
MD021: true
# MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md
MD022: MD022:
# Blank lines above heading # Blank lines above heading
lines_above: 1 lines_above: 1
# Blank lines below heading # Blank lines below heading
lines_below: 1 lines_below: 1
# MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content # MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md023.md
MD023: true
# MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md024.md
MD024: MD024:
# Only check sibling headings # Only check sibling headings
allow_different_nesting: true siblings_only: true
# MD025/single-title/single-h1 - Multiple top-level headings in the same document # MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md025.md
MD025: MD025:
# Heading level # Heading level
level: 1 level: 1
# RegExp for matching title in front matter # RegExp for matching title in front matter
front_matter_title: "^\\s*title\\s*[:=]" front_matter_title: "^\\s*title\\s*[:=]"
# MD026/no-trailing-punctuation - Trailing punctuation in heading # MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md026.md
MD026: MD026:
# Punctuation characters # Punctuation characters
punctuation: ".,;:!。,;:!" punctuation: ".,;:!。,;:!"
# MD029/ol-prefix - Ordered list item prefix # MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md027.md
MD027: true
# MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md028.md
MD028: true
# MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md029.md
MD029: MD029:
# List style # List style
style: "one_or_ordered" style: "one_or_ordered"
# MD030/list-marker-space - Spaces after list markers # MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md030.md
MD030: MD030:
# Spaces for single-line unordered list items # Spaces for single-line unordered list items
ul_single: 1 ul_single: 1
@@ -103,35 +138,74 @@ MD030:
# Spaces for multi-line ordered list items # Spaces for multi-line ordered list items
ol_multi: 1 ol_multi: 1
# MD033/no-inline-html - Inline HTML # MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md031.md
MD031:
# Include list items
list_items: true
# MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md032.md
MD032: true
# MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md033.md
MD033: MD033:
# Allowed elements # Allowed elements
allowed_elements: [] allowed_elements: []
# MD035/hr-style - Horizontal rule style # MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md034.md
MD034: true
# MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md035.md
MD035: MD035:
# Horizontal rule style # Horizontal rule style
style: "---" style: "---"
# MD036/no-emphasis-as-heading/no-emphasis-as-header - Emphasis used instead of a heading # MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md036.md
MD036: MD036:
# Punctuation characters # Punctuation characters
punctuation: ".,;:!?。,;:!?" punctuation: ".,;:!?。,;:!?"
# MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading # MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md037.md
MD037: true
# MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md038.md
MD038: true
# MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md039.md
MD039: true
# MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md040.md
MD040:
# List of languages
allowed_languages: []
# Require language only
language_only: false
# MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md041.md
MD041: MD041:
# Heading level # Heading level
level: 1 level: 1
# RegExp for matching title in front matter # RegExp for matching title in front matter
front_matter_title: "^\\s*title\\s*[:=]" front_matter_title: "^\\s*title\\s*[:=]"
# MD044/proper-names - Proper names should have the correct capitalization # MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md042.md
MD042: true
# MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md043.md
# MD043:
# # List of headings
# headings: []
# # Match case of headings
# match_case: false
# MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md044.md
MD044: MD044:
# List of proper names # List of proper names
names: [] names:
# - some-thing - Dedalus HealthCare GmbH
# Include code blocks # Include code blocks
code_blocks: false code_blocks: false
# Include HTML elements
html_elements: false
# MD046/code-block-style - Code block style # MD046/code-block-style - Code block style
MD046: MD046:
@@ -140,5 +214,52 @@ MD046:
# MD048/code-fence-style - Code fence style # MD048/code-fence-style - Code fence style
MD048: MD048:
# Code fence syle # Code fence style
style: "backtick" style: "backtick"
# MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md049.md
MD049:
# Emphasis style
style: "asterisk"
# MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md050.md
MD050:
# Strong style
style: "asterisk"
# MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md051.md
MD051: true
# MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md052.md
MD052:
# Include shortcut syntax
shortcut_syntax: false
# MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md053.md
MD053:
# Ignored definitions
ignored_definitions:
- "//"
# MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md054.md
MD054:
# Allow autolinks
autolink: true
# Allow inline links and images
inline: true
# Allow full reference links and images
full: true
# Allow collapsed reference links and images
collapsed: true
# Allow shortcut reference links and images
shortcut: true
# Allow URLs as inline links
url_inline: true
# MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md055.md
MD055:
# Table pipe style
style: "leading_and_trailing"
# MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md056.md
MD056: true
+35 -10
View File
@@ -1,31 +1,56 @@
FROM docker.io/library/archlinux:latest FROM docker.io/library/archlinux:latest
RUN pacman --sync --refresh --noconfirm --sysupgrade \ ENV BUILD_USER=build
RUN pacman --sync --refresh --noconfirm --sysupgrade sudo
RUN echo "${BUILD_USER} ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/${BUILD_USER} && \
useradd --create-home --home-dir /home/${BUILD_USER} --shell /bin/bash ${BUILD_USER}
USER ${BUILD_USER}
# execute local files
COPY installation-scripts /tmp/installation-scripts
RUN for f in {00-pacman-mirror.sh,01-rustup.sh}; do sudo /tmp/installation-scripts/$f; done && \
sudo rm --recursive --force /tmp/installation-scripts
ENV PATH="/home/${BUILD_USER}/.cargo/bin:/${BUILD_USER}/go/bin:${PATH}"
# Install PKGs from public repositories
RUN sudo pacman --sync --refresh --noconfirm --sysupgrade \
awk \ awk \
base-devel \
bash-completion \ bash-completion \
docker \ docker \
gcc \ gcc \
git \ git \
gnupg \
go \ go \
make \ make \
openssh \
pacman-contrib \
podman \ podman \
vim \
which \ which \
zip zip && \
sudo rm --recursive --force /var/cache/pacman/pkg/*
# execute local files RUN sudo usermod --append --groups docker ${BUILD_USER}
COPY installation-scripts /tmp/installation-scripts
RUN for f in {00-pacman-mirror.sh,01-rustup.sh}; do /tmp/installation-scripts/$f; done && \
rm --recursive --force /tmp/installation-scripts
ENV PATH="/root/.cargo/bin:/root/go/bin:${PATH}"
# Install PKGs from own repo # Install PKGs from private repositories
RUN pacman --sync --refresh --noconfirm --sysupgrade \ RUN sudo pacman --sync --refresh --noconfirm --sysupgrade \
oracle-instantclient-basic \ oracle-instantclient-basic \
oracle-instantclient-jdbc \ oracle-instantclient-jdbc \
oracle-instantclient-odbc \ oracle-instantclient-odbc \
oracle-instantclient-sdk \ oracle-instantclient-sdk \
oracle-instantclient-sqlplus \ oracle-instantclient-sqlplus \
oracle-instantclient-tools \ oracle-instantclient-tools \
rpm-builder rpm-builder && \
sudo rm --recursive --force /var/cache/pacman/pkg
RUN sudo mkdir /workspace && sudo chown ${BUILD_USER}:${BUILD_USER} /workspace
WORKDIR /workspace WORKDIR /workspace
VOLUME [ "/workspace" ]
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN sudo chmod +x /usr/local/bin/entrypoint.sh
ENTRYPOINT [ "/usr/local/bin/entrypoint.sh" ]
+18 -2
View File
@@ -5,14 +5,20 @@ CONTAINER_RUNTIME?=$(shell which podman)
# CONTAINER_IMAGE # CONTAINER_IMAGE
# Defines the name of the new container to be built using several variables. # Defines the name of the new container to be built using several variables.
BUILD_IMAGE_REGISTRY_HOST:=docker.io BUILD_IMAGE_REGISTRY_HOST?=git.cryptic.systems
BUILD_IMAGE_REGISTRY_USER:=volkerraschek BUILD_IMAGE_REGISTRY_USER?=volker.raschek
BUILD_IMAGE_NAMESPACE?=${BUILD_IMAGE_REGISTRY_USER} BUILD_IMAGE_NAMESPACE?=${BUILD_IMAGE_REGISTRY_USER}
BUILD_IMAGE_REPOSITORY:=build-image BUILD_IMAGE_REPOSITORY:=build-image
BUILD_IMAGE_VERSION?=latest BUILD_IMAGE_VERSION?=latest
BUILD_IMAGE_FULLY_QUALIFIED=${BUILD_IMAGE_REGISTRY_HOST}/${BUILD_IMAGE_NAMESPACE}/${BUILD_IMAGE_REPOSITORY}:${BUILD_IMAGE_VERSION} BUILD_IMAGE_FULLY_QUALIFIED=${BUILD_IMAGE_REGISTRY_HOST}/${BUILD_IMAGE_NAMESPACE}/${BUILD_IMAGE_REPOSITORY}:${BUILD_IMAGE_VERSION}
BUILD_IMAGE_UNQUALIFIED=${BUILD_IMAGE_NAMESPACE}/${BUILD_IMAGE_REPOSITORY}:${BUILD_IMAGE_VERSION} BUILD_IMAGE_UNQUALIFIED=${BUILD_IMAGE_NAMESPACE}/${BUILD_IMAGE_REPOSITORY}:${BUILD_IMAGE_VERSION}
# MARKDOWNLINT_IMAGE
MARKDOWNLINT_IMAGE_REGISTRY_HOST?=git.cryptic.systems
MARKDOWNLINT_IMAGE_REPOSITORY?=volker.raschek/markdownlint
MARKDOWNLINT_IMAGE_VERSION?=0.43.0 # renovate: datasource=docker registryUrl=https://git.cryptic.systems depName=volker.raschek/markdownlint
MARKDOWNLINT_IMAGE_FULLY_QUALIFIED=${MARKDOWNLINT_IMAGE_REGISTRY_HOST}/${MARKDOWNLINT_IMAGE_REPOSITORY}:${MARKDOWNLINT_IMAGE_VERSION}
# BUILD CONTAINER IMAGE # BUILD CONTAINER IMAGE
# ============================================================================== # ==============================================================================
PHONY:=container-image/build PHONY:=container-image/build
@@ -39,6 +45,16 @@ container-image/push:
echo ${BUILD_IMAGE_REGISTRY_PASSWORD} | ${CONTAINER_RUNTIME} login ${BUILD_IMAGE_REGISTRY_HOST} --username ${BUILD_IMAGE_REGISTRY_USER} --password-stdin echo ${BUILD_IMAGE_REGISTRY_PASSWORD} | ${CONTAINER_RUNTIME} login ${BUILD_IMAGE_REGISTRY_HOST} --username ${BUILD_IMAGE_REGISTRY_USER} --password-stdin
${CONTAINER_RUNTIME} push ${BUILD_IMAGE_FULLY_QUALIFIED} ${CONTAINER_RUNTIME} push ${BUILD_IMAGE_FULLY_QUALIFIED}
# CONTAINER RUN - MARKDOWN-LINT
# ==============================================================================
PHONY+=container-run/markdown-lint
container-run/markdown-lint:
${CONTAINER_RUNTIME} run \
--rm \
--volume $(shell pwd):/work \
${MARKDOWNLINT_IMAGE_FULLY_QUALIFIED} \
*.md
# PHONY # PHONY
# ============================================================================== # ==============================================================================
# Declare the contents of the PHONY variable as phony. We keep that information # Declare the contents of the PHONY variable as phony. We keep that information
+53 -7
View File
@@ -3,16 +3,49 @@
[![Build Status](https://drone.cryptic.systems/api/badges/volker.raschek/build-image/status.svg)](https://drone.cryptic.systems/volker.raschek/build-image) [![Build Status](https://drone.cryptic.systems/api/badges/volker.raschek/build-image/status.svg)](https://drone.cryptic.systems/volker.raschek/build-image)
[![Docker Pulls](https://img.shields.io/docker/pulls/volkerraschek/build-image)](https://hub.docker.com/r/volkerraschek/build-image) [![Docker Pulls](https://img.shields.io/docker/pulls/volkerraschek/build-image)](https://hub.docker.com/r/volkerraschek/build-image)
This project contains all sources to build the container image This project contains all sources to build the container image `docker.io/volkerraschek/build-image`. The primary goal
`docker.io/volkerraschek/build-image`. The primary goal of the image is only of the image is only to provide an environment to compile source code for `go` or `rust` and package compiled binaries
to provide an environment to compile source code like go or rust. as PKG for Arch Linux or as RPM for RHEL based distributions.
## Supported environment variables
### gnupg
#### GNUPG_KEY
Import private gpg key via `GPG_KEY`. The private key must be escaped to import the key inside the container image
correctly. For example:
```bash
GPG_FPR=YOUR_GPG_FINGERPRINT
GPG_KEY=$(gpg --armor --export-secret-keys ${GPG_FPR} | cat -e | sed -e 's/\$/\\n/g' -e 's/^[ \t]*//g')
```
### makepkg
The `makepkg.conf` configuration is composed from the environment variables with the prefix `MAKEPKG_`. Below are some
examples:
`MAKEPKG_PACKAGER="Hugo McKinnock <hugo.mckinnock@example.local>"`
`MAKEPKG_GPGKEY="0123456789"`
`MAKEPKG_PKGEXT=.pkg.tar.zst"`
### ssh
#### SSH_KEY
Import private ssh key via `SSH_KEY`. The private key must be escaped to import the key inside the container image
correctly. For example:
```bash
SSH_KEY=$(cat -e ${HOME}/.ssh/id_rsa | sed -e 's/\$/\\n/g')
```
## Usage ## Usage
### golang ### golang
To use this image for building golang applications execute this in your root To use this image for building golang applications execute this in your root folder of your go project.
folder of your go project.
```bash ```bash
$ docker run \ $ docker run \
@@ -22,10 +55,23 @@ $ docker run \
go build go build
``` ```
### makepkg
With the following example will be an package be build for Arch Linux. Execute the commond in the root directory of the
project, where the `PKGBUILD` file is located.
```bash
$ docker run \
--env MAKEPKG_PACKAGER="Max Mustermann <max.mustermann@example.com" \
--rm \
--volume ${PWD}:/workspace \
volkerraschek/build-image:latest \
makepkg
```
### rust ### rust
If you want to compile instead go rust sourcecode, than you can do it similar to If you want to compile instead go rust sourcecode, than you can do it similar to the golang example.
the golang example.
```bash ```bash
$ docker run \ $ docker run \
+32
View File
@@ -0,0 +1,32 @@
#!/bin/bash
IFS=$'\n'
# generate makepkg.conf
MAKEPKG_ENV_VARS=($(env | sort | grep --perl-regexp '^MAKEPKG_.*'))
for ENV_VAR in ${MAKEPKG_ENV_VARS[@]}; do
KEY=$(echo ${ENV_VAR} | cut --delimiter="=" --fields="1" | sed 's/MAKEPKG_//' | tr '[:lower:]' '[:upper:]')
VALUE=$(echo ${ENV_VAR} | cut --delimiter="=" --fields="2-")
echo "${KEY}='${VALUE}'" >> ${HOME}/.makepkg.conf
done
# import gpg key
if [ ! -z ${GPG_KEY+x} ]; then
echo -e ${GPG_KEY} | gpg --import
# trust gpg key
for fpr in $(gpg --list-keys --with-colons | awk -F: '/fpr:/ {print $10}' | sort -u); do
echo -e "5\ny\n" | gpg --command-fd 0 --expert --edit-key $fpr trust
done
fi
# add ssh private key
if [ ! -z ${SSH_KEY+x} ]; then
mkdir --parents ${HOME}/.ssh
sudo chmod 0700 ${HOME}/.ssh
echo -e ${SSH_KEY} > ${HOME}/.ssh/key
sudo chmod 0600 ${HOME}/.ssh/key
echo -e "Host *\n IdentityFile ~/.ssh/key\n StrictHostKeyChecking no\n UserKnownHostsFile /dev/null\n" > ${HOME}/.ssh/config
fi
/bin/bash ${@}
+100 -13
View File
@@ -2,25 +2,112 @@
set -e set -e
cat > /etc/pacman.d/gnupg/dirmngr.conf <<EOF
keyserver hkps://hkps.pool.sks-keyservers.net:443
keyserver hkp://pool.sks-keyservers.net:80
EOF
# Initialize pacman-key ring # Initialize pacman-key ring
pacman-key --init pacman-key --init
# pacman-key --refresh-keys
# Trust public gpg keys
cat <<EOF | pacman-key --add -
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=cbcC
-----END PGP PUBLIC KEY BLOCK-----
EOF
# Add additional pacman mirrors # Add additional pacman mirrors
cat >> /etc/pacman.conf <<EOF cat >> /etc/pacman.conf <<'EOF'
[any] [volker.raschek]
SigLevel = Optional TrustAll SigLevel = Optional TrustAll
Server = https://aur.cryptic.systems/any/ Server = https://aur.cryptic.systems/$repo/$arch/
[x86_64]
SigLevel = Optional TrustAll
Server = https://aur.cryptic.systems/x86_64/
[oracle] [oracle]
SigLevel = Optional TrustAll SigLevel = Optional TrustAll
+2 -2
View File
@@ -1,4 +1,4 @@
image: volkerraschek/build-image:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}} image: git.cryptic.systems/volker.raschek/build-image:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
{{#if build.tags}} {{#if build.tags}}
tags: tags:
{{#each build.tags}} {{#each build.tags}}
@@ -8,7 +8,7 @@ tags:
{{/if}} {{/if}}
manifests: manifests:
- -
image: volkerraschek/build-image:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64 image: git.cryptic.systems/volker.raschek/build-image:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
platform: platform:
architecture: amd64 architecture: amd64
os: linux os: linux
+9
View File
@@ -0,0 +1,9 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"local>volker.raschek/renovate-config:default#master",
"local>volker.raschek/renovate-config:container#master",
"local>volker.raschek/renovate-config:actions#master",
"local>volker.raschek/renovate-config:regexp#master"
]
}