Affects Version/s: None
Fix Version/s: None
One of the tasks one wants to do is to be able to reproduce a build based on the state of the repository on a particular timestamp. It is possible to do so with fixed version ranges in the build tools (maven, gradel, docker, etc ) but this is very problematic as not all tools can be configured this way. And of course, mistakes could happen.
A better way would be to allow the repository manager limit the objects visible to build tools based on a timestamp criteria. Thus none of the tools need to change because Nexus (the source of truth) could be trusted to manage the view.
Offhand I could think of a number of ways to make this functionality accessible:
1) decorate the URL passed to nexus. For example:
instead of https://host:port/...
A user would modify the URL used in maven docker/npm accordingly.
2) Allow one to create a proxy in nexus where a a configuration element is the timestamp.
A user would create a proxy that has the correct setting.
3) create a content selector that applies to all repo types and allows the specification of the time stamp.
In all cases, one should be able to specify as many timestamp specifications as needed for a large number of states to be recreated as needed.
Of course, if artifacts are deleted, the system would not be able to reproduce the complete state. But that is an acceptable limitation.