Implemented CRUD operations for database tables via REST: create-table,
drop-table, query, transaction, and schema retrieval. Included
authentication and namespace ownership enforcement. Added comprehensive
end-to-end tests for new database routes. Updated documentation with
usage examples and migration workflow.
- Require API key or JWT by default for client connections - Auto-derive
namespace from JWT claim or API key format `ak_<rand>:<namespace>` -
Deny calls if per-call namespace override mismatches resolved namespace
- Guard Storage, PubSub, Database, and NetworkInfo operations with
access checks - Add context helpers for consistent namespace override
handling - Update docs and add end-to-end and unit tests for
authentication logic
The commit adds a new database migration system and improves the
authentication flow with multi-wallet support. The migration system
provides robust SQL handling and versioning, while the auth system now
features automatic wallet detection and credential persistence.
Update Makefile, README, and .gitignore to use configs/ Add YAML config
loading to node main.go Add gopkg.in/yaml.v3 dependency Remove unused
IsBootstrap field from NodeConfig
- Remove configmap.go and bootstrap-specific config logic
- Refactor main.go to use a unified node startup for all roles
- Remove DHT and mDNS from config and node logic; use bootstrap + peer
exchange
- Update constants to extract bootstrap peer IDs from addresses
- Simplify RQLite advertise logic and remove external IP detection
- Add zeroconf as indirect dependency
- Remove environment variable overrides from config
- Update README with port usage clarification
- Add new CLI and node binaries
- Remove references to bootstrap/regular node distinctions throughout
- Update ports from ranges (4001-4003) to single ports (4001)
- Change 'Node Types' section to 'Node Setup'
- Remove node type selection references in deployment section
- Update table of contents to reflect structural changes
- Clarify script execution requires elevated privileges (sudo bash)
- Add user permission guidance for server setup
- Simplify network discovery descriptions
- Update firewall and service management descriptions
- Keep development section intact as it still uses separate binaries
- Remove references to node type selection in deployment section
- Update directory structure to show single node configuration
- Update service management commands to use debros-node instead of debros-bootstrap
- Update configuration examples to show single node.yaml file
- Simplify node setup section to reflect bootstrap nodes named 'node'
- Update all maintenance and monitoring commands
- Keep development section unchanged as it still uses separate bootstrap/node binaries
- Update installation command to use correct Gitea repository URL
- Fix both installation and update commands to point to git.debros.io
- Replace GitHub URLs with proper DeBros Gitea instance URLs