[
https://issues.apache.org/jira/browse/MRESOLVER-685?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tamas Cservenak updated MRESOLVER-685:
--------------------------------------
Description:
We need to come up with some solution to "order/pipeline" connectors. Currently
existing connectors in Resolver are:
* basic -- handles transport and checksum validation
* RRF -- wraps another connector and applies filter rules
Not yet in resolver connector:
* mimir -- this should be moved into Resolver ("caching-connector"), this
connector offers global cache (per workstation) and more (LAN wide caches)
To be done connector:
* signature -- connector that validates signatures
Pipelining (or at least wrapping ordering) would be handy, as we want to
achieve something like this:
{{noformat}}
mimir( signature( rrf( basic() ) ) )
{{noformat}}
Flow:
* mimir onEnter: check caches, if cache have needed payload, swap it out; pass
on
* signature onEnter: pass on (no op)
* rrf onEnter: check filter rules; if ok pass on
* basic onEnter: using transport get artifacts
* basic onExit: validate checksums (according to policies), return result
* rrf onExit: pass on (no op)
* signature onExit: validate signatures of artifacts, pass on w/ failure (sig
check result)
* mimir onExit: check is there something new to be cached, cache it, pass on
was:We need to come up with some solution to "order/pipeline" connectors.
> Connector pipelining
> --------------------
>
> Key: MRESOLVER-685
> URL: https://issues.apache.org/jira/browse/MRESOLVER-685
> Project: Maven Resolver
> Issue Type: Task
> Components: Resolver
> Reporter: Tamas Cservenak
> Priority: Major
>
> We need to come up with some solution to "order/pipeline" connectors.
> Currently existing connectors in Resolver are:
> * basic -- handles transport and checksum validation
> * RRF -- wraps another connector and applies filter rules
> Not yet in resolver connector:
> * mimir -- this should be moved into Resolver ("caching-connector"), this
> connector offers global cache (per workstation) and more (LAN wide caches)
> To be done connector:
> * signature -- connector that validates signatures
> Pipelining (or at least wrapping ordering) would be handy, as we want to
> achieve something like this:
> {{noformat}}
> mimir( signature( rrf( basic() ) ) )
> {{noformat}}
> Flow:
> * mimir onEnter: check caches, if cache have needed payload, swap it out;
> pass on
> * signature onEnter: pass on (no op)
> * rrf onEnter: check filter rules; if ok pass on
> * basic onEnter: using transport get artifacts
> * basic onExit: validate checksums (according to policies), return result
> * rrf onExit: pass on (no op)
> * signature onExit: validate signatures of artifacts, pass on w/ failure (sig
> check result)
> * mimir onExit: check is there something new to be cached, cache it, pass on
--
This message was sent by Atlassian Jira
(v8.20.10#820010)