cloudimages-rundeck 0.1.3 → 0.1.4

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
  SHA1:
3
- metadata.gz: 9377abad6be68abeb6d21535f40252b8e00280f8
4
- data.tar.gz: 496dff1db2b63d0941a387ea4eb942bff3b450a4
3
+ metadata.gz: 058b890b179864b3c654909375c000c783a337d3
4
+ data.tar.gz: dfefc9b164eeebd437bcf927b6baeb230723450f
5
5
  SHA512:
6
- metadata.gz: 6d3cfbfd533dc22f01d775b4e2686efa948fac17a117a2e94872ea3916d926bb640ddf8d767ed747a3ce8d31b0a6f006cc9bd700f8b3ea958aa038a40ced31cf
7
- data.tar.gz: 6df769dc34a548a587d38bd6e4d5d7d76d16c3ff2381b123f5d565c695e03102ac70972321542b395cce6c92ba8e122dc667706cfef5b026e89686e4acc0fd69
6
+ metadata.gz: f202b13266ab5a01af9525a09ae5802b4fedc25d97303dbc4fe1f347ec84e9346aa7e32a02304fd4fb54b8a57f17528fc536b6e352debfc009c787d70fccd7c6
7
+ data.tar.gz: f459398e779a62e6590104d382c059797cc88f4ac6f8efbc54cb98714e27162a7e8f20bb000b39014eb19f50490f547ab6d8ffc6faec27072fe8957fe40d54e4
@@ -0,0 +1,33 @@
1
+ CloudImages-RunDeck Changelog
2
+ =========================
3
+ This file is used to list changes made in each version of the `cloudimages-rundeck` gem.
4
+
5
+ v0.1.4 (2016-10-31)
6
+ -------------------
7
+ ### Improvements
8
+ - Ensure that we never nuke all images during cleanup. `keep` must be set greater than or equal to 1
9
+ - Better return validation & error handling for `cleanup` endpoint
10
+ - Security: Hide `config` endpoint unless running in development mode
11
+
12
+ v0.1.3 (2016-10-28)
13
+ -------------------
14
+ ### Improvements
15
+ - Added Image Cleanup endpoint - ` POST /images/v1/cleanup`
16
+ - Use the `filter` query_param to filter the images
17
+ - Use the `keep` query_param to specify how many images to keep
18
+ - If either of these are not specified, the return will be null
19
+ - Currently sorts by ImageID in descending order. The first `keep` images will be kept
20
+
21
+ v0.1.2 (2016-10-07)
22
+ -------------------
23
+ ### Bug Fixes
24
+ - Fixed value return for RunDeck consumption -- It only likes string values, not integers.
25
+
26
+ v0.1.1 (2016-10-06)
27
+ -------------------
28
+ ### Improvements
29
+ - Security: Add ability to check if a string is an existing file, and return its content. This keeps keys out of config files.
30
+
31
+ v0.1.0 (2016-10-06)
32
+ -------------------
33
+ - Initial Release
data/Gemfile CHANGED
@@ -1,8 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'droplet_kit' # => DigitalOcean API Interaction
4
- # => gem 'hashie' # => Data Structure
5
- # => gem 'logify' # => Logging
6
4
  gem 'mixlib-cli' # => Option Parsing
7
5
  gem 'rack-cache' # => Cache Responses
8
6
  gem 'sinatra' # => Web Server
@@ -30,8 +30,8 @@ Gem::Specification.new do |spec|
30
30
  spec.require_paths = ['lib']
31
31
 
32
32
  # => Dependencies
33
- spec.add_runtime_dependency 'droplet_kit', '~> 1.4'
34
- spec.add_runtime_dependency 'mixlib-cli', '~> 1.6'
33
+ spec.add_runtime_dependency 'droplet_kit', '~> 2.0'
34
+ spec.add_runtime_dependency 'mixlib-cli', '~> 1.7'
35
35
  spec.add_runtime_dependency 'rack-cache', '~> 1.6'
36
36
  spec.add_runtime_dependency 'sinatra', '~> 1.4'
37
37
  spec.add_runtime_dependency 'sinatra-contrib', '~> 1.4'
@@ -2,7 +2,7 @@
2
2
  # rubocop: disable LineLength
3
3
  #
4
4
  # Gem Name:: cloudimages-rundeck
5
- # DeployInfo:: API
5
+ # CloudImagesRunDeck:: API
6
6
  #
7
7
  # Copyright (C) 2016 Brian Dwyer - Intelligent Digital Services
8
8
  #
@@ -67,7 +67,7 @@ module CloudImagesRunDeck
67
67
  { 'Sinatra Info' => env }
