vidar 1.8.0.rc4 → 1.9.0

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: 681a670d387a294ee0cec0976d8a616dcd8d762c53c9eaa941f933e89471c8e2
4
- data.tar.gz: 39476480b15318b08f5014bbd9fe12349a667265d335e784a7a4232c8790768c
3
+ metadata.gz: 7a01ae3156de3a7cbfb99dc55b52d20b27260e86b4c1b1430d7e5073af1a58c6
4
+ data.tar.gz: 879dde2d9a87a49e894d7b23f9fed71a7ec7da7a5af8fe45f6ceab4b9309c532
5
5
  SHA512:
6
- metadata.gz: 6573c96793a0b85b68abf920085da0ab3b60876da440c7d232078d416f92a7bd7a6f8bba6f5ab842100dd4872b002594d1d71673c3ca47321b3db10b9ff8de39
7
- data.tar.gz: 8e7712f557a38053a3810da0a4b92bfa45f86f6f0a6a2f57adf351dcb4c24269bd4af6484d471dbcd561b33f9c7f888c33d4e43a936f2629fc2155e79335e946
6
+ metadata.gz: 3f579ca37f6c62d81e28466bcca67bd4d08ae3c936ccd4883b109c3f0fa931f63f8eb079853f056a86bfce4c6658aa7497605cffb91917fe68e3b6bb78cb57d9
7
+ data.tar.gz: d519e3ad874f1a7451fea033d566171fa0d94d8596ee647cd23ac2c687e562f1d2cff1ef6162731d3ad275b8ea5d2f9154dab2ba29cb7196b8484fa87f7bfa51
data/.bundler-version CHANGED
@@ -1 +1 @@
1
- 2.4.13
1
+ 2.4.21
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.8.0 - 2023-06-02
4
+
5
+ Add support for HTTPS_PROXY automatically set for each kubectl command
6
+
3
7
  ## 1.7.0 - 2023-01-23
4
8
 
5
9
  Add support for publishing Honeycomb markers on deployment.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- vidar (1.8.0.rc4)
4
+ vidar (1.9.0)
5
5
  colorize
6
6
  faraday
7
7
  thor (~> 1.0)
@@ -9,33 +9,38 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- addressable (2.8.4)
12
+ addressable (2.8.6)
13
13
  public_suffix (>= 2.0.2, < 6.0)
14
14
  ast (2.4.2)
15
15
  awesome_print (1.9.2)
16
+ base64 (0.2.0)
16
17
  coderay (1.1.3)
17
- colorize (0.8.1)
18
+ colorize (1.1.0)
18
19
  crack (0.4.5)
19
20
  rexml
20
21
  diff-lcs (1.5.0)
21
- faraday (2.7.5)
22
+ faraday (2.7.12)
23
+ base64
22
24
  faraday-net_http (>= 2.0, < 3.1)
23
25
  ruby2_keywords (>= 0.0.4)
24
26
  faraday-net_http (3.0.2)
25
27
  hashdiff (1.0.1)
26
- json (2.6.3)
28
+ json (2.7.1)
29
+ language_server-protocol (3.17.0.3)
27
30
  method_source (1.0.0)
28
31
  parallel (1.23.0)
29
- parser (3.2.2.1)
32
+ parser (3.2.2.4)
30
33
  ast (~> 2.4.1)
34
+ racc
31
35
  pry (0.14.2)
32
36
  coderay (~> 1.1)
33
37
  method_source (~> 1.0)
34
- public_suffix (5.0.1)
38
+ public_suffix (5.0.4)
39
+ racc (1.7.3)
35
40
  rainbow (3.1.1)
36
- rake (13.0.6)
37
- regexp_parser (2.8.0)
38
- rexml (3.2.5)
41
+ rake (13.1.0)
42
+ regexp_parser (2.8.3)
43
+ rexml (3.2.6)
39
44
  rspec (3.12.0)
40
45
  rspec-core (~> 3.12.0)
41
46
  rspec-expectations (~> 3.12.0)
@@ -45,37 +50,38 @@ GEM
45
50
  rspec-expectations (3.12.3)
46
51
  diff-lcs (>= 1.2.0, < 2.0)
47
52
  rspec-support (~> 3.12.0)
48
- rspec-mocks (3.12.5)
53
+ rspec-mocks (3.12.6)
49
54
  diff-lcs (>= 1.2.0, < 2.0)
50
55
  rspec-support (~> 3.12.0)
51
- rspec-support (3.12.0)
52
- rubocop (1.51.0)
56
+ rspec-support (3.12.1)
57
+ rubocop (1.58.0)
53
58
  json (~> 2.3)
