capistrano-data_plane_api 0.1.1 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ad2b996b48c5b23eea3d380344465328402767a3df12fdd7098b7d90e823d4ad
4
- data.tar.gz: 2b4b549b1cefcea0a2d9065a8a394e1d205221c06b87ada49566c2218d59d2bb
3
+ metadata.gz: d7fc6970b104cd14cd0c2bc3fc0c7a36e3f67ecb73f304f14cc73bce48d42d97
4
+ data.tar.gz: 7a08a4712fb0690eaf2894f07bf17de9851afe2911c496ab5f365ca2dfd35a53
5
5
  SHA512:
6
- metadata.gz: 31249f8526fdc7da8b31adb9a993f9193fdb1417391d27c1a0dcbeb97522743fcfdd3b4b4138aedb0d0d74d51a4e6f3c3ccb461d33de19c68828c85e80432fe8
7
- data.tar.gz: e3e4ddf9f38305a4c173487e7449df301319eb733ed5451fa58afb4306a339762f4e47d04aea16306b08ff63788ff4ac36caa1206a4c5540242846d4d9f74e7e
6
+ metadata.gz: 0b8db27dccc0af104a2418a2c17e62c30eb7fcdba9aed373ec6789949e3536f245565e367f80bdbd44b0b570f4baba242a81ded2bbdfaaf888626b5107af0c2f
7
+ data.tar.gz: 9fc7f0551def684dee3a6764c727b61b3bbf7b5873baea9b82de85c23e8bff0b904ccde363896e5f74b791f98f67cc66bbe08cb69b112af3ca4790ec746f4444
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- capistrano-data_plane_api (0.1.1)
4
+ capistrano-data_plane_api (0.1.3)
5
5
  data_plane_api (~> 0.1)
6
6
  pastel (< 1)
7
- shale (< 1)
7
+ shale (>= 1, < 2)
8
8
  thor (> 1, < 2)
9
9
  tty-box (< 1)
10
10
  tty-cursor (< 1)
@@ -68,7 +68,7 @@ GEM
68
68
  rubocop
69
69
  ruby-progressbar (1.11.0)
70
70
  ruby2_keywords (0.0.5)
71
- shale (0.9.0)
71
+ shale (1.0.0)
72
72
  shoulda-context (2.0.0)
73
73
  solargraph (0.48.0)
74
74
  backport (~> 1.2)
data/README.md CHANGED
@@ -1,6 +1,11 @@
1
1
  # Capistrano::DataPlaneApi
2
2
 
3
- Capistrano plugin which helps you automatically change the admin state of your HAProxy servers.
3
+ [Capistrano](https://capistranorb.com/) plugin which helps you
4
+ automatically change the admin state of your [HAProxy](https://www.haproxy.com/)
5
+ servers using the [Data Plane API](https://www.haproxy.com/documentation/dataplaneapi/community/).
6
+
7
+ [Capistrano](https://capistranorb.com/) is a remote server automation and deployment tool.
8
+ [HAProxy](https://www.haproxy.com/) is a load balancer.
4
9
 
5
10
  ## Installation
6
11
 
@@ -32,7 +37,8 @@ $ bundle exec cap_data_plane_api install
32
37
 
33
38
  This gem hooks into capistrano to add new tasks which
34
39
  enable you to change the admin state of your HAProxy
35
- servers during the deployment process.
40
+ servers during the deployment process
41
+ using using the [Data Plane API](https://www.haproxy.com/documentation/dataplaneapi/community/).
36
42
 
37
43
  We recommend creating separate Capistrano stages
38
44
  for every HAProxy server.
@@ -32,7 +32,7 @@ require_relative 'lib/capistrano/data_plane_api/version'
32
32
  # Uncomment to register a new dependency of your gem
33
33
  spec.add_dependency 'data_plane_api', '~> 0.1'
34
34
  spec.add_dependency 'pastel', '< 1'
35
- spec.add_dependency 'shale', '< 1'
35
+ spec.add_dependency 'shale', '>= 1', '< 2'
36
36
  spec.add_dependency 'thor', '> 1', '< 2'
37
37
  spec.add_dependency 'tty-box', '< 1'
38
38
  spec.add_dependency 'tty-cursor', '< 1'
@@ -100,10 +100,10 @@ module Capistrano
100
100
  nil
101
101
  end
102
102
 
103
- return unless server_states
103
+ return if server_states.nil?
104
104
 
105
105
  server_states.each do |server_state|
106
- @server_stats[server_state['name']]&.then do |s|
106
+ @server_stats[server_state['name']]&.tap do |s|
107
107
  s.admin_state = server_state['admin_state']
108
108
  s.operational_state = server_state['operational_state']
109
109
  end
@@ -34,6 +34,8 @@ module Capistrano
34
34
  @backend_name = backend_name
35
35
  @success = nil
36
36
  @seconds = nil
37
+ @admin_state = 'unknown'
38
+ @operational_state = 'unknown'
37
39
  end
38
40
 
39
41
  # @return [String]
@@ -6,6 +6,7 @@ module Capistrano
6
6
  module Helper
7
7
  # @return [Hash{String => Symbol}]
8
8
  ADMIN_STATE_COLORS = {
9
+ 'unknown' => :on_red,
9
10
  'drain' => :on_blue,
10
11
  'ready' => :on_green,
11
12
  'maint' => :on_yellow
@@ -13,6 +14,7 @@ module Capistrano
13
14
 
14
15
  # @return [Hash{String => Symbol}]
15
16
  OPERATIONAL_STATE_COLORS = {
17
+ 'unknown' => :on_red,
16
18
  'up' => :on_green,
17
19
  'down' => :on_red,
18
20
  'stopping' => :on_yellow
@@ -3,6 +3,6 @@
3
3
  module Capistrano
4
4
  module DataPlaneApi
5
5
  # @return [String]
6
- VERSION = '0.1.1'
6
+ VERSION = '0.1.3'
7
7
  end
8
8
  end
@@ -13,6 +13,7 @@ basic_password: my_password # Data Plane API BasicAuth password
13
13
 
14
14
  # List of HAProxy backends
15
15
  backends:
16
+
16
17
  - name: back_production # your HAProxy backend name
17
18
  # styles defined in the `Pastel` gem, used in the terminal to uniquely identify this backend
18
19
  # by coloring its name.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-data_plane_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mateusz Drewniak
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2022-12-29 00:00:00.000000000 Z
12
+ date: 2023-08-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: data_plane_api
@@ -43,16 +43,22 @@ dependencies:
43
43
  name: shale
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - "<"
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '1'
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '2'
49
52
  type: :runtime
50
53
  prerelease: false
51
54
  version_requirements: !ruby/object:Gem::Requirement
52
55
  requirements:
53
- - - "<"
56
+ - - ">="
54
57
  - !ruby/object:Gem::Version
55
58
  version: '1'
59
+ - - "<"
60
+ - !ruby/object:Gem::Version
61
+ version: '2'
56
62
  - !ruby/object:Gem::Dependency
57
63
  name: thor
58
64
  requirement: !ruby/object:Gem::Requirement
@@ -169,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
175
  - !ruby/object:Gem::Version
170
176
  version: '0'
171
177
  requirements: []
172
- rubygems_version: 3.4.1
178
+ rubygems_version: 3.4.3
173
179
  signing_key:
174
180
  specification_version: 4
175
181
  summary: Capistrano plugin which helps you automatically change the admin state of