ipfs-inactive / user-research

[ARCHIVED] User research for the IPFS Project.
MIT License
10 stars 3 forks source link

Enterprise package management use case (ipfs-cluster) #1

Open lanzafame opened 5 years ago

lanzafame commented 5 years ago

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.

public-private-cluster-configuration 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.

lanzafame commented 5 years ago

@meiqimichelle I am just putting it here for now, happy to move it where ever when you have had the time to figure out that is :smile:.

/cc @hsanjuan

meiqimichelle commented 5 years ago

Related: https://github.com/ipfs/ipfs/issues/246