cuber 1.8.0 → 1.10.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: 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: