Add bootstrap script
parent
e87d048ee9
commit
57c015f161
@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
echo "Generating keypair..."
|
||||
./genkey 2>/dev/null
|
||||
./bootstrap-config
|
||||
echo "Your public key: `cat pubkey.dat`"
|
||||
echo "Server IP: `curl -s http://wtfismyip.com/text`" 2>/dev/null
|
@ -0,0 +1,86 @@
|
||||
#!/usr/bin/env python2
|
||||
|
||||
import yaml, sys
|
||||
|
||||
master_pubkey = raw_input("Public key of the master server: ")
|
||||
|
||||
print "You'll now be asked to configure ports to check. If you don't want to configure any ports, just hit enter without entering any information."
|
||||
|
||||
ports = {}
|
||||
|
||||
while True:
|
||||
port = raw_input("Port number: ")
|
||||
if port.strip() == "":
|
||||
break
|
||||
service_name = raw_input("Service name for port %s: " % port)
|
||||
ports[port] = service_name
|
||||
|
||||
print "The same thing, except now for processes to check. Just hit enter without entering any information when you're done; the same goes for the argument list. As a wildcard, you can use *"
|
||||
|
||||
services = {}
|
||||
|
||||
while True:
|
||||
service_name = raw_input("Service name: ")
|
||||
|
||||
if service_name.strip() == "":
|
||||
break
|
||||
|
||||
process_name = raw_input("Process name: ")
|
||||
|
||||
args = {}
|
||||
argnum = 1
|
||||
while True:
|
||||
arg = raw_input("Argument %d: " % argnum)
|
||||
if arg.strip() == "":
|
||||
break
|
||||
args[argnum] = arg
|
||||
argnum += 1
|
||||
|
||||
services[service_name] = {
|
||||
"name": process_name,
|
||||
"args": args
|
||||
}
|
||||
|
||||
print "Now enter any disk devices you wish to monitor. Leave empty and hit enter when done."
|
||||
|
||||
disks = []
|
||||
|
||||
while True:
|
||||
device_name = raw_input("Device name: ")
|
||||
if device_name.strip() == "":
|
||||
break
|
||||
disks.append(device_name)
|
||||
|
||||
# Write config files...
|
||||
|
||||
modules = []
|
||||
|
||||
modules.append("stats-machine")
|
||||
with open("config/machine.yaml.example", "r") as ef:
|
||||
with open("config/machine.yaml", "w") as ff:
|
||||
data = yaml.safe_load(ef.read())
|
||||
data["drives"] = disks
|
||||
ff.write(yaml.dump(data))
|
||||
|
||||
if len(ports) > 0:
|
||||
modules.append("stats-ports")
|
||||
with open("config/ports.yaml.example", "r") as ef:
|
||||
with open("config/ports.yaml", "w") as ff:
|
||||
data = yaml.safe_load(ef.read())
|
||||
data["ports"] = ports
|
||||
ff.write(yaml.dump(data))
|
||||
|
||||
if len(services) > 0:
|
||||
modules.append("stats-processes")
|
||||
with open("config/processes.yaml.example", "r") as ef:
|
||||
with open("config/processes.yaml", "w") as ff:
|
||||
data = yaml.safe_load(ef.read())
|
||||
data["processes"] = services
|
||||
ff.write(yaml.dump(data))
|
||||
|
||||
with open("config/cstatsd.yaml.example", "r") as ef:
|
||||
with open("config/cstatsd.yaml", "w") as ff:
|
||||
data = yaml.safe_load(ef.read())
|
||||
data["pubkey"] = master_pubkey
|
||||
data["autostart"] = modules
|
||||
ff.write(yaml.dump(data))
|
Loading…
Reference in New Issue