42 lines
992 B
Text
42 lines
992 B
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
|
|
|
|
database Postgres
|
|
|
|
component GitHub
|
|
interface "GitHub API\nhttps://api.github.com" as GitHubAPI
|
|
|
|
Runboat -- Webhook
|
|
API -- Runboat
|
|
|
|
Webhook <-- GitHub : "Events:\npush,\npull_request"
|
|
GitHubAPI -- GitHub
|
|
Runboat --> GitHubAPI : "Status updates"
|
|
|
|
RunboatUI <--> API
|
|
|
|
K8SAPI - Kubernetes
|
|
|
|
Runboat <-> K8SAPI : "kubectl / HTTPS"
|
|
|
|
Builds - BuildsHTTP
|
|
BuildsHTTP <- Ingress
|
|
Builds -- Postgres
|
|
IngressHTTP -- Ingress
|
|
BuildsUI --> IngressHTTP
|
|
|
|
@enduml
|