Browse Source

first commit

master
Domagoj Zecevic 3 years ago
commit
107522c82c
  1. 2
      .gitignore
  2. 6
      001_build_prod.sh
  3. 6
      001_run_prod.sh
  4. 5
      002_build_dev.sh
  5. 5
      002_run_dev.sh
  6. 23
      Dockerfile
  7. 23
      Dockerfile.dev
  8. 3
      docker-entrypoint-dev.sh
  9. 35
      ping_engine.py
  10. 2
      requirements.txt

2
.gitignore

@ -0,0 +1,2 @@
*.pyc
venv/

6
001_build_prod.sh

@ -0,0 +1,6 @@
#!/bin/bash
echo "Type docker tag (version)"
read DOCKER_TAG
docker build -t pingmachine/ping_engine:$DOCKER_TAG -f Dockerfile .

6
001_run_prod.sh

@ -0,0 +1,6 @@
#!/bin/bash
echo "Type docker tag (version)"
read DOCKER_TAG
docker run -p 5000:5000 pingmachine/ping_engine:$DOCKER_TAG

5
002_build_dev.sh

@ -0,0 +1,5 @@
#!/bin/bash
DOCKER_TAG="dev"
docker build -t pingmachine/ping_engine:$DOCKER_TAG -f Dockerfile.dev .

5
002_run_dev.sh

@ -0,0 +1,5 @@
#!/bin/bash
DOCKER_TAG="dev"
docker run -p 5000:5000 -v $(pwd):/opt/ping_engine pingmachine/ping_engine:$DOCKER_TAG

23
Dockerfile

@ -0,0 +1,23 @@
FROM python:3.9.15-alpine3.16
RUN apk update \
&& apk upgrade \
&& apk add --virtual build-deps gcc python3-dev musl-dev
RUN python3 -m ensurepip && pip3 install --upgrade pip setuptools wheel
WORKDIR /opt/ping_engine
COPY ./requirements.txt /tmp/
COPY ping_engine.py /opt/ping_engine
RUN pip3 install -r /tmp/requirements.txt
RUN apk del build-deps
EXPOSE 5000
ENV PYTHONUNBUFFERED 1
CMD flask --app ping_engine run --host=0.0.0.0

23
Dockerfile.dev

@ -0,0 +1,23 @@
FROM python:3.9.15-alpine3.16
RUN apk update \
&& apk upgrade \
&& apk add --virtual build-deps gcc python3-dev musl-dev
RUN python3 -m ensurepip && pip3 install --upgrade pip setuptools wheel
WORKDIR /opt/ping_engine
COPY ./requirements.txt /tmp/
# COPY ping_engine.py /opt/ping_engine
RUN pip3 install -r /tmp/requirements.txt
RUN apk del build-deps
EXPOSE 5000
ENV PYTHONUNBUFFERED 1
CMD flask --app ping_engine --debug run --host=0.0.0.0

3
docker-entrypoint-dev.sh

@ -0,0 +1,3 @@
#!/bin/sh
flask --app ping_engine --debug run --host=0.0.0.0

35
ping_engine.py

@ -0,0 +1,35 @@
from glob import escape
from flask import Flask,request,json
from markupsafe import escape
import os
import requests
app = Flask(__name__)
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
greet = '<h1>You should not be here!</h1>'
link = '<p><a href="https://www.google.com">Click me!</a></p>'
return greet + link
@app.route('/ping/<name>')
def ping(name):
personal = f'pinging, {name}'
response = os.system("ping -c 1 " + name)
if response == 0:
instruc = ' is up!'
address = 'http://%s' %name
r = requests.get(address)
status = r.status_code
status_string = str(status)
else:
instruc = ' is down!'
return personal + instruc + status_string
if __name__ == '__main__':
app.run(debug=True)

2
requirements.txt

@ -0,0 +1,2 @@
Flask==2.2.2
requests==2.25.1
Loading…
Cancel
Save