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

#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.



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

def distro_installer
  @distro_installer
end

Instance Method Details

#build_power_configObject



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

def build_power_config
  config = super
  config[:tld] = distro_installer.tld
  config
end

#forwarder_scriptObject



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

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

#resolver_fileObject



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

def resolver_file
  distro_installer.resolver_file
end

#setup_invokerObject



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

def setup_invoker
  initialize_distro_installer
  if distro_installer.get_user_confirmation?
    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



51
52
53
# File 'lib/invoker/power/setup/linux_setup.rb', line 51

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

#uninstall_invokerObject



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

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