Skip to content

No more gambling with cloud providers

Latest

Choose a tag to compare

@Akilan1999 Akilan1999 released this 27 Feb 18:31
· 723 commits to master since this release

Description

This is a P2PRC release after around a year. We would like to welcome @xecarlox94 as a main member to the P2PRC team!
@xecarlox94 has done a major contribution to the project which includes supporting Nix Flakes to easily to build P2PRC from source in
most Unix based machines which support Nix (alias p2prc='env P2PRC=<path you want the configs to exist in> nix run github:akilan1999/p2p-rendering-computation -- and then just run p2prc -h. If this works you are fully setup!).

Another exiting bit contributed from @xecarlox94 is the Haskell bindings which allows the possibilities to orchestrate workloads (A custom process to deploy a server as an example) on P2PRC nodes (Which can be machines behind NAT for instance) in a functional manner (Something no one should touch in Go. If you do here are the nearest therapy centres).

Other mainline features include the possibility for a P2PRC processes to be linked to a domain name while switching nodes behind NAT without having to change the A name entry on your DNS provider. We have also designed a p2p based system to share public keys with
all the nodes in the network. This will allow public-private key authentication by default for users to SSH or deploy processes into P2PRC nodes.

The P2PRC documentation has been as well fully ported over to ORG mode allowing us to use a single text file to generate the docs webpage.

The scam we are protecting people from:

image

What's Changed

New Contributors

Future work:

  • To support heterogeneous set of Nodes that cannot run P2PRC: This stems from a personal issue I have when doing research on CheriBSD kernel. For my research I am using the ARM morello which is a 128bit ARMv8 processor. At the moment Go programs can cannot compile and run inside the CPU. This means I cannot run P2PRC at the moment inside the ARM morello to remotely access it when it's behind NAT using P2PRC. This would indeed be a common problem when running against various Architectures that do not support running P2PRC. We intend to use the implementations similar to socat to ensure we can bind addresses of local nodes to a node running P2PRC and the node running P2PRC can do a local map port function call to escape NAT.

  • Formalising a P2PRC process: To design a data structure that can represent current set of properties:
    Example:

Full Changelog: v2.0.0...v3.0.0