cuber 1.1.0 → 1.2.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: b5561ce42263c62d390dc44cff4a723add20afd04bf432511f16d28259889c6e
4
- data.tar.gz: e0740fa2bee7dc18e9bc3d6304fcb73b592a5c114bab3df8349cbd9e82b2547d
3
+ metadata.gz: d4b36e2d9b11669f4aa8d1eaf04375e85e7135b3e5be12924b7a8f62b394fbf2
4
+ data.tar.gz: 6332709bee9143286770fe82d2b8976bbf059133bc7363b9200f3ceca4110519
5
5
  SHA512:
6
- metadata.gz: 1a3877f6bcfda0e789a3b9f906fd89026976bc7402491b82e106a80965376011e86425f208abc0ebb13cc56ed8272addd2b1511125a8911504bcb7a206d10e0e
7
- data.tar.gz: d9faec4d34f5a3c756168e4b57898cc61411da003ad103b0911b24af39996bd1d936cbd40cdd49141e4caae3ab261f2ef37b0fa0a6b7b6b24551bb8c8cce8118
6
+ metadata.gz: af70975fa688f9fbae511e0be3405fcb898e2f4c107663f9a8b9760cb8e128e0fffab18f800d5d726b5f28108fa5643e31b67cc28aaa85b7fee2411b9ccff3f0
7
+ data.tar.gz: e865fe68c6b1d7d27f7f47594a84efc303be7eea871562d0d746ec60ab76046399e77175b00cfa392b502a41467854f4e871d10099efdbe0120da62834d9478b
data/README.md CHANGED
@@ -1,5 +1,86 @@
1
- # Cuber
1
+ <a href="https://cuber.cloud"><img src="https://cuber.cloud/assets/images/logo.svg" alt="Cuber" height="80" width="80"></a>
2
+
3
+ # CUBER
4
+
5
+ [![Gem Version](https://badge.fury.io/rb/cuber.svg)](https://badge.fury.io/rb/cuber)
2
6
 
3
7
  Deploy your apps on Kubernetes easily.
4
8
 
5
- [cuber.cloud →](https://cuber.cloud)
9
+ ## What is Cuber?
10
+
11
+ Cuber is an automation tool (written in Ruby) that can package and deploy your apps (written in any language and framework) on Kubernetes.
12
+
13
+ Unlike other tools that add more options and more complexity to Kubernetes, Cuber is made to simplify and reduce the complexity.
14
+ You just need to create a `Cuberfile`, with ~10 lines of code, and then type `cuber deploy` to package and deploy your app on any Kubernetes cluster.
15
+
16
+ Kubernetes is up to 80% cheaper compared to PaaS like Heroku and you can choose between different cloud providers (no lock-in).
17
+ It is also reliable and it can scale enterprise applications at any size.
18
+ The only downside is that it's difficult to master...
19
+ Cuber makes Kubernetes simple!
20
+ In this way you have the simplicity of a PaaS, at the cost of bare infrastructure and without the additional cost of a DevOps team.
21
+
22
+ [Read more](https://cuber.cloud/docs/overview)
23
+
24
+ ## Installation
25
+
26
+ First you need to [install the prerequisites](https://cuber.cloud/docs/installation): `ruby`, `git`, `docker`, `pack`, `kubectl`.
27
+
28
+ Then install Cuber:
29
+
30
+ ```
31
+ $ gem install cuber
32
+ ```
33
+
34
+ ## Quickstart
35
+
36
+ Open your application folder and create a `Cuberfile`, for example:
37
+
38
+ ```ruby
39
+ # Give a name to your app
40
+ app 'myapp'
41
+
42
+ # Get the code from this Git repository
43
+ repo '.'
44
+
45
+ # Build the Docker image automatically (or provide a Dockerfile)
46
+ buildpacks 'heroku/buildpacks:20'
47
+
48
+ # Publish the Docker image in a registry
49
+ image 'username/myapp'
50
+
51
+ # Connect to this Kubernetes cluster
52
+ kubeconfig 'path/to/kubeconfig.yml'
53
+
54
+ # Run and scale any command on Kubernetes
55
+ proc :web, 'your web server command'
56
+ ```
57
+
58
+ You can also see [a more complete example](https://cuber.cloud/docs/quickstart).
59
+
60
+ Then in your terminal:
61
+
62
+ ```
63
+ $ cuber deploy
64
+ ```
65
+
66
+ Finally you can also monitor the status of your application:
67
+
68
+ ```
69
+ $ cuber info
70
+ ```
71
+
72
+ Check out the [Cuberfile configuration](https://cuber.cloud/docs/cuberfile) and the [Cuber CLI commands](https://cuber.cloud/docs/cli) for more information.
73
+
74
+ ## License
75
+
76
+ Cuber is released under a source-available license:
77
+ [Standard Source Available License (SSAL)](https://github.com/collimarco/Standard-Source-Available-License)
78
+
79
+ Cuber is completely free up to 5 procs per app (and you can publish unlimited apps). If you are a large customer, and you need more procs to scale your applications, please [purchase a license](https://cuber.cloud/buy) (it also includes dedicated support).
80
+
81
+ Contributions are welcome: you can fork this project on GitHub and submit a pull request. If you submit a change / fix, we can use it without restrictions and you transfer the copyright of your contribution to Cuber.
82
+
83
+ ## Learn more
84
+
85
+ You can find more information and documentation on [cuber.cloud →](https://cuber.cloud)
86
+
data/SSAL-LICENSE ADDED
@@ -0,0 +1,9 @@
1
+ Copyright 2022 Cuber (AbstractBrain srls)
2
+
3
+ Use and modifications are permitted under the following conditions:
4
+
5
+ 1. The above copyright notice and this permission must be retained in all copies.
6
+ 2. The modifications to the software must not circumvent license key validations or other license-related code.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.
9
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY.
data/cuber.gemspec CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |s|
6
6
  s.summary = 'Deploy your apps on Kubernetes easily.'
7
7
  s.author = 'Cuber'
8
8
  s.homepage = 'https://cuber.cloud'
9
- s.license = 'LicenseRef-LICENSE.md'
9
+ s.license = 'LicenseRef-SSAL-LICENSE'
10
10
  s.executables = ['cuber']
11
11
  s.files = `git ls-files`.split("\n")
12
12
  s.add_dependency 'jwt'
@@ -36,7 +36,10 @@ module Cuber::Commands
36
36
  path = '.cuber/repo'
37
37
  FileUtils.mkdir_p path
38
38
  FileUtils.rm_rf path, secure: true
39
- system('git', 'clone', '--depth', '1', @options[:repo], path) || abort('Cuber: git clone failed')
39
+ cmd = ['git', 'clone']
40
+ cmd += ['--branch', @options[:repo][:branch]] if @options[:repo][:branch]
41
+ cmd += ['--depth', '1', @options[:repo][:url], path]
42
+ system(*cmd) || abort('Cuber: git clone failed')
40
43
  end
41
44
 
42
45
  def commit_hash
@@ -32,8 +32,8 @@ module Cuber
32
32
  @release = version
33
33
  end
34
34
 
35
- def repo uri
36
- @repo = uri
35
+ def repo url, branch: nil
36
+ @repo = { url: url, branch: branch }
37
37
  end
38
38
 
39
39
  def buildpacks builder
@@ -41,7 +41,7 @@ module Cuber
41
41
  end
42
42
 
43
43
  def validate_repo
44
- @errors << 'repo must be present' if @options[:repo].to_s.strip.empty?
44
+ @errors << 'repo must be present' if @options[:repo].nil? || @options[:repo][:url].to_s.strip.empty?
45
45
  end
46
46
 
47
47
  def validate_buildpacks
data/lib/cuber/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Cuber
2
- VERSION = '1.1.0'.freeze
2
+ VERSION = '1.2.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.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cuber
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-19 00:00:00.000000000 Z
11
+ date: 2022-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt
@@ -24,15 +24,15 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- description:
28
- email:
27
+ description:
28
+ email:
29
29
  executables:
30
30
  - cuber
31
31
  extensions: []
32
32
  extra_rdoc_files: []
33
33
  files:
34
- - LICENSE.md
35
34
  - README.md
35
+ - SSAL-LICENSE
36
36
  - bin/cuber
37
37
  - cuber.gemspec
38
38
  - lib/cuber.rb
@@ -51,9 +51,9 @@ files:
51
51
  - lib/cuber/version.rb
52
52
  homepage: https://cuber.cloud
53
53
  licenses:
54
- - LicenseRef-LICENSE.md
54
+ - LicenseRef-SSAL-LICENSE
55
55
  metadata: {}
56
- post_install_message:
56
+ post_install_message:
57
57
  rdoc_options: []
58
58
  require_paths:
59
59
  - lib
@@ -68,8 +68,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  requirements: []
71
- rubygems_version: 3.2.32
72
- signing_key:
71
+ rubygems_version: 3.0.3.1
72
+ signing_key:
73
73
  specification_version: 4
74
74
  summary: Deploy your apps on Kubernetes easily.
75
75
  test_files: []
data/LICENSE.md DELETED
@@ -1,56 +0,0 @@
1
- # Cuber License
2
-
3
- Copyright 2021 Cuber (AbstractBrain srls)
4
-
5
- *This software end-user license agreement (EULA) is a legal agreement between you, the customer who has obtained a copy of the software, as an individual or as an organization, and Cuber (AbstractBrain srls).*
6
-
7
- ## License Grant
8
- This EULA grants you a non-exclusive, non-transferable, limited license to install and use this software. You can use any number of copies of this software inside your organization.
9
-
10
- ## Ownership
11
- The ownership and copyright of the software belongs to Cuber and is not transferred in any way by this license.
12
-
13
- ## Restricted Uses
14
- You are not allowed to distribute, publish, sublicense or sell copies of this software.
15
- It is your responsibility to never share your license key.
16
- You are also not allowed to use the software as part of a product or service that provides similar functionality to the software itself.
17
-
18
- ## Modifications
19
- You are allowed to inspect and make changes to this software for private use, excluding any modification made to circumvent licenses or copyright. You are also allowed to make temporary forks of the project in order to contribute to it. This EULA also applies to modified versions of the software.
20
-
21
- ## Contributions and Copyright Transfer
22
- In case you contribute to the project, for example with suggestions or pull requests, you assign all rights, including copyright, from yourself to Cuber. You also confirm that your employer, if you have one, has given you the right to do so.
23
-
24
- ## No Warranty
25
- This software is provided “as is” without warranty of any kind, either express or implied.
26
-
27
- ## Limitation of Liability
28
- In no event shall the author of this software be liable for any damages (including, without limitation, damages for loss of business profits, business interruption, loss of data, or any other pecuniary loss), even if the author of this software is aware of the possibility of such damages and known defects.
29
- In no event will Cuber liability exceed the software license price as indicated in the invoice.
30
-
31
- ## Use of Data
32
- Cuber does not collect any kind of data, except for what is strictly necessary for billing purposes.
33
-
34
- ## Software Updates
35
- You can receive software updates, if any, for the duration of the license that you have purchased.
36
-
37
- ## Fees and Payment
38
- You can use this software for free, within the limits of the free tier, if present. When you purchase a license key, the software license fees will be due and payable in full at the time of purchase or when you decide to renew the license because it is expiring.
39
-
40
- ## Expiration of License Key
41
- A license key has a limited duration and must be renewed after that billing period if you want to continue to use the software with all its functionalities.
42
-
43
- ## Termination
44
- If the license expires or it is terminated due to violation of these terms or because one of the parties requests the termination of this contract, you must destroy all the copies of the software, including any modified version.
45
-
46
- ## Third Party Software
47
- Third party software that is used by this software is subject to the respective license and is not subject to this EULA.
48
-
49
- ## Governing Law
50
- This agreement is governed by the Italian law and you agree that any dispute arising from or relating to the subject matter of this EULA shall be governed by the exclusive jurisdiction and venue of the Italian courts.
51
-
52
- ## Amendment
53
- Cuber reserves the right, in its sole discretion, to amend this EULA. You can find an updated version of this EULA by visiting <https://github.com/cuber-cloud/cuber-gem/blob/master/LICENSE.md>
54
-
55
- ## License and Copyright Notice
56
- This license and the copyright notice must be retained on any copy of the software.