forked from zdzichu/quick-qrcode-generator
qrgen: import qrgeneratora z pracy
This commit is contained in:
17
Containerfile
Normal file
17
Containerfile
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
FROM artifactory.hcp.preprod.oneadr.net/docker-nordea-images-local/nordea-python-36-rhel7:1
|
||||||
|
|
||||||
|
# workaround for running yum in container
|
||||||
|
USER root
|
||||||
|
|
||||||
|
RUN yum install --assumeyes \
|
||||||
|
python-flask \
|
||||||
|
python-flask-wtf \
|
||||||
|
&& yum clean all
|
||||||
|
|
||||||
|
USER 1000
|
||||||
|
|
||||||
|
ADD /app /app
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
CMD [ "/app/qrwebform.py" ]
|
||||||
9
README.md
Normal file
9
README.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
QR generator docker.io/samwierema/go-qr-generator
|
||||||
|
|
||||||
|
flask app which post to itself
|
||||||
|
|
||||||
|
One pod with two containers (fronted, backend) and two exposed ports.
|
||||||
|
One Service with with named ports.
|
||||||
|
Two Routes, with the same hostname, but routing based on path: / to fronted, /render to backend.
|
||||||
|
One NetworkPolicy allowing access to both ports.
|
||||||
27
app/qrwebform.py
Executable file
27
app/qrwebform.py
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
from flask import Flask, render_template, flash, request
|
||||||
|
from wtforms import Form, TextField
|
||||||
|
|
||||||
|
DEBUG = False
|
||||||
|
app = Flask(__name__)
|
||||||
|
app.config.from_object(__name__)
|
||||||
|
|
||||||
|
class ReusableForm(Form):
|
||||||
|
url = TextField("URL:")
|
||||||
|
|
||||||
|
@app.route("/", methods=["GET", "POST"])
|
||||||
|
def main():
|
||||||
|
form = ReusableForm(request.form)
|
||||||
|
|
||||||
|
if request.method == "POST":
|
||||||
|
target_url = request.form["url"]
|
||||||
|
else:
|
||||||
|
target_url = "https://qrgen.ap-opiate-app.test01.qaoneadr.local/"
|
||||||
|
|
||||||
|
return render_template("main.html", form=form, target_url=target_url, genurl="https://qrgen.ap-opiate-app.test01.qaoneadr.local/render/")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
app.run(host='::')
|
||||||
|
|
||||||
|
|
||||||
29
app/templates/main.html
Normal file
29
app/templates/main.html
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>QR generator</title>
|
||||||
|
|
||||||
|
<link href="https://ninaa.oneadr.net/portal/internalportal/framework/skins/nordea/css/main_5col.css?v53" media="all" rel="stylesheet" type="text/css"/>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<center>
|
||||||
|
<br/>
|
||||||
|
<p>
|
||||||
|
<form action="" method="post">
|
||||||
|
<div class="input text">
|
||||||
|
{{ form.url.label}} {{ form.url }} </div>
|
||||||
|
|
||||||
|
<div class="input submit">
|
||||||
|
<input type="submit" value="Generate"</div>
|
||||||
|
</form>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<div><img src="{{ genurl }}/?size=512&data={{ target_url }}"> <br/>
|
||||||
|
{{ target_url }}
|
||||||
|
</div>
|
||||||
|
</p>
|
||||||
|
</center>
|
||||||
|
</body>
|
||||||
111
qrgen.yaml
Normal file
111
qrgen.yaml
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
---
|
||||||
|
kind: Deployment
|
||||||
|
apiVersion: apps/v1
|
||||||
|
metadata:
|
||||||
|
name: qrgen
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
name: qrgen
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
name: qrgen
|
||||||
|
app.kubernetes.io/version: "002"
|
||||||
|
annotations:
|
||||||
|
source: "https://bitbucket.itgit.oneadr.net/users/m013403/repos/quick-qrcode-generator/browse"
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: qrfrontend
|
||||||
|
image: docker-registry.default.svc:5000/devops-team/qrfrontend:002
|
||||||
|
ports:
|
||||||
|
- containerPort: 5000
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 1m
|
||||||
|
memory: 10Mi
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 256Mi
|
||||||
|
- name: qrbackend
|
||||||
|
image: docker-registry.default.svc:5000/devops-team/samwierema-go-qr-generator
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 1m
|
||||||
|
memory: 10Mi
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 256Mi
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: Service
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: qrgen
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
name: qrgen
|
||||||
|
ports:
|
||||||
|
- port: 5000
|
||||||
|
name: frontend
|
||||||
|
targetPort: 5000
|
||||||
|
protocol: TCP
|
||||||
|
- port: 8080
|
||||||
|
name: backend
|
||||||
|
targetPort: 8080
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: Route
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: qrfrontend
|
||||||
|
spec:
|
||||||
|
host: qrgen.ap-opiate-app.test01.qaoneadr.local
|
||||||
|
path: "/"
|
||||||
|
to:
|
||||||
|
kind: Service
|
||||||
|
name: qrgen
|
||||||
|
port:
|
||||||
|
targetPort: frontend
|
||||||
|
tls:
|
||||||
|
termination: edge
|
||||||
|
insecureEdgeTerminationPolicy: Redirect
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: Route
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: qrbackend
|
||||||
|
spec:
|
||||||
|
host: qrgen.ap-opiate-app.test01.qaoneadr.local
|
||||||
|
path: "/render"
|
||||||
|
to:
|
||||||
|
kind: Service
|
||||||
|
name: qrgen
|
||||||
|
port:
|
||||||
|
targetPort: backend
|
||||||
|
tls:
|
||||||
|
termination: edge
|
||||||
|
insecureEdgeTerminationPolicy: Redirect
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: NetworkPolicy
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: allowall-qrgen
|
||||||
|
spec:
|
||||||
|
podSelector:
|
||||||
|
matchLabels:
|
||||||
|
name: qrgen
|
||||||
|
ingress:
|
||||||
|
- ports:
|
||||||
|
- port: 5000
|
||||||
|
- port: 8080
|
||||||
|
from: []
|
||||||
|
|
||||||
Reference in New Issue
Block a user