59
+ language_server-protocol (>= 3.17.0)
54
60
  parallel (~> 1.10)
55
- parser (>= 3.2.0.0)
61
+ parser (>= 3.2.2.4)
56
62
  rainbow (>= 2.2.2, < 4.0)
57
63
  regexp_parser (>= 1.8, < 3.0)
58
64
  rexml (>= 3.2.5, < 4.0)
59
- rubocop-ast (>= 1.28.0, < 2.0)
65
+ rubocop-ast (>= 1.30.0, < 2.0)
60
66
  ruby-progressbar (~> 1.7)
61
67
  unicode-display_width (>= 2.4.0, < 3.0)
62
- rubocop-ast (1.29.0)
68
+ rubocop-ast (1.30.0)
63
69
  parser (>= 3.2.1.0)
64
- rubocop-capybara (2.18.0)
70
+ rubocop-capybara (2.19.0)
65
71
  rubocop (~> 1.41)
66
- rubocop-factory_bot (2.23.1)
72
+ rubocop-factory_bot (2.24.0)
67
73
  rubocop (~> 1.33)
68
74
  rubocop-rake (0.6.0)
69
75
  rubocop (~> 1.0)
70
- rubocop-rspec (2.22.0)
71
- rubocop (~> 1.33)
76
+ rubocop-rspec (2.25.0)
77
+ rubocop (~> 1.40)
72
78
  rubocop-capybara (~> 2.17)
73
79
  rubocop-factory_bot (~> 2.22)
74
80
  ruby-progressbar (1.13.0)
75
81
  ruby2_keywords (0.0.5)
76
- thor (1.2.2)
77
- unicode-display_width (2.4.2)
78
- webmock (3.18.1)
82
+ thor (1.3.0)
83
+ unicode-display_width (2.5.0)
84
+ webmock (3.19.1)
79
85
  addressable (>= 2.8.0)
80
86
  crack (>= 0.3.2)
81
87
  hashdiff (>= 0.4.0, < 2.0.0)
@@ -96,4 +102,4 @@ DEPENDENCIES
96
102
  webmock
97
103
 
98
104
  BUNDLED WITH
99
- 2.4.12
105
+ 2.4.22
data/README.md CHANGED
@@ -32,23 +32,23 @@ version: '3.7'
32
32
 
33
33
  services:
34
34
  base:
35
- image: gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:base-${CURRENT_BRANCH:?err}
35
+ image: [docker-registry-url]:base-${CURRENT_BRANCH:?err}
36
36
  build:
37
37
  dockerfile: Dockerfile
38
38
  context: .
39
39
  target: base
40
40
  cache_from:
41
- - gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:base-master
42
- - gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:base
43
- - gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:release
44
- - gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:$REVISION
41
+ - [docker-registry-url]:base-master
42
+ - [docker-registry-url]:base
43
+ - [docker-registry-url]:release
44
+ - [docker-registry-url]:$REVISION
45
45
  env_file:
46
46
  - .env
47
47
  environment:
48
48
  - RACK_ENV=test
49
49
 
50
50
  release:
51
- image: gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:release
51
+ image: [docker-registry-url]:release
52
52
  build:
53
53
  dockerfile: Dockerfile
54
54
  context: .
@@ -56,17 +56,17 @@ services:
56
56
  args:
57
57
  - REVISION=${REVISION:?err}
58
58
  cache_from:
59
- - gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:base-${CURRENT_BRANCH:?err}
60
- - gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:base-master
61
- - gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:base
62
- - gcr.io/[GCP-PROJECT-ID]/[APP-NAME]:$REVISION
59
+ - [docker-registry-url]:base-${CURRENT_BRANCH:?err}
60
+ - [docker-registry-url]:base-master
61
+ - [docker-registry-url]:base
62
+ - [docker-registry-url]:$REVISION
63
63
  ```
64
64
 
65
65
  * `vidar.yml` file to the project root directory, which following content:
66
66
 
67
67
  ```yml
68
68
  # docker image name, required
69
- image: gcr.io/[GCP-PROJECT-ID]/[APP-NAME]
69
+ image: [docker-registry-url]
70
70
  # k8s namespace, required
71
71
  namespace: borrower
72
72
  # github name used to build deployment notification content
@@ -92,6 +92,8 @@ deployments:
92
92
  slack_webhook_url: https://hooks.slack.com/services/ASCKNZ0vug2R3Ydo/ASCKNZ0vug2R3Ydo/ASCKNZ0vug2R3Ydo
93
93
  # Name of the Honeycomb dataset to create a deployment marker in
