mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 10:21:52 +00:00
wip: Refactoring the service -> Made new skeleton -> Added service manager -> Manager Refactored -> Cleanup -> Add gid struct -> remove synchronizer -> Added backup into manager -> Fix the configure signal not send -> Fixes around backup and sync wip: Moved over the config into the service manager js effect for subscribing to config js effect for subscribing to config fix errors chore: Fix some things in the manager for clippy add interfaces from manifest automatically make OsApi manager-based wip: Starting down the bind for the effects todo: complete a ip todo chore: Fix the result type on something todo: Address returning chore: JS with callbacks chore: Add in the chown and permissions chore: Add in the binds and unbinds in feat: Add in the ability to get configs makefile changes add start/stop/restart to effects config hooks fix: add a default always to the get status chore: Only do updates when the thing is installed. use nistp256 to satisfy firefox use ed25519 if available chore: Make the thing buildable for testing chore: Add in the debugging fix ip signing chore: Remove the bluj tracing fix SQL error chore: Fix the build update prettytable to fix segfault Chore: Make these fn's instead of allways ran. chore: Fix the testing fix: The stopping/ restarting service fix: Fix the restarting. remove current-dependents, derive instead remove pointers from current-dependencies remove pointers and system pointers from FE v0.3.4 remove health checks from manifest remove "restarting" bool on "starting" status remove restarting attr update makefile fix add efi support fix efi add redirect if connecting to https over http clean up lan port forwarding add `make update` and `make update-overlay` fix migration more protections fix: Fix a lint chore: remove the limit on the long-running fix: Starting sometimes. fix: Make it so the stop of the main works fix: Bind local and tor with package. wip: envs closes #2152, closes #2155, closes #2157 fix TS error import config types from sdk update package.json
StartOS Backend
- Requirements:
- Install Rust
- Recommended: rust-analyzer
- Docker
- Rust ARM64 Build Container
- Scripts (run within the
./backenddirectory)build-prod.sh- compiles a release build of the artifacts for running on ARM64
- A Linux computer or VM
Structure
The StartOS backend is broken up into 4 different binaries:
- embassyd: This is the main workhorse of StartOS - any new functionality you want will likely go here
- embassy-init: This is the component responsible for allowing you to set up your device, and handles system initialization on startup
- embassy-cli: This is a CLI tool that will allow you to issue commands to embassyd and control it similarly to the UI
- embassy-sdk: This is a CLI tool that aids in building and packaging services you wish to deploy to StartOS
Finally there is a library embassy that supports all four of these tools.
See here for details.
Building
You can build the entire operating system image using make from the root of
the StartOS project. This will subsequently invoke the build scripts above to
actually create the requisite binaries and put them onto the final operating
system image.
Questions
If you have questions about how various pieces of the backend system work. Open an issue and tag the following people
- dr-bonez