chages in systemd

This commit is contained in:
Mateusz Gruszczyński committed 2026-10-21 10:50:35 +02:00
1 parent a1389a6a61
commit 3b317a4f0c
9 files changed
+249 -41

No files matched your search

+31 -3
View File
@@ -79,7 +79,7 @@ data/packages/rpm/x86_64/rustproxy-<version>-<release>.x86_64.rpm
data/packages/rpm/x86_64/rustproxy-docker-agent-<version>-<release>.x86_64.rpm
```
Obie paczki są podpisane istniejącym kluczem GPG repozytorium, a repo APT/DNF automatycznie zawiera oba produkty. Zmiana rewizji pakowania Linux (`PACKAGING_REVISION=4`) wymusza przebudowę także dla niezmienionego commita.
Obie paczki są podpisane istniejącym kluczem GPG repozytorium, a repo APT/DNF automatycznie zawiera oba produkty. Zmiana rewizji pakowania Linux (`PACKAGING_REVISION=5`) wymusza przebudowę także dla niezmienionego commita.
Instalacja na hoście Docker (uruchom Docker Engine wcześniej):
@@ -249,7 +249,33 @@ configctl rustproxy start
```
Obsługa miękkiego przeładowania zwiększa `OPNSENSE_PACKAGING_REVISION` do `4`.
Pakowanie Linux ma `PACKAGING_REVISION=4`, a natywne FreeBSD `FREEBSD_NATIVE_PACKAGING_REVISION=1`. Każdy kanał otrzymuje osobną aktualizację przy zmianie swojej rewizji.
Pakowanie Linux ma `PACKAGING_REVISION=5`, a natywne FreeBSD `FREEBSD_NATIVE_PACKAGING_REVISION=1`. Każdy kanał otrzymuje osobną aktualizację przy zmianie swojej rewizji.
## DEB/RPM: dostęp do plików strony i zewnętrznych certyfikatów
Od rewizji pakowania **5** jednostka `rustproxy.service` używa
`ProtectHome=read-only` zamiast `ProtectHome=true`. Dzięki temu katalogi
`/home/...`, `/var/www/...` i `/srv/...` mogą być czytane na podstawie
normalnych uprawnień grupowych lub ACL, bez lokalnych wyjątków systemd.
`ProtectSystem=strict` nadal chroni te lokalizacje przed zapisem. Builder
normalizuje również `ProtectHome` w starszym `debian/rustproxy.service`, jeśli
taki plik istnieje w pobranym źródle; sama rewizja pakowania wystarcza do
ponownego zbudowania DEB/RPM przy niezmienionym kodzie aplikacji.
Instrukcja trafia **do obu paczek** jako
`/usr/share/doc/rustproxy/FILESYSTEM_ACCESS.md` (źródło:
[`packaging/rustproxy-filesystem-access.md`](packaging/rustproxy-filesystem-access.md)).
Opisuje bezpieczne przyznanie grupy lub ACL, odświeżenie grup przez restart,
obsługę certyfikatów Certbot i ich symlinków oraz ograniczenie aplikacyjne:
zewnętrzne PEM wymagają zaufanych katalogów właściciela `root`/`rustproxy`.
Pakiet nie przypisuje automatycznie szerokich grup do użytkownika usługi,
nie zmienia uprawnień witryn ani nie nadpisuje istniejących drop-inów.
Test pakowania, bez podpisywania i kompilacji Rust:
```sh
./tests/linux-path-access.sh
```
## Rotacja logów RustProxy
@@ -258,7 +284,7 @@ Pakowanie Linux ma `PACKAGING_REVISION=4`, a natywne FreeBSD `FREEBSD_NATIVE_PAC
**Uwaga FreeBSD:** `newsyslog` działa przez zmianę nazwy pliku, nie ma `copytruncate`. Pliki JSONL i inne logi otwarte bezpośrednio przez aplikację muszą być przez nią ponownie otwierane po rotacji. W przeciwnym razie proces może pisać do poprzedniego (przeniesionego) pliku; zachowanie nie jest identyczne z Linux. Reguły są instalowane, ale na działającym OPNsense należy zweryfikować sposób otwierania plików przez RustProxy.
Bieżąca rewizja pakowania Linux z obsługą Docker Agenta wynosi `PACKAGING_REVISION=4` i `OPNSENSE_PACKAGING_REVISION=4`; nowy kanał używa `FREEBSD_NATIVE_PACKAGING_REVISION=1`. `check-and-build.sh` sprawdza osobno rewizje pakowania Linux, OPNsense i FreeBSD native; nowa wersja samej wtyczki przebudowuje **tylko OPNsense**, nawet przy niezmienionym SHA aplikacji. Rewizja pakietu PKG zwiększy się automatycznie. W przypadku zmiany rewizji Linux analogicznie odświeżane są DEB/RPM. Konfiguracja w `/etc/logrotate.d/rustproxy` jest oznaczona jako `noreplace`, więc lokalna wersja zmodyfikowana przez administratora może zostać zachowana (zależnie od menedżera pakietów).
Bieżąca rewizja pakowania Linux wynosi `PACKAGING_REVISION=5` i `OPNSENSE_PACKAGING_REVISION=4`; nowy kanał używa `FREEBSD_NATIVE_PACKAGING_REVISION=1`. `check-and-build.sh` sprawdza osobno rewizje pakowania Linux, OPNsense i FreeBSD native; nowa wersja samej wtyczki przebudowuje **tylko OPNsense**, nawet przy niezmienionym SHA aplikacji. Rewizja pakietu PKG zwiększy się automatycznie. W przypadku zmiany rewizji Linux analogicznie odświeżane są DEB/RPM. Konfiguracja w `/etc/logrotate.d/rustproxy` jest oznaczona jako `noreplace`, więc lokalna wersja zmodyfikowana przez administratora może zostać zachowana (zależnie od menedżera pakietów).
Kontrola po zainstalowaniu:
@@ -314,6 +340,7 @@ curl -f http://127.0.0.1:18766/healthz
```bash
./tests/static.sh
./tests/linux-path-access.sh
./tests/check-rustproxy-source.sh /sciezka/do/RustProxy
```
@@ -399,6 +426,7 @@ Pakietowe testy offline:
```sh
./tests/static.sh
./tests/linux-path-access.sh
./tests/opnsense-plugin.sh
./tests/log-rotation.sh
./tests/freebsd-native.sh