Skip to content

Commit

Permalink
Merge branch 'update-readme' into pure-rust
Browse files Browse the repository at this point in the history
  • Loading branch information
PotentialStyx committed Apr 13, 2024
2 parents 53cd23b + 7ec567f commit afc1b81
Showing 1 changed file with 14 additions and 15 deletions.
29 changes: 14 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
</div>

> [!CAUTION]
> **⚠️ Homeval is still in early alpha and can be unstable so do not trust it with data you have not backed up. ⚠️**
> Homeval is still in early alpha and can be unstable so do not trust it with data you have not backed up.
# License
Homeval is licensed under GNU AGPL-3.0-only
Expand Down Expand Up @@ -45,22 +45,22 @@ If the database isn't setup repldb won't work, and file history won't persist th
### Proper Authentication

> [!WARNING]
> ⚠If you use someone else's key server it could let them authenticate as any user on your homeval instance
> If you use someone else's key server it could let them authenticate as any user on your homeval instance
> [!NOTE]
> This feature has not been tested with deployments yet, a new solution may be needed.
Run [repl-key-server](https://github.com/Goval-Community/repl-key-server) on a repl and set the env var `$HOMEVAL_PASETO_KEY_URL` to `<your repl url>/keys`.

### Replspace api
> [!IMPORTANT]
> This will not work on windows.
> This will not work on windows see #112
To make use of this feature make sure that all files in `extras/` are placed in a directory contained in your `$PATH` on the machine running homeval.

## ⚠️ Notice for windows users
On windows `cargo run` as well as invoking the built binary must happen inside the [Git Bash](https://gitforwindows.org/) shell.

## Building

Homeval can be built into a binary with `cargo build --release` the binary will then end up in `target/release/homeval` (make sure to set `RUST_LOG=INFO` when running this binary or you won't get any logs).
Homeval can be built into a binary with `cargo build --release` the binary will then end up in `target/release/homeval` or `target/release/homeval.exe` (make sure to set `RUST_LOG=INFO` when running this binary or you won't get any logs).

### Minimal Build
To build a minimal build run `cargo build --release --no-default-features`, this will compile out the following features:
Expand All @@ -77,9 +77,12 @@ To compile and run a debug build use `cargo run`.

# Implementing a service

Make a new file in `services/` name it with the format `<service name>.js` then see existing services and `src/runtime.js` for the interface you need to provide. Docs focussed on implementing services are a WIP.
Make a new file in `services/src/` name it with the format `<service name>.rs` then see existing services and `services/src/traits.rs` for the interface you need to provide. Docs focussed on implementing services are a WIP.

> NOTE: The source code for services are compiled in to release builds, but loaded at runtime for debug builds.
To then use the service you will need to edit `services/src/lib.rs` to include your service.
1) Make a new line at the top of `services/src/lib.rs` and add `mod <service name>`
2) Go to the definition of [`Channel::new`](https://github.com/search?q=repo%3AGoval-Community%2Fhomeval%20Channel%3A%3Anew&type=code) and add your service initialization code to the match statement.
3) Add your service to `IMPLEMENTED_SERVICES` (it can be found at the bottom of `services/src/lib.rs`)

# Supported targets

Expand All @@ -88,7 +91,7 @@ Make a new file in `services/` name it with the format `<service name>.js` then
| --- | --- | --- | --- | --- |
| Linux[^linux] ||||[^linux-tests] |
| macOS[^macos] |||||
| Windows |||||
| Windows |||[^windows] ||


[^testing]: This marks if every release is officially tested for this target.
Expand All @@ -99,8 +102,4 @@ Make a new file in `services/` name it with the format `<service name>.js` then

[^linux-tests]: Currently, the only tested distribution is arch linux. Though all distros with an up to date GLIC *should* work.

# TODO:

- [ ] Debugger support
- [ ] Pid2 Support
- [ ] Unit Tests
[^windows]: While the windows binary supports every feature, the replspace binaries found in [extras](extras/) still need to be ported to batch/powershell (#112)

0 comments on commit afc1b81

Please sign in to comment.