qrgen: import qrgeneratora z pracy

This commit is contained in:
2020-12-28 15:28:54 +01:00
commit 882fa06adc
5 changed files with 193 additions and 0 deletions

17
Containerfile Normal file
View 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
View 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
View 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
View 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
View 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: []