pipedawg 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/pipedawg/kaniko_job.rb +66 -55
- data/lib/pipedawg/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 041e80c36e4a1f30695c0d60233c8fcc3261ac734dee7d0770dde11ad1e0ac71
|
|
4
|
+
data.tar.gz: ee48577c9c00e3ef4f76cabe22895d435b26bb10cd6dd4ff5a950dbaebaaf5bc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 83e2ef040fbdbec747968ca61d58079e720dd32cea77fd0dc0b39f451dab618e247cf85617f6f6f6dbaf881263e90c4b2f7b90b3df96d5c60e6a338db5b007d1
|
|
7
|
+
data.tar.gz: 34cccd812da30055338afc7368a5f62f46c0df7ba8e7dc7c21e9590fdcd4a5d398df30be22f0e5aac6c7a9a3944f4683b1b96be79da9b75276aca89ee13e8d89
|
data/lib/pipedawg/kaniko_job.rb
CHANGED
|
@@ -9,82 +9,93 @@ module Pipedawg
|
|
|
9
9
|
@kaniko_opts = {
|
|
10
10
|
build_args: {},
|
|
11
11
|
config: {
|
|
12
|
-
'$CI_REGISTRY': {
|
|
13
|
-
username: '$CI_REGISTRY_USER',
|
|
14
|
-
password: '$CI_REGISTRY_PASSWORD'
|
|
15
|
-
}
|
|
12
|
+
'$CI_REGISTRY': { username: '$CI_REGISTRY_USER', password: '$CI_REGISTRY_PASSWORD' }
|
|
16
13
|
},
|
|
17
|
-
config_file: '/kaniko/.docker/config.json',
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
flags: [],
|
|
24
|
-
ignore_paths: [],
|
|
25
|
-
insecure_registries: [],
|
|
26
|
-
image: {
|
|
27
|
-
entrypoint: [''],
|
|
28
|
-
name: 'gcr.io/kaniko-project/executor:debug'
|
|
29
|
-
},
|
|
30
|
-
options: {},
|
|
31
|
-
registry_certificates: {},
|
|
32
|
-
registry_mirrors: [],
|
|
33
|
-
skip_tls_verify_registry: [],
|
|
34
|
-
trusted_ca_cert_source_files: [],
|
|
14
|
+
config_file: '/kaniko/.docker/config.json', context: '${CI_PROJECT_DIR}',
|
|
15
|
+
destinations: [], dockerfile: 'Dockerfile', executor: '/kaniko/executor',
|
|
16
|
+
external_files: {}, flags: [], ignore_paths: [], insecure_registries: [],
|
|
17
|
+
image: { entrypoint: [''], name: 'gcr.io/kaniko-project/executor:debug' },
|
|
18
|
+
options: {}, registry_certificates: {}, registry_mirrors: [],
|
|
19
|
+
skip_tls_verify_registry: [], trusted_ca_cert_source_files: [],
|
|
35
20
|
trusted_ca_cert_target_file: '/kaniko/ssl/certs/ca-certificates.crt'
|
|
36
21
|
}.merge(kaniko_opts)
|
|
37
22
|
super name, opts
|
|
38
23
|
update
|
|
39
24
|
end
|
|
40
25
|
|
|
41
|
-
def update # rubocop:disable Metrics/AbcSize
|
|
26
|
+
def update # rubocop:disable Metrics/AbcSize
|
|
42
27
|
require 'json'
|
|
43
28
|
opts[:image] = kaniko_opts[:image] if kaniko_opts[:image]
|
|
44
|
-
script =
|
|
45
|
-
|
|
29
|
+
opts[:script] = config + cert_copies + file_copies + Array(kaniko_cmd)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
private
|
|
33
|
+
|
|
34
|
+
def config
|
|
35
|
+
["echo #{kaniko_opts[:config].to_json.inspect} > \"#{kaniko_opts[:config_file]}\""]
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def cert_copies
|
|
39
|
+
Array(kaniko_opts[:trusted_ca_cert_source_files]).map do |cert|
|
|
46
40
|
"cat \"#{cert}\" >> \"#{kaniko_opts[:trusted_ca_cert_target_file]}\""
|
|
47
41
|
end
|
|
48
|
-
|
|
49
|
-
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def file_copies
|
|
45
|
+
kaniko_opts[:external_files].map do |source, dest|
|
|
50
46
|
"cp \"#{source}\" \"#{kaniko_opts[:context]}/#{dest}\""
|
|
51
47
|
end
|
|
52
|
-
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def kaniko_cmd # rubocop:disable Metrics/AbcSize
|
|
51
|
+
["\"#{kaniko_opts[:executor]}\" --context \"#{kaniko_opts[:context]}\"",
|
|
52
|
+
"--dockerfile \"#{kaniko_opts[:dockerfile]}\"", flags, options, build_args,
|
|
53
|
+
ignore_paths, insecure_registries, registry_certificates, registry_mirrors,
|
|
54
|
+
destinations, skip_tls_verify_registries].reject(&:empty?).join(' ')
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def flags
|
|
53
58
|
flags = kaniko_opts[:flags].clone
|
|
54
59
|
flags << 'no-push' if kaniko_opts[:destinations].empty?
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
+
flags.uniq.map { |f| "--#{f}" }.join(' ')
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def options
|
|
64
|
+
kaniko_opts[:options].map { |k, v| "--#{k}=\"#{v}\"" }.join(' ')
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def build_args
|
|
68
|
+
kaniko_opts[:build_args].map { |k, v| "--build-arg #{k}=\"#{v}\"" }.join(' ')
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def ignore_paths
|
|
72
|
+
Array(kaniko_opts[:ignore_paths]).map { |p| "--ignore-path #{p}" }.join(' ')
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def insecure_registries
|
|
76
|
+
Array(kaniko_opts[:insecure_registries]).map do |r|
|
|
60
77
|
"--insecure-registry #{r}"
|
|
61
78
|
end.join(' ')
|
|
62
|
-
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def registry_certificates
|
|
82
|
+
kaniko_opts[:registry_certificates].map do |k, v|
|
|
63
83
|
"--registry-certificate #{k}=\"#{v}\""
|
|
64
84
|
end.join(' ')
|
|
65
|
-
|
|
66
|
-
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def registry_mirrors
|
|
88
|
+
Array(kaniko_opts[:registry_mirrors]).map { |r| "--registry-mirror #{r}" }.join(' ')
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def destinations
|
|
92
|
+
kaniko_opts[:destinations].map { |d| "--destination #{d}" }.join(' ')
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def skip_tls_verify_registries
|
|
96
|
+
Array(kaniko_opts[:skip_tls_verify_registry]).map do |r|
|
|
67
97
|
"--skip-tls-verify-registry #{r}"
|
|
68
98
|
end.join(' ')
|
|
69
|
-
destinations_cli = kaniko_opts[:destinations].map { |d| "--destination #{d}" }.join(' ')
|
|
70
|
-
kaniko_cmds = [
|
|
71
|
-
"\"#{kaniko_opts[:executor]}\"",
|
|
72
|
-
'--context',
|
|
73
|
-
"\"#{kaniko_opts[:context]}\"",
|
|
74
|
-
'--dockerfile',
|
|
75
|
-
"\"#{kaniko_opts[:dockerfile]}\"",
|
|
76
|
-
flags_cli,
|
|
77
|
-
options_cli,
|
|
78
|
-
build_args_cli,
|
|
79
|
-
ignore_paths_cli,
|
|
80
|
-
insecure_registries_cli,
|
|
81
|
-
registry_certificates_cli,
|
|
82
|
-
registry_mirrors_cli,
|
|
83
|
-
destinations_cli,
|
|
84
|
-
skip_tls_verify_registrys_cli
|
|
85
|
-
].reject(&:empty?)
|
|
86
|
-
script << kaniko_cmds.join(' ')
|
|
87
|
-
opts[:script] = script
|
|
88
99
|
end
|
|
89
100
|
end
|
|
90
101
|
end
|
data/lib/pipedawg/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pipedawg
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- harbottle
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-02-
|
|
11
|
+
date: 2022-02-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: Generate GitLab CI pipelines.
|
|
14
14
|
email:
|