The nature of software development in the enterprise requires that some packages are not exposed to the world. But packages in the public domain, i.e. open source packages, are still accessible to those within the enterprise network.
In traditional scenarios, this is accomplished by creating network rules that are below the application layer, i.e. firewalls, proxies etc.
In the brave new world of IPFS and libp2p, a lot of the tools and methods used to create these scenarios have been made ineffective.
It is important to note here that this problem is not unique to package management in the enterprise but generally to how enterprise networks and intranets have been set up and managed. Package management gives us a concrete problem to solve.
Early Hard Requirements
Anything that is added to the private cluster MUST NOT be provided on the public DHT. But anything retrieved from the public ipfs swarm SHOULD be provided back to the public ipfs network.
A potential cluster configuration that would be able to satisfy the above requirements.
Pseudo workflow:
$ ipfs-pkg get
-> attempt to get from the private ipfs swarm
-> if not there
-> look in public ipfs swarm
$ ipfs-pkg put
-> by default all put operations should go to the private ipfs swarm
$ ipfs-pkg put --public
-> manually signifying that something should go to the public ipfs swarm
The ipfs-pkg put operations could be distinguished by a special cluster allocator that then switch which network is used.
Enterprise Package Management
The nature of software development in the enterprise requires that some packages are not exposed to the world. But packages in the public domain, i.e. open source packages, are still accessible to those within the enterprise network.
In traditional scenarios, this is accomplished by creating network rules that are below the application layer, i.e. firewalls, proxies etc.
In the brave new world of IPFS and libp2p, a lot of the tools and methods used to create these scenarios have been made ineffective.
It is important to note here that this problem is not unique to package management in the enterprise but generally to how enterprise networks and intranets have been set up and managed. Package management gives us a concrete problem to solve.
Early Hard Requirements
Anything that is added to the private cluster MUST NOT be provided on the public DHT. But anything retrieved from the public ipfs swarm SHOULD be provided back to the public ipfs network.
Pseudo workflow:
The
ipfs-pkg put
operations could be distinguished by a special cluster allocator that then switch which network is used.