gleis 0.6.2 → 0.7.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: 3ad8f8e30fef22c8c714d92e602847f01d0ff7168e083cf134c223678545c43a
4
- data.tar.gz: 24e396158f978e59f026e129f5c789eef09be4241c4f2f4f024117e624cc5ec8
3
+ metadata.gz: 063df2154d7dfcdf43373c24c6e2716b266cbfb65e3ab7778a689731141761b3
4
+ data.tar.gz: cddf0a769273d7479d4cc2d9d202ac973668034841e8985b14a6f4f879244c79
5
5
  SHA512:
6
- metadata.gz: 51d40cf0a453b0ce8186cb0f4a5f99c5d46aa30cada7cae15834c7c9d02a0fb70cfec6168c983628de442a2d9cb04f1ac5ecd52a6c4ddf418c44c339e998b5c6
7
- data.tar.gz: a58043fce6783a3d38d7105abe198ec3bb63599eeb86286804fecac09b142ac7c11302bf99232470b044eb9f03496565771913f426b3acf78cac964fe627cbb5
6
+ metadata.gz: f24f837e150704e7b4c3d9c24a58f060249cf25e30e352273ff6e539a6a641025b04816b7594ba4a1412b12d54ae7232af423a3cc76630166c18dc9c0c4a3db1
7
+ data.tar.gz: 64a6eb9fea21950f26e94130b33c3a63651ea1308a6a3460cd8efbafc834925fb6eb7d512abec86cb0acd35a06e61f8ca8d8dae83c4e854496ec2cbaf021263f
data/CHANGELOG.md CHANGED
@@ -5,6 +5,23 @@ All notable changes to the Gleis CLI will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## 0.7.0 - 2020-03-07
9
+
10
+ ### Changed
11
+
12
+ - Version dependency of mdl, rest-client and rubocop
13
+ - Actual year of copyright to be dynamic
14
+ - API POST request read timeout from default of 60s to 600s
15
+
16
+ ### Added
17
+
18
+ - New command called rebuild in order to rebuild an app image from the git repo
19
+ - Rescue read timeout from API request
20
+
21
+ ### Fixed
22
+
23
+ - Error message when restarting a not yet deployed app by deprecating error_text usage
24
+
8
25
  ## 0.6.2 - 2019-08-24
9
26
 
10
27
  ### Fixed
data/exe/gleis CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'gleis/main'
4
4
 
5
- puts "\n### Gleis CLI Copyright (c) 2018-2019 towards GmbH - v#{Gleis::VERSION} - https://gleis.cloud ###\n\n" \
5
+ puts "\n### Gleis CLI Copyright (c) 2018-#{Time.new.year} towards GmbH - v#{Gleis::VERSION} - https://gleis.cloud ###\n\n" \
6
6
  unless ARGF.argv.include?('-q')
7
7
 
8
8
  trap 'SIGINT' do
data/lib/gleis/api.rb CHANGED
@@ -12,14 +12,14 @@ module Gleis
12
12
  resp = RestClient.send(method, url, 'X-Gleis-Token': token, content_type: :json, accept: :json,
13
13
  user_agent: user_agent)
14
14
  when 'post', 'put'
15
- if token
16
- resp =
17
- RestClient.send(method, url, body.to_json, 'X-Gleis-Token': token, content_type: :json, accept: :json,
18
- user_agent: user_agent)
19
- else
20
- resp = RestClient.send(method, url, body.to_json, content_type: :json, accept: :json,
15
+ resp = if token
16
+ RestClient::Request.execute(method: method.to_s, url: url, payload: body.to_json, read_timeout: 600,
17
+ headers: { 'X-Gleis-Token': token, 'Content-Type': 'application/json',
18
+ 'Accept': 'application/json', 'User-Agent': user_agent })
19
+ else
20
+ RestClient.send(method, url, body.to_json, content_type: :json, accept: :json,
21
21
  user_agent: user_agent)
22
- end
22
+ end
23
23
  when 'stream'
24
24
  stream_output = proc { |response|
25
25
  response.read_body do |chunk|
@@ -44,6 +44,8 @@ module Gleis
44
44
  abort('Application not found.')
45
45
  rescue RestClient::InternalServerError
46
46
  abort('An error occured on the platform. Please contact support if this problem persists.')
47
+ rescue RestClient::Exceptions::ReadTimeout
48
+ abort('The request timed out reading data from the platform.')
47
49
  rescue StandardError # (e.g. SocketError, Errno::ECONNREFUSED, RestClient::BadGateway, ...)
48
50
  abort('There was an issue connecting to the Gleis API server.')
49
51
  else
@@ -145,13 +145,25 @@ module Gleis
145
145
  end
146
146
  end
147
147
 
148
+ def self.rebuild(app_name)
149
+ token = Token.check
150
+ puts 'Please wait while rebuilding, it could take a few minutes depending on app dependencies and complexity...'
151
+ body = API.request('post', 'rebuild', token, 'name': app_name)
152
+ if body['success'] == 1
153
+ puts "\nSuccessfully rebuilt app from git repo, detailed output from image build below:"
154
+ puts body['data']
155
+ else
156
+ puts 'Failed to rebuild app: ' + body['message']
157
+ end
158
+ end
159
+
148
160
  def self.restart(app_name)
149
161
  token = Token.check
150
162
  body = API.request('post', 'restart', token, 'name': app_name)
151
163
  if body['success'] == 1
152
164
  puts 'Successfully restarted app using rolling update'
153
165
  else
154
- puts 'Failed to restart app: ' + body['error_text']
166
+ puts 'Failed to restart app: ' + body['message']
155
167
  end
156
168
  end
157
169
 
data/lib/gleis/cli/app.rb CHANGED
@@ -62,6 +62,11 @@ module Gleis
62
62
  Application.ps(options[:app])
63
63
  end
64
64
 
65
+ desc 'rebuild', 'Rebuild app from git repo'
66
+ def rebuild
67
+ Application.rebuild(options[:app])
68
+ end
69
+
65
70
  desc 'restart', 'Restart application (rolling update)'
66
71
  def restart
67
72
  Application.restart(options[:app])
data/lib/gleis/config.rb CHANGED
@@ -9,7 +9,7 @@ module Gleis
9
9
 
10
10
  def self.get_env_vars(app_name, token)
11
11
  body = API.request('get', "config/#{app_name}", token)
12
- abort("Failed to get app environment variables: #{body['error_text']}") if body['success'] != 1
12
+ abort("Failed to get app environment variables: #{body['message']}") if body['success'] != 1
13
13
  body
14
14
  end
15
15
 
@@ -21,7 +21,7 @@ module Gleis
21
21
  def self.license
22
22
  puts <<LICENSE
23
23
  Gleis Command Line Interface for the Gleis Platform as a Service
24
- Copyright (C) 2018-2019 towards GmbH
24
+ Copyright (C) 2018-#{Time.new.year} towards GmbH
25
25
 
26
26
  This program is free software: you can redistribute it and/or modify
27
27
  it under the terms of the GNU General Public License as published by
data/lib/gleis/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Gleis
2
- VERSION = '0.6.2'
2
+ VERSION = '0.7.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gleis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marc Bigler
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-24 00:00:00.000000000 Z
11
+ date: 2020-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.5'
47
+ version: '0.8'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.5'
54
+ version: '0.8'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,28 +86,28 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0.66'
89
+ version: 0.68.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0.66'
96
+ version: 0.68.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rest-client
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 2.0.0
103
+ version: 2.1.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 2.0.0
110
+ version: 2.1.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: thor
113
113
  requirement: !ruby/object:Gem::Requirement