Welcome to Pyrsia
Decentralized Package Network
Current Development Phase
📢 We are looking for your feedback!
This project is currently in "early alpha". We are actively building on our minimal viable product which will continue to evolve over time as we add new features and support more workflows.
Have a use case or workflow you would like to see supported? Open an issue or share on Slack. Check out our Get Involved page for more ways to connect.
Primary Focus
To get off the ground the focus is strictly on the peer-to-peer distribution of Docker images backed by a blockchain of identifiers.
Looking to Contribute
Take a moment to review our contributing guidelines. You can join our community on Slack or participate in a meeting to pick up an issue. We also have our Local Setup Guide to help.
Install Pyrsia and Join the Network
There are mutiple options to run Pyrsia:
Once you have a pyrsia_node
binary, just run it like this:
pyrsia_node
Optionally setting an environment variable RUST_LOG=debug
first if you want to
see debug output.
Downloading Your First Artifact
Let's exercise the Docker integration.
Configure your Docker installation to use Pyrsia as a registry mirror.
On Windows or macOS, open your Docker Desktop -> Settings -> Docker Engine where Docker allows you to set registry-mirrors. Configure your node as a registry mirror by adding/editing the following in the configuration:
"registry-mirrors": [
"http://0.0.0.0:7888"
]
On Linux, you'll find this configuration in the file /etc/docker/daemon.json
.
See this page for more information about configuring Docker.
Let's try to pull an artifact from the Pyrsia network, but first make sure it is not yet in your local Docker cache:
docker rmi alpine:3.16.2
Then pull the image:
docker pull alpine:3.16.2
Congratulations! The alpine Docker image was now retrieved from the Pyrsia network. You can verify this in the Pyrsia logs.
Connecting with other Nodes
The Pyrsia node will always join the Pyrsia network and connect with other peers. You can see this in the logs or use the CLI's "status" command:
$ ./pyrsia status
Connected Peers Count: 1
Integration Tests
- Repository: Pyrsia integration tests git repository.
- Test Results: Pyrsia integration tests (daily) results.
Cloud Deployment
Pyrsia nodes can be deployed on the cloud using pyrsia_node helmcharts. These nodes will act as the Authority nodes and participate as boot nodes on the network.