Infrastructure
2 minute read
title Brezel Deployment Infrastructure
skinparam roundCorner 15
actor "User" as user #saddlebrown
node "Brezel SPA" as spa #indianred {
component "Brotcast Client" as brotcastClient
component "Recipes" as recipes
}
cloud backend {
node "Brezel API" as api #orange
database "DB" as db #lightyellow
node "Brotcast Server" as brotcastServer #lightgoldenrodyellow
card "Export Microservices" as exportCloud {
node "Brezel Export" as export #darkred;text:white
node "pandoc" as pandoc #orangered
node "wkhtmltopdf" as wkhtmltopdf #orangered
node "OCR" as ocr #orangered
}
}
user <-> spa
spa <--> api
api <--> db
api --> brotcastServer
brotcastClient <-[dashed,thickness=2]-> brotcastServer : Websockets
api <-> export
export <--> pandoc
export <--> wkhtmltopdf
export <--> ocr
repo | function | tech | production address | staging address | development address | new development address |
---|---|---|---|---|---|---|
brezel/api | core api with connection to db | Laravel | api.brezel.io:443 | api.dev.brezel.io:443 | api.test:443 | localhost:8081 |
brezel/spa | frontend | Vue.js | (a-b)*.brezel.io:443 | system.dev.brezel.io:443 | (a-b)*.brezel.test:8080 | (a-b)*.localhost:8080 |
brezel/export | convert almost everything to almost everything else using Pandoc - also able to create simple PDFs from HTML | Laravel | export.staging.cluster01.brezel.io:443 | export.staging.cluster01.brezel.io:443 | brezel-export.test:443 | localhost:8082 ( Developer can use external export from production if he/she wants to ) |
brezel/recipes | calculations and formula parsing (included in spa) | JS | - | - | - | - |
brezel/brotcast | websocket client (included in spa) | Laravel Echo/Pusher.js | - | - | - | - |
brezel/brotcast-server | websocket server | Laravel | - | - | brezel-ws.test:443 | localhost:8086 |
brezel/bakery | edit system configurations | Vue.js | bakery.dev.brezel.io:443 | bakery.dev.brezel.io:443 | brezel-bakery.test:443 | localhost:8085 |