Compare commits
36 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f537fa581d | |||
| 9ae0a14cf0 | |||
| 538ee5b1c9 | |||
| 7deeecdb8b | |||
| 4ec00f2c3a | |||
| d018ce7f0a | |||
| 6784028010 | |||
| a5cc8fd17e | |||
| faabe6ced7 | |||
| b29974e0ac | |||
| d8fa19d8ef | |||
| d0d6cc4612 | |||
| 9e83f0f8d0 | |||
| 4708096cb6 | |||
| c0a8a7aef1 | |||
| d118557e24 | |||
| 2fc0c778dd | |||
| ebd6dcb5b4 | |||
| 2a6f8691bb | |||
| 29d4210228 | |||
| bbfb6e86f0 | |||
| 3e13ce7ec1 | |||
| c1d56629f7 | |||
| 1c1c2029d2 | |||
| db87d52012 | |||
| 3e4a672e49 | |||
| b3f29f6de9 | |||
| 40342ef3c8 | |||
| c2e907cee8 | |||
| f739036c44 | |||
| 4120d789ff | |||
| e183d58f71 | |||
| 583cfa7499 | |||
| d5390f35b2 | |||
| 09509d224f | |||
| d98cb70c02 |
2
Makefile
2
Makefile
@@ -1,7 +1,7 @@
|
|||||||
DEPLOY_DIR := ./deploy
|
DEPLOY_DIR := ./deploy
|
||||||
|
|
||||||
up:
|
up:
|
||||||
- sh ${DEPLOY_DIR}/start-docker.sh
|
- sh ${DEPLOY_DIR}/start-stack.sh
|
||||||
|
|
||||||
down:
|
down:
|
||||||
- docker stack rm egommerce
|
- docker stack rm egommerce
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## RUNNING
|
## RUNNING
|
||||||
|
|
||||||
# $ make up
|
# $ sh deploy/start-stack.sh
|
||||||
|
|
||||||
## MAINTENANCE
|
## MAINTENANCE
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
API_GATEWAY_PORT=48443
|
API_GATEWAY_PORT=40056
|
||||||
API_GATEWAY_UI_PORT=48444
|
API_GATEWAY_UI_PORT=40057
|
||||||
API_REGISTRY_UI_PORT=48445
|
API_REGISTRY_UI_PORT=40058
|
||||||
API_EVENTBUS_UI_PORT=48446
|
API_EVENTBUS_UI_PORT=40059
|
||||||
|
|||||||
Binary file not shown.
@@ -1,57 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"log"
|
|
||||||
"net"
|
|
||||||
"net/http"
|
|
||||||
"os"
|
|
||||||
"strings"
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
addr, port := env("API_REGISTRY_ADDR", "api-registry"), env("API_REGISTRY_PORT", "8501")
|
|
||||||
regUrl := "https://" + addr + ":" + port + "/v1/agent/service/register?replace-existing-checks=true"
|
|
||||||
regData, err := os.ReadFile("/.app.config")
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
ip := getIP()
|
|
||||||
strRegData := string(regData)
|
|
||||||
strRegData = strings.Replace(strRegData, "__IP__", ip, -1)
|
|
||||||
|
|
||||||
req, err := http.NewRequest(http.MethodPut, regUrl, strings.NewReader(strRegData))
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
resp, err := http.DefaultClient.Do(req)
|
|
||||||
if err != nil {
|
|
||||||
log.Printf(err.Error())
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
var respBody []byte
|
|
||||||
resp.Body.Read(respBody)
|
|
||||||
|
|
||||||
log.Printf("Successfully registered")
|
|
||||||
}
|
|
||||||
|
|
||||||
func env(name, def string) string {
|
|
||||||
val := os.Getenv(name)
|
|
||||||
|
|
||||||
if len(val) == 0 {
|
|
||||||
return def
|
|
||||||
}
|
|
||||||
|
|
||||||
return val
|
|
||||||
}
|
|
||||||
|
|
||||||
func getIP() string {
|
|
||||||
host, _ := os.Hostname()
|
|
||||||
ips, _ := net.LookupIP(host)
|
|
||||||
for _, ip := range ips {
|
|
||||||
return ip.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
return host
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
# modify /etc/resolv.conf
|
|
||||||
registryIP=$(nslookup -type=A api-registry. | awk '/^Name:/ {c=2;N=$2} !--c {print N,$2}' | awk '{printf "%s", $2}')
|
|
||||||
resolvFile=$(cat /etc/resolv.conf)
|
|
||||||
|
|
||||||
echo -e "nameserver $registryIP" >>/etc/resolv.conf
|
|
||||||
# echo "$registryIP registry.service.ego.io" >> /etc/hosts # Add consul host with static IP (consul register itself as 127.0.0.1)
|
|
||||||
# nslookup api-registry
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o deploy/bin/register-service deploy/bin/register-service.go
|
|
||||||
@@ -1,179 +0,0 @@
|
|||||||
version: "3.9"
|
|
||||||
|
|
||||||
services:
|
|
||||||
api-registry:
|
|
||||||
env_file: ../.env.local
|
|
||||||
environment:
|
|
||||||
- CONSUL_HTTP_TOKEN=784746ec-0d5d-fb12-1a79-95f912dcaabd
|
|
||||||
- VAULT_TOKEN=hvs.cJE9Qr4PIafDGy0wdx2GoxOb # ROOT TOKEN
|
|
||||||
# - VAULT_TOKEN=hvs.CAESICxuTO_JieCbpMoZ4_qOPIohxSKim_4V8t11JLg93RtKGh4KHGh2cy5VUUFqUm5CdTQ3V3hMQ3BHSDB4dThNZHE
|
|
||||||
volumes:
|
|
||||||
- ../certs/api-registry/registry.local.crt:/etc/certs/registry.local.crt:ro
|
|
||||||
# - ../certs/ca/vault-root.pem:/usr/local/share/ca-certificates/vaultCA.pem:ro
|
|
||||||
|
|
||||||
api-gateway:
|
|
||||||
env_file: ../.env.local
|
|
||||||
environment:
|
|
||||||
- CONSUL_HTTP_TOKEN=784746ec-0d5d-fb12-1a79-95f912dcaabd
|
|
||||||
- VAULT_TOKEN=hvs.cJE9Qr4PIafDGy0wdx2GoxOb # ROOT TOKEN
|
|
||||||
# - VAULT_TOKEN=hvs.CAESICxuTO_JieCbpMoZ4_qOPIohxSKim_4V8t11JLg93RtKGh4KHGh2cy5VUUFqUm5CdTQ3V3hMQ3BHSDB4dThNZHE
|
|
||||||
volumes:
|
|
||||||
- ../certs/api-gateway/gateway.local.crt:/etc/certs/gateway.local.crt:ro
|
|
||||||
# - ../certs/ca/vault-root.pem:/usr/local/share/ca-certificates/vaultCA.pem:ro
|
|
||||||
|
|
||||||
api-vault:
|
|
||||||
env_file: ../.env.local
|
|
||||||
# command: ["vault", "server", "-dev", "-dev-tls", "-dev-listen-address=0.0.0.0:8200", "-dev-root-token-id=dev-vault-token"]
|
|
||||||
environment:
|
|
||||||
- CONSUL_HTTP_TOKEN=784746ec-0d5d-fb12-1a79-95f912dcaabd
|
|
||||||
- VAULT_TOKEN=hvs.G7oo532tREW4MTdWTgq03GtA # ROOT TOKEN
|
|
||||||
# - VAULT_TOKEN=hvs.CAESICxuTO_JieCbpMoZ4_qOPIohxSKim_4V8t11JLg93RtKGh4KHGh2cy5VUUFqUm5CdTQ3V3hMQ3BHSDB4dThNZHE
|
|
||||||
volumes:
|
|
||||||
- ../certs/api-vault/vault.local.crt:/etc/certs/vault.crt:ro
|
|
||||||
# - ../certs/ca/vault-root.pem:/usr/local/share/ca-certificates/vaultCA.pem:ro
|
|
||||||
ports:
|
|
||||||
- 48250:8200
|
|
||||||
|
|
||||||
api-eventbus:
|
|
||||||
env_file: ../.env.local
|
|
||||||
volumes:
|
|
||||||
- ../certs/api-eventbus/eventbus.local.crt:/etc/certs/eventbus.local.crt:ro
|
|
||||||
# - ../certs/api-eventbus/eventbus.key:/etc/certs/eventbus.local.key:ro
|
|
||||||
labels:
|
|
||||||
- traefik.tcp.routers.eventbus.rule=HostSNI(`esb.service.ego.io`)
|
|
||||||
ports:
|
|
||||||
- 48200:15672
|
|
||||||
- 48201:5672
|
|
||||||
|
|
||||||
api-cache:
|
|
||||||
env_file: ../.env.local
|
|
||||||
command: ["redis-server", "/etc/redis.conf", "--requirepass", "12345678"]
|
|
||||||
ports:
|
|
||||||
- 48300:6379
|
|
||||||
|
|
||||||
api-logger:
|
|
||||||
env_file: ../.env.local
|
|
||||||
ports:
|
|
||||||
- 48400:24224
|
|
||||||
|
|
||||||
# api-prometheus:
|
|
||||||
# ports:
|
|
||||||
# - 9090:9090
|
|
||||||
|
|
||||||
# api-grafana:
|
|
||||||
# ports:
|
|
||||||
# - 3000:3000
|
|
||||||
|
|
||||||
db-postgres:
|
|
||||||
env_file: ../.env.local
|
|
||||||
ports:
|
|
||||||
- 48500:5432
|
|
||||||
|
|
||||||
# db-mongo:
|
|
||||||
# env_file: ../.env.local
|
|
||||||
# environment:
|
|
||||||
# - APP_DOMAIN=mongodb.egommerce.local # FIXME
|
|
||||||
# ports:
|
|
||||||
# - 48600:27017
|
|
||||||
|
|
||||||
identity-svc:
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 0
|
|
||||||
env_file: ../.env.local
|
|
||||||
environment:
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
# - EVENTBUS_URL=amqp://guest:guest@esb.service.ego.io:5672
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@api-eventbus:5672
|
|
||||||
ports:
|
|
||||||
- 48780:443
|
|
||||||
|
|
||||||
catalog-svc:
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
env_file: ../.env.local
|
|
||||||
environment:
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@api-eventbus:5672
|
|
||||||
ports:
|
|
||||||
- 48781:443
|
|
||||||
|
|
||||||
basket-svc:
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 0
|
|
||||||
env_file: ../.env.local
|
|
||||||
environment:
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@api-eventbus:5672
|
|
||||||
ports:
|
|
||||||
- 48782:443
|
|
||||||
|
|
||||||
order-svc:
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 0
|
|
||||||
env_file: ../.env.local
|
|
||||||
environment:
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@api-eventbus:5672
|
|
||||||
ports:
|
|
||||||
- 48783:443
|
|
||||||
|
|
||||||
pricing-svc:
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 0
|
|
||||||
env_file: ../.env.local
|
|
||||||
environment:
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@api-eventbus:5672
|
|
||||||
ports:
|
|
||||||
- 48784:443
|
|
||||||
|
|
||||||
# Workers (EventBus)
|
|
||||||
basket-worker:
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 0
|
|
||||||
env_file: ../.env.local
|
|
||||||
environment:
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@api-eventbus:5672
|
|
||||||
|
|
||||||
catalog-worker:
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 0
|
|
||||||
env_file: ../.env.local
|
|
||||||
environment:
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@api-eventbus:5672
|
|
||||||
|
|
||||||
pricing-worker:
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 0
|
|
||||||
env_file: ../.env.local
|
|
||||||
environment:
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@api-eventbus:5672
|
|
||||||
|
|
||||||
order-worker:
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 0
|
|
||||||
env_file: ../.env.local
|
|
||||||
environment:
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@api-eventbus:5672
|
|
||||||
@@ -1,129 +0,0 @@
|
|||||||
version: "3.9"
|
|
||||||
|
|
||||||
services:
|
|
||||||
api-registry:
|
|
||||||
image: git.pbiernat.io/egommerce/api-registry:dev
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=registry.service.ego.io
|
|
||||||
- VAULT_ADDR=https://api-vault:8200
|
|
||||||
- VAULT_API_ADDR=https://api-vault:8200
|
|
||||||
# - ENVOY_VERSION_STRING=1.26.3
|
|
||||||
ports:
|
|
||||||
- 48100:8501
|
|
||||||
|
|
||||||
api-gateway:
|
|
||||||
image: git.pbiernat.io/egommerce/api-registry:dev
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=gw.service.ego.io
|
|
||||||
# - VAULT_ADDR=https://api-vault:8200
|
|
||||||
# - VAULT_API_ADDR=https://api-vault:8200
|
|
||||||
# - ENVOY_VERSION_STRING=1.26.3
|
|
||||||
ports:
|
|
||||||
- 48101:8501
|
|
||||||
- 48443:8443 # consul & envoy api gateway port
|
|
||||||
|
|
||||||
api-vault:
|
|
||||||
image: git.pbiernat.io/egommerce/api-vault:dev
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=vault.service.ego.io
|
|
||||||
- CONSUL_HTTP_ADDR=https://api-registry:8501
|
|
||||||
|
|
||||||
api-eventbus:
|
|
||||||
image: git.pbiernat.io/egommerce/api-eventbus:dev
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=esb.service.ego.io
|
|
||||||
# - RABBITMQ_NODENAME=api-eventbus
|
|
||||||
# - RABBITMQ_USE_LONGNAME=true
|
|
||||||
# - RABBITMQ_DEFAULT_USER = admin
|
|
||||||
# - RABBITMQ_DEFAULT_PASS = passw123
|
|
||||||
|
|
||||||
api-cache:
|
|
||||||
image: git.pbiernat.io/egommerce/api-cache:dev
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=cache.service.ego.io
|
|
||||||
- PASSWORD=12345678
|
|
||||||
|
|
||||||
api-logger:
|
|
||||||
image: git.pbiernat.io/egommerce/api-logger:dev
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=logger.service.ego.io
|
|
||||||
|
|
||||||
# api-prometheus:
|
|
||||||
# image: prom/prometheus:latest # FIXME: create private image(prod/dev)...
|
|
||||||
# environment:
|
|
||||||
# - APP_DOMAIN=prometheus.service.ego.io
|
|
||||||
|
|
||||||
# api-grafana:
|
|
||||||
# image: grafana/grafana-oss:latest # FIXME: create private image(prod/dev)...
|
|
||||||
# environment:
|
|
||||||
# - APP_DOMAIN=grafana.service.ego.io
|
|
||||||
|
|
||||||
db-postgres:
|
|
||||||
image: git.pbiernat.io/egommerce/db-postgres:dev
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=postgresdb.service.ego.io
|
|
||||||
- POSTGRESQL_PASSWORD=12345678
|
|
||||||
|
|
||||||
# db-mongo:
|
|
||||||
# environment:
|
|
||||||
# - MONGO_INITDB_ROOT_PASSWORD=12345678
|
|
||||||
|
|
||||||
# API micro-services
|
|
||||||
identity-svc:
|
|
||||||
image: git.pbiernat.io/egommerce/identity-svc:dev
|
|
||||||
environment:
|
|
||||||
# - SERVER_ADDR=basket.service.ego.io
|
|
||||||
- APP_DOMAIN=identity.service.ego.io
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
|
|
||||||
catalog-svc:
|
|
||||||
image: git.pbiernat.io/egommerce/catalog-svc:dev
|
|
||||||
environment:
|
|
||||||
# - REGISTRY_USE_DOMAIN_OVER_IP=false
|
|
||||||
- APP_DOMAIN=catalog.service.ego.io
|
|
||||||
- AUTH_HANDLER_URL=https://identity.service.ego.io/api/v1/traefik
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
|
|
||||||
basket-svc:
|
|
||||||
image: git.pbiernat.io/egommerce/basket-svc:dev
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=basket.service.ego.io
|
|
||||||
- AUTH_HANDLER_URL=https://identity.service.ego.io/api/v1/traefik
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
|
|
||||||
order-svc:
|
|
||||||
image: git.pbiernat.io/egommerce/order-svc:dev
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=order.service.ego.io
|
|
||||||
- AUTH_HANDLER_URL=https://identity.service.ego.io/api/v1/traefik
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
# volumes:
|
|
||||||
# - ../etc/resolv.conf:/etc/resolv.conf
|
|
||||||
|
|
||||||
pricing-svc:
|
|
||||||
image: git.pbiernat.io/egommerce/pricing-svc:dev
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=pricing.service.ego.io
|
|
||||||
- AUTH_HANDLER_URL=https://identity.service.ego.io/api/v1/traefik
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
|
|
||||||
# Workers (Eventbus)
|
|
||||||
basket-worker:
|
|
||||||
image: git.pbiernat.io/egommerce/basket-worker:dev
|
|
||||||
environment:
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
|
|
||||||
catalog-worker:
|
|
||||||
image: git.pbiernat.io/egommerce/catalog-worker:dev
|
|
||||||
environment:
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
|
|
||||||
pricing-worker:
|
|
||||||
image: git.pbiernat.io/egommerce/pricing-worker:dev
|
|
||||||
environment:
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
|
|
||||||
order-worker:
|
|
||||||
image: git.pbiernat.io/egommerce/order-worker:dev
|
|
||||||
environment:
|
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
|
||||||
@@ -1,142 +0,0 @@
|
|||||||
version: "3.9"
|
|
||||||
|
|
||||||
services:
|
|
||||||
api-registry:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/api-registry:prod
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=registry.service.ego.io
|
|
||||||
|
|
||||||
api-gateway:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/api-registry:prod
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=gw.service.ego.io
|
|
||||||
|
|
||||||
api-vault:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/api-vault:prod
|
|
||||||
command: ["vault", "server", "-config=/vault/config/server.hcl"]
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=vault.service.ego.io
|
|
||||||
- VAULT_API_ADDR=https://localhost:8200
|
|
||||||
- VAULT_ADDR=https://localhost:8200
|
|
||||||
|
|
||||||
api-eventbus:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/api-eventbus:prod
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=esb.service.ego.io
|
|
||||||
|
|
||||||
api-cache:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/api-cache:prod
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=cache.service.ego.io
|
|
||||||
|
|
||||||
api-logger:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/api-logger:prod
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=logger.service.ego.io
|
|
||||||
|
|
||||||
# api-prometheus:
|
|
||||||
# image: prom/prometheus:prod # FIXME: create private image(prod/dev)...
|
|
||||||
# user: root
|
|
||||||
# environment:
|
|
||||||
# - APP_NAME=api-prometheus
|
|
||||||
|
|
||||||
# api-grafana:
|
|
||||||
# image: grafana/grafana-oss:prod # FIXME: create private image(prod/dev)...
|
|
||||||
# environment:
|
|
||||||
# - APP_NAME=api-grafana
|
|
||||||
|
|
||||||
db-postgres:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/db-postgres:prod
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=postgresdb.service.ego.io
|
|
||||||
- POSTGRESQL_USERNAME=egommerce
|
|
||||||
- POSTGRESQL_DATABASE=egommerce
|
|
||||||
|
|
||||||
# db-mongo:
|
|
||||||
# env_file: ../.env.prod
|
|
||||||
# environment:
|
|
||||||
# - APP_NAME=db-mongo
|
|
||||||
# - APP_DOMAIN=mongo-db.service.ego.io
|
|
||||||
# - MONGO_INITDB_ROOT_USERNAME=mongodb
|
|
||||||
|
|
||||||
# API micro-services
|
|
||||||
identity-svc:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/identity-svc:prod
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=identity.service.ego.io
|
|
||||||
- APP_PATH_PREFIX=/identity
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgresdb.service.ego.io:5432/egommerce
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@esb.service.ego.io:5672
|
|
||||||
|
|
||||||
catalog-svc:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/catalog-svc:prod
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=catalog.service.ego.io
|
|
||||||
- APP_PATH_PREFIX=/catalog
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgresdb.service.ego.io:5432/egommerce
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@esb.service.ego.io:5672
|
|
||||||
|
|
||||||
basket-svc:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/basket-svc:prod
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=basket.service.ego.io
|
|
||||||
- APP_PATH_PREFIX=/basket
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgresdb.service.ego.io:5432/egommerce
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@esb.service.ego.io:5672
|
|
||||||
|
|
||||||
pricing-svc:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/pricing-svc:prod
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=pricing.service.ego.io
|
|
||||||
- APP_PATH_PREFIX=/pricing
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgresdb.service.ego.io:5432/egommerce
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@esb.service.ego.io:5672
|
|
||||||
|
|
||||||
order-svc:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/order-svc:prod
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN=order.service.ego.io
|
|
||||||
- APP_PATH_PREFIX=/order
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgresdb.service.ego.io:5432/egommerce
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@esb.service.ego.io:5672
|
|
||||||
|
|
||||||
# Workers (Eventbus)
|
|
||||||
basket-worker:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/basket-worker:prod
|
|
||||||
environment:
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgresdb.service.ego.io:5432/egommerce
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@esb.service.ego.io:5672
|
|
||||||
|
|
||||||
catalog-worker:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/catalog-worker:prod
|
|
||||||
environment:
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgresdb.service.ego.io:5432/egommerce
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@esb.service.ego.io:5672
|
|
||||||
|
|
||||||
pricing-worker:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/pricing-worker:prod
|
|
||||||
environment:
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgresdb.service.ego.io:5432/egommerce
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@esb.service.ego.io:5672
|
|
||||||
|
|
||||||
order-worker:
|
|
||||||
env_file: ../.env.prod
|
|
||||||
image: git.pbiernat.io/egommerce/order-worker:prod
|
|
||||||
environment:
|
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgresdb.service.ego.io:5432/egommerce
|
|
||||||
- EVENTBUS_URL=amqp://guest:guest@esb.service.ego.io:5672
|
|
||||||
@@ -1,479 +0,0 @@
|
|||||||
version: "3.9"
|
|
||||||
|
|
||||||
services:
|
|
||||||
api-registry:
|
|
||||||
image: git.pbiernat.io/egommerce/api-registry:latest
|
|
||||||
command: [
|
|
||||||
"consul",
|
|
||||||
"agent",
|
|
||||||
"-config-file=/consul/config/server.hcl",
|
|
||||||
# "-config-dir=/consul/config",
|
|
||||||
"-node=registry",
|
|
||||||
"-bootstrap-expect=1"
|
|
||||||
]
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN
|
|
||||||
- APP_NAME=api-registry
|
|
||||||
- CONSUL_HTTP_ADDR=127.0.0.1:8501
|
|
||||||
- CONSUL_HTTP_SSL=true
|
|
||||||
- CONSUL_CACERT=/usr/share/pki/ca-trust-source/anchors/internalCA.crt
|
|
||||||
- CONSUL_CLIENT_CERT=/etc/certs/registry.crt
|
|
||||||
- CONSUL_CLIENT_KEY=/etc/certs/registry.key
|
|
||||||
volumes:
|
|
||||||
- registry_data:/consul/data
|
|
||||||
- ../certs/api-registry/registry.internal.crt:/etc/certs/registry.crt:ro
|
|
||||||
- ../certs/api-registry/registry.key:/etc/certs/registry.key:ro
|
|
||||||
- ../certs/ca/internalCA.crt:/usr/share/pki/ca-trust-source/anchors/internalCA.crt:ro
|
|
||||||
# - ../bin/register-service:/bin/register-service
|
|
||||||
# - ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
|
|
||||||
api-gateway: # consul client running as api-gateway
|
|
||||||
image: git.pbiernat.io/egommerce/api-registry:latest
|
|
||||||
command: [
|
|
||||||
"consul",
|
|
||||||
"agent",
|
|
||||||
"-config-file=/consul/config/gateway.hcl",
|
|
||||||
# "-config-file=/consul/config/gateway-config.hcl",
|
|
||||||
# "-config-file=/consul/config/gateway-routes.hcl",
|
|
||||||
# "-config-dir=/consul/config",
|
|
||||||
"-node=gateway",
|
|
||||||
"-retry-join=api-registry"
|
|
||||||
]
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN
|
|
||||||
- APP_NAME=api-gateway
|
|
||||||
- CONSUL_HTTP_ADDR=127.0.0.1:8501
|
|
||||||
- CONSUL_HTTP_SSL=true
|
|
||||||
- CONSUL_CACERT=/usr/share/pki/ca-trust-source/anchors/internalCA.crt
|
|
||||||
- CONSUL_CLIENT_CERT=/etc/certs/gateway.crt
|
|
||||||
- CONSUL_CLIENT_KEY=/etc/certs/gateway.key
|
|
||||||
volumes:
|
|
||||||
- gateway_data:/consul/data
|
|
||||||
- ../certs/api-gateway/gateway.internal.crt:/etc/certs/gateway.crt:ro
|
|
||||||
- ../certs/api-gateway/gateway.key:/etc/certs/gateway.key:ro
|
|
||||||
- ../certs/catalog-svc/catalog-svc.crt:/etc/certs/catalog.crt:ro
|
|
||||||
- ../certs/catalog-svc/catalog-svc.key:/etc/certs/catalog.key:ro
|
|
||||||
- ../certs/ca/internalCA.crt:/usr/share/pki/ca-trust-source/anchors/internalCA.crt:ro
|
|
||||||
# - ../bin/register-service:/bin/register-service
|
|
||||||
- ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
depends_on:
|
|
||||||
- api-registry
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
|
|
||||||
api-vault:
|
|
||||||
image: git.pbiernat.io/egommerce/api-vault:latest
|
|
||||||
command: ["vault", "server", "-config=/vault/config/server.hcl"]
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN
|
|
||||||
- APP_NAME=api-vault
|
|
||||||
- API_REGISTRY_ADDR=api-registry
|
|
||||||
volumes:
|
|
||||||
- vault_data:/vault/data
|
|
||||||
- ../certs/api-vault/vault.internal.crt:/etc/certs/vault.crt:ro
|
|
||||||
- ../certs/api-vault/vault.key:/etc/certs/vault.key:ro
|
|
||||||
- ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
- ../bin/register-service:/bin/register-service
|
|
||||||
- ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
depends_on:
|
|
||||||
- api-registry
|
|
||||||
cap_add:
|
|
||||||
- IPC_LOCK
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
# cap_add:
|
|
||||||
# - IPC_LOCK
|
|
||||||
|
|
||||||
api-eventbus:
|
|
||||||
image: git.pbiernat.io/egommerce/api-eventbus:latest
|
|
||||||
environment:
|
|
||||||
# - RABBITMQ_NODENAME=api-eventbus
|
|
||||||
- RABBITMQ_ERLANG_COOKIE=rabbitmq
|
|
||||||
- APP_DOMAIN
|
|
||||||
- APP_NAME=api-eventbus
|
|
||||||
- API_REGISTRY_ADDR=api-registry
|
|
||||||
volumes:
|
|
||||||
- eventbus_data:/var/lib/rabbitmq
|
|
||||||
- eventbus_logs:/var/log/rabbitmq
|
|
||||||
- ../certs/api-eventbus/eventbus.internal.crt:/etc/certs/eventbus.crt:ro
|
|
||||||
- ../certs/api-eventbus/eventbus.key:/etc/certs/eventbus.key:ro
|
|
||||||
- ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
- ../bin/register-service:/bin/register-service
|
|
||||||
- ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
depends_on:
|
|
||||||
- api-registry
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
|
|
||||||
api-cache:
|
|
||||||
image: git.pbiernat.io/egommerce/api-cache:latest
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN
|
|
||||||
- APP_NAME=api-cache
|
|
||||||
- API_REGISTRY_ADDR=api-registry
|
|
||||||
volumes:
|
|
||||||
# - ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
- ../bin/register-service:/bin/register-service
|
|
||||||
- ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
depends_on:
|
|
||||||
- api-registry
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
|
|
||||||
api-logger:
|
|
||||||
image: git.pbiernat.io/egommerce/api-logger:latest
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN
|
|
||||||
- APP_NAME=api-logger
|
|
||||||
- API_REGISTRY_ADDR=api-registry
|
|
||||||
volumes:
|
|
||||||
- ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
- ../bin/register-service:/bin/register-service
|
|
||||||
- ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
depends_on:
|
|
||||||
- api-registry
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
|
|
||||||
# api-prometheus:
|
|
||||||
# image: prom/prometheus:latest # FIXME: create private image(prod/dev)...
|
|
||||||
# user: root
|
|
||||||
# environment:
|
|
||||||
# - APP_DOMAIN
|
|
||||||
# - APP_NAME=api-prometheus
|
|
||||||
# - API_REGISTRY_ADDR=api-registry
|
|
||||||
# volumes:
|
|
||||||
# - ../etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
|
|
||||||
# - ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
# - ../bin/register-service:/bin/register-service
|
|
||||||
# - ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
# - /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
# depends_on:
|
|
||||||
# - api-registry
|
|
||||||
# networks:
|
|
||||||
# - egommerce-network
|
|
||||||
|
|
||||||
# api-grafana:
|
|
||||||
# image: grafana/grafana-oss:latest # FIXME: create private image(prod/dev)...
|
|
||||||
# environment:
|
|
||||||
# - APP_DOMAIN
|
|
||||||
# - APP_NAME=api-grafana
|
|
||||||
# - API_REGISTRY_ADDR=api-registry
|
|
||||||
# volumes:
|
|
||||||
# - grafana-db:/var/lib/grafana
|
|
||||||
# - ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
# - ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
# - ../bin/register-service:/bin/register-service
|
|
||||||
# depends_on:
|
|
||||||
# - api-registry
|
|
||||||
# networks:
|
|
||||||
# - egommerce-network
|
|
||||||
|
|
||||||
db-postgres:
|
|
||||||
image: git.pbiernat.io/egommerce/db-postgres:latest
|
|
||||||
environment:
|
|
||||||
- APP_DOMAIN
|
|
||||||
- APP_NAME=db-postgres
|
|
||||||
- API_REGISTRY_ADDR=api-registry
|
|
||||||
- POSTGRESQL_USERNAME=postgres
|
|
||||||
- POSTGRESQL_DATABASE=postgres
|
|
||||||
- POSTGRESQL_PASSWORD=H5Gd7^37*Hka*a72
|
|
||||||
volumes:
|
|
||||||
- postgres_data:/var/lib/postgresql/data
|
|
||||||
# - ./db_migrations/init/:/docker-entrypoint-initdb.d/
|
|
||||||
- ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
- ../bin/register-service:/bin/register-service
|
|
||||||
- ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
depends_on:
|
|
||||||
- api-registry
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
|
|
||||||
# db-mongo:
|
|
||||||
# image: mongo:5.0.14
|
|
||||||
# environment:
|
|
||||||
# - APP_DOMAIN
|
|
||||||
# - APP_NAME=mongo-db
|
|
||||||
# - API_REGISTRY_ADDR=api-registry
|
|
||||||
# - MONGO_INITDB_ROOT_USERNAME=mongodb
|
|
||||||
# - MONGO_INITDB_ROOT_PASSWORD
|
|
||||||
# volumes:
|
|
||||||
# - mongodb_data:/data/db
|
|
||||||
# - ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
# - ../bin/register-service:/bin/register-service
|
|
||||||
# - ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
# depends_on:
|
|
||||||
# - api-registry
|
|
||||||
# deploy:
|
|
||||||
# mode: replicated
|
|
||||||
# replicas: 1
|
|
||||||
# extra_hosts:
|
|
||||||
# - "host.docker.internal:host-gateway"
|
|
||||||
# networks:
|
|
||||||
# - egommerce-network
|
|
||||||
|
|
||||||
# API micro-services
|
|
||||||
identity-svc:
|
|
||||||
image: git.pbiernat.io/egommerce/identity-svc:latest
|
|
||||||
environment:
|
|
||||||
- APP_NAME=identity-svc
|
|
||||||
- APP_PATH_PREFIX=/identity
|
|
||||||
- API_REGISTRY_ADDR=api-gateway
|
|
||||||
- APP_DOMAIN
|
|
||||||
- APP_KV_NAMESPACE
|
|
||||||
- DATABASE_URL
|
|
||||||
- MONGODB_URL
|
|
||||||
- EVENTBUS_URL
|
|
||||||
volumes:
|
|
||||||
- ../certs/identity-svc/identity-svc.crt:/certs/client.crt:ro
|
|
||||||
- ../certs/identity-svc/identity-svc.key:/certs/client.key:ro
|
|
||||||
- ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
- ../db_migrations/identity-svc:/migrations
|
|
||||||
- ../bin/register-service:/bin/register-service
|
|
||||||
- ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
depends_on:
|
|
||||||
- api-registry
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
|
|
||||||
catalog-svc:
|
|
||||||
image: git.pbiernat.io/egommerce/catalog-svc:latest
|
|
||||||
environment:
|
|
||||||
- APP_NAME=catalog-svc
|
|
||||||
- APP_PATH_PREFIX=/catalog
|
|
||||||
- API_REGISTRY_ADDR=api-gateway
|
|
||||||
- APP_DOMAIN
|
|
||||||
- APP_KV_NAMESPACE
|
|
||||||
- AUTH_HANDLER_URL
|
|
||||||
- DATABASE_URL
|
|
||||||
- MONGODB_URL
|
|
||||||
- EVENTBUS_URL
|
|
||||||
volumes:
|
|
||||||
- ../certs/catalog-svc/catalog-svc.crt:/certs/client.crt:ro
|
|
||||||
- ../certs/catalog-svc/catalog-svc.key:/certs/client.key:ro
|
|
||||||
- ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
- ../db_migrations/catalog-svc:/migrations
|
|
||||||
- ../bin/register-service:/bin/register-service
|
|
||||||
- ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
depends_on:
|
|
||||||
- api-registry
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
|
|
||||||
basket-svc:
|
|
||||||
image: git.pbiernat.io/egommerce/basket-svc:latest
|
|
||||||
environment:
|
|
||||||
- APP_NAME=basket-svc
|
|
||||||
- APP_PATH_PREFIX=/basket
|
|
||||||
- API_REGISTRY_ADDR=api-gateway
|
|
||||||
- APP_DOMAIN
|
|
||||||
- APP_KV_NAMESPACE
|
|
||||||
- AUTH_HANDLER_URL
|
|
||||||
- DATABASE_URL
|
|
||||||
- MONGODB_URL
|
|
||||||
- EVENTBUS_URL
|
|
||||||
volumes:
|
|
||||||
- ../certs/basket-svc/basket-svc.crt:/certs/client.crt:ro
|
|
||||||
- ../certs/basket-svc/basket-svc.key:/certs/client.key:ro
|
|
||||||
- ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
- ../db_migrations/basket-svc:/migrations
|
|
||||||
- ../bin/register-service:/bin/register-service
|
|
||||||
- ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
depends_on:
|
|
||||||
- api-registry
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
|
|
||||||
order-svc:
|
|
||||||
image: git.pbiernat.io/egommerce/order-svc:latest
|
|
||||||
environment:
|
|
||||||
- APP_NAME=order-svc
|
|
||||||
- APP_PATH_PREFIX=/order
|
|
||||||
- API_REGISTRY_ADDR=api-gateway
|
|
||||||
- APP_DOMAIN
|
|
||||||
- APP_KV_NAMESPACE
|
|
||||||
- AUTH_HANDLER_URL
|
|
||||||
- DATABASE_URL
|
|
||||||
- MONGODB_URL
|
|
||||||
- EVENTBUS_URL
|
|
||||||
volumes:
|
|
||||||
- ../certs/order-svc/order-svc.crt:/certs/client.crt:ro
|
|
||||||
- ../certs/order-svc/order-svc.key:/certs/client.key:ro
|
|
||||||
- ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
- ../db_migrations/order-svc:/migrations
|
|
||||||
- ../bin/register-service:/bin/register-service
|
|
||||||
- ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
depends_on:
|
|
||||||
- api-registry
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
|
|
||||||
pricing-svc:
|
|
||||||
image: git.pbiernat.io/egommerce/pricing-svc:latest
|
|
||||||
environment:
|
|
||||||
- APP_NAME=pricing-svc
|
|
||||||
- APP_PATH_PREFIX=/pricing
|
|
||||||
- API_REGISTRY_ADDR=api-gateway
|
|
||||||
- APP_DOMAIN
|
|
||||||
- APP_KV_NAMESPACE
|
|
||||||
- AUTH_HANDLER_URL
|
|
||||||
- DATABASE_URL
|
|
||||||
- MONGODB_URL
|
|
||||||
- EVENTBUS_URL
|
|
||||||
volumes:
|
|
||||||
- ../certs/pricing-svc/pricing-svc.crt:/certs/client.crt:ro
|
|
||||||
- ../certs/pricing-svc/pricing-svc.key:/certs/client.key:ro
|
|
||||||
- ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
- ../db_migrations/pricing-svc:/migrations
|
|
||||||
- ../bin/register-service:/bin/register-service
|
|
||||||
- ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
depends_on:
|
|
||||||
- api-registry
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
|
|
||||||
# Workers (Eventbus)
|
|
||||||
basket-worker:
|
|
||||||
image: git.pbiernat.io/egommerce/basket-worker:latest
|
|
||||||
environment:
|
|
||||||
- APP_NAME=basket-worker
|
|
||||||
- APP_KV_NAMESPACE
|
|
||||||
- DATABASE_URL
|
|
||||||
- MONGODB_URL
|
|
||||||
- EVENTBUS_URL
|
|
||||||
volumes:
|
|
||||||
- ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
- ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
|
|
||||||
catalog-worker:
|
|
||||||
image: git.pbiernat.io/egommerce/catalog-worker:latest
|
|
||||||
environment:
|
|
||||||
- APP_NAME=catalog-worker
|
|
||||||
- DATABASE_URL
|
|
||||||
- MONGODB_URL
|
|
||||||
- EVENTBUS_URL
|
|
||||||
volumes:
|
|
||||||
- ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
- ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
|
|
||||||
pricing-worker:
|
|
||||||
image: git.pbiernat.io/egommerce/pricing-worker:latest
|
|
||||||
environment:
|
|
||||||
- APP_NAME=pricing-worker
|
|
||||||
- DATABASE_URL
|
|
||||||
- MONGODB_URL
|
|
||||||
- EVENTBUS_URL
|
|
||||||
volumes:
|
|
||||||
- ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
- ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
|
|
||||||
order-worker:
|
|
||||||
image: git.pbiernat.io/egommerce/order-worker:latest
|
|
||||||
environment:
|
|
||||||
- APP_NAME=order-worker
|
|
||||||
- DATABASE_URL
|
|
||||||
- MONGODB_URL
|
|
||||||
- EVENTBUS_URL
|
|
||||||
volumes:
|
|
||||||
- ../certs/ca/internalCA.crt:/usr/local/share/ca-certificates/internalCA.crt:ro
|
|
||||||
- ../bin/update-resolv.sh:/bin/update-resolv
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
extra_hosts:
|
|
||||||
- "host.docker.internal:host-gateway"
|
|
||||||
networks:
|
|
||||||
- egommerce-network
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
postgres_data: ~
|
|
||||||
mongodb_data: ~
|
|
||||||
registry_data: ~
|
|
||||||
gateway_data: ~
|
|
||||||
vault_data: ~
|
|
||||||
eventbus_data: ~
|
|
||||||
eventbus_logs: ~
|
|
||||||
# grafana-db: ~
|
|
||||||
|
|
||||||
networks:
|
|
||||||
# Infrastructure networks
|
|
||||||
egommerce-network:
|
|
||||||
driver: overlay
|
|
||||||
@@ -5,30 +5,36 @@ services:
|
|||||||
env_file: .env.local
|
env_file: .env.local
|
||||||
environment:
|
environment:
|
||||||
- APP_DOMAIN=egommerce.local
|
- APP_DOMAIN=egommerce.local
|
||||||
# - APP_PORT=48443
|
# - APP_PORT=40056
|
||||||
ports:
|
ports:
|
||||||
- 48443:443
|
- '40056:443'
|
||||||
- 48444:8080
|
- '40057:8080'
|
||||||
# - 5672:5672
|
- '5672:5672'
|
||||||
|
|
||||||
api-registry:
|
api-registry:
|
||||||
command: ["-ui-content-path=/registry"]
|
command: ["-ui-content-path=/registry", "-log-level=DEBUG"]
|
||||||
env_file: .env.local
|
|
||||||
environment:
|
environment:
|
||||||
- APP_DOMAIN=registry.egommerce.local
|
- APP_DOMAIN=registry.egommerce.local
|
||||||
# - APP_PORT=48445
|
# - APP_PORT=40058
|
||||||
ports:
|
ports:
|
||||||
- 48445:8500
|
- '8300:8300'
|
||||||
- 8600:8600/udp
|
- '40058:8500'
|
||||||
|
- '8600:8600/udp'
|
||||||
|
|
||||||
api-eventbus:
|
api-eventbus:
|
||||||
env_file: .env.local
|
env_file: .env.local
|
||||||
environment:
|
environment:
|
||||||
- APP_DOMAIN=eventbus.egommerce.local
|
- APP_DOMAIN=eventbus.egommerce.local
|
||||||
# - APP_PORT=48446
|
# - APP_PORT=40059
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.tcp.routers.eventbus.rule=HostSNI(`*`)
|
||||||
|
- traefik.tcp.routers.eventbus.entrypoints=rabbitmq
|
||||||
|
- traefik.tcp.routers.eventbus.service=eventbus
|
||||||
|
- traefik.tcp.services.eventbus.loadbalancer.server.port=5672
|
||||||
ports:
|
ports:
|
||||||
- 48446:8084
|
- '40059:8084'
|
||||||
- 15672:15672
|
- '15672:15672'
|
||||||
|
|
||||||
api-cache:
|
api-cache:
|
||||||
env_file: .env.local
|
env_file: .env.local
|
||||||
|
|||||||
@@ -2,14 +2,12 @@ version: "3.9"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
api-gateway:
|
api-gateway:
|
||||||
image: git.ego.cloudns.be/egommerce/api-gateway:dev
|
image: git.pbiernat.dev/egommerce/api-gateway:dev
|
||||||
environment:
|
environment:
|
||||||
- APP_DOMAIN=api-gateway
|
- APP_DOMAIN=api-gateway
|
||||||
volumes:
|
|
||||||
- ./certs/api-gateway:/etc/traefik/certs
|
|
||||||
|
|
||||||
api-registry:
|
api-registry:
|
||||||
image: git.ego.cloudns.be/egommerce/api-registry:dev
|
image: git.pbiernat.dev/egommerce/api-registry:dev
|
||||||
environment:
|
environment:
|
||||||
- APP_DOMAIN=api-registry
|
- APP_DOMAIN=api-registry
|
||||||
- CONSUL_HTTP_TOKEN=devop
|
- CONSUL_HTTP_TOKEN=devop
|
||||||
@@ -17,7 +15,7 @@ services:
|
|||||||
- ./certs/api-registry:/consul/data/certs
|
- ./certs/api-registry:/consul/data/certs
|
||||||
|
|
||||||
api-eventbus:
|
api-eventbus:
|
||||||
image: git.ego.cloudns.be/egommerce/api-eventbus:dev
|
image: git.pbiernat.dev/egommerce/api-eventbus:dev
|
||||||
environment:
|
environment:
|
||||||
- APP_DOMAIN=api-eventbus
|
- APP_DOMAIN=api-eventbus
|
||||||
# - RABBITMQ_NODENAME=api-eventbus
|
# - RABBITMQ_NODENAME=api-eventbus
|
||||||
@@ -26,12 +24,12 @@ services:
|
|||||||
# - RABBITMQ_DEFAULT_PASS = passw123
|
# - RABBITMQ_DEFAULT_PASS = passw123
|
||||||
|
|
||||||
api-cache:
|
api-cache:
|
||||||
image: git.ego.cloudns.be/egommerce/api-cache:dev
|
image: git.pbiernat.dev/egommerce/api-cache:dev
|
||||||
environment:
|
environment:
|
||||||
- PASSWORD=12345678
|
- PASSWORD=12345678
|
||||||
|
|
||||||
api-logger:
|
api-logger:
|
||||||
image: git.ego.cloudns.be/egommerce/api-logger:dev
|
image: git.pbiernat.dev/egommerce/api-logger:dev
|
||||||
environment:
|
environment:
|
||||||
- APP_DOMAIN=api-logger
|
- APP_DOMAIN=api-logger
|
||||||
|
|
||||||
@@ -57,7 +55,7 @@ services:
|
|||||||
|
|
||||||
# API micro-services
|
# API micro-services
|
||||||
identity-svc:
|
identity-svc:
|
||||||
image: git.ego.cloudns.be/egommerce/identity-svc:dev
|
image: git.pbiernat.dev/egommerce/identity-svc:dev
|
||||||
environment:
|
environment:
|
||||||
- APP_DOMAIN=identity-svc
|
- APP_DOMAIN=identity-svc
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
||||||
@@ -67,7 +65,7 @@ services:
|
|||||||
- ./certs/api-gateway:/certs
|
- ./certs/api-gateway:/certs
|
||||||
|
|
||||||
basket-svc:
|
basket-svc:
|
||||||
image: git.ego.cloudns.be/egommerce/basket-svc:dev
|
image: git.pbiernat.dev/egommerce/basket-svc:dev
|
||||||
environment:
|
environment:
|
||||||
- APP_DOMAIN=basket-svc
|
- APP_DOMAIN=basket-svc
|
||||||
- AUTH_HANDLER_URL=http://identity-svc/api/v1/traefik
|
- AUTH_HANDLER_URL=http://identity-svc/api/v1/traefik
|
||||||
@@ -78,7 +76,7 @@ services:
|
|||||||
- ./certs/api-gateway:/certs
|
- ./certs/api-gateway:/certs
|
||||||
|
|
||||||
catalog-svc:
|
catalog-svc:
|
||||||
image: git.ego.cloudns.be/egommerce/catalog-svc:dev
|
image: git.pbiernat.dev/egommerce/catalog-svc:dev
|
||||||
environment:
|
environment:
|
||||||
- APP_DOMAIN=catalog-svc
|
- APP_DOMAIN=catalog-svc
|
||||||
- AUTH_HANDLER_URL=http://identity-svc/api/v1/traefik
|
- AUTH_HANDLER_URL=http://identity-svc/api/v1/traefik
|
||||||
@@ -89,7 +87,7 @@ services:
|
|||||||
- ./certs/api-gateway:/certs
|
- ./certs/api-gateway:/certs
|
||||||
|
|
||||||
pricing-svc:
|
pricing-svc:
|
||||||
image: git.ego.cloudns.be/egommerce/pricing-svc:dev
|
image: git.pbiernat.dev/egommerce/pricing-svc:dev
|
||||||
environment:
|
environment:
|
||||||
- APP_DOMAIN=pricing-svc
|
- APP_DOMAIN=pricing-svc
|
||||||
- AUTH_HANDLER_URL=http://identity-svc/api/v1/traefik
|
- AUTH_HANDLER_URL=http://identity-svc/api/v1/traefik
|
||||||
@@ -100,7 +98,7 @@ services:
|
|||||||
- ./certs/api-gateway:/certs
|
- ./certs/api-gateway:/certs
|
||||||
|
|
||||||
order-svc:
|
order-svc:
|
||||||
image: git.ego.cloudns.be/egommerce/order-svc:dev
|
image: git.pbiernat.dev/egommerce/order-svc:dev
|
||||||
environment:
|
environment:
|
||||||
- APP_DOMAIN=order-svc
|
- APP_DOMAIN=order-svc
|
||||||
- AUTH_HANDLER_URL=http://identity-svc/api/v1/traefik
|
- AUTH_HANDLER_URL=http://identity-svc/api/v1/traefik
|
||||||
@@ -112,28 +110,28 @@ services:
|
|||||||
|
|
||||||
# Workers (Eventbus)
|
# Workers (Eventbus)
|
||||||
basket-worker:
|
basket-worker:
|
||||||
image: git.ego.cloudns.be/egommerce/basket-worker:dev
|
image: git.pbiernat.dev/egommerce/basket-worker:dev
|
||||||
environment:
|
environment:
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
||||||
- EVENTBUS_URL=amqp://guest:guest@api-eventbus:5672
|
- EVENTBUS_URL=amqp://guest:guest@api-eventbus:5672
|
||||||
|
|
||||||
catalog-worker:
|
catalog-worker:
|
||||||
image: git.ego.cloudns.be/egommerce/catalog-worker:dev
|
image: git.pbiernat.dev/egommerce/catalog-worker:dev
|
||||||
environment:
|
environment:
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
||||||
- EVENTBUS_URL=amqp://guest:guest@api-eventbus:5672
|
- EVENTBUS_URL=amqp://guest:guest@api-eventbus:5672
|
||||||
|
|
||||||
pricing-worker:
|
pricing-worker:
|
||||||
image: git.ego.cloudns.be/egommerce/pricing-worker:dev
|
image: git.pbiernat.dev/egommerce/pricing-worker:dev
|
||||||
environment:
|
environment:
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
||||||
- EVENTBUS_URL=amqp://guest:guest@api-eventbus:5672
|
- EVENTBUS_URL=amqp://guest:guest@api-eventbus:5672
|
||||||
|
|
||||||
order-worker:
|
order-worker:
|
||||||
image: git.ego.cloudns.be/egommerce/order-worker:dev
|
image: git.pbiernat.dev/egommerce/order-worker:dev
|
||||||
environment:
|
environment:
|
||||||
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
- DATABASE_URL=postgres://postgres:12345678@postgres-db:5432/egommerce
|
||||||
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
- MONGODB_URL=mongodb://mongodb:12345678@mongo-db:27017
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ version: "3.9"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
api-gateway:
|
api-gateway:
|
||||||
image: git.ego.cloudns.be/egommerce/api-gateway:latest
|
image: git.pbiernat.dev/egommerce/api-gateway:latest
|
||||||
# command:
|
# command:
|
||||||
# - '--providers.consulcatalog.refreshinterval=5s'
|
# - '--providers.consulcatalog.refreshinterval=5s'
|
||||||
# FIXME ^^ only on config option: static/env/cli must be selected
|
# FIXME ^^ only on config option: static/env/cli must be selected
|
||||||
@@ -19,7 +19,7 @@ services:
|
|||||||
- api-logger-network
|
- api-logger-network
|
||||||
|
|
||||||
api-registry:
|
api-registry:
|
||||||
image: git.ego.cloudns.be/egommerce/api-registry:latest
|
image: git.pbiernat.dev/egommerce/api-registry:latest
|
||||||
environment:
|
environment:
|
||||||
- APP_NAME=api-registry
|
- APP_NAME=api-registry
|
||||||
- APP_DOMAIN
|
- APP_DOMAIN
|
||||||
@@ -32,7 +32,7 @@ services:
|
|||||||
- api-logger-network
|
- api-logger-network
|
||||||
|
|
||||||
api-eventbus:
|
api-eventbus:
|
||||||
image: git.ego.cloudns.be/egommerce/api-eventbus:latest
|
image: git.pbiernat.dev/egommerce/api-eventbus:latest
|
||||||
environment:
|
environment:
|
||||||
# - RABBITMQ_NODENAME=api-eventbus
|
# - RABBITMQ_NODENAME=api-eventbus
|
||||||
- RABBITMQ_ERLANG_COOKIE=rabbitmq
|
- RABBITMQ_ERLANG_COOKIE=rabbitmq
|
||||||
@@ -48,7 +48,7 @@ services:
|
|||||||
- api-logger-network
|
- api-logger-network
|
||||||
|
|
||||||
api-cache:
|
api-cache:
|
||||||
image: git.ego.cloudns.be/egommerce/api-cache:latest
|
image: git.pbiernat.dev/egommerce/api-cache:latest
|
||||||
environment:
|
environment:
|
||||||
- APP_NAME=api-cache
|
- APP_NAME=api-cache
|
||||||
networks:
|
networks:
|
||||||
@@ -56,7 +56,7 @@ services:
|
|||||||
- api-logger-network
|
- api-logger-network
|
||||||
|
|
||||||
api-logger:
|
api-logger:
|
||||||
image: git.ego.cloudns.be/egommerce/api-logger:latest
|
image: git.pbiernat.dev/egommerce/api-logger:latest
|
||||||
environment:
|
environment:
|
||||||
- APP_NAME=api-logger
|
- APP_NAME=api-logger
|
||||||
- APP_DOMAIN
|
- APP_DOMAIN
|
||||||
@@ -129,7 +129,7 @@ services:
|
|||||||
|
|
||||||
# API micro-services
|
# API micro-services
|
||||||
identity-svc:
|
identity-svc:
|
||||||
image: git.ego.cloudns.be/egommerce/identity-svc:latest
|
image: git.pbiernat.dev/egommerce/identity-svc:latest
|
||||||
environment:
|
environment:
|
||||||
- APP_NAME=identity-svc
|
- APP_NAME=identity-svc
|
||||||
- APP_PATH_PREFIX=/identity
|
- APP_PATH_PREFIX=/identity
|
||||||
@@ -150,7 +150,7 @@ services:
|
|||||||
- mongodb-db-network
|
- mongodb-db-network
|
||||||
|
|
||||||
basket-svc:
|
basket-svc:
|
||||||
image: git.ego.cloudns.be/egommerce/basket-svc:latest
|
image: git.pbiernat.dev/egommerce/basket-svc:latest
|
||||||
environment:
|
environment:
|
||||||
- APP_NAME=basket-svc
|
- APP_NAME=basket-svc
|
||||||
- APP_PATH_PREFIX=/basket
|
- APP_PATH_PREFIX=/basket
|
||||||
@@ -174,7 +174,7 @@ services:
|
|||||||
- mongodb-db-network
|
- mongodb-db-network
|
||||||
|
|
||||||
catalog-svc:
|
catalog-svc:
|
||||||
image: git.ego.cloudns.be/egommerce/catalog-svc:latest
|
image: git.pbiernat.dev/egommerce/catalog-svc:latest
|
||||||
environment:
|
environment:
|
||||||
- APP_NAME=catalog-svc
|
- APP_NAME=catalog-svc
|
||||||
- APP_PATH_PREFIX=/catalog
|
- APP_PATH_PREFIX=/catalog
|
||||||
@@ -196,7 +196,7 @@ services:
|
|||||||
- mongodb-db-network
|
- mongodb-db-network
|
||||||
|
|
||||||
pricing-svc:
|
pricing-svc:
|
||||||
image: git.ego.cloudns.be/egommerce/pricing-svc:latest
|
image: git.pbiernat.dev/egommerce/pricing-svc:latest
|
||||||
environment:
|
environment:
|
||||||
- APP_NAME=pricing-svc
|
- APP_NAME=pricing-svc
|
||||||
- APP_PATH_PREFIX=/pricing
|
- APP_PATH_PREFIX=/pricing
|
||||||
@@ -218,7 +218,7 @@ services:
|
|||||||
- mongodb-db-network
|
- mongodb-db-network
|
||||||
|
|
||||||
order-svc:
|
order-svc:
|
||||||
image: git.ego.cloudns.be/egommerce/order-svc:latest
|
image: git.pbiernat.dev/egommerce/order-svc:latest
|
||||||
environment:
|
environment:
|
||||||
- APP_NAME=order-svc
|
- APP_NAME=order-svc
|
||||||
- APP_PATH_PREFIX=/order
|
- APP_PATH_PREFIX=/order
|
||||||
@@ -241,7 +241,7 @@ services:
|
|||||||
|
|
||||||
# Workers (Eventbus)
|
# Workers (Eventbus)
|
||||||
basket-worker:
|
basket-worker:
|
||||||
image: git.ego.cloudns.be/egommerce/basket-worker:latest
|
image: git.pbiernat.dev/egommerce/basket-worker:latest
|
||||||
environment:
|
environment:
|
||||||
- APP_NAME=basket-worker
|
- APP_NAME=basket-worker
|
||||||
- APP_KV_NAMESPACE
|
- APP_KV_NAMESPACE
|
||||||
@@ -259,7 +259,7 @@ services:
|
|||||||
- mongodb-db-network
|
- mongodb-db-network
|
||||||
|
|
||||||
catalog-worker:
|
catalog-worker:
|
||||||
image: git.ego.cloudns.be/egommerce/catalog-worker:latest
|
image: git.pbiernat.dev/egommerce/catalog-worker:latest
|
||||||
environment:
|
environment:
|
||||||
- APP_NAME=catalog-worker
|
- APP_NAME=catalog-worker
|
||||||
- DATABASE_URL
|
- DATABASE_URL
|
||||||
@@ -275,7 +275,7 @@ services:
|
|||||||
- mongodb-db-network
|
- mongodb-db-network
|
||||||
|
|
||||||
pricing-worker:
|
pricing-worker:
|
||||||
image: git.ego.cloudns.be/egommerce/pricing-worker:latest
|
image: git.pbiernat.dev/egommerce/pricing-worker:latest
|
||||||
environment:
|
environment:
|
||||||
- APP_NAME=pricing-worker
|
- APP_NAME=pricing-worker
|
||||||
- DATABASE_URL
|
- DATABASE_URL
|
||||||
@@ -291,7 +291,7 @@ services:
|
|||||||
- mongodb-db-network
|
- mongodb-db-network
|
||||||
|
|
||||||
order-worker:
|
order-worker:
|
||||||
image: git.ego.cloudns.be/egommerce/order-worker:latest
|
image: git.pbiernat.dev/egommerce/order-worker:latest
|
||||||
environment:
|
environment:
|
||||||
- APP_NAME=order-worker
|
- APP_NAME=order-worker
|
||||||
- DATABASE_URL
|
- DATABASE_URL
|
||||||
|
|||||||
@@ -1,48 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Pod
|
|
||||||
metadata:
|
|
||||||
name: api-registry
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: api-registry
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: api-registry
|
|
||||||
image: git.pbiernat.io/egommerce/api-registry:dev
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: "1"
|
|
||||||
memory: 512M
|
|
||||||
ports:
|
|
||||||
- containerPort: 8501
|
|
||||||
name: api-registry-ui
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: api-registry
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
app.kubernetes.io/name: api-registry
|
|
||||||
ports:
|
|
||||||
- name: api-registry-ui
|
|
||||||
protocol: TCP
|
|
||||||
port: 8501
|
|
||||||
targetPort: api-registry-ui
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: api-registry
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: api-registry
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: api-registry
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: api-registry
|
|
||||||
image: git.pbiernat.io/egommerce/api-registry:dev
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Pod
|
|
||||||
metadata:
|
|
||||||
name: api-registry
|
|
||||||
labels:
|
|
||||||
app.kubernetes.io/name: api-registry
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: api-registry
|
|
||||||
image: git.pbiernat.io/egommerce/api-registry:prod
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: api-registry
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: api-registry
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: api-registry
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: api-registry
|
|
||||||
image: git.pbiernat.io/egommerce/api-registry:prod
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
# kind: Namespace
|
|
||||||
# apiVersion: v1
|
|
||||||
# metadata:
|
|
||||||
# name: egommerce
|
|
||||||
# labels:
|
|
||||||
# name: egommerce
|
|
||||||
# ---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: docker-credentials
|
|
||||||
data:
|
|
||||||
.dockerconfigjson: ewoJImF1dGhzIjogewoJCSJnaXQucGJpZXJuYXQuaW8iOiB7CgkJCSJhdXRoIjogImEyVmxaRzl6YmpwWGIyeHVaVFZQY0hKdlozSmhiVzkzWVc1cFpVQT0iCgkJfSwKCQkiaHR0cHM6Ly9pbmRleC5kb2NrZXIuaW8vdjEvIjogewoJCQkiYXV0aCI6ICJhMlZsWkc5emJqcGtiMk5yWlhKdmQyVTFiMkp5WVhwNSIKCQl9Cgl9Cn0=
|
|
||||||
type: kubernetes.io/dockerconfigjson
|
|
||||||
---
|
|
||||||
# apiVersion: v1
|
|
||||||
# kind: Pod
|
|
||||||
# metadata:
|
|
||||||
# name: api-registry
|
|
||||||
# labels:
|
|
||||||
# app.kubernetes.io/name: api-registry
|
|
||||||
# spec:
|
|
||||||
# hostNetwork: true
|
|
||||||
# containers:
|
|
||||||
# - name: api-registry
|
|
||||||
# image: git.pbiernat.dev/egommerce/api-registry:dev
|
|
||||||
# resources:
|
|
||||||
# limits:
|
|
||||||
# cpu: "1"
|
|
||||||
# memory: 512M
|
|
||||||
# ports:
|
|
||||||
# - containerPort: 8501
|
|
||||||
# name: api-registry-ui
|
|
||||||
# ---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: api-registry
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
app.kubernetes.io/name: api-registry
|
|
||||||
ports:
|
|
||||||
- name: api-registry-ui
|
|
||||||
protocol: TCP
|
|
||||||
port: 8501
|
|
||||||
targetPort: api-registry-ui
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: api-registry
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: api-registry
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: api-registry
|
|
||||||
spec:
|
|
||||||
hostNetwork: true
|
|
||||||
hostAliases:
|
|
||||||
- ip: "127.0.0.1"
|
|
||||||
hostnames:
|
|
||||||
- "git.pbiernat.io"
|
|
||||||
dnsPolicy: ClusterFirstWithHostNet
|
|
||||||
restartPolicy: Always
|
|
||||||
containers:
|
|
||||||
- name: api-registry
|
|
||||||
image: git.pbiernat.dev/egommerce/api-registry:dev
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: "1"
|
|
||||||
memory: 512M
|
|
||||||
ports:
|
|
||||||
- containerPort: 53
|
|
||||||
- containerPort: 8501
|
|
||||||
111
deploy/nginx-mikrus.dev.conf
Normal file
111
deploy/nginx-mikrus.dev.conf
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
upstream egommerce-api-gw {
|
||||||
|
server 127.0.0.1:40056;
|
||||||
|
}
|
||||||
|
|
||||||
|
upstream egommerce-api-gw-dashboard {
|
||||||
|
server 127.0.0.1:40057;
|
||||||
|
}
|
||||||
|
|
||||||
|
upstream egommerce-api-registry-ui {
|
||||||
|
server 127.0.0.1:40058;
|
||||||
|
}
|
||||||
|
|
||||||
|
upstream egommerce-api-eventbus-mngmt {
|
||||||
|
server 127.0.0.1:40059;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen [2a01:4f9:3a:2910::271]:20271 ssl;
|
||||||
|
ssl_certificate /home/keedosn/egommerce/deploy/certs/api-gateway/gateway.cert;
|
||||||
|
ssl_certificate_key /home/keedosn/egommerce/deploy/certs/api-gateway/gateway.key;
|
||||||
|
|
||||||
|
server_name keshop.bieda.it;
|
||||||
|
|
||||||
|
# Traefik redirects
|
||||||
|
location /dashboard {
|
||||||
|
if ($http_referer ~ (/gateway)) {
|
||||||
|
proxy_pass http://egommerce-api-gw-dashboard;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
location /api {
|
||||||
|
if ($http_referer ~ (/gateway)) {
|
||||||
|
proxy_pass http://egommerce-api-gw-dashboard;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
location /gateway/ {
|
||||||
|
proxy_pass http://egommerce-api-gw-dashboard/dashboard/;
|
||||||
|
proxy_pass_header Server;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
client_max_body_size 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Consul redirects
|
||||||
|
location /ui {
|
||||||
|
if ($http_referer ~ (/registry)) {
|
||||||
|
proxy_pass http://egommerce-api-registry-ui;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
location /v1 {
|
||||||
|
if ($http_referer ~ (/registry)) {
|
||||||
|
proxy_pass http://egommerce-api-registry-ui;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
location /registry {
|
||||||
|
proxy_pass http://egommerce-api-registry-ui;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_pass_header Server;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
client_max_body_size 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# RabbitMQ Mngmt redirects
|
||||||
|
location /eventbus {
|
||||||
|
return 302 /eventbus/;
|
||||||
|
}
|
||||||
|
location ~* /eventbus/api/(.*?)/(.*) {
|
||||||
|
proxy_pass http://egommerce-api-eventbus-mngmt/api/$1/%2F/$2?$query_string;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_buffering off;
|
||||||
|
proxy_pass_header Server;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
}
|
||||||
|
location ~* /eventbus/(.*) {
|
||||||
|
rewrite ^/eventbus/(.*)$ /$1 break;
|
||||||
|
proxy_pass http://egommerce-api-eventbus-mngmt;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_buffering off;
|
||||||
|
proxy_pass_header Server;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass all requests to the API Gateway
|
||||||
|
location / {
|
||||||
|
proxy_pass https://egommerce-api-gw;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_pass_header Server;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
client_max_body_size 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
error_log /var/log/nginx/keshop.bieda.it-error.log;
|
||||||
|
access_log /var/log/nginx/keshop.bieda.it-access.log combined;
|
||||||
|
}
|
||||||
@@ -58,6 +58,7 @@ server {
|
|||||||
|
|
||||||
location /registry {
|
location /registry {
|
||||||
proxy_pass http://egommerce-api-registry-ui;
|
proxy_pass http://egommerce-api-registry-ui;
|
||||||
|
proxy_http_version 1.1;
|
||||||
proxy_pass_header Server;
|
proxy_pass_header Server;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
@@ -73,6 +74,7 @@ server {
|
|||||||
}
|
}
|
||||||
location ~* /eventbus/api/(.*?)/(.*) {
|
location ~* /eventbus/api/(.*?)/(.*) {
|
||||||
proxy_pass http://egommerce-api-eventbus-mngmt/api/$1/%2F/$2?$query_string;
|
proxy_pass http://egommerce-api-eventbus-mngmt/api/$1/%2F/$2?$query_string;
|
||||||
|
proxy_http_version 1.1;
|
||||||
proxy_buffering off;
|
proxy_buffering off;
|
||||||
proxy_pass_header Server;
|
proxy_pass_header Server;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
@@ -83,6 +85,7 @@ server {
|
|||||||
location ~* /eventbus/(.*) {
|
location ~* /eventbus/(.*) {
|
||||||
rewrite ^/eventbus/(.*)$ /$1 break;
|
rewrite ^/eventbus/(.*)$ /$1 break;
|
||||||
proxy_pass http://egommerce-api-eventbus-mngmt;
|
proxy_pass http://egommerce-api-eventbus-mngmt;
|
||||||
|
proxy_http_version 1.1;
|
||||||
proxy_buffering off;
|
proxy_buffering off;
|
||||||
proxy_pass_header Server;
|
proxy_pass_header Server;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
@@ -91,6 +94,18 @@ server {
|
|||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Pass all requests to the API Gateway
|
||||||
|
location / {
|
||||||
|
proxy_pass https://egommerce-api-gw;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_pass_header Server;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
client_max_body_size 0;
|
||||||
|
}
|
||||||
|
|
||||||
error_log /var/log/nginx/admin-egommerce.pbiernat.dev-error.log;
|
error_log /var/log/nginx/admin-egommerce.pbiernat.dev-error.log;
|
||||||
access_log /var/log/nginx/admin-egommerce.pbiernat.dev-access.log combined;
|
access_log /var/log/nginx/admin-egommerce.pbiernat.dev-access.log combined;
|
||||||
}
|
}
|
||||||
@@ -102,17 +117,7 @@ server {
|
|||||||
#
|
#
|
||||||
# server_name egommerce.pbiernat.dev;
|
# server_name egommerce.pbiernat.dev;
|
||||||
#
|
#
|
||||||
# # Pass all requests to the API Gateway
|
#
|
||||||
# location / {
|
|
||||||
# proxy_pass https://egommerce-api-gw;
|
|
||||||
# proxy_http_version 1.1;
|
|
||||||
# proxy_pass_header Server;
|
|
||||||
# proxy_set_header Host $host;
|
|
||||||
# proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
# proxy_set_header X-Forwarded-Proto $scheme;
|
|
||||||
# client_max_body_size 0;
|
|
||||||
# }
|
|
||||||
#
|
#
|
||||||
# error_log /var/log/nginx/egommerce.pbiernat.dev-error.log;
|
# error_log /var/log/nginx/egommerce.pbiernat.dev-error.log;
|
||||||
# access_log /var/log/nginx/egommerce.pbiernat.dev-access.log combined;
|
# access_log /var/log/nginx/egommerce.pbiernat.dev-access.log combined;
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
upstream egommerce-api-gw {
|
upstream egommerce-api-gw {
|
||||||
server 127.0.0.1:48443;
|
server 127.0.0.1:40056;
|
||||||
}
|
}
|
||||||
|
|
||||||
upstream egommerce-api-gw-dashboard {
|
upstream egommerce-api-gw-dashboard {
|
||||||
server 127.0.0.1:48444;
|
server 127.0.0.1:40057;
|
||||||
}
|
}
|
||||||
|
|
||||||
upstream egommerce-api-registry-ui {
|
upstream egommerce-api-registry-ui {
|
||||||
server 127.0.0.1:48445;
|
server 127.0.0.1:40058;
|
||||||
}
|
}
|
||||||
|
|
||||||
upstream egommerce-api-eventbus-mngmt {
|
upstream egommerce-api-eventbus-mngmt {
|
||||||
server 127.0.0.1:48446;
|
server 127.0.0.1:40059;
|
||||||
}
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
ssl_certificate /home/keedosn/workspace/golang/src/git.ego.cloudns.be/egommerce/stack/deploy/certs/api-gateway/localhost.cert;
|
ssl_certificate /home/keedosn/workspace/golang/src/git.pbiernat.dev/egommerce/stack/deploy/certs/api-gateway/localhost.cert;
|
||||||
ssl_certificate_key /home/keedosn/workspace/golang/src/git.ego.cloudns.be/egommerce/stack/deploy/certs/api-gateway/localhost.key;
|
ssl_certificate_key /home/keedosn/workspace/golang/src/git.pbiernat.dev/egommerce/stack/deploy/certs/api-gateway/localhost.key;
|
||||||
|
|
||||||
server_name egommerce.local;
|
server_name egommerce.local;
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# RUN IT FORM THE REPO ROOT DIR
|
|
||||||
|
|
||||||
echo "Starting egommerce docker stack..."
|
|
||||||
docker stack deploy --with-registry-auth --detach=false \
|
|
||||||
--compose-file deploy/docker/stack.yml \
|
|
||||||
--compose-file deploy/docker/stack.dev.yml \
|
|
||||||
--compose-file deploy/docker/stack.dev.local.yml \
|
|
||||||
egommerce
|
|
||||||
|
|
||||||
echo "Done."
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# RUN IT FORM THE REPO ROOT DIR
|
|
||||||
|
|
||||||
echo "Starting egommerce k8s stack..."
|
|
||||||
|
|
||||||
kubectl apply -f deploy/k8s/stack.yml
|
|
||||||
# kubectl apply -f deploy/k8s/stack.prod.yml
|
|
||||||
# kubectl apply -f deploy/k8s/stack.dev.yml
|
|
||||||
# kubectl apply -f deploy/k8s/stack.dev.local.yml
|
|
||||||
|
|
||||||
|
|
||||||
echo "Done."
|
|
||||||
11
deploy/start-stack.sh
Normal file
11
deploy/start-stack.sh
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# RUN IT FORM THE REPO ROOT DIR
|
||||||
|
|
||||||
|
echo "Starting egommerce stack..."
|
||||||
|
docker stack deploy --with-registry-auth \
|
||||||
|
--compose-file deploy/egommerce-stack.yml \
|
||||||
|
--compose-file deploy/egommerce-stack.dev.yml \
|
||||||
|
--compose-file deploy/egommerce-stack.dev.local.yml \
|
||||||
|
egommerce
|
||||||
|
|
||||||
|
echo "Done."
|
||||||
Reference in New Issue
Block a user