From 0a968272006c0578b48c6930210004ae4e85c01e Mon Sep 17 00:00:00 2001 From: mr Date: Thu, 6 Mar 2025 09:34:04 +0100 Subject: [PATCH] dev launch mode --- pull_stack.sh | 11 ++ run_dev.sh | 12 ++ traefik-dev-reverse/docker-compose.yml | 13 ++ traefik-dev-reverse/dynamic.yml | 167 +++++++++++++++++++++++++ traefik-dev-reverse/traefik.yml | 8 ++ 5 files changed, 211 insertions(+) create mode 100644 pull_stack.sh create mode 100644 run_dev.sh create mode 100644 traefik-dev-reverse/docker-compose.yml create mode 100644 traefik-dev-reverse/dynamic.yml create mode 100644 traefik-dev-reverse/traefik.yml diff --git a/pull_stack.sh b/pull_stack.sh new file mode 100644 index 0000000..8fc610d --- /dev/null +++ b/pull_stack.sh @@ -0,0 +1,11 @@ +#!/bin/bash +branch = "master" +if [ -n "$1" ]; then + branch = $1 +fi +arr=("oc-catalog" "oc-datacenter" "oc-peer" "oc-scheduler" "oc-shared" "oc-workflow" "oc-workspace" "oc-auth" "oc-schedulerd" "oc-front") + +for i in "${arr[@]}" +do + git pull origin $branch +done \ No newline at end of file diff --git a/run_dev.sh b/run_dev.sh new file mode 100644 index 0000000..44848bb --- /dev/null +++ b/run_dev.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +docker network create catalog | true + +arr=("oc-catalog" "oc-datacenter" "oc-peer" "oc-scheduler" "oc-shared" "oc-workflow" "oc-workspace" "oc-auth" "oc-schedulerd" "oc-front") + +for i in "${arr[@]}" +do + echo $i + docker kill $i | true + cd ../$i && make dev | true +done \ No newline at end of file diff --git a/traefik-dev-reverse/docker-compose.yml b/traefik-dev-reverse/docker-compose.yml new file mode 100644 index 0000000..79e9607 --- /dev/null +++ b/traefik-dev-reverse/docker-compose.yml @@ -0,0 +1,13 @@ +version: '3.8' + +services: + traefik: + image: traefik:v3.0 + container_name: traefik + restart: always + ports: + - "8000:8000" # Expose Traefik on port 8000 + volumes: + - "/var/run/docker.sock:/var/run/docker.sock" + - "./traefik.yml:/etc/traefik/traefik.yml" + - "./dynamic.yml:/etc/traefik/dynamic.yml" \ No newline at end of file diff --git a/traefik-dev-reverse/dynamic.yml b/traefik-dev-reverse/dynamic.yml new file mode 100644 index 0000000..5dba14a --- /dev/null +++ b/traefik-dev-reverse/dynamic.yml @@ -0,0 +1,167 @@ +http: + routers: + workspace-router: + rule: "PathPrefix(`/workspace`)" + entryPoints: + - "web" + service: workspace-service + middlewares: + - replace-workspace + workflow-router: + rule: "PathPrefix(`/workflow`)" + entryPoints: + - "web" + service: workflow-service + middlewares: + - replace-workflow + shared-router: + rule: "PathPrefix(`/shared`)" + entryPoints: + - "web" + service: shared-service + middlewares: + - replace-shared + scheduler-router: + rule: "PathPrefix(`/scheduler`)" + entryPoints: + - "web" + service: scheduler-service + middlewares: + - replace-scheduler + peer-router: + rule: "PathPrefix(`/peer`)" + entryPoints: + - "web" + service: peer-service + middlewares: + - replace-peer + datacenter-router: + rule: "PathPrefix(`/datacenter`)" + entryPoints: + - "web" + service: datacenter-service + middlewares: + - replace-datacenter + catalog-router: + rule: "PathPrefix(`/catalog`)" + entryPoints: + - "web" + service: catalog-service + middlewares: + - replace-catalog + auth-router: + rule: "PathPrefix(`/auth`)" + entryPoints: + - "web" + service: auth-service + middlewares: + - replace-auth + front-router: + rule: "PathPrefix(`/`)" + entryPoints: + - "web" + service: front-service + middlewares: + - replace-front + + services: + workspace-service: + loadBalancer: + servers: + - url: "http://localhost:8089" + workflow-service: + loadBalancer: + servers: + - url: "http://localhost:8088" + shared-service: + loadBalancer: + servers: + - url: "http://localhost:8091" + scheduler-service: + loadBalancer: + servers: + - url: "http://localhost:8090" + peer-service: + loadBalancer: + servers: + - url: "http://localhost:8093" + datacenter-service: + loadBalancer: + servers: + - url: "http://localhost:8092" + catalog-service: + loadBalancer: + servers: + - url: "http://localhost:8087" + auth-service: + loadBalancer: + servers: + - url: "http://localhost:8094" + front-service: + loadBalancer: + servers: + - url: "http://localhost:8080" + + middlewares: + workspace: + forwardauth: + address: "http://localhost:8094/oc/forward" + workflow: + forwardauth: + address: "http://localhost:8094/oc/forward" + shared: + forwardauth: + address: "http://localhost:8094/oc/forward" + scheduler: + forwardauth: + address: "http://localhost:8094/oc/forward" + peer: + forwardauth: + address: "http://localhost:8094/oc/forward" + datacenter: + forwardauth: + address: "http://localhost:8094/oc/forward" + catalog: + forwardauth: + address: "http://localhost:8094/oc/forward" + auth: + forwardauth: + address: "http://localhost:8094/oc/forward" + auth: + forwardauth: + address: "http://localhost:8094/oc/forward" + replace-workspace: + replacePathRegex: + regex: "^/workspace(.*)" + replacement: "/oc$1" + replace-workflow: + replacePathRegex: + regex: "^/workspace(.*)" + replacement: "/oc$1" + replace-shared: + replacePathRegex: + regex: "^/shared(.*)" + replacement: "/oc$1" + replace-scheduler: + replacePathRegex: + regex: "^/scheduler(.*)" + replacement: "/oc$1" + replace-peer: + replacePathRegex: + regex: "^/peer(.*)" + replacement: "/oc$1" + replace-datacenter: + replacePathRegex: + regex: "^/datacenter(.*)" + replacement: "/oc$1" + replace-catalog: + replacePathRegex: + regex: "^/catalog(.*)" + replacement: "/oc$1" + replace-auth: + replacePathRegex: + regex: "^/auth(.*)" + replacement: "/oc$1" + replace-front: + stripprefix: + prefixes: "/" \ No newline at end of file diff --git a/traefik-dev-reverse/traefik.yml b/traefik-dev-reverse/traefik.yml new file mode 100644 index 0000000..2bdab53 --- /dev/null +++ b/traefik-dev-reverse/traefik.yml @@ -0,0 +1,8 @@ +entryPoints: + web: + address: ":8000" # Single entry point for all requests + +providers: + file: + filename: "/etc/traefik/dynamic.yml" + watch: true \ No newline at end of file