local dirs = ['_CI-CD', 'apps']; local packages = ['debian-stable','debian-testing','debian-stable-build-essential','debian-golang','debian-stable-php-fpm','distcc']; local apps = ['apt-cacher-ng', 'curl', 'mosquitto', 'mosquitto-prometheus-exporter']; local build(dir, package) = { name: '%(package)s' % { package: package }, image: 'plugins/docker', settings: { context: '%(dir)s/%(package)s' % { dir: dir, package: package }, dockerfile: '%(dir)s/%(package)s/Dockerfile' % { dir: dir, package: package }, registry: 'http://cr.wks', insecure: 'true', tags: ['latest'], repo: 'cr.wks/%(package)s' % { package: package } } }; kind: 'pipeline', type: 'docker', name: '_CI-CD', platform: { os: 'linux', arch: 'arm64' }, steps: [ { std.flattenArrays([ [ build('_CI-CD', pkg) for pkg in packages ] ]) }] kind: 'pipeline', type: 'docker', name: 'apps', platform: { os: 'linux', arch: 'arm64' }, steps: [ { std.flattenArrays([ [ build('apps', app) for app in apps ] ]) }]