cuber 1.8.0 → 1.10.0

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: 8c28c18ed3acd87a99a88d336b9b729d4089efe1f97224b9bc4d16058a7ace8e
4
- data.tar.gz: 36957c9449da91c15284dbd041edef524627c33dbf3252300049baf717f64c5b
3
+ metadata.gz: 3ca7d84411e2b7547a373b76894795cc4897390e05c299c9f0e3a76c23b9d80c
4
+ data.tar.gz: bb50003cf609aad7beeadba07ab288650621d84f05c78609df473141605851b5
5
5
  SHA512:
6
- metadata.gz: 8498fc1f4c44b8e6fe4ed0939eec0e6229bb44e0dc66da2eb1e504e3304d0e2f74dc5d5ba40a123f884d9550fa584e245400cf0a1e3124beda52c0a078a48628
7
- data.tar.gz: 2f76ecbc4462b448069ec251ccfebbc9c4def63ca4be2e2378d37e63b3db8df38ea889830b4a1ef0e73be51a9f2de418fc81bb3f83c5c79eb46080825a2706d8
6
+ metadata.gz: 94403e16a1203366e96287f172e75bfe1362c5025e8000b01adf5210330b46ac974dee6ab5c86857660ef4f3db083ba6611faf88af13d737e44c80140817d836
7
+ data.tar.gz: ea49d6d4c512e08067b6a466155c417143bc6e2edf1a54f2c68c90be06e924ad665799bec2081b1cef01f70fdda025394d790602ba66d03a96550fc31d31771f
data/README.md CHANGED
@@ -72,6 +72,12 @@ $ cuber info
72
72
 
