first commit
This commit is contained in:
commit
093e6a7c14
39 files changed
+1112
No files matched your search
@@ -0,0 +1,66 @@
|
||||
# RustProxy OPNsense packaging repository
|
||||
|
||||
This repository contains only the OPNsense plugin and build/release automation. The RustProxy application source is **not vendored here**. The Debian scheduler downloads it dynamically from:
|
||||
|
||||
`https://git.linuxiarz.pl/gru/RustProxy`
|
||||
|
||||
## What is included
|
||||
|
||||
- `opnsense-plugin/www/rustproxy/` - OPNsense plugin source.
|
||||
- `builder/debian/` - hourly scheduler and optional cross-build helper.
|
||||
- `builder/freebsd/` - native FreeBSD release builder and repository signing helper.
|
||||
- `ci/build-release.sh` - Debian-to-FreeBSD orchestration and publishing.
|
||||
- `deploy/opnsense/` - custom package repository install/update helpers.
|
||||
- `docs/` - setup and architecture notes.
|
||||
|
||||
## Source/update flow
|
||||
|
||||
```text
|
||||
Packaging repository RustProxy upstream
|
||||
(plugin + scripts) https://git.linuxiarz.pl/gru/RustProxy
|
||||
| |
|
||||
+------------------+-------------------+
|
||||
v
|
||||
Debian cron, hourly
|
||||
|
|
||||
detects either commit change
|
||||
|
|
||||
v
|
||||
FreeBSD 15.1 amd64 builder
|
||||
|
|
||||
cargo test + cargo build
|
||||
|
|
||||
OPNsense make package
|
||||
|
|
||||
v
|
||||
signed pkg repository
|
||||
|
|
||||
v
|
||||
OPNsense
|
||||
```
|
||||
|
||||
By default `APP_REPO_REF=HEAD`, so every cron run follows the current default branch of the RustProxy repository. You can instead pin a branch/tag/ref in `/etc/rustproxy-opnsense-builder.env`.
|
||||
|
||||
A release rebuild is triggered when either the packaging repository commit or the RustProxy upstream commit changes. The package version is read at build time from the dynamically downloaded `Cargo.toml`.
|
||||
|
||||
## Recommended release build
|
||||
|
||||
Use the Debian VM only as scheduler/orchestrator and a FreeBSD 15.1 amd64 VM as compiler/packager. The included Docker/cross path (`BUILD_MODE=cross-binary`) is for development validation only and does not publish production `.pkg` files.
|
||||
|
||||
## Quick validation
|
||||
|
||||
```sh
|
||||
./scripts/check.sh
|
||||
```
|
||||
|
||||
## Quick setup
|
||||
|
||||
Read `docs/FIRST_RUN.md`, copy `builder.env.example` to `/etc/rustproxy-opnsense-builder.env` on Debian and fill in your packaging-repository, SSH and publication settings. `APP_REPO_URL` is already set to your RustProxy repository.
|
||||
|
||||
## OPNsense UI scope
|
||||
|
||||
The plugin currently exposes only Enabled / Disabled. RustProxy is supervised by FreeBSD `daemon(8)`, runs as user `rustproxy`, and uses `/var/db/rustproxy` as its private data directory.
|
||||
|
||||
## License
|
||||
|
||||
RustProxy's `Cargo.toml` currently does not declare a license and the supplied source snapshot did not contain LICENSE/COPYING, so the plugin manifest remains `UNKNOWN`. Set the correct license before public redistribution.
|
||||
Reference in new issue
Block a user