Phase 2: Core API Development - 15 REST API endpoints (packages, patches, system, jobs, websocket) - mTLS authentication layer (src/auth/mtls.rs) - IP whitelist enforcement (src/auth/whitelist.rs) - Job manager with async operation support - WebSocket streaming for job status Phase 3: Security Hardening - Security testing: 16/16 tests passing - Fuzz testing: 21 tests, all findings resolved - Threat model validation (STRIDE matrix) - TLS binding fix (critical vulnerability resolved) - Security documentation complete Phase 4: Production Readiness - Performance benchmarking (all targets met) - Package creation (.deb/.rpm structures) - Documentation (README, API docs, deployment guide) - Security hardening (6 vulnerabilities fixed) Deliverables: - API_DOCUMENTATION.md (889 lines) - DEPLOYMENT_GUIDE.md (733 lines) - SECURITY.md (346 lines) - README.md (525 lines) - debian/ package structure - linux-patch-api.spec (RPM) - install.sh installer script - benches/api_benchmarks.rs - Multiple security/performance reports Security Status: 0 vulnerabilities remaining Test Coverage: 31 unit tests, 21 integration tests Build Status: Release optimized
38 lines
1.4 KiB
Makefile
Executable File
38 lines
1.4 KiB
Makefile
Executable File
#!/usr/bin/make -f
|
|
# debian/rules for linux-patch-api
|
|
|
|
export DEB_CARGO_PACKAGE=linux-patch-api
|
|
export DEB_CARGO_BUILD_FLAGS=--release
|
|
|
|
%:
|
|
dh $@
|
|
|
|
override_dh_auto_build:
|
|
cargo build --release --target x86_64-unknown-linux-gnu
|
|
|
|
override_dh_auto_install:
|
|
dh_auto_install
|
|
# Create installation directories
|
|
mkdir -p debian/linux-patch-api/usr/bin
|
|
mkdir -p debian/linux-patch-api/etc/linux_patch_api
|
|
mkdir -p debian/linux-patch-api/lib/systemd/system
|
|
mkdir -p debian/linux-patch-api/var/log/linux_patch_api
|
|
mkdir -p debian/linux-patch-api/var/lib/linux_patch_api
|
|
# Install binary
|
|
cp target/x86_64-unknown-linux-gnu/release/linux-patch-api debian/linux-patch-api/usr/bin/
|
|
chmod 755 debian/linux-patch-api/usr/bin/linux-patch-api
|
|
# Install systemd service
|
|
cp configs/linux-patch-api.service debian/linux-patch-api/lib/systemd/system/
|
|
chmod 644 debian/linux-patch-api/lib/systemd/system/linux-patch-api.service
|
|
# Install example configs (will be copied to /etc on first install)
|
|
cp configs/config.yaml.example debian/linux-patch-api/etc/linux_patch_api/config.yaml.example
|
|
cp configs/whitelist.yaml.example debian/linux-patch-api/etc/linux_patch_api/whitelist.yaml.example
|
|
chmod 644 debian/linux-patch-api/etc/linux_patch_api/*.example
|
|
|
|
override_dh_strip_nondeterminism:
|
|
# Disable for reproducible builds with cargo
|
|
dh_strip_nondeterminism --disable
|
|
|
|
override_dh_shlibdeps:
|
|
dh_shlibdeps -- --dpkg-shlibdeps-params=--ignore-missing-info
|