Update application root and add deploy script
This commit is contained in:
Родитель
8372e441c5
Коммит
5ecafa412e
|
@ -5,11 +5,13 @@ import datetime
|
||||||
from flask import Flask, render_template, redirect, url_for, request, session
|
from flask import Flask, render_template, redirect, url_for, request, session
|
||||||
from flask_login import LoginManager, login_required, login_user, logout_user
|
from flask_login import LoginManager, login_required, login_user, logout_user
|
||||||
|
|
||||||
from .models import User
|
from app.models import User
|
||||||
from .auth import get_authorization_url, acquire_token, get_logout_uri
|
from app.auth import get_authorization_url, acquire_token, get_logout_uri
|
||||||
|
|
||||||
# pylint: disable=invalid-name
|
# pylint: disable=invalid-name
|
||||||
|
|
||||||
|
APP_ROOT = "/monitor"
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
app.secret_key = os.environ.get('SECRET_KEY', 'local_test')
|
app.secret_key = os.environ.get('SECRET_KEY', 'local_test')
|
||||||
|
|
||||||
|
@ -35,18 +37,18 @@ def unauthorized_handler():
|
||||||
return redirect(url_for('login', requiest_uri=request.path))
|
return redirect(url_for('login', requiest_uri=request.path))
|
||||||
|
|
||||||
|
|
||||||
@app.route('/login')
|
@app.route(APP_ROOT + '/login')
|
||||||
def login():
|
def login():
|
||||||
return render_template('login.html', auth_link=get_authorization_url())
|
return render_template('login.html', auth_link=get_authorization_url())
|
||||||
|
|
||||||
|
|
||||||
@app.route('/logout')
|
@app.route(APP_ROOT + '/logout')
|
||||||
def logout():
|
def logout():
|
||||||
logout_user()
|
logout_user()
|
||||||
return redirect(get_logout_uri())
|
return redirect(get_logout_uri())
|
||||||
|
|
||||||
|
|
||||||
@app.route('/login_callback', methods=['GET'])
|
@app.route(APP_ROOT + '/login_callback', methods=['GET'])
|
||||||
def login_callback():
|
def login_callback():
|
||||||
code, state = request.args['code'], request.args['state']
|
code, state = request.args['code'], request.args['state']
|
||||||
token = acquire_token(code)
|
token = acquire_token(code)
|
||||||
|
@ -59,16 +61,12 @@ def login_callback():
|
||||||
return redirect(state)
|
return redirect(state)
|
||||||
|
|
||||||
|
|
||||||
@app.route('/')
|
@app.route(APP_ROOT)
|
||||||
@login_required
|
@login_required
|
||||||
def index():
|
def index():
|
||||||
return render_template('index.html')
|
return render_template('index.html')
|
||||||
|
|
||||||
|
|
||||||
@app.route('/help', methods=['GET'])
|
@app.route(APP_ROOT + '/help', methods=['GET'])
|
||||||
def help_page():
|
def help_page():
|
||||||
return render_template('help.html')
|
return render_template('help.html')
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
app.run()
|
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
build=$1
|
||||||
|
branch=$2
|
||||||
|
|
||||||
|
|
||||||
|
echo "apiVersion: apps/v1beta1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: monitor
|
||||||
|
labels:
|
||||||
|
system: a01
|
||||||
|
group: base
|
||||||
|
spec:
|
||||||
|
replicas: 2
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: monitor
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: main
|
||||||
|
image: adxautomationbase.azurecr.io/monitor:$branch-$build
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
env:
|
||||||
|
- name: SECRET_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: monitor-secrets
|
||||||
|
key: secret_key
|
||||||
|
- name: AZURE_CLIENT_ID
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: monitor-secrets
|
||||||
|
key: client_id
|
||||||
|
- name: AZURE_CLIENT_TENANT
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: monitor-secrets
|
||||||
|
key: client_tenant
|
||||||
|
- name: AZURE_CLIENT_SECRET
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: monitor-secrets
|
||||||
|
key: client_secret
|
||||||
|
- name: AZURE_CLIENT_RESOURCE
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: monitor-secrets
|
||||||
|
key: client_resource
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: monitor-registry
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: monitor
|
||||||
|
labels:
|
||||||
|
system: a01
|
||||||
|
group: base
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
selector:
|
||||||
|
app: monitor
|
||||||
|
---
|
||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: store-ingress
|
||||||
|
labels:
|
||||||
|
system: a01
|
||||||
|
group: base
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: \"nginx\"
|
||||||
|
kubernetes.io/tls-acme: "true"
|
||||||
|
ingress.kubernetes.io/rewrite-target: /
|
||||||
|
spec:
|
||||||
|
tls:
|
||||||
|
- secretName: store-tls
|
||||||
|
hosts:
|
||||||
|
- secondapi.azclitest.com
|
||||||
|
rules:
|
||||||
|
- host: secondapi.azclitest.com
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /monitor
|
||||||
|
backend:
|
||||||
|
serviceName: monitor
|
||||||
|
servicePort: 80
|
||||||
|
" | kubectl apply --namespace a01-monitor-$branch -f -
|
Загрузка…
Ссылка в новой задаче