'
' Copyright (C) 2019 - 2020 Rabobank Nederland
'
' Licensed under the Apache License, Version 2.0 (the "License");
' you may not use this file except in compliance with the License.
' You may obtain a copy of the License at
'
'         http://www.apache.org/licenses/LICENSE-2.0
'
' Unless required by applicable law or agreed to in writing, software
' distributed under the License is distributed on an "AS IS" BASIS,
' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
' See the License for the specific language governing permissions and
' limitations under the License.
'

@startuml

caption Release request on Argos Notary

skinparam shadowing<<with_shadow>> true
skinparam backgroundColor #SeaShell

actor account
participant client as client
participant "Argos Notary" as argos

account -> client: release deployable units
loop number of deployable unit times
   client -> client: collect artifact set in deployable unit
end
client -> argos: release artifacts on supplychain
loop number of deployable unit times
    argos -> argos: get layout
    argos -> argos: verify layout
    argos -> argos: get links with expected endproducts
    argos -> argos: get all links with run id's and match rules
    argos -> argos: verify links
    argos -> argos: permutate in possible link sets
    argos -> argos: verify number of links per step
    argos -> argos: verify rules
end
argos --> argos: create and store release dossier
argos --> client: report result
client --> account: report result
@enduml
