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