68
68
  ].compact
69
69
  )
70
- end
70
+ end if development?
71
71
 
72
72
  ########################
73
73
  # => JSON API <= #
@@ -2,7 +2,7 @@
2
2
  # rubocop: disable LineLength, MethodLength, AbcSize
3
3
  #
4
4
  # Gem Name:: cloudimages-rundeck
5
- # DeployInfo:: CLI
5
+ # CloudImagesRunDeck:: CLI
6
6
  #
7
7
  # Copyright (C) 2016 Brian Dwyer - Intelligent Digital Services
8
8
  #
@@ -54,8 +54,7 @@ module CloudImagesRunDeck
54
54
  option :environment,
55
55
  short: '-e ENV',
56
56
  long: '--env ENV',
57
- description: 'Sets the environment for cloudimages-rundeck to execute under. Use "development" for more logging.',
58
- default: 'production'
57
+ description: "Sets the environment for cloudimages-rundeck to execute under. Use 'development' for more logging. (Default: #{Config.environment})"
59
58
  end
60
59
 
61
60
  # => Launch the Application
@@ -79,7 +78,7 @@ module CloudImagesRunDeck
79
78
  cfg.cache_timeout = config[:cache_timeout].to_i
80
79
  cfg.bind = config[:bind]
81
80
  cfg.port = config[:port]
82
- cfg.environment = config[:environment].to_sym
81
+ cfg.environment = config[:environment].to_sym.downcase
83
82
  cfg.do_api_key = config[:do_api_key]
84
83
  end
85
84
 
@@ -1,7 +1,7 @@
1
1
  # Encoding: UTF-8
2
2
  #
3
3
  # Gem Name:: cloudimages-rundeck
4
- # DeployInfo:: Config
4
+ # CloudImagesRunDeck:: Config
5
5
  #
6
6
  # Copyright (C) 2016 Brian Dwyer - Intelligent Digital Services
7
7
  #
@@ -2,7 +2,7 @@
2
2
  # rubocop: disable LineLength
3
3
  #
4
4
  # Gem Name:: cloudimages-rundeck
5
- # DeployInfo:: Do
5
+ # CloudImagesRunDeck:: Do
6
6
  #
7
7
  # Copyright (C) 2016 Brian Dwyer - Intelligent Digital Services
8
8
  #
@@ -55,12 +55,16 @@ module CloudImagesRunDeck
55
55
  #
56
56
  def cleanup_images # rubocop:disable AbcSize
57
57
  # => Ensure we have a Filter
58
- return unless Config.query_params['filter'] && Config.query_params['keep']
58
+ return unless Config.query_params['filter'] && Config.query_params['keep'].to_i >= 1
59
59
 
60
- # => Grab the Images
60
+ # => Grab the Images & Sort by ImageID
61
61
  # => NOTE: If ImageID's aren't reliable, try DateTime.parse(hsh['name']) for sorting
62
- list = list_images.sort_by { |img| img['value'] }.reverse.drop(Config.query_params['keep'].to_i)
63
- Array(list).each do |img|
62
+ cleanup = list_images.sort_by { |img| img['value'] }.reverse.drop(Config.query_params['keep'].to_i)
63
+
64
+ return unless cleanup.is_a?(Array)
65
+
66
+ # => Delete the Images
67
+ cleanup.each do |img|
64
68
  do_client.images.delete(id: img['value'])
65
69
  end
66
70
  end
@@ -2,7 +2,7 @@
2
2
  # rubocop: disable LineLength
3
3
  #
4
4
  # Gem Name:: cloudimages-rundeck
5
- # DeployInfo:: Util
5
+ # CloudImagesRunDeck:: Util
6
6
  #
7
7
  # Copyright (C) 2016 Brian Dwyer - Intelligent Digital Services
8
8
  #
@@ -1,3 +1,3 @@
1
1
  module CloudImagesRunDeck
2
- VERSION = '0.1.3'.freeze
2
+ VERSION = '0.1.4'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudimages-rundeck
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Dwyer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-28 00:00:00.000000000 Z
11
+ date: 2016-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: droplet_kit
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.4'
19
+ version: '2.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.4'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: mixlib-cli
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.6'
33
+ version: '1.7'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.6'
40
+ version: '1.7'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rack-cache
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -147,6 +147,7 @@ files:
147
147
  - ".gitignore"
148
148
  - ".gitlab-ci.yml"
149
149
  - ".rubocop.yml"
150
+ - CHANGELOG.md
150
151
  - Gemfile
151
152
  - Gemfile.lock
152
153
  - LICENSE.txt