Module: EasyCaddy::Caddy
- Defined in:
- lib/easy_caddy/caddy.rb
Constant Summary collapse
- BINARY =
'caddy'
Class Method Summary collapse
- .brew_service_pid ⇒ Object
- .install_via_brew ⇒ Object
- .installed? ⇒ Boolean
- .process_pid ⇒ Object
- .reload(caddyfile = Paths.caddyfile) ⇒ Object
- .restart_service ⇒ Object
- .running? ⇒ Boolean
- .start_service ⇒ Object
- .trust ⇒ Object
- .validate(caddyfile = Paths.caddyfile) ⇒ Object
- .validate!(caddyfile = Paths.caddyfile) ⇒ Object
Class Method Details
.brew_service_pid ⇒ Object
52 53 54 55 56 |
# File 'lib/easy_caddy/caddy.rb', line 52 def self.brew_service_pid output = `brew services list 2>/dev/null | grep '^caddy '` m = output.match(/(\d+)/) m&.captures&.first&.to_i end |
.install_via_brew ⇒ Object
65 66 67 |
# File 'lib/easy_caddy/caddy.rb', line 65 def self.install_via_brew system('brew install caddy') end |
.installed? ⇒ Boolean
10 11 12 |
# File 'lib/easy_caddy/caddy.rb', line 10 def self.installed? system('which caddy > /dev/null 2>&1') end |
.process_pid ⇒ Object
58 59 60 61 62 63 |
# File 'lib/easy_caddy/caddy.rb', line 58 def self.process_pid out = `pgrep -f 'caddy run' 2>/dev/null`.strip return nil if out.empty? out.lines.first.to_i end |
.reload(caddyfile = Paths.caddyfile) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'lib/easy_caddy/caddy.rb', line 25 def self.reload(caddyfile = Paths.caddyfile) unless caddyfile.exist? warn ' [ecaddy] Skipping reload — global Caddyfile not found. Run `ecaddy setup` first.' return end out = `#{BINARY} reload --config #{caddyfile} 2>&1` raise "Caddy reload failed:\n#{out}" unless $CHILD_STATUS.success? end |
.restart_service ⇒ Object
48 49 50 |
# File 'lib/easy_caddy/caddy.rb', line 48 def self.restart_service system('brew services restart caddy') end |
.running? ⇒ Boolean
39 40 41 42 |
# File 'lib/easy_caddy/caddy.rb', line 39 def self.running? pid = brew_service_pid pid && pid > 0 end |
.start_service ⇒ Object
44 45 46 |
# File 'lib/easy_caddy/caddy.rb', line 44 def self.start_service system('brew services start caddy') end |
.trust ⇒ Object
35 36 37 |
# File 'lib/easy_caddy/caddy.rb', line 35 def self.trust system("#{BINARY} trust") end |
.validate(caddyfile = Paths.caddyfile) ⇒ Object
14 15 16 |
# File 'lib/easy_caddy/caddy.rb', line 14 def self.validate(caddyfile = Paths.caddyfile) system("#{BINARY} validate --config #{caddyfile} 2>&1") end |
.validate!(caddyfile = Paths.caddyfile) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/easy_caddy/caddy.rb', line 18 def self.validate!(caddyfile = Paths.caddyfile) return unless caddyfile.exist? out = `#{BINARY} validate --config #{caddyfile} 2>&1` raise "Caddy config invalid:\n#{out}" unless $CHILD_STATUS.success? end |