73
73
  Check out the [Cuberfile configuration](https://cuber.cloud/docs/cuberfile) and the [Cuber CLI commands](https://cuber.cloud/docs/cli) for more information.
74
74
 
75
+ ## Production-ready
76
+
77
+ We have built Cuber for scaling [Pushpad](https://pushpad.xyz). Cuber has been used in production for over a year and it is stable and reliable. We had 100% uptime and we saved 80% on cloud costs.
78
+
79
+ Cuber is a mature project that has all the features needed for deploying applications on Kubernetes and it is used every day for several projects.
80
+
75
81
  ## License
76
82
 
77
83
  Cuber is released under the [Apache-2.0 license](https://opensource.org/licenses/Apache-2.0).
@@ -3,9 +3,9 @@ apiVersion: v1
3
3
  metadata:
4
4
  name: <%= @options[:app] %>
5
5
  labels:
6
- app.kubernetes.io/name: <%= @options[:app] %>
7
- app.kubernetes.io/instance: <%= @options[:instance] %>
8
- app.kubernetes.io/version: <%= @options[:release] %>
6
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
7
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
8
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
9
9
  app.kubernetes.io/managed-by: cuber
10
10
  annotations:
11
11
  image: <%= @options[:image].to_s.to_json %>
@@ -19,9 +19,9 @@ metadata:
19
19
  name: regcred
20
20
  namespace: <%= @options[:app] %>
21
21
  labels:
22
- app.kubernetes.io/name: <%= @options[:app] %>
23
- app.kubernetes.io/instance: <%= @options[:instance] %>
24
- app.kubernetes.io/version: <%= @options[:release] %>
22
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
23
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
24
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
25
25
  app.kubernetes.io/managed-by: cuber
26
26
  data:
27
27
  .dockerconfigjson: <%= @options[:dockerconfigjson] %>
@@ -34,9 +34,9 @@ metadata:
34
34
  name: app-secrets
35
35
  namespace: <%= @options[:app] %>
36
36
  labels:
37
- app.kubernetes.io/name: <%= @options[:app] %>
38
- app.kubernetes.io/instance: <%= @options[:instance] %>
39
- app.kubernetes.io/version: <%= @options[:release] %>
37
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
38
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
39
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
40
40
  app.kubernetes.io/managed-by: cuber
41
41
  data:
42
42
  <%- @options[:secrets].each do |key, value| -%>
@@ -50,9 +50,9 @@ metadata:
50
50
  name: env
51
51
  namespace: <%= @options[:app] %>
52
52
  labels:
53
- app.kubernetes.io/name: <%= @options[:app] %>
54
- app.kubernetes.io/instance: <%= @options[:instance] %>
55
- app.kubernetes.io/version: <%= @options[:release] %>
53
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
54
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
55
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
56
56
  app.kubernetes.io/managed-by: cuber
57
57
  data:
58
58
  <%- @options[:env].each do |key, value| -%>
@@ -66,9 +66,9 @@ metadata:
66
66
  name: web-pdb
67
67
  namespace: <%= @options[:app] %>
68
68
  labels:
69
- app.kubernetes.io/name: <%= @options[:app] %>
70
- app.kubernetes.io/instance: <%= @options[:instance] %>
71
- app.kubernetes.io/version: <%= @options[:release] %>
69
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
70
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
71
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
72
72
  app.kubernetes.io/managed-by: cuber
73
73
  spec:
74
74
  maxUnavailable: "50%"
@@ -84,17 +84,17 @@ metadata:
84
84
  name: migrate-<%= @options[:instance] %>
85
85
  namespace: <%= @options[:app] %>
86
86
  labels:
87
- app.kubernetes.io/name: <%= @options[:app] %>
88
- app.kubernetes.io/instance: <%= @options[:instance] %>
89
- app.kubernetes.io/version: <%= @options[:release] %>
87
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
88
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
89
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
90
90
  app.kubernetes.io/managed-by: cuber
91
91
  spec:
92
92
  template:
93
93
  metadata:
94
94
  labels:
95
- app.kubernetes.io/name: <%= @options[:app] %>
96
- app.kubernetes.io/instance: <%= @options[:instance] %>
97
- app.kubernetes.io/version: <%= @options[:release] %>
95
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
96
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
97
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
98
98
  app.kubernetes.io/managed-by: cuber
99
99
  spec:
100
100
  containers:
@@ -125,9 +125,9 @@ metadata:
125
125
  name: <%= procname %>
126
126
  namespace: <%= @options[:app] %>
127
127
  labels:
128
- app.kubernetes.io/name: <%= @options[:app] %>
129
- app.kubernetes.io/instance: <%= @options[:instance] %>
130
- app.kubernetes.io/version: <%= @options[:release] %>
128
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
129
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
130
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
131
131
  app.kubernetes.io/managed-by: cuber
132
132
  spec:
133
133
  revisionHistoryLimit: 0
@@ -135,12 +135,17 @@ spec:
135
135
  selector:
136
136
  matchLabels:
137
137
  app: <%= procname %>-proc
138
+ strategy:
139
+ type: RollingUpdate
140
+ rollingUpdate:
141
+ maxUnavailable: "25%"
142
+ maxSurge: 0
138
143
  template:
139
144
  metadata:
140
145
  labels:
141
- app.kubernetes.io/name: <%= @options[:app] %>
142
- app.kubernetes.io/instance: <%= @options[:instance] %>
143
- app.kubernetes.io/version: <%= @options[:release] %>
146
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
147
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
148
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
144
149
  app.kubernetes.io/managed-by: cuber
145
150
  app: <%= procname %>-proc
146
151
  spec:
@@ -192,6 +197,11 @@ spec:
192
197
  value: <%= URI.parse(@options[:health]).host.to_json %>
193
198
  - name: X-Forwarded-Proto
194
199
  value: <%= URI.parse(@options[:health]).scheme.to_json %>
200
+ initialDelaySeconds: 0
201
+ periodSeconds: 10
202
+ timeoutSeconds: 5
203
+ successThreshold: 1
204
+ failureThreshold: 3
195
205
  <%- end -%>
196
206
  <%- if @options[:migrate] && @options[:migrate][:check] -%>
197
207
  initContainers:
@@ -223,9 +233,9 @@ metadata:
223
233
  name: cron-<%= jobname %>
224
234
  namespace: <%= @options[:app] %>
225
235
  labels:
226
- app.kubernetes.io/name: <%= @options[:app] %>
227
- app.kubernetes.io/instance: <%= @options[:instance] %>
228
- app.kubernetes.io/version: <%= @options[:release] %>
236
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
237
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
238
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
229
239
  app.kubernetes.io/managed-by: cuber
230
240
  spec:
231
241
  schedule: <%= cron[:schedule].to_s.to_json %>
@@ -235,18 +245,18 @@ spec:
235
245
  jobTemplate:
236
246
  metadata:
237
247
  labels:
238
- app.kubernetes.io/name: <%= @options[:app] %>
239
- app.kubernetes.io/instance: <%= @options[:instance] %>
240
- app.kubernetes.io/version: <%= @options[:release] %>
248
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
249
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
250
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
241
251
  app.kubernetes.io/managed-by: cuber
242
252
  spec:
243
253
  backoffLimit: 0
244
254
  template:
245
255
  metadata:
246
256
  labels:
247
- app.kubernetes.io/name: <%= @options[:app] %>
248
- app.kubernetes.io/instance: <%= @options[:instance] %>
249
- app.kubernetes.io/version: <%= @options[:release] %>
257
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
258
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
259
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
250
260
  app.kubernetes.io/managed-by: cuber
251
261
  spec:
252
262
  containers:
@@ -277,9 +287,9 @@ metadata:
277
287
  name: ssl
278
288
  namespace: <%= @options[:app] %>
279
289
  labels:
280
- app.kubernetes.io/name: <%= @options[:app] %>
281
- app.kubernetes.io/instance: <%= @options[:instance] %>
282
- app.kubernetes.io/version: <%= @options[:release] %>
290
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
291
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
292
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
283
293
  app.kubernetes.io/managed-by: cuber
284
294
  data:
285
295
  tls.crt: <%= Base64.strict_encode64 File.read @options[:ssl][:crt] %>
@@ -295,9 +305,9 @@ metadata:
295
305
  name: web-service
296
306
  namespace: <%= @options[:app] %>
297
307
  labels:
298
- app.kubernetes.io/name: <%= @options[:app] %>
299
- app.kubernetes.io/instance: <%= @options[:instance] %>
300
- app.kubernetes.io/version: <%= @options[:release] %>
308
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
309
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
310
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
301
311
  app.kubernetes.io/managed-by: cuber
302
312
  spec:
303
313
  selector:
@@ -314,9 +324,9 @@ metadata:
314
324
  name: web-ingress
315
325
  namespace: <%= @options[:app] %>
316
326
  labels:
317
- app.kubernetes.io/name: <%= @options[:app] %>
318
- app.kubernetes.io/instance: <%= @options[:instance] %>
319
- app.kubernetes.io/version: <%= @options[:release] %>
327
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
328
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
329
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
320
330
  app.kubernetes.io/managed-by: cuber
321
331
  annotations:
322
332
  <%- @options[:lb].each do |key, value| -%>
@@ -345,9 +355,9 @@ metadata:
345
355
  name: load-balancer
346
356
  namespace: <%= @options[:app] %>
347
357
  labels:
348
- app.kubernetes.io/name: <%= @options[:app] %>
349
- app.kubernetes.io/instance: <%= @options[:instance] %>
350
- app.kubernetes.io/version: <%= @options[:release] %>
358
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
359
+ app.kubernetes.io/instance: <%= @options[:instance].to_s.to_json %>
360
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
351
361
  app.kubernetes.io/managed-by: cuber
352
362
  annotations:
353
363
  <%- @options[:lb].each do |key, value| -%>
@@ -4,8 +4,8 @@ metadata:
4
4
  name: <%= @options[:pod] %>
5
5
  namespace: <%= @options[:app] %>
6
6
  labels:
7
- app.kubernetes.io/name: <%= @options[:app] %>
8
- app.kubernetes.io/version: <%= @options[:release] %>
7
+ app.kubernetes.io/name: <%= @options[:app].to_s.to_json %>
8
+ app.kubernetes.io/version: <%= @options[:release].to_s.to_json %>
9
9
  app.kubernetes.io/managed-by: cuber
10
10
  spec:
11
11
  containers:
data/lib/cuber/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Cuber
2
- VERSION = '1.8.0'.freeze
2
+ VERSION = '1.10.0'.freeze
3
3
  end
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.8.0
4
+ version: 1.10.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-11-08 00:00:00.000000000 Z
11
+ date: 2024-06-07 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: