Louis King
aeac44e8c7
Fix stale DOMAIN reference in traefik override comment
2026-04-14 20:43:59 +01:00
Louis King
f4648d7fe7
Split Docker Compose into base/dev/prod/traefik overrides with multi-instance support
...
- Split docker-compose.yml into base config + environment overrides
- docker-compose.dev.yml: port mappings for local development
- docker-compose.prod.yml: external proxy-net network, no exposed ports
- docker-compose.traefik.yml: optional Traefik auto-discovery labels
- Parameterize container and volume names with COMPOSE_PROJECT_NAME
- Default: hub-dev (containers: hub-dev-api, volumes: hub-dev_hub_data)
- Override per instance for multi-instance deployments (hub-prod, hub-beta)
- Add Makefile with build/up/down/logs/backup/restore targets
- Add TRAEFIK_DOMAIN env var for Traefik routing configuration
- Update UPGRADING.md with volume migration instructions (rename + copy methods)
- Update README.md with multi-instance deployment and backup/restore sections
2026-04-14 20:41:26 +01:00
Louis King
123dc180f0
Move warning block above screenshot in README
2026-04-13 22:52:08 +01:00
Louis King
f2c8581b10
Remove stale COLLECTOR_INGEST_MODE reference from docker-compose comment
2026-04-13 22:50:07 +01:00
Louis King
2d35249711
Remove stale .claude/ and .plans/ directories
2026-04-13 22:43:40 +01:00
Louis King
700b4a0888
Remove stale references to deleted PROMPT.md, PLAN.md, TASKS.md from README
2026-04-13 22:37:47 +01:00
Louis King
dbd68e9a9f
Replace obsolete MQTT broker image with custom build, add connection retry and upgrade docs
...
- Add custom Dockerfile for meshcore-mqtt-broker (Node 22 Alpine, built from michaelhart/meshcore-mqtt-broker source)
- Add GitHub Actions workflow for weekly multi-arch MQTT broker image builds
- Add local build script (etc/docker/meshcore-mqtt-broker/build.sh)
- Update docker-compose.yml and test compose to use new ghcr.io image
- Add MQTT connection retry logic with exponential backoff to collector subscriber
- Create UPGRADING.md with migration guide for breaking changes
- Update README.md and AGENTS.md for accuracy (Python 3.14, removed commands, fixed MQTT defaults)
- Remove obsolete files (etc/mosquitto.conf, .agentmap.yaml, CLAUDE.md)
2026-04-13 22:27:39 +01:00
Louis King
fb6913ac3d
Merge branch 'feat/meshcore-packet-capture-receiver' of github.com:ipnet-mesh/meshcore-hub into feat/meshcore-packet-capture-receiver
2026-04-12 18:04:18 +01:00
Louis King
bf6b86696c
Migrate from Node.js meshcore-decoder CLI to native Python meshcoredecoder library
...
Replace subprocess-based packet decoding with native Python meshcoredecoder>=0.3.2.
The decoder is now always enabled (no toggle), removing ENABLED/COMMAND/TIMEOUT
config vars. Adds _enrich_payload_decoded() to compensate for payload classes that
lack to_dict() overrides in the library. Removes Node.js/npm from Dockerfile and
deletes the patches/ directory. Adds parenthesized exception rule to AGENTS.md.
2026-04-12 18:03:20 +01:00
JingleManSweep
397084eff5
Merge branch 'main' into feat/meshcore-packet-capture-receiver
2026-04-12 14:23:10 +01:00
Louis King
8b54228c94
Merge branch 'main' of github.com:ipnet-mesh/meshcore-hub into feat/meshcore-packet-capture-receiver
2026-04-12 14:22:45 +01:00
Louis King
58499c420b
Replace native interface with external packet capture and rename receiver to observer
...
Remove the meshcore_interface component in favor of external
meshcore-packet-capture for data ingestion. Rename receiver_node_id
to observer_node_id across all models, schemas, handlers, and API
routes. Add Alembic migration for the column/table renames. Fix
frontend JS property name mismatch that prevented the Receiver column
from displaying observer data.
2026-04-12 14:07:14 +01:00
Louis King
c7655b5242
Add external packet capture receiver to Docker Compose
...
Integrate the meshcore-packet-capture image as an alternative to the
native interface-receiver, reorganize compose profiles so the receiver
profile uses packet capture while native-receiver covers the built-in
and mock receivers, and switch the default collector ingest mode to
letsmesh_upload.
2026-04-11 18:37:32 +01:00
Louis King
9664d4ee76
Fix Starlette 1.0 incompatibility and bump to Python 3.14
...
Pin starlette<1.0.0 to avoid TemplateResponse breaking change, update
the TemplateResponse call to new-style request-first signature, and
bump Python version to 3.14 across Dockerfile, pyproject.toml, and
pre-commit hooks.
2026-04-11 18:33:26 +01:00
JingleManSweep
92ff1ab306
Merge pull request #146 from ipnet-mesh/chore/codecov-tests
...
Add Test upload
2026-03-18 12:05:17 +00:00
JingleManSweep
0e2a24caa6
Upgrade Codecov action and specify report type
...
Updated Codecov action to version 5 and added report type.
2026-03-18 12:03:05 +00:00
JingleManSweep
ff36a991af
Update ci.yml
2026-03-18 11:57:23 +00:00
JingleManSweep
fa1a2ecc17
Add Codecov badge to README
...
Added Codecov badge to README for coverage tracking.
2026-03-18 11:55:06 +00:00
JingleManSweep
9099ffb0cb
Merge pull request #145 from ipnet-mesh/fix/codecov-default
...
Add push trigger for CI on main branch
2026-03-18 11:42:37 +00:00
JingleManSweep
f8219b4626
Add push trigger for CI on main branch
2026-03-18 11:39:42 +00:00
JingleManSweep
27b78d6904
Merge pull request #144 from ipnet-mesh/chore/add-codecov
...
Add CODECOV_TOKEN to CI workflow
2026-03-18 11:32:45 +00:00
JingleManSweep
d4c3e127a2
Add CODECOV_TOKEN to CI workflow
2026-03-18 11:23:32 +00:00
JingleManSweep
92e9ccdbfa
Merge pull request #143 from ipnet-mesh/feature/multibyte-support
...
feat: support multibyte path hashes for MeshCore firmware v1.14+
v0.8.2
2026-03-17 23:02:51 +00:00
Louis King
29b5820ed1
feat: support multibyte path hashes for MeshCore firmware v1.14+
...
Update path hash handling to accept variable-length hex-encoded hashes
(e.g. "4a" for single-byte, "b3fa" for multibyte) instead of requiring
exactly 2-character hashes. Bump meshcore dependency to >=2.3.0.
- Update normalizer to accept even-length hex strings >= 2 chars
- Update schemas and model docstrings for variable-length hashes
- Add tests for multibyte and mixed-length path hash round-trips
- Fix web test flakiness from local .env datetime locale leaking
2026-03-17 22:59:29 +00:00
JingleManSweep
889aa32e3a
Merge pull request #142 from ipnet-mesh/fix/security-fixes
...
fix: harden security across auth, XSS, and proxy trust
v0.8.1
2026-03-09 22:57:33 +00:00
Louis King
3c3873951d
chore: add agentmap and security fixes planning files
2026-03-09 22:54:53 +00:00
Louis King
4b58160f31
fix: harden security across auth, XSS, and proxy trust
...
- Use hmac.compare_digest for constant-time API key comparison in auth
and metrics endpoints to prevent timing attacks
- Escape user-controlled data in admin JS templates (members, node-tags)
to prevent XSS via innerHTML
- Escape </script> sequences in embedded JSON config to prevent XSS
breakout from <script> blocks
- Add configurable WEB_TRUSTED_PROXY_HOSTS setting instead of trusting
all proxy headers unconditionally
- Warn on startup when admin is enabled with default trust-all proxy
- Remove legacy HTML dashboard endpoint (unused, superseded by SPA)
- Add comprehensive auth and dashboard test coverage
2026-03-09 22:53:53 +00:00
JingleManSweep
a32255e110
fix: support monochrome custom logos via logo-invert.svg filename convention ( #141 )
...
Custom logos were hardcoded as full-color, making white/monochrome logos
invisible in light mode. Adds logo-invert.svg as a higher-priority
candidate that enables the brightness filter in light mode.
v0.8.0
2026-03-09 17:30:40 +00:00
JingleManSweep
59a1898824
Merge pull request #139 from ipnet-mesh/renovate/docker-metadata-action-6.x
...
Update docker/metadata-action action to v6
2026-03-06 21:21:14 +00:00
renovate[bot]
9256f8375d
Update docker/metadata-action action to v6
2026-03-06 19:03:36 +00:00
JingleManSweep
e9b25c1ca7
Merge pull request #140 from ipnet-mesh/renovate/docker-build-push-action-7.x
...
Update docker/build-push-action action to v7
2026-03-06 19:03:03 +00:00
renovate[bot]
749bed6d5b
Update docker/build-push-action action to v7
2026-03-06 18:04:06 +00:00
JingleManSweep
97539cb960
Merge pull request #128 from yellowcooln/main
...
LetsMesh Compatibility Mode: Decoder-Backed Messaging, Admin Proxy Auth, and Branding/Timezone Improvements
2026-03-06 18:03:32 +00:00
yellowcooln
c418959e5d
Use patch-package file for meshcore-decoder Docker compatibility patch
2026-03-06 12:35:47 -05:00
JingleManSweep
14fac89f49
Merge branch 'main' into main
2026-03-05 12:00:36 +00:00
JingleManSweep
8201be5a39
Merge pull request #137 from ipnet-mesh/renovate/docker-setup-buildx-action-4.x
...
Update docker/setup-buildx-action action to v4
2026-03-05 11:47:19 +00:00
renovate[bot]
17fa2f1005
Update docker/setup-buildx-action action to v4
2026-03-05 11:44:58 +00:00
JingleManSweep
535186efb1
Merge pull request #138 from ipnet-mesh/renovate/docker-setup-qemu-action-4.x
...
Update docker/setup-qemu-action action to v4
2026-03-05 11:44:36 +00:00
JingleManSweep
fa1db5e709
Merge branch 'main' into renovate/docker-setup-qemu-action-4.x
2026-03-05 11:42:14 +00:00
JingleManSweep
840b8636a2
Merge pull request #136 from ipnet-mesh/renovate/docker-login-action-4.x
...
Update docker/login-action action to v4
2026-03-05 11:42:00 +00:00
renovate[bot]
cb305083e7
Update docker/setup-qemu-action action to v4
2026-03-05 11:38:49 +00:00
renovate[bot]
d475a12292
Update docker/login-action action to v4
2026-03-05 11:38:41 +00:00
JingleManSweep
53f0ce7225
Merge pull request #135 from ipnet-mesh/chore/fix-actions
...
Updates
2026-03-05 11:36:55 +00:00
Louis King
90268e9b98
Updates
2026-03-05 11:34:18 +00:00
yellowcooln
18edcfe9bf
Extract LetsMesh normalization from subscriber into dedicated module
2026-03-04 20:21:49 -05:00
yellowcooln
2a380f88b4
Fix review items 001/003/005 for decoder, channel labels, and node filters
2026-03-04 20:07:37 -05:00
yellowcooln
c22274c4e5
Add LetsMesh structured event parity mappings
2026-03-03 16:18:54 -05:00
Yellowcooln
54449aa5fb
Delete agent.md
2026-03-03 16:18:54 -05:00
yellowcooln
15556c3eb9
Document NPM admin proxy configuration and auth troubleshooting
2026-03-03 16:18:54 -05:00
yellowcooln
6a66eab663
Refine LetsMesh status ingest and custom logo behavior
2026-03-03 16:18:54 -05:00