94
94
  honeycomb_dataset: staging
95
+ # https_proxy address used to connect private k8s control plane endpoint
96
+ https_proxy: localhost:8888
95
97
  # docker-compose file, optional, default value: docker-compose.ci.yml
96
98
  compose_file: docker-compose.ci.yml
97
99
  # default_branch, optional, default value: main or master (auto-detected from local branches)
data/lib/vidar/cli.rb CHANGED
@@ -23,9 +23,9 @@ module Vidar
23
23
  def pull
24
24
  Log.info "Pulling #{Config.get!(:image)} tags"
25
25
  Run.docker "pull #{Config.get!(:image)}:#{Config.get!(:base_stage_name)}-#{Config.get!(:current_branch)} 2> /dev/null || true"
26
- Run.docker "pull #{Config.get!(:image)}:#{Config.get!(:base_stage_name)}-#{Config.get!(:default_branch)} 2> /dev/null || true"
27
- Run.docker "pull #{Config.get!(:image)}:#{Config.get!(:base_stage_name)} 2> /dev/null || true"
28
- Run.docker "pull #{Config.get!(:image)}:#{Config.get!(:release_stage_name)} 2> /dev/null || true"
26
+ unless Config.default_branch?
27
+ Run.docker "pull #{Config.get!(:image)}:#{Config.get!(:base_stage_name)}-#{Config.get!(:default_branch)} 2> /dev/null || true"
28
+ end
29
29
  Log.info "Docker images:"
30
30
  Run.docker("images")
31
31
  end
@@ -47,7 +47,6 @@ module Vidar
47
47
 
48
48
  desc "publish", "Publish docker images on docker registry"
49
49
  def publish
50
- base_image_tag = "#{Config.get!(:image)}:#{Config.get!(:base_stage_name)}"
51
50
  revision_image_tag = "#{Config.get!(:image)}:#{Config.get!(:revision)}"
52
51
  release_image_tag = "#{Config.get!(:image)}:#{Config.get!(:release_stage_name)}"
53
52
  latest_image_tag = "#{Config.get!(:image)}:latest"
@@ -58,9 +57,8 @@ module Vidar
58
57
 
59
58
  return unless Config.default_branch?
60
59
 
61
- Log.info "Publishing #{base_image_tag}"
62
- Run.docker "tag #{base_image_tag}-#{Config.get!(:current_branch)} #{base_image_tag}"
63
- Run.docker "push #{base_image_tag}"
60
+ Log.info "Publishing #{Config.get!(:base_stage_name)} image"
61
+ Run.docker "push #{Config.get!(:image)}:#{Config.get!(:base_stage_name)}-#{Config.get!(:current_branch)}"
64
62
 
65
63
  Log.info "Publishing #{release_image_tag}"
66
64
  Run.docker "tag #{release_image_tag} #{latest_image_tag}"
data/lib/vidar/config.rb CHANGED
@@ -6,7 +6,7 @@ module Vidar
6
6
  DEFAULT_OPTIONS = {
7
7
  compose_file: -> { "docker-compose.ci.yml" },
8
8
  default_branch: -> { (DEFAULT_BRANCHES & branches).first || DEFAULT_BRANCHES.first },
9
- current_branch: -> { `git rev-parse --abbrev-ref HEAD`.strip.tr("/", "-") },
9
+ current_branch: -> { ENV['SEMAPHORE_GIT_WORKING_BRANCH'] || `git rev-parse --abbrev-ref HEAD`.strip.tr("/", "-") },
10
10
  revision: -> { `git rev-parse HEAD`.strip },
11
11
  revision_name: -> { `git show --pretty=format:"%s (%h)" -s HEAD`.strip },
12
12
  kubectl_context: -> { `kubectl config current-context`.strip },
data/lib/vidar/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Vidar
2
- VERSION = '1.8.0.rc4'.freeze
2
+ VERSION = '1.9.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vidar
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0.rc4
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Krzysztof Knapik
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2023-06-02 00:00:00.000000000 Z
12
+ date: 2023-12-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: colorize
@@ -115,11 +115,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
115
115
  version: '3.0'
116
116
  required_rubygems_version: !ruby/object:Gem::Requirement
117
117
  requirements:
118
- - - ">"
118
+ - - ">="
119
119
  - !ruby/object:Gem::Version
120
- version: 1.3.1
120
+ version: '0'
121
121
  requirements: []
122
- rubygems_version: 3.4.12
122
+ rubygems_version: 3.4.22
123
123
  signing_key:
124
124
  specification_version: 4
125
125
  summary: K8s deployment tools based on thor