hotdog 0.0.1 → 0.0.2

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: 953ecab33a4f48f426c3df8b0dcca49e861e5113
4
- data.tar.gz: 81868bd92db6fddf876fd7eae71c54a2dd841bad
3
+ metadata.gz: c0f33496f07a7069e8a6fab90cf456a98f80e986
4
+ data.tar.gz: d7bfd8130aa345ff212cabb30f06ddb83b286a46
5
5
  SHA512:
6
- metadata.gz: 2763f5fa563fef343b799514436bde84dd886494577b42269118c4e82d999d1c8b3c289e50e3c2a02ba4fb8806c00fbd2a2f8abe4054abc90a9457684daad7d1
7
- data.tar.gz: bc471b4a441f275d7fbbf6b2df8d706016de004c80a949fa86499db0d09ad174b708d5864248332d4c540d00731e146e6039f97d61c090422ac7125ea229504e
6
+ metadata.gz: 5c3aa62c94710e8bd3e1c738489782cfce401a3942d46be03128c4fc427719bba81f74d4cdf108c3cb9c3382ad83bdc2ba4085ca4f554ec2496fcdcb2b6a3b39
7
+ data.tar.gz: 19fce13c8757dd1fb0437abd99027d0d10ecbea68ca2db57808da119745fafbb0c704b588480f75682de5b7a12509829e2fe27c572ae1f09da5192ca5d2ace41
data/README.md CHANGED
@@ -29,7 +29,6 @@ Then, create and initialize host information. This may take several minutes.
29
29
 
30
30
  ```sh
31
31
  $ hotdog init
32
- $ hotdot update
33
32
  ```
34
33
 
35
34
  List all registered hosts.
@@ -59,7 +58,7 @@ i-069e282c sg-89bfe710 worker-staging us-east-1a t2.micro ami-
59
58
  Display hosts with specific attributes.
60
59
 
61
60
  ```sh
62
- $ hotdog ls -a host -a name
61
+ $ hotdog ls -h -a host -a name
63
62
  host name
64
63
  ---------- -----------------
65
64
  i-02605a79 web-staging
@@ -66,40 +66,40 @@ module Hotdog
66
66
 
67
67
  private
68
68
  def define_options
69
- @optparse.on("--api-key API_KEY") do |api_key|
69
+ @optparse.on("--api-key API_KEY", "Datadog API key") do |api_key|
70
70
  options[:api_key] = api_key
71
71
  end
72
- @optparse.on("--application-key APP_KEY") do |app_key|
72
+ @optparse.on("--application-key APP_KEY", "Datadog application key") do |app_key|
73
73
  options[:application_key] = app_key
74
74
  end
75
- @optparse.on("-0", "--null") do
75
+ @optparse.on("-0", "--null", "Use null character as separator") do
76
76
  options[:print0] = true
77
77
  end
78
- @optparse.on("-1") do
78
+ @optparse.on("-1", "Use newline as separator") do
79
79
  options[:print1] = true
80
80
  end
81
- @optparse.on("-d", "--debug") do
81
+ @optparse.on("-d", "--debug", "Enable debug mode") do
82
82
  options[:logger].level = Logger::DEBUG
83
83
  end
84
- @optparse.on("-E ENVIRONMENT", "--environment ENVIRONMENT") do |environment|
84
+ @optparse.on("-E ENVIRONMENT", "--environment ENVIRONMENT", "Specify environment") do |environment|
85
85
  options[:environment] = environment
86
86
  end
87
- @optparse.on("-f", "--force") do
87
+ @optparse.on("-f", "--force", "Enable force mode") do
88
88
  options[:force] = true
89
89
  end
90
- @optparse.on("-F FORMAT", "--format FORMAT") do |format|
90
+ @optparse.on("-F FORMAT", "--format FORMAT", "Specify output format") do |format|
91
91
  options[:formatter] = get_formatter(format).new
92
92
  end
93
- @optparse.on("-h", "--headers") do |headers|
93
+ @optparse.on("-h", "--headers", "Display headeres for each columns") do |headers|
94
94
  options[:headers] = headers
95
95
  end
96
- @optparse.on("-l") do
96
+ @optparse.on("-l", "Use listing format") do
97
97
  options[:listing] = true
98
98
  end
99
- @optparse.on("-a TAG", "-t TAG", "--tag TAG") do |tag|
99
+ @optparse.on("-a TAG", "-t TAG", "--tag TAG", "Use specified tag name/value") do |tag|
100
100
  options[:tags] += [tag]
101
101
  end
102
- @optparse.on("-V", "--verbose") do |tag|
102
+ @optparse.on("-V", "--verbose", "Enable verbose mode") do |tag|
103
103
  options[:logger].level = Logger::DEBUG
104
104
  end
105
105
  end
@@ -36,6 +36,7 @@ module Hotdog
36
36
  execute(<<-EOS)
37
37
  CREATE INDEX IF NOT EXISTS hosts_tags_expires_at ON hosts_tags ( expires_at );
38
38
  EOS
39
+ application.run_command("update")
39
40
  end
40
41
  end
41
42
  end
@@ -4,13 +4,12 @@ module Hotdog
4
4
  module Commands
5
5
  class Update < BaseCommand
6
6
  def run(args=[])
7
- application.run_command("init")
8
7
  if 0 < args.length
9
8
  args.each do |host_name|
10
9
  update_host_tags(host_name, @options.dup)
11
10
  end
12
11
  else
13
- update_tags(@options.dup)
12
+ update_hosts(@options.dup)
14
13
  end
15
14
  end
16
15
  end
@@ -127,13 +127,13 @@ module Hotdog
127
127
  result["results"]["hosts"].each do |host_name|
128
128
  @update_hosts_q2 ||= @db.prepare("INSERT OR IGNORE INTO hosts (name) VALUES (?);")
129
129
  logger.debug("update_hosts_q2(%s)" % [host_name.inspect])
130
- @update_hosts_q2.execute("INSERT OR IGNORE INTO hosts (name) VALUES (?);", host_name)
130
+ @update_hosts_q2.execute(host_name)
131
131
  update_host_tags(host_name, options)
132
132
  end
133
133
 
134
134
  execute(<<-EOS % result["results"]["hosts"].map { "LOWER(?)" }.join(", "), result["results"]["hosts"])
135
135
  DELETE FROM hosts_tags WHERE host_id NOT IN
136
- ( SELECT id FROM hosts WHERE name IN ( %s ) );
136
+ ( SELECT id FROM hosts WHERE LOWER(name) IN ( %s ) );
137
137
  EOS
138
138
  end
139
139
  end
@@ -188,6 +188,11 @@ module Hotdog
188
188
 
189
189
  code, result = @dog.host_tags(host_name)
190
190
  if code.to_i / 100 != 2
191
+ case code.to_i
192
+ when 404 # host not found on datadog
193
+ @update_host_tags_q7 ||= @db.prepare("DELETE FROM hosts_tags WHERE host_id IN ( SELECT id FROM hosts WHERE LOWER(name) = LOWER(?) );")
194
+ @update_host_tags_q7.execute(host_name)
195
+ end
191
196
  raise("HTTP #{code}: #{result.inspect}")
192
197
  end
193
198
 
@@ -1,3 +1,3 @@
1
1
  module Hotdog
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hotdog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yamashita Yuu