environment/recipes/nginx/generate.rb
Artur Gurgul 57cc223477 save
2025-08-05 16:07:34 +00:00

59 lines
1.1 KiB
Ruby

require 'erb'
class NGINXProxy
class << self
attr_accessor :domain, :port, :service, :user
def domain(value = nil)
@domain = value unless value.nil?
@domain
end
def user(value = nil)
@user = value unless value.nil?
@user
end
def port(value = nil)
@port = value unless value.nil?
@port
end
# This is name of the daemon that will be installed
# This is also master name user as user if not provided
def service(value = nil)
@service = value unless value.nil?
@service
end
def generate
template = File.read("proxy.erb")
template = ERB.new(template)
template.result(binding)
end
def available_path
"/etc/nginx/sites-available/#{service}.#{domain}"
end
def enabled_path
"/etc/nginx/sites-available/#{service}.#{domain}"
end
def install
config = generate
File.write
end
end
end
class ExampleProxy < NGINXProxy
domain "gurgul.org"
service "forgejo"
user "git"
port 3000
end
puts ExampleProxy.generate
puts ExampleProxy.path