Module: Sgpg

Defined in:
lib/sgpg.rb,
lib/sgpg/gpg.rb,
lib/sgpg/mount.rb,
lib/sgpg/helper.rb,
lib/sgpg/option.rb,
lib/sgpg/archive.rb,
lib/sgpg/version.rb,
lib/sgpg/cryptsetup.rb,
lib/sgpg/incremental.rb,
lib/sgpg/yaml_config.rb

Overview

Defined Under Namespace

Modules: Helper, Main Classes: Archive, Cryptsetup, Gpg, Incremental, Mount, YamlConfig

Constant Summary collapse

MOUNTPOINT =

Better permission than /media/sgpg

'/mnt/sgpg'
KEYDIR =
"#{MOUNTPOINT}"
WORKDIR =
'/tmp/sgpg'
VERSION =
'1.0.0'

Class Method Summary collapse

Class Method Details

.clear_keysObject



59
60
61
62
63
64
# File 'lib/sgpg.rb', line 59

def self.clear_keys
  return unless Dir.glob("#{Sgpg::WORKDIR}/*.key").length >= 1

  puts "Clearing #{Sgpg::WORKDIR}..."
  system("shred -u #{Sgpg::WORKDIR}/*.key")
end

.close(disk, is_crypted = nil) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/sgpg.rb', line 27

def self.close(disk, is_crypted = nil)
  if is_crypted
    Mount.new('/dev/mapper/sgpg').close
    Cryptsetup.new(disk).close
  else
    Mount.new(disk).close
  end
end

.last_key(opts, suffix = 'master') ⇒ Object

argument ‘suffix’ = master or lesser



47
48
49
50
51
52
53
54
55
56
57
# File 'lib/sgpg.rb', line 47

def self.last_key(opts, suffix = 'master')
  Sgpg.open(opts[:disk], opts[:crypted])

  dest = Helper.search_dest
  dest += "/#{opts[:keyname]}"
  keys = Dir.glob("#{dest}/#{opts[:keyname]}*#{suffix}*.tar").sort

  raise 'No keys found' unless keys.length >= 1

  keys.last
end

.list_keys(keyname) ⇒ Object



37
38
39
40
41
42
43
44
# File 'lib/sgpg.rb', line 37

def self.list_keys(keyname)
  dest = Helper.search_dest
  dest += "/#{keyname}"
  keys = Dir.glob("#{dest}/*.tar")

  puts "Listing keys for #{keyname}..."
  puts keys
end

.open(disk, is_crypted = nil) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/sgpg.rb', line 15

def self.open(disk, is_crypted = nil)
  return if Dir.glob("#{Sgpg::MOUNTPOINT}/*").length >= 1

  puts "Open device #{disk}..."
  if is_crypted
    Cryptsetup.new(disk).open
    Mount.new('/dev/mapper/sgpg').open
  else
    Mount.new(disk).open
  end
end