Skip to content

badesiru/pyrsia

 
 

Repository files navigation

Welcome to Pyrsia

logo

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.

About

Decentralized Package Network

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 95.8%
  • PowerShell 1.3%
  • Shell 0.9%
  • Mustache 0.9%
  • Dockerfile 0.9%
  • Batchfile 0.1%
  • HCL 0.1%