cleanfb 0.2.1.10 → 0.2.1.11

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: 434be941563759cbc0ead8756df2a75e49889362
4
- data.tar.gz: 792c9163eead44fe621e28f13483cb8b6a19d5c4
3
+ metadata.gz: 47a5c62040029128339ab8591ced402e43adee9d
4
+ data.tar.gz: 41b51a7a1c0535dd6a9e1a3ac53774683e0b0abd
5
5
  SHA512:
6
- metadata.gz: 1f657f39c34d663eb3834f280e53b27c7b24de0df905524919352a86211d37097e935a809c933d24a0644ee829f70a87085679b16a18443c763469f7118ead48
7
- data.tar.gz: 69a0ab512d7e7e66dc18c94af52f54757a3cce41b5279550457e3b03674a58a7f28218637631ca3a37e01a7abafac67d56353b06691fcbfb60dfaa74828bec57
6
+ metadata.gz: 399afa597c525eef0e258fe698ebc771794184f85f33d7f35fe17c257e6a10f027de45f8de21dee5cf3b71264056f70a6c2853cf575a24b51054b6944f175e08
7
+ data.tar.gz: b685481743b2eef13658a318ad2930a89442a5eac72719faf7cf20008577ca3ac735b40d6204dfcd5f28d416bf7c8ea4436646ad6c505594f2651ed5aae7b0fa
data/exe/cleanfb CHANGED
@@ -3,19 +3,19 @@
3
3
  require 'cleanfb'
4
4
 
5
5
  class String
6
- def magenta; "\e[35m#{self}\e[0m" end
6
+ def magenta; "\e[35m#{self}\e[0m" end
7
7
  end
8
8
 
9
9
  cleaner = Cleanfb::Clean.new
10
10
 
11
11
  unless ARGV.include? "restore"
12
- response = cleaner.remove
12
+ response = cleaner.remove
13
13
  else
14
- respone = cleaner.restore
14
+ respone = cleaner.restore
15
15
  end
16
16
 
17
17
  unless response.nil? || response.empty? || (response.include? "Please")
18
- puts response.magenta
18
+ puts response.magenta
19
19
  else
20
- puts response
20
+ puts response
21
21
  end
@@ -1,3 +1,3 @@
1
1
  module Cleanfb
2
- VERSION = "0.2.1.10"
2
+ VERSION = "0.2.1.11"
3
3
  end
data/lib/cleanfb.rb CHANGED
@@ -1,49 +1,50 @@
1
1
  require "cleanfb/version"
2
2
  require 'digest'
3
+ require 'optparse'
3
4
 
4
5
  module Cleanfb
5
-
6
+
6
7
  class Clean
8
+
9
+ options = {}
10
+ hostname = ""
7
11
 
8
- def remove()
9
-
10
- return "Please supply a file" if (ARGV[0].nil? || ARGV[0].empty?)
11
-
12
- help_msg = "Remove backups of an agent from the Puppet master filebucket.\nBackups are stored at /root/saved_configs/\n\n"
12
+ def show_help
13
+ puts "HELP"
14
+ exit 0
15
+ end
13
16
 
14
- return help_msg if ((ARGV.include? "-h") || (ARGV.include? "--help"))
17
+ def parse_input
18
+ OptionParser.new do |opts|
19
+ opts.banner = ""
20
+ opts.on("-h", "--help", "Display help information") {show_help}
21
+ opts.on("-f", "--force", "Ignore all prompts") { |f| options[:force] = f }
22
+ opts.on("-nNAME", "--name=NAME", "Hostname") { |n| hostname = n }
23
+ end
24
+ end
15
25
 
16
- arg = ARGV[0]
17
26
 
18
- if (!ARGV.nil? && (ARGV.include? "-y") && ARGV.length > 1)
19
- ans = "y"
20
- arg = ARGV[1] if (ARGV.index("-y") == 0)
21
-
22
- else
23
- print "Remove #{arg} ? y|n: "
27
+ def remove()
28
+
29
+ unless options[:force]
30
+ print "Remove #{hostname} ? y|n: "
24
31
  ans = STDIN.gets.chomp
25
32
  end
26
33
 
