Class: CfnVpn::Actions::Client

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/cfnvpn/actions/client.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



22
23
24
# File 'lib/cfnvpn/actions/client.rb', line 22

def self.source_root
  File.dirname(__FILE__)
end

Instance Method Details

#create_certificateObject



36
37
38
39
40
41
42
43
# File 'lib/cfnvpn/actions/client.rb', line 36

def create_certificate
  s3 = CfnVpn::S3.new(@options['region'],@options['bucket'],@name)
  s3.get_object("#{@cert_dir}/ca.tar.gz")
  CfnVpn::Log.logger.info "Generating new client certificate #{@options['client_cn']} using openvpn easy-rsa"
  cert = CfnVpn::Certificates.new(@build_dir,@name,@options['easyrsa_local'])
  CfnVpn::Log.logger.debug cert.generate_client(@options['client_cn'],@options['certificate_expiry'])
  s3.store_object("#{@cert_dir}/#{@options['client_cn']}.tar.gz")
end

#set_directoryObject



30
31
32
33
34
# File 'lib/cfnvpn/actions/client.rb', line 30

def set_directory
  @build_dir = "#{CfnVpn.cfnvpn_path}/#{@name}"
  @cert_dir = "#{@build_dir}/certificates"
  FileUtils.mkdir_p(@cert_dir)
end

#set_loglevelObject



26
27
28
# File 'lib/cfnvpn/actions/client.rb', line 26

def set_loglevel
  CfnVpn::Log.logger.level = Logger::DEBUG if @options['verbose']
end