model {
  developer = actor 'Developer' {
    description 'The regular user of the platform'
    -> localbox 'inner loop development'
    -> edp 'outer loop development'
    -> edp.ui 'manages project'
    -> edp.forgejo 'manages code'
    -> edp.keycloak 'authenticates'
    -> edp.argoCD 'manages deployments'
    -> edp.grafana 'monitors'
    -> edp.backstage 'create and maintain apps'
    -> edp.imageregistry 'pushes and pull images'
    -> edp.api 'uses API'
    -> edp.forgejogit 'uses git'
  }
  platformdeveloper = actor 'Platform Developer' {
    description 'The EDP engineer'
    style {
      color gray
      shape person
    }
  }
  otherProductLifecycleRoles = actor 'Reviewer, Tester, Auditors, Operators' {
    description 'Coworking roles in the outer loop'
    -> edp 'act according to responibility'
  }
  customers = actor 'End Customers' {
    description 'Consumers of your Application'
    style {
      color amber
      shape person
    }
    -> cloud 'uses your app'
  }
}