Module: Dialog::Triggers
- Defined in:
- lib/triggers/init.rb,
lib/triggers/_func.rb,
lib/triggers/false.rb,
lib/triggers/deploy.rb,
lib/triggers/console_start.rb,
lib/triggers/systemd_start.rb
Class Method Summary collapse
- .deploy_background_systemd ⇒ Object
- .deploy_binaries_notice ⇒ Object
- .deploy_bot_dev_systemd ⇒ Object
- .deploy_bot_systemd ⇒ Object
- .deploy_gems ⇒ Object
- .deploy_gitsync ⇒ Object
- .deploy_redis_run ⇒ Object
- .deploy_tdlib_systemd ⇒ Object
- .erbGen(erbFile, dst, erb = {}) ⇒ Object
- .systemd(service, mode) ⇒ Object
- .trigger__run ⇒ Object
- .trigger_console_start ⇒ Object
- .trigger_deploy ⇒ Object
- .trigger_false ⇒ Object
- .trigger_init ⇒ Object
- .trigger_init_bot(mode) ⇒ Object
- .trigger_init_bot_dev(mode) ⇒ Object
- .trigger_init_tdlib(mode) ⇒ Object
- .trigger_systemd_start ⇒ Object
Class Method Details
.deploy_background_systemd ⇒ Object
64 65 66 67 68 |
# File 'lib/triggers/deploy.rb', line 64 def deploy_background_systemd erbGen('systemd/dialog_background.service', "#{Dir.home}/.config/systemd/user/dialog_background.service") systemd('dialog_background', 'enstart') Dialog.logger.info "Background systemd services deployed OK!" end |
.deploy_binaries_notice ⇒ Object
78 79 80 81 82 83 84 |
# File 'lib/triggers/deploy.rb', line 78 def deploy_binaries_notice Dialog.logger.warn "Please install neccessary binaries:" Dialog.logger.info "openSUSE: zypper ar -cf https://download.opensuse.org/repositories/home:/in4ops:/4wrap/openSUSE_Leap_15.0/home:in4ops:4wrap.repo" #will be 'home:in4ops:Innosense:libs' Dialog.logger.info "openSUSE: zypper --no-gpg-checks --non-interactive in zbar tdlib" Dialog.logger.info "sudo loginctl enable-linger $USER" end |
.deploy_bot_dev_systemd ⇒ Object
71 72 73 74 75 |
# File 'lib/triggers/deploy.rb', line 71 def deploy_bot_dev_systemd erbGen('systemd/[email protected]', "#{Dir.home}/.config/systemd/user/[email protected]", {:desc => 'dialog_bot_dev runner', :path => "#{Dialog.config.path.dialog}/dialect/dialect.sqlite"}) erbGen('systemd/[email protected]', "#{Dir.home}/.config/systemd/user/[email protected]", {:mode => 'dialect', :env => 'bot', :systemdChain => 'dialog_bot'}) Dialog.logger.info "Bot development systemd services deployed OK!" end |
.deploy_bot_systemd ⇒ Object
50 51 52 53 54 55 |
# File 'lib/triggers/deploy.rb', line 50 def deploy_bot_systemd erbGen('systemd/[email protected]', "#{Dir.home}/.config/systemd/user/[email protected]", {:mode => 'bot'}) erbGen('systemd/[email protected]', "#{Dir.home}/.config/systemd/user/[email protected]", {:desc => "dialog_bot_pre runner", :path => "/tmp/in4/dialog_touch_%i"}) erbGen('systemd/[email protected]', "#{Dir.home}/.config/systemd/user/[email protected]", {:mode => 'check', :env => 'bot', :systemdChain => "dialog_bot"}) Dialog.logger.info "Bot systemd services deployed OK!" end |
.deploy_gems ⇒ Object
87 88 89 90 91 92 93 94 95 |
# File 'lib/triggers/deploy.rb', line 87 def deploy_gems stderr, status = Open3.capture3("gem specific_install -u -l https://gitlab.com/Innosense/libs/dialog_bot_ruby.git", :stdin_data => 'stdin') Dialog.logger.info stderr stderr, status = Open3.capture3("gem specific_install -u -l https://gitlab.com/Innosense/MVP/dialect_lookup.git", :stdin_data => 'stdin') Dialog.logger.info stderr stderr, status = Open3.capture3("gem specific_install -u -l https://gitlab.com/Innosense/MVP/dialog_ruby.git", :stdin_data => 'stdin') Dialog.logger.info stderr Dialog.logger.info "Gems deployment OK!" end |
.deploy_gitsync ⇒ Object
98 99 |
# File 'lib/triggers/deploy.rb', line 98 def deploy_gitsync end |
.deploy_redis_run ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/triggers/deploy.rb', line 33 def deploy_redis_run if File.file?('/usr/sbin/redis-server') redisDir = "#{Dialog.config.path.dialogData}/redis" FileUtils.mkdir_p redisDir erbGen('systemd/dialog_redis.service', "#{Dir.home}/.config/systemd/user/dialog_redis.service") erbGen('conf/redis_local.conf', "#{redisDir}/redis_local.conf") erbGen('conf/redis_global.conf', "#{redisDir}/redis_global.conf") systemd('dialog_redis', 'enstart') Dialog.logger.info "Redis deployment OK!" else Dialog.logger.error "Please install Redis binary" Dialog.logger.info "openSUSE: zypper --no-gpg-checks --non-interactive in redis" exit(false) end end |
.deploy_tdlib_systemd ⇒ Object
58 59 60 61 |
# File 'lib/triggers/deploy.rb', line 58 def deploy_tdlib_systemd erbGen('systemd/[email protected]', "#{Dir.home}/.config/systemd/user/[email protected]", {:mode => 'tdlib'}) Dialog.logger.info "TDLib systemd services deployed OK!" end |
.erbGen(erbFile, dst, erb = {}) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/triggers/_func.rb', line 17 def erbGen(erbFile, dst, erb={}) if not File.file?(dst) tmpl = ERB.new(File.read("#{Dialog.config.path.dialog_ruby}/exec/#{erbFile}")).result(binding) File.open(dst, 'w') do |f| f.write tmpl; end end end |
.systemd(service, mode) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/triggers/_func.rb', line 25 def systemd(service, mode) Open3.popen3('/usr/bin/systemctl', '--user', 'daemon-reload') if mode == 'enstart' Open3.popen3('/usr/bin/systemctl', '--user', 'enable', service) Open3.popen3('/usr/bin/systemctl', '--user', 'restart', service) end end |
.trigger__run ⇒ Object
33 34 35 |
# File 'lib/triggers/_func.rb', line 33 def trigger__run Dialog._run end |
.trigger_console_start ⇒ Object
18 19 20 |
# File 'lib/triggers/console_start.rb', line 18 def trigger_console_start Dialog._run end |
.trigger_deploy ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/triggers/deploy.rb', line 17 def trigger_deploy require 'erb' mode = Dialog.config.run.mode Dialog.logger.debug "Using mode '#{mode}'" FileUtils.mkdir_p "#{Dir.home}/.config/systemd/user" deploy_redis_run unless File.file?("#{Dialog.config.path.dialogData}/redis/dump.rdb") deploy_background_systemd deploy_binaries_notice deploy_bot_systemd deploy_tdlib_systemd deploy_bot_dev_systemd if Dialog.config.run.mode == 'dev' Open3.popen3('/usr/bin/systemctl', '--user', 'daemon-reload') deploy_gems unless File.file?("#{Dir.home}/.config/systemd/user/[email protected]") end |
.trigger_false ⇒ Object
17 18 19 |
# File 'lib/triggers/false.rb', line 17 def trigger_false Dialog.logger.error "Something wrong in runtime scenario, please use dialog.sh" end |
.trigger_init ⇒ Object
17 18 19 20 21 |
# File 'lib/triggers/init.rb', line 17 def trigger_init require 'erb' send("trigger_init_#{Dialog.config.run.mode.to_sym}", Dialog.config.run.mode) Dialog.logger.info "#{Dialog.config.run.mode} init finished successfully!" end |
.trigger_init_bot(mode) ⇒ Object
30 31 32 |
# File 'lib/triggers/init.rb', line 30 def trigger_init_bot(mode) true end |
.trigger_init_bot_dev(mode) ⇒ Object
34 35 36 |
# File 'lib/triggers/init.rb', line 34 def trigger_init_bot_dev(mode) true end |
.trigger_init_tdlib(mode) ⇒ Object
23 24 25 26 27 28 |
# File 'lib/triggers/init.rb', line 23 def trigger_init_tdlib(mode) require 'tdlib-ruby' Dir.glob(File.join("#{Dialog.config.path.dialog_rubyLib}/tdlib/**", "*.rb")).each{|f| require f} sess = Dialog::TDLib.tdlibInit Dialog::TDLib.tdlibAuth('user', sess) end |
.trigger_systemd_start ⇒ Object
17 18 19 20 |
# File 'lib/triggers/systemd_start.rb', line 17 def trigger_systemd_start systemd("dialog_#{Dialog.config.run.mode}@#{Dialog.config.naming.instance}", 'enstart') systemd("dialog_#{Dialog.config.run.mode}_pre@#{Dialog.config.naming.instance}.path", 'enstart') end |