Populate chapters from existing docs

This commit is contained in:
mycognosist
2019-10-15 15:47:13 +01:00
parent 7d4c991c35
commit b6ca050a37
10 changed files with 53 additions and 6 deletions

View File

@ -7,9 +7,9 @@
- [Software](./chapter_3.md)
- [Operating System](./chapter_3_1.md)
- [Microservices](./chapter_3_2.md)
- [Configuration](./chapter_3_3.md)
- [Interfaces](./chapter_3_4.md)
- [Physical Interface](./chapter_3_4_1.md)
- [Web Interface](./chapter_3_4_2.md)
- [Interfaces](./chapter_3_3.md)
- [Physical Interface](./chapter_3_3_1.md)
- [Web Interface](./chapter_3_3_2.md)
- [Configuration](./chapter_3_4.md)
- [Contributor's Guide](./chapter_4.md)
- [Licensing](./chapter_5.md)

View File

@ -1 +1,3 @@
# Introduction
PeachCloud is a low-power, lightweight hardware device designed to facilitate peer-to-peer communication across social networks. We aim to return (cloud) computing back into our homes and local communities in a way which fosters increased trust in one another and the socio-technical systems we inhabit.

View File

@ -1 +1,3 @@
# Operating System
PeachCloud runs an _unofficial_ [preview image](https://people.debian.org/~gwolf/raspberrypi3/20190628/) of Debian 10 (Buster). Kernel version: 4.19.0-5-arm64.

View File

@ -1 +1,16 @@
# Microservices
PeachCloud is built primarily with a [microservices architecture](https://microservices.io/). Each microservice utilises [JSON-RPC](https://www.jsonrpc.org/specification) - a stateless, light-weight remote procedure call protocol - as a means of exposing functionality and allowing interoperability. This approach produces a collection of services which are highly maintainable and testable, loosely coupled and independently deployable. HTTP and WebSockets are used as transports for the microservices.
The suite of PeachCloud microservices currently includes:
- [peach-buttons](https://github.com/peachcloud/peach-buttons)
- poll GPIO pins for button presses and emit events via pub-sub
- [peach-menu](https://github.com/peachcloud/peach-menu)
- monitor and interact with the device via the physical interface
- [peach-network](https://github.com/peachcloud/peach-network)
- query and configure network interfaces
- [peach-oled](https://github.com/peachcloud/peach-oled)
- write and draw to the OLED display
- [peach-stats](https://github.com/peachcloud/peach-menu)
- query system statistics

View File

@ -1 +1 @@
# Configuration
# Interfaces

1
src/chapter_3_3_1.md Normal file
View File

@ -0,0 +1 @@
# Physical Interface

7
src/chapter_3_3_2.md Normal file
View File

@ -0,0 +1,7 @@
# Web Interface
[peach-web](https://github.com/peachcloud/peach-web) provides a web interface for monitoring and interacting with the PeachCloud device. This allows administration of the single-board computer (ie. Raspberry Pi) running PeachCloud, as well as the ssb-server and related plugins.
**Stack**
The peach-web stack currently consists of [Rocket](https://rocket.rs/) (Rust web framework), [Tera](https://tera.netlify.com/docs/installation/) (Rust template engine inspired by Jinja2 and the Django template language) and [Tachyons](https://tachyons.io/) (functional CSS library for humans).

View File

@ -1 +1,13 @@
# Interfaces
# Configuration
The microservices and other components comprising the PeachCloud software are configurable via the following environment variables:
| Microservice | Variable | Description | Default |
| --- | --- | --- | --- |
| peach-network | `PEACH_NETWORK_SERVER` | HTTP server address and port for JSON-RPC | `127.0.0.1:5110` |
| peach-buttons | `PEACH_BUTTONS_SERVER` | WebSocket server address and port for JSON-RPC | `127.0.0.1:5111` |
| peach-oled | `PEACH_OLED_SERVER` | HTTP server address and port for JSON-RPC | `127.0.0.1:5112` |
| peach-stats | `PEACH_STATS_SERVER` | HTTP server address and port for JSON-RPC | `127.0.0.1:5113` |
| peach-web | `ROCKET_ENV` | Web application deployment mode | `prod` |
| | `ROCKET_TEMPLATE_DIR` | Tera template directory | `static/templates` |
| | `PEACH_WEB_WS` | WebSocket server port | `5115` |

View File

@ -1 +1,7 @@
# Web Interface
[peach-web](https://github.com/peachcloud/peach-web) provides a web interface for monitoring and interacting with the PeachCloud device. This allows administration of the single-board computer (ie. Raspberry Pi) running PeachCloud, as well as the ssb-server and related plugins.
**Stack**
The peach-web stack currently consists of [Rocket](https://rocket.rs/) (Rust web framework), [Tera](https://tera.netlify.com/docs/installation/) (Rust template engine inspired by Jinja2 and the Django template language) and [Tachyons](https://tachyons.io/) (functional CSS library for humans).

View File

@ -1 +1,3 @@
# Licensing
[AGPL-3.0](https://www.gnu.org/licenses/agpl-3.0.en.html)