Add Debian packaging support with configurable binding

- Add complete debian/ packaging structure for .deb creation
- Support BIND_ADDR environment variable (defaults to 0.0.0.0)
- Create /etc/default/naas config file (defaults to localhost binding)
- Systemd service reads from /etc/default/naas
- Package installs but does not auto-enable service
- Upgrades restart service only if already enabled
- Proper user creation and cleanup on install/remove

Key files:
- debian/control: Package metadata with rustup build dependency support
- debian/naas.default: Configuration template for /etc/default/naas
- debian/naas.service: Updated systemd service with EnvironmentFile
- debian/postinst: Creates naas user, restarts on upgrade if enabled
- debian/prerm: Stops service on removal
- debian/postrm: Cleans up user on purge
- src/main.rs: Added BIND_ADDR support for configurable binding

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Ole-Morten Duesund 2025-09-29 13:35:38 +02:00
commit 57628d940d
11 changed files with 182 additions and 1 deletions

12
debian/naas.default vendored Normal file
View file

@ -0,0 +1,12 @@
# Configuration for NaaS (No as a Service)
# This file is sourced by the systemd service
# Port to listen on (default: 8080)
PORT=8080
# Bind address (default: 127.0.0.1 for localhost only)
# Use 0.0.0.0 to listen on all interfaces
BIND_ADDR=127.0.0.1
# Additional options can be added here as needed
# RUST_LOG=info