diff --git a/.release.yaml b/.release.yaml new file mode 100644 index 0000000000..d66b45ade7 --- /dev/null +++ b/.release.yaml @@ -0,0 +1,2 @@ +compose: docker-compose.yml +application_template: app-config.yaml diff --git a/app-config.yaml b/app-config.yaml new file mode 100644 index 0000000000..69781ad8d0 --- /dev/null +++ b/app-config.yaml @@ -0,0 +1,105 @@ +--- +app: example-voting-app +auto_deploy: true +context: release-handsup-us-east-1 +domain: example-voting-app.releaseapp.gethandsup.com +mode: development +repo_name: dustyspace/example-voting-app +hostnames: +- vote: vote-${env_id}-${domain} +- result: result-${env_id}-${domain} +environment_templates: +- name: ephemeral +- name: permanent +resources: + cpu: + limits: 500m + requests: 100m + memory: + limits: 1Gi + requests: 100Mi + replicas: 1 +services: +- name: vote + image: dustyspace/example-voting-app/vote + has_repo: true + static: false + volumes: [] + args: + - python + - app.py + depends_on: + - worker + ports: + - port: '5000' + type: node_port + target_port: '80' + build: + context: "./vote" + autoscale: + min_replicas: 3 + max_replicas: 10 + metrics: + - resource: + name: cpu + average_utilization: 50 + - resource: + name: memory + average_value: 100Mi +- name: result + image: dustyspace/example-voting-app/result + has_repo: true + static: false + volumes: [] + args: + - nodemon + - server.js + depends_on: + - worker + ports: + - port: '5001' + type: node_port + target_port: '80' + - port: '5858' + type: node_port + target_port: '5858' + build: + context: "./result" +- name: worker + image: dustyspace/example-voting-app/worker + has_repo: true + static: false + depends_on: + - redis + - db + build: + context: "./worker" +- name: redis + image: redis:alpine + ports: + - port: '6379' + type: container_port +- name: db + image: postgres:9.6.1 + volumes: + - name: db-data + type: persistent + mount_path: "/var/lib/postgresql/data" + ports: + - port: '5432' + type: container_port + storage: + size: 10Gi + type: aws-efs +workflows: +- name: setup + order_from: + - services.all +- name: patch + order_from: + - services.vote + - services.result + - services.worker + - services.redis + - services.db + diff --git a/docker-compose.yml b/docker-compose.yml index 2451bf7cf5..59222e7954 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -37,20 +37,6 @@ services: networks: - back-tier - uploader: - image: mayth/simple-upload-server - ports: - - "3000:3000" - command: - - "/usr/local/bin/app" - - "-port" - - '3000' - - "-upload_limit" - - '10485760' - - "-token" - - f9403fc5f537b4ab332d - - "/tmp" - redis: image: redis:alpine container_name: redis diff --git a/result/views/index.html b/result/views/index.html index dd468e68a6..f90e540f2a 100644 --- a/result/views/index.html +++ b/result/views/index.html @@ -2,7 +2,7 @@ - Cats vs Dogs -- Result + Biden vs Trump -- Result @@ -20,12 +20,12 @@
-
Fred
+
Biden
{{aPercent | number:1}}%
-
Savage
+
Trump
{{bPercent | number:1}}%
diff --git a/vote/Dockerfile b/vote/Dockerfile index ad14ad92fb..4cf8e47f6f 100644 --- a/vote/Dockerfile +++ b/vote/Dockerfile @@ -16,3 +16,4 @@ EXPOSE 80 # Define our command to be run when launching the container CMD ["gunicorn", "app:app", "-b", "0.0.0.0:80", "--log-file", "-", "--access-logfile", "-", "--workers", "4", "--keep-alive", "0"] + diff --git a/vote/app.py b/vote/app.py index eeed6d3fdb..6e11cc5d07 100644 --- a/vote/app.py +++ b/vote/app.py @@ -1,19 +1,23 @@ from flask import Flask, render_template, request, make_response, g from redis import Redis +from dotenv import load_dotenv + import os import socket import random import json -option_a = os.getenv('OPTION_A', "Fredie") -option_b = os.getenv('OPTION_B', "Savagie") +load_dotenv(verbose=True) +option_a = os.getenv('OPTION_A', "Bidenie") +option_b = os.getenv('OPTION_B', "Trumpie") hostname = socket.gethostname() app = Flask(__name__) def get_redis(): if not hasattr(g, 'redis'): - g.redis = Redis(host="redis", db=0, socket_timeout=5) + redis_host = os.getenv('VOTE_REDIS_HOST', "redis") + g.redis = Redis(host=redis_host, db=0, socket_timeout=5) return g.redis @app.route("/", methods=['POST','GET']) diff --git a/vote/requirements.txt b/vote/requirements.txt index 430bfdcd89..e1f9c24fc9 100644 --- a/vote/requirements.txt +++ b/vote/requirements.txt @@ -1,3 +1,4 @@ Flask Redis gunicorn +python-dotenv diff --git a/worker/Dockerfile b/worker/Dockerfile index f8d9b36c5b..1b906125de 100644 --- a/worker/Dockerfile +++ b/worker/Dockerfile @@ -10,6 +10,8 @@ RUN ["mvn", "verify"] COPY ["src/main", "/code/src/main"] RUN ["mvn", "package"] +RUN "echo 'i see you tommy'" + FROM openjdk:8-jre-alpine COPY --from=build /code/target/worker-jar-with-dependencies.jar /