41 lines
1.6 KiB
Python
41 lines
1.6 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
|
|
from . import routes
|
|
from tables import chartVersionTable
|
|
import json
|
|
|
|
@routes.route('/', methods=['GET', 'POST'])
|
|
def index():
|
|
tiller_ns = get_tiller_namespaces()
|
|
namespaces = get_namespaces()
|
|
form = deploySelectForm()
|
|
form.tiller_ns.choices = [(name['metadata']['namespace'], name['metadata']['namespace']) for name in tiller_ns['items']]
|
|
form.namespace.choices = [(name['metadata']['name'], name['metadata']['name']) for name in namespaces['items']]
|
|
return render_template('nameChartSelect.html', namespaces=namespaces, tiller_ns=tiller_ns, form=form)
|
|
|
|
@routes.route('/chartSelect', methods=['POST'])
|
|
def chartVersions():
|
|
namespace = request.form['namespace']
|
|
tiller_ns = request.form['tiller_ns']
|
|
chart = request.form['chart']
|
|
chartVersions = get_chartdata(tiller_ns, namespace, chart)
|
|
table = chartVersionTable(chartVersions)
|
|
table.border = True
|
|
table.classes = ['table-striped', 'table-condensed', 'table-hover']
|
|
return render_template('chartRevisionList.html', table=table, namespace=namespace)
|
|
|
|
|
|
@routes.route('/nsLookup/<tiller>/<namespace>')
|
|
def namespaceLookup(tiller, namespace):
|
|
charts = get_charts(tiller, namespace)
|
|
return jsonify(charts)
|
|
|
|
@routes.route('/deployChartRevision/<revision>/<chart>/<namespace>', methods=['POST'])
|
|
def deployChartRevision(revision, chart, namespace):
|
|
print(revision)
|
|
print(chart)
|
|
print(namespace)
|
|
charts = get_charts(namespace)
|
|
return jsonify(charts)
|