diff --git a/.deployment/docker-compose.yml b/.deployment/docker-compose.yml index 03fc6f7..384fba6 100644 --- a/.deployment/docker-compose.yml +++ b/.deployment/docker-compose.yml @@ -26,184 +26,184 @@ services: - "traefik.http.routers.http-catchall.middlewares=redirect-to-https" - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https" - tapas-db: - image: mongo - restart: unless-stopped - container_name: tapas_mongodb - environment: - MONGO_INITDB_ROOT_USERNAME: root - MONGO_INITDB_ROOT_PASSWORD: password - ports: - - "27017:27017" - command: mongod --quiet --logpath /dev/null + tapas-db: + image: mongo + restart: unless-stopped + container_name: tapas_mongodb + environment: + MONGO_INITDB_ROOT_USERNAME: root + MONGO_INITDB_ROOT_PASSWORD: password + ports: + - "27017:27017" + command: mongod --quiet --logpath /dev/null - tapas-tasks: - image: openjdk - command: "java -jar /data/tapas-tasks-0.0.1-SNAPSHOT.jar" - restart: unless-stopped - depends_on: - - tapas-db - volumes: - - ./:/data/ - environment: - roster.uri: http://roster:8082 - spring.data.mongodb.uri: mongodb://root:password@tapas-db:27017 - labels: - - "traefik.enable=true" - - "traefik.http.routers.tapas-tasks.rule=Host(`tapas-tasks.${PUB_IP}.nip.io`)" - - "traefik.http.routers.tapas-tasks.service=tapas-tasks" - - "traefik.http.services.tapas-tasks.loadbalancer.server.port=8081" - - "traefik.http.routers.tapas-tasks.tls=true" - - "traefik.http.routers.tapas-tasks.entryPoints=web,websecure" - - "traefik.http.routers.tapas-tasks.tls.certresolver=le" + tapas-tasks: + image: openjdk + command: "java -jar /data/tapas-tasks-0.0.1-SNAPSHOT.jar" + restart: unless-stopped + depends_on: + - tapas-db + volumes: + - ./:/data/ + environment: + roster.uri: http://roster:8082 + spring.data.mongodb.uri: mongodb://root:password@tapas-db:27017 + labels: + - "traefik.enable=true" + - "traefik.http.routers.tapas-tasks.rule=Host(`tapas-tasks.${PUB_IP}.nip.io`)" + - "traefik.http.routers.tapas-tasks.service=tapas-tasks" + - "traefik.http.services.tapas-tasks.loadbalancer.server.port=8081" + - "traefik.http.routers.tapas-tasks.tls=true" + - "traefik.http.routers.tapas-tasks.entryPoints=web,websecure" + - "traefik.http.routers.tapas-tasks.tls.certresolver=le" - tapas-auction-house: - image: openjdk - command: "java -jar /data/tapas-auction-house-0.0.1-SNAPSHOT.jar" - restart: unless-stopped - depends_on: - - tapas-db - volumes: - - ./:/data/ - environment: - mqtt.broker.uri: tcp://broker.hivemq.com:1883 - discovery.endpoint.uri: https://tapas-auction-house.86.119.35.213.nip.io/discovery/ - auction.house.uri: https://tapas-auction-house.86-119-35-40.nip.io - labels: - - "traefik.enable=true" - - "traefik.http.routers.tapas-auction-house.rule=Host(`tapas-auction-house.${PUB_IP}.nip.io`)" - - "traefik.http.routers.tapas-auction-house.service=tapas-auction-house" - - "traefik.http.services.tapas-auction-house.loadbalancer.server.port=8086" - - "traefik.http.routers.tapas-auction-house.tls=true" - - "traefik.http.routers.tapas-auction-house.entryPoints=web,websecure" - - "traefik.http.routers.tapas-auction-house.tls.certresolver=le" + tapas-auction-house: + image: openjdk + command: "java -jar /data/tapas-auction-house-0.0.1-SNAPSHOT.jar" + restart: unless-stopped + depends_on: + - tapas-db + volumes: + - ./:/data/ + environment: + mqtt.broker.uri: tcp://broker.hivemq.com:1883 + discovery.endpoint.uri: http://tapas-auction-house.86-119-34-242.nip.io/ + auction.house.uri: https://tapas-auction-house.86-119-35-40.nip.io + labels: + - "traefik.enable=true" + - "traefik.http.routers.tapas-auction-house.rule=Host(`tapas-auction-house.${PUB_IP}.nip.io`)" + - "traefik.http.routers.tapas-auction-house.service=tapas-auction-house" + - "traefik.http.services.tapas-auction-house.loadbalancer.server.port=8086" + - "traefik.http.routers.tapas-auction-house.tls=true" + - "traefik.http.routers.tapas-auction-house.entryPoints=web,websecure" + - "traefik.http.routers.tapas-auction-house.tls.certresolver=le" - roster: - image: openjdk - command: "java -jar /data/roster-0.0.1-SNAPSHOT.jar" - restart: unless-stopped - depends_on: - - tapas-db - volumes: - - ./:/data/ - environment: - task.list.uri: http://tapas-tasks:8081 - auction.house.uri: http://tapas-auction-house:8086 - executor.robot.uri: http://executor-robot:8084 - executor.computation.uri: http://executor-computation:8085 - executor.humidity.uri: http://executor-humidity:8087 - mqtt.broker.uri: tcp://broker.hivemq.com:1883 - spring.data.mongodb.uri: mongodb://root:password@tapas-db:27017 - labels: - - "traefik.enable=true" - - "traefik.http.routers.roster.rule=Host(`roster.${PUB_IP}.nip.io`)" - - "traefik.http.routers.roster.service=roster" - - "traefik.http.services.roster.loadbalancer.server.port=8082" - - "traefik.http.routers.roster.tls=true" - - "traefik.http.routers.roster.entryPoints=web,websecure" - - "traefik.http.routers.roster.tls.certresolver=le" + roster: + image: openjdk + command: "java -jar /data/roster-0.0.1-SNAPSHOT.jar" + restart: unless-stopped + depends_on: + - tapas-db + volumes: + - ./:/data/ + environment: + task.list.uri: http://tapas-tasks:8081 + auction.house.uri: http://tapas-auction-house:8086 + executor.robot.uri: http://executor-robot:8084 + executor.computation.uri: http://executor-computation:8085 + executor.humidity.uri: http://executor-humidity:8087 + mqtt.broker.uri: tcp://broker.hivemq.com:1883 + spring.data.mongodb.uri: mongodb://root:password@tapas-db:27017 + labels: + - "traefik.enable=true" + - "traefik.http.routers.roster.rule=Host(`roster.${PUB_IP}.nip.io`)" + - "traefik.http.routers.roster.service=roster" + - "traefik.http.services.roster.loadbalancer.server.port=8082" + - "traefik.http.routers.roster.tls=true" + - "traefik.http.routers.roster.entryPoints=web,websecure" + - "traefik.http.routers.roster.tls.certresolver=le" - executor-pool: - image: openjdk - command: "java -jar /data/executor-pool-0.0.1-SNAPSHOT.jar" - restart: unless-stopped - depends_on: - - tapas-db - volumes: - - ./:/data/ - environment: - mqtt.broker.uri: tcp://broker.hivemq.com:1883 - spring.data.mongodb.uri: mongodb://root:password@tapas-db:27017 - labels: - - "traefik.enable=true" - - "traefik.http.routers.executor-pool.rule=Host(`executor-pool.${PUB_IP}.nip.io`)" - - "traefik.http.routers.executor-pool.service=executor-pool" - - "traefik.http.services.executor-pool.loadbalancer.server.port=8083" - - "traefik.http.routers.executor-pool.tls=true" - - "traefik.http.routers.executor-pool.entryPoints=web,websecure" - - "traefik.http.routers.executor-pool.tls.certresolver=le" + executor-pool: + image: openjdk + command: "java -jar /data/executor-pool-0.0.1-SNAPSHOT.jar" + restart: unless-stopped + depends_on: + - tapas-db + volumes: + - ./:/data/ + environment: + mqtt.broker.uri: tcp://broker.hivemq.com:1883 + spring.data.mongodb.uri: mongodb://root:password@tapas-db:27017 + labels: + - "traefik.enable=true" + - "traefik.http.routers.executor-pool.rule=Host(`executor-pool.${PUB_IP}.nip.io`)" + - "traefik.http.routers.executor-pool.service=executor-pool" + - "traefik.http.services.executor-pool.loadbalancer.server.port=8083" + - "traefik.http.routers.executor-pool.tls=true" + - "traefik.http.routers.executor-pool.entryPoints=web,websecure" + - "traefik.http.routers.executor-pool.tls.certresolver=le" - executor-computation: - image: openjdk - command: "java -jar /data/executor-computation-0.0.1-SNAPSHOT.jar" - restart: unless-stopped - depends_on: - - executor-pool - - roster - - tapas-db - volumes: - - ./:/data/ - environment: - EXECUTOR_POOL_URI: http://executor-pool:8083 - ROSTER_URI: http://roster:8082 - labels: - - "traefik.enable=true" - - "traefik.http.routers.executor-computation.rule=Host(`executor-computation.${PUB_IP}.nip.io`)" - - "traefik.http.routers.executor-computation.service=executor-computation" - - "traefik.http.services.executor-computation.loadbalancer.server.port=8084" - - "traefik.http.routers.executor-computation.tls=true" - - "traefik.http.routers.executor-computation.entryPoints=web,websecure" - - "traefik.http.routers.executor-computation.tls.certresolver=le" - executor-robot: - image: openjdk - command: "java -jar /data/executor-robot-0.0.1-SNAPSHOT.jar" - restart: unless-stopped - depends_on: - - executor-pool - - roster - - tapas-db - volumes: - - ./:/data/ - environment: - EXECUTOR_POOL_URI: http://executor-pool:8083 - ROSTER_URI: http://roster:8082 - labels: - - "traefik.enable=true" - - "traefik.http.routers.executor-robot.rule=Host(`executor-robot.${PUB_IP}.nip.io`)" - - "traefik.http.routers.executor-robot.service=executor-robot" - - "traefik.http.services.executor-robot.loadbalancer.server.port=8085" - - "traefik.http.routers.executor-robot.tls=true" - - "traefik.http.routers.executor-robot.entryPoints=web,websecure" - - "traefik.http.routers.executor-robot.tls.certresolver=le" - executor-humidity: - image: openjdk - command: "java -jar /data/executor-humidity-0.0.1-SNAPSHOT.jar" - restart: unless-stopped - depends_on: - - executor-pool - - roster - - tapas-db - volumes: - - ./:/data/ - environment: - EXECUTOR_POOL_URI: http://executor-pool:8083 - ROSTER_URI: http://roster:8082 - labels: - - "traefik.enable=true" - - "traefik.http.routers.executor-humidity.rule=Host(`executor-humidity.${PUB_IP}.nip.io`)" - - "traefik.http.routers.executor-humidity.service=executor-humidity" - - "traefik.http.services.executor-humidity.loadbalancer.server.port=8087" - - "traefik.http.routers.executor-humidity.tls=true" - - "traefik.http.routers.executor-humidity.entryPoints=web,websecure" - - "traefik.http.routers.executor-humidity.tls.certresolver=le" - executor-humidity-demo: - image: openjdk - command: "java -jar /data/executor-humidity-demo-0.0.1-SNAPSHOT.jar" - restart: unless-stopped - depends_on: - - executor-pool - - roster - - tapas-db - volumes: - - ./:/data/ - environment: - EXECUTOR_POOL_URI: http://executor-pool:8083 - ROSTER_URI: http://roster:8082 - labels: - - "traefik.enable=true" - - "traefik.http.routers.executor-humidity-demo.rule=Host(`executor-humidity-demo.${PUB_IP}.nip.io`)" - - "traefik.http.routers.executor-humidity-demo.service=executor-computation" - - "traefik.http.services.executor-humidity-demo.loadbalancer.server.port=8088" - - "traefik.http.routers.executor-humidity-demo.tls=true" - - "traefik.http.routers.executor-humidity-demo.entryPoints=web,websecure" - - "traefik.http.routers.executor-humidity-demo.tls.certresolver=le" + executor-computation: + image: openjdk + command: "java -jar /data/executor-computation-0.0.1-SNAPSHOT.jar" + restart: unless-stopped + depends_on: + - executor-pool + - roster + - tapas-db + volumes: + - ./:/data/ + environment: + EXECUTOR_POOL_URI: http://executor-pool:8083 + ROSTER_URI: http://roster:8082 + labels: + - "traefik.enable=true" + - "traefik.http.routers.executor-computation.rule=Host(`executor-computation.${PUB_IP}.nip.io`)" + - "traefik.http.routers.executor-computation.service=executor-computation" + - "traefik.http.services.executor-computation.loadbalancer.server.port=8084" + - "traefik.http.routers.executor-computation.tls=true" + - "traefik.http.routers.executor-computation.entryPoints=web,websecure" + - "traefik.http.routers.executor-computation.tls.certresolver=le" + executor-robot: + image: openjdk + command: "java -jar /data/executor-robot-0.0.1-SNAPSHOT.jar" + restart: unless-stopped + depends_on: + - executor-pool + - roster + - tapas-db + volumes: + - ./:/data/ + environment: + EXECUTOR_POOL_URI: http://executor-pool:8083 + ROSTER_URI: http://roster:8082 + labels: + - "traefik.enable=true" + - "traefik.http.routers.executor-robot.rule=Host(`executor-robot.${PUB_IP}.nip.io`)" + - "traefik.http.routers.executor-robot.service=executor-robot" + - "traefik.http.services.executor-robot.loadbalancer.server.port=8085" + - "traefik.http.routers.executor-robot.tls=true" + - "traefik.http.routers.executor-robot.entryPoints=web,websecure" + - "traefik.http.routers.executor-robot.tls.certresolver=le" + executor-humidity: + image: openjdk + command: "java -jar /data/executor-humidity-0.0.1-SNAPSHOT.jar" + restart: unless-stopped + depends_on: + - executor-pool + - roster + - tapas-db + volumes: + - ./:/data/ + environment: + EXECUTOR_POOL_URI: http://executor-pool:8083 + ROSTER_URI: http://roster:8082 + labels: + - "traefik.enable=true" + - "traefik.http.routers.executor-humidity.rule=Host(`executor-humidity.${PUB_IP}.nip.io`)" + - "traefik.http.routers.executor-humidity.service=executor-humidity" + - "traefik.http.services.executor-humidity.loadbalancer.server.port=8087" + - "traefik.http.routers.executor-humidity.tls=true" + - "traefik.http.routers.executor-humidity.entryPoints=web,websecure" + - "traefik.http.routers.executor-humidity.tls.certresolver=le" + executor-humidity-demo: + image: openjdk + command: "java -jar /data/executor-humidity-demo-0.0.1-SNAPSHOT.jar" + restart: unless-stopped + depends_on: + - executor-pool + - roster + - tapas-db + volumes: + - ./:/data/ + environment: + EXECUTOR_POOL_URI: http://executor-pool:8083 + ROSTER_URI: http://roster:8082 + labels: + - "traefik.enable=true" + - "traefik.http.routers.executor-humidity-demo.rule=Host(`executor-humidity-demo.${PUB_IP}.nip.io`)" + - "traefik.http.routers.executor-humidity-demo.service=executor-computation" + - "traefik.http.services.executor-humidity-demo.loadbalancer.server.port=8088" + - "traefik.http.routers.executor-humidity-demo.tls=true" + - "traefik.http.routers.executor-humidity-demo.entryPoints=web,websecure" + - "traefik.http.routers.executor-humidity-demo.tls.certresolver=le" diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index f62b6b3..ac310f9 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -111,5 +111,6 @@ jobs: cd /home/${{ secrets.SSH_USER }}/ touch acme.json sudo chmod 0600 acme.json + sudo docker-compose down --remove-orphans sudo echo "PUB_IP=$(wget -qO- http://ipecho.net/plain | xargs echo)" | sed -e 's/\./-/g' > .env - sudo docker-compose up -d --build --force-recreate + sudo docker-compose up -d diff --git a/executor-computation/pom.xml b/executor-computation/pom.xml index 8692c3e..f05a5aa 100644 --- a/executor-computation/pom.xml +++ b/executor-computation/pom.xml @@ -67,6 +67,17 @@ org.springframework.boot spring-boot-test + + + org.graalvm.js + js + 21.3.0 + + + org.graalvm.js + js-scriptengine + 21.3.0 + diff --git a/tapas-auction-house/src/main/java/ch/unisg/tapas/TapasAuctionHouseApplication.java b/tapas-auction-house/src/main/java/ch/unisg/tapas/TapasAuctionHouseApplication.java index 24aa76a..39fb610 100644 --- a/tapas-auction-house/src/main/java/ch/unisg/tapas/TapasAuctionHouseApplication.java +++ b/tapas-auction-house/src/main/java/ch/unisg/tapas/TapasAuctionHouseApplication.java @@ -57,12 +57,12 @@ public class TapasAuctionHouseApplication { e.printStackTrace(); } - for (AuctionHouseDiscoveryInformation endpoint : AuctionHouseDiscovery.getInstance().getAuctionHouseDiscoveryList()) { - System.out.println(endpoint.getWebSubUri().getValue()); - if (!endpoint.getWebSubUri().getValue().toString().equalsIgnoreCase("https://tapas-auction-house.86-119-35-40.nip.io/websub/auctions")) { - subscriber.subscribeToAuctionHouseEndpoint(endpoint.getWebSubUri().getValue()); - } - } + // for (AuctionHouseDiscoveryInformation endpoint : AuctionHouseDiscovery.getInstance().getAuctionHouseDiscoveryList()) { + // System.out.println(endpoint.getWebSubUri().getValue()); + // if (!endpoint.getWebSubUri().getValue().toString().equalsIgnoreCase("https://tapas-auction-house.86-119-35-40.nip.io/websub/auctions")) { + // subscriber.subscribeToAuctionHouseEndpoint(endpoint.getWebSubUri().getValue()); + // } + // } } /**