@startuml
skinparam backgroundColor White
skinparam defaultFontColor Black
skinparam shadowing false
skinparam ArrowColor Black
skinparam packageBorderColor Black
skinparam packageBackgroundColor #F7F9FC
skinparam componentBorderColor Black
skinparam componentBackgroundColor #E8F1FF

title Docker workflow after cleanup

actor "Developer" as Dev #FFF6D5
component "GitHub Actions\ndocker.yml trigger" as Trigger #D9E8FF
component "Single image build\ncontext=.\nfile=Dockerfile" as ServerBuild #D8F3DC
component "Rust server image\nGHCR publish + digest attestation" as Output #CDEBFF
component "Branch policy\nlatest tag only on main" as Policy #FFF2CC

Dev --> Trigger : push main / tag
Trigger --> ServerBuild : buildx multi-arch push
ServerBuild --> Output : publish image metadata and digest
Trigger --> Policy : enforce latest on refs/heads/main
@enduml
