class WireGuard::Admin::Servers

Commands for working with servers

Public Instance Methods

add(name) click to toggle source
# File lib/wire_guard/admin/cli/servers.rb, line 24
def add(name)
  warn "Using database #{repository.path}" if options[:verbose]
  server = Server.new(name: name, ip: ip, allowed_ips: options[:allowed_ips] || repository.find_network(network))
  server.device = options[:device] if options[:device]
  server.port = options[:port] if options[:port]
  server.private_key = options[:private_key] if options[:private_key]
  repository.add_peer(network, server)
  if options[:verbose]
    warn 'New server was successfully added:'
    warn ''
    warn server
  end
rescue StandardError => e
  raise Thor::Error, "Error: #{e.message}"
end
list() click to toggle source
# File lib/wire_guard/admin/cli/servers.rb, line 54
def list
  if options[:verbose]
    warn "Using database #{repository.path}"
    warn "No servers in network #{network}." if repository.networks.empty?
  end
  repository.servers(network).each do |server|
    puts server
  end
rescue StandardError => e
  raise Thor::Error, "Error: #{e.message}"
end
remove(name) click to toggle source
# File lib/wire_guard/admin/cli/servers.rb, line 43
def remove(name)
  warn "Using database #{repository.path}" if options[:verbose]
  repository.remove_peer(network, name)
  warn 'Server was successfully removed.' if options[:verbose]
rescue StandardError => e
  raise Thor::Error, "Error: #{e.message}"
end