From dc66b8343bf432594cb889111c86fcf61d9504ae Mon Sep 17 00:00:00 2001 From: Clivern Date: Sat, 14 Nov 2020 18:58:13 +0100 Subject: [PATCH] split deployment --- README.md | 8 ++- .../docker-compose/configs/config.prod.json | 67 +++++++++++++++++++ .../configs/service2.getItem.response.json | 0 .../docker-compose/docker-compose.yml | 23 +++++++ .../docker-compose/prometheus/prometheus.yml | 0 .../docker-compose/configs/config.prod.json | 0 .../configs/service2.getItem.response.json | 1 + .../basic/docker-compose/docker-compose.yml | 11 +++ 8 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 deployment/advanced/docker-compose/configs/config.prod.json rename deployment/{ => advanced}/docker-compose/configs/service2.getItem.response.json (100%) rename deployment/{ => advanced}/docker-compose/docker-compose.yml (67%) rename deployment/{ => advanced}/docker-compose/prometheus/prometheus.yml (100%) rename deployment/{ => basic}/docker-compose/configs/config.prod.json (100%) create mode 100644 deployment/basic/docker-compose/configs/service2.getItem.response.json create mode 100644 deployment/basic/docker-compose/docker-compose.yml diff --git a/README.md b/README.md index a0ea665..70f46ae 100644 --- a/README.md +++ b/README.md @@ -167,8 +167,14 @@ UUID: @fake(:uuid_digit) Clone and then run docker containers. ```zsh +# Simple setup $ git clone https://github.com/Clivern/Rhino.git -$ cd Rhino/deployment/docker-compose +$ cd Rhino/deployment/basic/docker-compose +$ docker-compose up -d + +# In case you want to visualize incoming requests with grafana +$ git clone https://github.com/Clivern/Rhino.git +$ cd Rhino/deployment/advanced/docker-compose $ docker-compose up -d ``` diff --git a/deployment/advanced/docker-compose/configs/config.prod.json b/deployment/advanced/docker-compose/configs/config.prod.json new file mode 100644 index 0000000..88710e7 --- /dev/null +++ b/deployment/advanced/docker-compose/configs/config.prod.json @@ -0,0 +1,67 @@ +{ + "app": { + "mode": "prod", + "port": "8080", + "domain": "http://127.0.0.1:8080", + "tls": { + "status": "off", + "pemPath": "/cert/server.pem", + "keyPath": "/cert/server.key" + } + }, + "mock": [ + { + "path": "/api/v2/service1/mock/:id", + "request": { + "method": "get", + "parameters": {} + }, + "response": { + "statusCode": 200, + "headers": [ + {"key": "Content-Type", "value": "application/json"} + ], + "body": "{\"id\": \":id\"}" + }, + "chaos": { + "latency": "0s", + "failRate": "0%" + } + }, + { + "path": "/api/v2/service2/mock/:id", + "request": { + "method": "get", + "parameters": { + "var_param": ":var_param", + "fixed_param": 10 + } + }, + "response": { + "statusCode": 200, + "headers": [ + {"key": "Content-Type", "value": "application/json"} + ], + "body": "@json:/app/configs/service2.getItem.response.json" + }, + "chaos": { + "latency": "0s", + "failRate": "0%" + } + } + ], + "debug": [ + { + "path": "/api/v2/service/debug", + "chaos": { + "latency": "0s", + "failRate": "0%" + } + } + ], + "log": { + "level": "info", + "output": "/app/configs/prod.log", + "format": "json" + } +} \ No newline at end of file diff --git a/deployment/docker-compose/configs/service2.getItem.response.json b/deployment/advanced/docker-compose/configs/service2.getItem.response.json similarity index 100% rename from deployment/docker-compose/configs/service2.getItem.response.json rename to deployment/advanced/docker-compose/configs/service2.getItem.response.json diff --git a/deployment/docker-compose/docker-compose.yml b/deployment/advanced/docker-compose/docker-compose.yml similarity index 67% rename from deployment/docker-compose/docker-compose.yml rename to deployment/advanced/docker-compose/docker-compose.yml index 643c24a..0ca5840 100644 --- a/deployment/docker-compose/docker-compose.yml +++ b/deployment/advanced/docker-compose/docker-compose.yml @@ -1,4 +1,5 @@ version: '3' + services: rhino: image: 'clivern/rhino:release-1.5.0' @@ -9,6 +10,22 @@ services: - './configs/:/app/configs' restart: unless-stopped + loki: + image: grafana/loki:2.0.0 + ports: + - "3100:3100" + command: -config.file=/etc/loki/local-config.yaml + networks: + - loki + + promtail: + image: grafana/promtail:2.0.0 + volumes: + - './configs/:/var/log' + command: -config.file=/etc/promtail/config.yml + networks: + - loki + prometheus: image: 'prom/prometheus:v2.22.1' volumes: @@ -29,3 +46,9 @@ services: depends_on: - prometheus restart: unless-stopped + networks: + - loki + + +networks: + loki: diff --git a/deployment/docker-compose/prometheus/prometheus.yml b/deployment/advanced/docker-compose/prometheus/prometheus.yml similarity index 100% rename from deployment/docker-compose/prometheus/prometheus.yml rename to deployment/advanced/docker-compose/prometheus/prometheus.yml diff --git a/deployment/docker-compose/configs/config.prod.json b/deployment/basic/docker-compose/configs/config.prod.json similarity index 100% rename from deployment/docker-compose/configs/config.prod.json rename to deployment/basic/docker-compose/configs/config.prod.json diff --git a/deployment/basic/docker-compose/configs/service2.getItem.response.json b/deployment/basic/docker-compose/configs/service2.getItem.response.json new file mode 100644 index 0000000..8387ccb --- /dev/null +++ b/deployment/basic/docker-compose/configs/service2.getItem.response.json @@ -0,0 +1 @@ +{"id":":id","var_param":":var_param"} \ No newline at end of file diff --git a/deployment/basic/docker-compose/docker-compose.yml b/deployment/basic/docker-compose/docker-compose.yml new file mode 100644 index 0000000..25110a5 --- /dev/null +++ b/deployment/basic/docker-compose/docker-compose.yml @@ -0,0 +1,11 @@ +version: '3' + +services: + rhino: + image: 'clivern/rhino:release-1.5.0' + ports: + - "8080:8080" + command: '/app/rhino serve -c /app/configs/config.prod.json' + volumes: + - './configs/:/app/configs' + restart: unless-stopped