runboat/docs/deployment.plantuml
2022-02-06 19:16:33 +01:00

45 lines
1.1 KiB
Text

@startuml deployment
actor "Runboat UI\n(Browser)" as RunboatUI
component Runboat
interface "WebUI: /builds, /builds/{name}\nSSE: /build-events\nAPI: /docs, /api/v1/...\n(8000)" as API
interface "Runboat Webhook\n/webhooks/github" as Webhook
interface "HTTP\n(80)" as IngressHTTP
actor "Builds UI\n(Browser)" as BuildsUI
component Kubernetes {
collections "Builds\n(Deployment,\nPersistentVolumeClaim,\nJob,\n...)" as Builds
interface "HTTP\n(8069)" as BuildsHTTP
component Ingress
}
interface "Kubernetes API\n(HTTPS)" as K8SAPI
component GitHub
interface "GitHub API\nhttps://api.github.com" as GitHubAPI
interface "Git\nhttps://github.com" as Git
database Postgres
Runboat -- Webhook
API -- Runboat
Git -- GitHub
GitHubAPI -- GitHub
Webhook <.. GitHub : "Events:\npush,\npull_request"
Runboat ..> GitHubAPI : "Get Commit Info,\nSend Status updates"
RunboatUI <..> API
Builds - BuildsHTTP
BuildsHTTP <. Ingress
Builds ..> Git : "git clone"
Builds ..> Postgres
IngressHTTP -- Ingress
BuildsUI ..> IngressHTTP
K8SAPI - Kubernetes
Runboat <.> K8SAPI : "kubectl / HTTPS"
@enduml