cuber 1.4.0 → 1.6.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: f3c3f1360d10e9b55b0c4f0834d8b63b1ff3c633c6494614be9eca6fd7a5a4d2
4
- data.tar.gz: b86d180914c922da1dea746b4a741b266048a4aa0209ca3c5276e22f2bf901fa
3
+ metadata.gz: 39f690dbfe51c572573fa0bf59c5f43c1b2806576aed7249afafa94d9184f146
4
+ data.tar.gz: 03a35ba128901bb1d2a86a95f517cfeb44383da40b5351914ccdda21e8d21315
5
5
  SHA512:
6
- metadata.gz: 36c76161ea6ec606cb59afc2cd3d8d3c8506579e66520e314f4aff882367a9e736f53b77cc93c1b603af55eef18c78ae04f799c8f2bcd35cdfc3522284ffd54a
7
- data.tar.gz: 56c369603b1780f64b8ec38d335f5628044067875c186f03e930769678fef358e2de8b31dd5c63766b65e8f42ee921b50e5bfd28ec96213758aef779086755c6
6
+ metadata.gz: 1800876c72eac1ad1066cf17bdf139ee3ce204c3d32eff529dad6fd031632a0c1c8b912012fb37ce900d912d76f846bdfd9ffdc505cbbc6e54f1fd80ceecff92
7
+ data.tar.gz: f6a2dc6449e62325d82d988b392b9dd2cea53cc7584701fe7901093c7d6ceef009114f7dda2a95bec25f9426d40fcc56e333bd7240309f3d272341cde8a0a486
@@ -0,0 +1,14 @@
1
+ module Cuber::Commands
2
+ class Ctl
3
+ include Cuber::Utils
4
+
5
+ def initialize options
6
+ @options = options
7
+ end
8
+
9
+ def execute
10
+ kubectl *ARGV
11
+ end
12
+
13
+ end
14
+ end
@@ -109,8 +109,8 @@ module Cuber::Commands
109
109
  name = pod['metadata']['name']
110
110
  created_at = pod['metadata']['creationTimestamp']
111
111
  pod_status = pod['status']['phase']
112
- container_ready = pod['status']['containerStatuses'][0]['ready']
113
- container_status = pod['status']['containerStatuses'][0]['state'].values.first['reason']
112
+ container_ready = pod.dig('status', 'containerStatuses', 0, 'ready')
113
+ container_status = pod.dig('status', 'containerStatuses', 0, 'state')&.values&.first&.[]('reason')
114
114
  if pod_status == 'Succeeded' || (pod_status == 'Running' && container_ready)
115
115
  puts "#{name}: \e[32m#{container_status || pod_status}\e[0m (#{time_ago_in_words created_at})"
116
116
  else
@@ -64,8 +64,8 @@ module Cuber
64
64
  @migrate = { cmd: cmd, check: check }
65
65
  end
66
66
 
67
- def proc name, cmd, scale: 1, term: 60, env: {}
68
- @procs[name] = { cmd: cmd, scale: scale, term: term, env: env }
67
+ def proc name, cmd, scale: 1, cpu: nil, ram: nil, term: 60, env: {}
68
+ @procs[name] = { cmd: cmd, scale: scale, cpu: cpu, ram: ram, term: term, env: env }
69
69
  end
70
70
 
71
71
  def cron name, schedule, cmd
@@ -81,6 +81,8 @@ module Cuber
81
81
  @errors << "proc \"#{procname}\" name can only include lowercase letters" if procname !~ /\A[a-z]+\z/
82
82
  @errors << "proc \"#{procname}\" command must be present" if proc[:cmd].to_s.strip.empty?
83
83
  @errors << "proc \"#{procname}\" scale must be a positive number" unless proc[:scale].is_a?(Integer) && proc[:scale] > 0
84
+ @errors << "proc \"#{procname}\" cpu must be a positive number" unless proc[:cpu].nil? || proc[:cpu].is_a?(Numeric) && proc[:cpu] > 0
85
+ @errors << "proc \"#{procname}\" ram must be a positive number" unless proc[:ram].nil? || proc[:ram].is_a?(Numeric) && proc[:ram] > 0
84
86
  @errors << "proc \"#{procname}\" term must be a positive number" unless proc[:term].is_a?(Integer) && proc[:term] > 0
85
87
  proc[:env].each do |key, value|
86
88
  @errors << "proc \"#{procname}\" env name can only include uppercase letters, digits or underscores" if key !~ /\A[A-Z_]+[A-Z0-9_]*\z/
@@ -137,6 +137,18 @@ spec:
137
137
  <%- else -%>
138
138
  command: <%= proc[:cmd].shellsplit %>
139
139
  <%- end -%>
140
+ resources:
141
+ requests:
142
+ <%- if proc[:cpu] -%>
143
+ cpu: <%= proc[:cpu] %>
144
+ <%- end -%>
145
+ <%- if proc[:ram] -%>
146
+ memory: <%= proc[:ram] %>Gi
147
+ <%- end -%>
148
+ limits:
149
+ <%- if proc[:ram] -%>
150
+ memory: <%= proc[:ram] %>Gi
151
+ <%- end -%>
140
152
  envFrom:
141
153
  - configMapRef:
142
154
  name: env
data/lib/cuber/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Cuber
2
- VERSION = '1.4.0'.freeze
2
+ VERSION = '1.6.0'.freeze
3
3
  end
data/lib/cuber.rb CHANGED
@@ -9,6 +9,7 @@ require 'cuber/commands/logs'
9
9
  require 'cuber/commands/restart'
10
10
  require 'cuber/commands/run'
11
11
  require 'cuber/commands/deploy'
12
+ require 'cuber/commands/ctl'
12
13
 
13
14
  module Cuber
14
15
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cuber
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cuber
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-31 00:00:00.000000000 Z
11
+ date: 2022-11-01 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email:
@@ -23,6 +23,7 @@ files:
23
23
  - cuber.gemspec
24
24
  - lib/cuber.rb
25
25
  - lib/cuber/cli.rb
26
+ - lib/cuber/commands/ctl.rb
26
27
  - lib/cuber/commands/deploy.rb
27
28
  - lib/cuber/commands/info.rb
28
29
  - lib/cuber/commands/logs.rb