itamae 1.0.0.beta21 → 1.0.0.beta22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ci/destroy_old_droplets.rb +22 -0
- data/lib/itamae/backend.rb +4 -0
- data/lib/itamae/version.txt +1 -1
- data/wercker.yml +5 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 28493e2eaf44936882d8448d4d3c1af21194061a
|
4
|
+
data.tar.gz: b0dcb302ff3f116bfbe2ba72d8d2c680a9c84820
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0eefb41ff82485abaf708b8f51febd907d106c9adf58bcf8318284525e544d91a7c5032cd8aacfdc790b3663a6dd5ffb23a19c8364689b15d3e220d1479ca03d
|
7
|
+
data.tar.gz: e724ae0b62d69039583f6a1e455814a9b9faf6d892814e40dde21cad32488babe60188a12e2518b7efef7595a38e7cb148740b760326a4164d881429ef99b60d
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'net/https'
|
2
|
+
require 'json'
|
3
|
+
require 'time'
|
4
|
+
|
5
|
+
http = Net::HTTP.new("api.digitalocean.com", 443)
|
6
|
+
http.use_ssl = true
|
7
|
+
|
8
|
+
res = http.start do
|
9
|
+
http.get("/v2/droplets", "Authorization" => "Bearer #{ENV['DIGITALOCEAN_TOKEN']}")
|
10
|
+
end
|
11
|
+
|
12
|
+
droplets = JSON.parse(res.body)['droplets']
|
13
|
+
droplets.each do |droplet|
|
14
|
+
next unless /^itamae-/ =~ droplet['name']
|
15
|
+
if Time.now - Time.parse(droplet['created_at']) >= 60 * 60
|
16
|
+
puts "destroying #{droplet}..."
|
17
|
+
res = http.start do
|
18
|
+
http.delete("/v2/droplets/#{droplet['id']}", "Authorization" => "Bearer #{ENV['DIGITALOCEAN_TOKEN']}")
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
data/lib/itamae/backend.rb
CHANGED
@@ -5,8 +5,12 @@ require 'io/console'
|
|
5
5
|
module Specinfra
|
6
6
|
module Configuration
|
7
7
|
def self.sudo_password
|
8
|
+
return ENV['SUDO_PASSWORD'] if ENV['SUDO_PASSWORD']
|
8
9
|
return @sudo_password if @sudo_password
|
9
10
|
|
11
|
+
# TODO: Fix this dirty hack
|
12
|
+
return nil unless caller.any? {|call| call.include?('channel_data') }
|
13
|
+
|
10
14
|
print "sudo password: "
|
11
15
|
@sudo_password = STDIN.noecho(&:gets).strip
|
12
16
|
end
|
data/lib/itamae/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.0.
|
1
|
+
1.0.0.beta22
|
data/wercker.yml
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itamae
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.beta22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryota Arai
|
@@ -151,6 +151,7 @@ files:
|
|
151
151
|
- README.md
|
152
152
|
- Rakefile
|
153
153
|
- bin/itamae
|
154
|
+
- ci/destroy_old_droplets.rb
|
154
155
|
- itamae.gemspec
|
155
156
|
- lib/itamae.rb
|
156
157
|
- lib/itamae/backend.rb
|