@startuml

node Phabricator

node github {
component LLVM_monorepo
}

cloud "Google Cloud" {

node "premerge-test Kubernetes cluster" {


node "reverse proxy" {
component nginx
}

node "nginx results" {
component "Linux results"
}

node "Jenkins" {
component "Jenkins master"
}

node "Linux agent" {
component "Swarm plugin (Linux)"
component "LLVM build tools (Linux)"
[Swarm plugin (Linux)] -- [Jenkins master]
[Swarm plugin (Linux)] --> [Linux results]
}
}


node "Google Cloud Storage" {
component "Windows results"
}

node "Windows agent" {
component "Swarm plugin (Win)"
component "LLVM build tools (Win)"
[Swarm plugin (Win)] -- [Jenkins master]
[Swarm plugin (Win)] --> [Windows results]
}

}
Phabricator --> nginx
nginx --> [Jenkins master]
[Jenkins master] --> LLVM_monorepo
[Swarm plugin (Linux)] --> LLVM_monorepo
[Swarm plugin (Win)] --> LLVM_monorepo

@enduml