27
- if ans == "y" || ans == "yes"
28
- cmd = `puppet filebucket list -l|grep -i #{arg}`
34
+ if(options[:force] || ans =~ /^y/)
35
+ cmd = `puppet filebucket list -l|grep -i #{hostname}`
29
36
 
30
- unless (ARGV.include? "-y")
37
+ unless options[:force]
31
38
  test = cmd.split(" ").last
32
39
  multi_match = false
33
40
 
34
- cmd.each_line do |line|
35
- if !line.include? test
36
- multi_match = true
37
- end
38
- end
41
+ cmd.each_line { |line| (multi_match = true) if (!line.include? test) }
39
42
 
40
43
  if multi_match
41
44
  print "Matched multiple hosts. Remove all? y|n: "
42
45
  ans = STDIN.gets.chomp
43
46
 
44
- unless ans == "y" || ans == "yes"
45
- return "Ending run"
46
- end
47
+ return "Ending run" unless (options[:force] || ans =~/^y/)
47
48
  end
48
49
  end
49
50
 
@@ -61,14 +62,10 @@ module Cleanfb
61
62
  time = line.split(" ")[2]
62
63
 
63
64
  save_dir = "/root/saved_configs/"
65
+
66
+ Dir.mkdir(File.join(Dir.home("root"), "saved_configs"), 0700) unless (Dir.exist? save_dir)
64
67
 
65
- unless Dir.exist? save_dir
66
- Dir.mkdir(File.join(Dir.home("root"), "saved_configs"), 0700)
67
- end
68
-
69
- unless Dir.exist? "#{save_dir}/#{name}/"
70
- Dir.mkdir(File.join("#{save_dir}", "#{name}"), 0700)
71
- end
68
+ Dir.mkdir(File.join("#{save_dir}", "#{name}"), 0700) unless (Dir.exist? "#{save_dir}/#{name}/")
72
69
 
73
70
  path += "/" + start[0..15] + sum + "/"
74
71
 
@@ -78,20 +75,22 @@ module Cleanfb
78
75
  cmd = `mv -f #{path}contents /root/saved_configs/#{name}/#{date}_#{time}_#{file}`
79
76
  cmd = `rm -rf #{path}`
80
77
  else
81
- puts "No file #{arg} found."
78
+ puts "No file #{hostname} found."
82
79
  end
80
+ end
83
81
  end
82
+
84
83
  else
85
- puts "No file #{arg} found."
84
+ puts "No file #{hostname} found."
86
85
  end
87
- end
88
- return
86
+
87
+ return
89
88
  end
90
89
 
91
90
  def store(host)
92
91
 
93
92
  cmd = `puppet filebucket list -l|grep -i #{host}`
94
- unless cmd.nil? || cmd.empty?
93
+ unless(cmd.nil? || cmd.empty?)
95
94
  cmd.each_line do |line|
96
95
  path = "/opt/puppetlabs/puppet/cache/bucket"
97
96
  sum = line.split(" ")[0]
@@ -105,8 +104,7 @@ module Cleanfb
105
104
  save_dir = "/root/saved_configs/"
106
105
 
107
106
  Dir.mkdir(File.join(Dir.home("root"), "saved_configs"), 0700) unless (Dir.exist? save_dir)
108
-
109
- Dir.mkdir(File.join("#{save_dir}", "#{name}"), 0700) unless Dir.exist? "#{save_dir}/#{name}/"
107
+ Dir.mkdir(File.join("#{save_dir}", "#{name}"), 0700) unless (Dir.exist? "#{save_dir}/#{name}/")
110
108
 
111
109
  path += "/" + start[0..15] + sum + "/"
112
110
 
@@ -128,7 +126,7 @@ module Cleanfb
128
126
 
129
127
  def restore()
130
128
 
131
- return "Please supply a file" if ARGV[0].nil? || ARGV[0].empty?
129
+ return "Please supply a file" if (ARGV[0].nil? || ARGV[0].empty?)
132
130
 
133
131
  arg = ARGV[1]
134
132
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cleanfb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1.10
4
+ version: 0.2.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - lhoffl
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-02-05 00:00:00.000000000 Z
11
+ date: 2018-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler