Class: Invoker::Power::LinuxSetup

Inherits:
Setup
  • Object
show all
Defined in:
lib/invoker/power/setup/linux_setup.rb

Instance Attribute Summary collapse

Attributes inherited from Setup

#port_finder, #tld

Instance Method Summary collapse

Methods inherited from Setup

#build_power_config, #check_if_setup_can_run?, #create_config_file, #drop_to_normal_user, #find_open_ports, #initialize, #install, install, installer_klass, #remove_resolver_file, #safe_remove_file, uninstall

Constructor Details

This class inherits a constructor from Invoker::Power::Setup

Instance Attribute Details

#distro_installerObject

Returns the value of attribute distro_installer.



9
10
11
# File 'lib/invoker/power/setup/linux_setup.rb', line 9

def distro_installer
  @distro_installer
end

Instance Method Details

#forwarder_scriptObject



42
43
44
# File 'lib/invoker/power/setup/linux_setup.rb', line 42

def forwarder_script
  File.join(File.dirname(__FILE__), "files/invoker_forwarder.sh.erb")
end

#resolver_fileObject



38
39
40
# File 'lib/invoker/power/setup/linux_setup.rb', line 38

def resolver_file
  distro_installer.resolver_file
end

#setup_invokerObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/invoker/power/setup/linux_setup.rb', line 11

def setup_invoker
  if get_user_confirmation?
    initialize_distro_installer
    find_open_ports
    distro_installer.install_required_software
    install_resolver
    install_port_forwarder
    distro_installer.restart_services
    drop_to_normal_user
    create_config_file
  else
    Invoker::Logger.puts("Invoker is not configured to serve from subdomains".colorize(:red))
  end
  self
end

#socat_unitObject



46
47
48
# File 'lib/invoker/power/setup/linux_setup.rb', line 46

def socat_unit
  File.join(File.dirname(__FILE__), "files/socat_invoker.service")
end

#uninstall_invokerObject



27
28
29
30
31
32
33
34
35
36
# File 'lib/invoker/power/setup/linux_setup.rb', line 27

def uninstall_invoker
  system("systemctl disable socat_invoker.service")
  system("systemctl stop socat_invoker.service")
  system("rm #{Invoker::Power::Distro::Base::SOCAT_SYSTEMD}")
  system("rm #{Invoker::Power::Distro::Base::SOCAT_SHELLSCRIPT}")
  initialize_distro_installer
  remove_resolver_file
  drop_to_normal_user
  Invoker::Power::Config.delete
end