flask-python-helm/routes/kube_helm_routes.py
2020-12-16 11:55:14 +08:00

36 lines
1.3 KiB
Python

from flask import render_template, request, jsonify
from forms import deploySelectForm
from main import get_namespaces, get_charts, get_chartdata, get_tiller_namespaces, chartRollback
from . import routes
from tables import chartVersionTable
import json
@routes.route('/', methods=['GET', 'POST'])
def index():
ns = get_namespaces()
form = deploySelectForm()
form.ns.choices = [(name.metadata.name, name.metadata.name) for name in ns.items]
return render_template('nameChartSelect.html', ns=ns, form=form)
@routes.route('/chartSelect', methods=['POST'])
def chartVersions():
tiller_ns = request.form['tiller_ns']
chart = request.form['chart']
records = request.form['records']
namespace = 'default'
chartVersions = get_chartdata(tiller_ns, namespace, chart, records)
table = chartVersionTable(chartVersions)
table.border = True
table.classes = ['table-striped', 'table-condensed', 'table-hover']
return render_template('chartRevisionList.html', table=table)
@routes.route('/nsLookup/<ns>/<namespace>')
def namespaceLookup(ns):
charts = get_charts(ns)
return jsonify(charts)
@routes.route('/deployChartRevision/<revision>/<chart>/<tiller_ns>', methods=['POST'])
def deployChartRevision(revision, chart, tiller_ns):
rollback = chartRollback(revision, chart, tiller_ns)
return rollback