module Setup require_relative '../templates' require_relative "../user" require_relative "../execute" # dat execute postgres # example.rcp module PostgreSQL extend Templates # attr_accessor :te def self.init_db(context) puts "Mode, isForced #{context.forced}" if Dir.exist?(context.data_dir) if context.forced puts("sudo rm -rf #{context.data_dir}") else raise "PostgreSQL data already exists" end end system("sudo mkdir -p #{context.data_dir}") system("sudo chown #{context.user_name}:services #{context.data_dir}") system("sudo -u postgresql #{File.join(context.bin_dir, "/bin/initdb")} -D #{context.data_dir}") end def self.setup_systemd(context) end def self.install(context) # puts context.bin_dir #make_config # pg_hba = render("pg_hba.conf") # # # test = render("test", te: "This is a test string") # posgresql_conf = render("postgresql") service = render( "postgresql.service", postgres_bin: File.join(context.bin_dir, "/bin/postgres"), version: context.version, database_dir: context.data_dir ) # puts service user_context = Execute::UserInstallContext.new(context.user_name, :service) User.install(user_context) init_db(context) setup_systemd(context) end end end