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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 114b51a7224d92e384383b3485e96547a250ae90cc64a89250d7a45ff3ae35c0
4
- data.tar.gz: 98eac24c50bdeb4282077b32e45afc87f9e8f3db01f47c5b837d36a9a3866ca0
3
+ metadata.gz: 041e80c36e4a1f30695c0d60233c8fcc3261ac734dee7d0770dde11ad1e0ac71
4
+ data.tar.gz: ee48577c9c00e3ef4f76cabe22895d435b26bb10cd6dd4ff5a950dbaebaaf5bc
5
5
  SHA512:
6
- metadata.gz: 1504e970a5b8b629f5b95a92a8fd9edc4685d3d98adbf3f94631a0c0d4b12beaadb83a30b5337ba9ad03310956ce1c9e7924f6c04f968bca8287e0c45a69eb5e
7
- data.tar.gz: 80e24f54810711abc38902ab44aae67499372f9d73c265aedc82d6d6bc2c3dd7d26f230195a435580674502bb40563e67810be18ebbb51bd2e35c4b735888fb0
6
+ metadata.gz: 83e2ef040fbdbec747968ca61d58079e720dd32cea77fd0dc0b39f451dab618e247cf85617f6f6f6dbaf881263e90c4b2f7b90b3df96d5c60e6a338db5b007d1
7
+ data.tar.gz: 34cccd812da30055338afc7368a5f62f46c0df7ba8e7dc7c21e9590fdcd4a5d398df30be22f0e5aac6c7a9a3944f4683b1b96be79da9b75276aca89ee13e8d89
@@ -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
- context: '${CI_PROJECT_DIR}',
19
- destinations: [],
20
- dockerfile: 'Dockerfile',
21
- executor: '/kaniko/executor',
22
- external_files: {},
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, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
26
+ def update # rubocop:disable Metrics/AbcSize
42
27
  require 'json'
43
28
  opts[:image] = kaniko_opts[:image] if kaniko_opts[:image]
44
- script = ["echo #{kaniko_opts[:config].to_json.inspect} > \"#{kaniko_opts[:config_file]}\""]
45
- cert_copies = Array(kaniko_opts[:trusted_ca_cert_source_files]).map do |cert|
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
- script.concat cert_copies
49
- file_copies = kaniko_opts[:external_files].map do |source, dest|
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
- script.concat file_copies
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
- flags_cli = flags.uniq.map { |f| "--#{f}" }.join(' ')
56
- options_cli = kaniko_opts[:options].map { |k, v| "--#{k}=\"#{v}\"" }.join(' ')
57
- build_args_cli = kaniko_opts[:build_args].map { |k, v| "--build-arg #{k}=\"#{v}\"" }.join(' ')
58
- ignore_paths_cli = Array(kaniko_opts[:ignore_paths]).map { |p| "--ignore-path #{p}" }.join(' ')
59
- insecure_registries_cli = Array(kaniko_opts[:insecure_registries]).map do |r|
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
- registry_certificates_cli = kaniko_opts[:registry_certificates].map do |k, v|
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
- registry_mirrors_cli = Array(kaniko_opts[:registry_mirrors]).map { |r| "--registry-mirror #{r}" }.join(' ')
66
- skip_tls_verify_registrys_cli = Array(kaniko_opts[:skip_tls_verify_registry]).map do |r|
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Pipedawg
4
- VERSION = '0.3.0'
4
+ VERSION = '0.3.1'
5
5
  end
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.0
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-04 00:00:00.000000000 Z
11
+ date: 2022-02-08 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Generate GitLab CI pipelines.
14
14
  email: