add example-configs and form on peering/new

This commit is contained in:
lare 2022-11-21 19:41:28 +01:00
parent bc55c5df00
commit 107644cbd7
5 changed files with 118 additions and 19 deletions

View file

@ -1,7 +1,7 @@
{
"nodes": {
"<nodename>": {
"pub-endpoint": "<clearnet-fqdn/ip-address>", //optional, recommended, default: None/null
"endpoint": "<clearnet-fqdn/ip-address>", //optional, recommended, default: None/null
"api-con": "http://<node-(internal)-ip/hostname>:<port>/", // required
"#comment": "/* from here: data to be displayed on the webinterface */",
"country": "...", // Countrycode: 2 capital letters
@ -16,6 +16,7 @@
}
},
"MNT": "YOUR-MNT", // your MNT tag
"ASN": "424242000", //Your ASN (used to generate default peer ListenPorts)
"listen": "0.0.0.0",
"port": 8042,
"domain": "example.org", // domain to use for kioubit verification service

View file

@ -91,6 +91,7 @@ class PeeringManager(dict):
json.dump(self._peerings, p, indent=4)
def get_peerings_by_mnt(self, mnt):
return [{}]
raise NotImplementedError()
@ -143,6 +144,10 @@ def login():
return render_template("login.html", session=session, config=config, return_addr=session["return_url"])
elif request.method == "POST" and config["debug-mode"]:
try:
print(request.form)
if request.form["theanswer"] != "42":
msg = "what is the answer for everything?"
return render_template("login.html", session=session,config=config,return_addr=session["return_url"], msg=msg)
mnt = request.form["mnt"]
asn = request.form["asn"]
asn = asn[2:] if asn[:1].lower() == "as" else asn
@ -175,17 +180,23 @@ def peerings_delete():
@app.route("/peerings/new", methods=["GET","POST"])
@auth_required()
def peerings_new():
return render_template("peerings-new.html", session=session,config=config)
return f"{request.method} /peerings/new {str(request.args)}{str(request.form)}"
if request.method == "GET":
print(session)
if "node" in request.args and request.args["node"] in config["nodes"]:
return render_template("peerings-new.html", config=config, selected_node=request.args["node"], peerings=peerings)
else:
return render_template("peerings-new.html", session=session,config=config, peerings=peerings)
elif request.method == "POST":
return """<div>creating peerings is not (yet) implemented</div><div><a href="../">return</a>"""
return f"{request.method} /peerings/new {str(request.args)}{str(request.form)}"
@app.route("/peerings", methods=["GET","POST","DELETE"])
@auth_required()
def peerings():
def peerings_view():
if request.method == "GET":
if "node" in request.args and request.args["node"] in config["nodes"]:
return render_template("peerings.html", config=config, selected_node=request.args["node"])
return render_template("peerings.html", config=config, selected_node=request.args["node"], peerings=peerings)
else:
return render_template("peerings.html", session=session,config=config)
return render_template("peerings.html", session=session,config=config, peerings=peerings)
elif request.method == "POST":
return peerings_new()
elif request.method == "DELETE":
@ -205,11 +216,11 @@ def main():
app.template_folder=config["flask-template-dir"]
app.secret_key = config["flask-secret-key"]
if "production" in config and config["production"] == False:
logging.getLogger(__name__).setLevel(logging.INFO)
logging.getLogger(__name__).setLevel(0)
app.run(host=config["listen"], port=config["port"], debug=config["debug-mode"], threaded=True)
else:
from waitress import serve
logging.getLogger(__name__).setLevel(logging.NOTSET)
logging.getLogger(__name__).setLevel(logging.INFO)
serve(app, host=config["listen"], port=config["port"])