Compare commits
3 commits
a4f3987b97
...
43b62eed96
Author | SHA1 | Date | |
---|---|---|---|
43b62eed96 | |||
68e1bac4b3 | |||
![]() |
0fb2502e53 |
3 changed files with 62 additions and 10 deletions
|
@ -22,4 +22,6 @@ function cdd {
|
|||
. $DAT_ROOT/bin/zshrc/prompt
|
||||
. $DAT_ROOT/bin/zshrc/utils
|
||||
|
||||
bindkey '^e' edit-command-line
|
||||
bindkey '^e' edit-command-line
|
||||
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
|
34
lib/make.rb
34
lib/make.rb
|
@ -28,7 +28,7 @@ module Make
|
|||
|
||||
class Context
|
||||
attr_accessor :name, :use_cache, :environment, :steps, :packages, :repository
|
||||
attr_accessor :target
|
||||
attr_accessor :target, :archive, :source_type
|
||||
|
||||
def initialize(options: OpenStruct.new)
|
||||
@target = options.target || :user
|
||||
|
@ -52,7 +52,21 @@ module Make
|
|||
# puts makefile
|
||||
|
||||
@packages = makefile["packages"] || []
|
||||
|
||||
project_sources = {
|
||||
repository: makefile["repository"] != nil,
|
||||
archive: makefile["archive"] != nil
|
||||
}.select { |_, v| v }
|
||||
|
||||
if project_sources.size == 1
|
||||
@source_type = project_sources.keys.first
|
||||
else
|
||||
raise "Exactly one type of source: 'repository' or 'archive'"
|
||||
end
|
||||
puts @source_type
|
||||
|
||||
@repository = Make.rostruct(makefile["repository"] || OpenStruct.new)
|
||||
@archive = Make.rostruct(makefile["archive"] || OpenStruct.new)
|
||||
@steps = makefile["steps"] || []
|
||||
|
||||
@environment = ENV.to_h.merge(
|
||||
|
@ -147,7 +161,14 @@ module Make
|
|||
install
|
||||
@context.rpd do | path |
|
||||
@cwd = path
|
||||
checkout
|
||||
|
||||
case @context.source_type
|
||||
when :repository
|
||||
checkout
|
||||
when :archive
|
||||
download_and_extract
|
||||
end
|
||||
|
||||
puts "path: #{path}"
|
||||
Dir.chdir(path)
|
||||
|
||||
|
@ -160,6 +181,13 @@ module Make
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
def download_and_extract
|
||||
archive = @context.archive
|
||||
|
||||
puts archive
|
||||
exit -1
|
||||
end
|
||||
|
||||
def checkout
|
||||
repo_path = @context.local_repo
|
||||
|
@ -195,4 +223,4 @@ module Make
|
|||
builder = Builder.new(context)
|
||||
builder.build
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,27 +3,47 @@ require 'erb'
|
|||
|
||||
class NGINXProxy
|
||||
class << self
|
||||
attr_accessor :domain, :port, :service
|
||||
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)
|
||||
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
|
||||
|
@ -31,7 +51,9 @@ end
|
|||
class ExampleProxy < NGINXProxy
|
||||
domain "gurgul.org"
|
||||
service "forgejo"
|
||||
user "git"
|
||||
port 3000
|
||||
end
|
||||
|
||||
puts ExampleProxy.generate
|
||||
puts ExampleProxy.generate
|
||||
puts ExampleProxy.path
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue