PeachCloud Rust workspace for all code which runs on a PeachCloud device.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
glyph 6cc8faa0c3 Merge pull request 'Reintroduce status and power-related templates and routes' (#140) from refactor_stats into main 2 months ago
.cargo
issue_template
peach-buttons
peach-config
peach-dyndns-updater
peach-jsonrpc-server
peach-lib
peach-menu
peach-monitor
peach-network
peach-oled
peach-patterns
peach-probe
peach-stats
peach-web single variable name change for clarity 2 months ago
.drone.yml
.gitignore
Cargo.lock update lockfile 3 months ago
Cargo.toml
README.md

README.md

PeachCloud 🍑

Better Scuttlebutt cloud infrastructure as a hardware product.

Support us on OpenCollective!

Build Status

Background

Active Repositories

Documentation

  • peach-devdocs - Developer documentation for PeachCloud in the form of a Markdown book

Devops

  • peach-vps - Setup scripts and configuration files for deploying a PeachCloud development server

Image building & device configuration

  • peach-config - Configuration instructions, files and scripts
  • peach-img-builder - Vmdb2 script for building a Debian disc image for Raspberry Pi with PeachCloud pre-installed

Microservices

  • peach-buttons - Emit GPIO events using JSON-RPC pubsub over WS
  • peach-oled - Write and draw to OLED display using JSON-RPC over HTTP
  • peach-menu - A menu for monitoring and interacting with the PeachCloud device
  • peach-network - Query and configure network interfaces using JSON-RPC over HTTP
  • peach-stats - Query system statistics using JSON-RPC over HTTP
  • peach-lib - JSON-RPC client library for the PeachCloud ecosystem
  • peach-monitor - Monitor network data usage and set alert flags based on user-defined thresholds

Diagnostics

  • peach-probe - Probe PeachCloud microservices to evaluate their state and ensure correct API responses

Web interface

  • peach-patterns - Pattern library for the PeachCloud UI design system
  • peach-web - A web interface for monitoring and interacting with the PeachCloud device

Continuous Integration

Drone CI is used to provide continuous integration for this workspace. The configuration file can be found in .drone.yml in the root of this repository. It is currently configured to run cargo fmt, cargo clippy, cargo test and cargo build on every pull request event. The pipeline runs on the AMD64 Debian Buster image from the official Rust Docker image repository.

The status of the current and previous CI builds can be viewed via the Drone CI Build UI (kindly hosted by Co-op Cloud).

Adding [CI SKIP] to the end of a commit message results in the CI checks being skipped for the next event. For example:

git commit -m "update readme [CI SKIP]"
git push origin main

Developer Diaries

Accounts