mirror of
https://github.com/zvx-echo6/meshai.git
synced 2026-05-21 23:24:44 +02:00
feat(config): split monolithic config + extract secrets
- Update .gitignore for v0.3 multi-file layout - Add config/.env.example template for secrets - Add config/local.yaml.example for operator values - Wire main.py to use new config_loader - Support both legacy and new layouts Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
2c11432bd8
commit
965a844b0d
4 changed files with 113 additions and 7 deletions
19
config/.env.example
Normal file
19
config/.env.example
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# MeshAI Secrets Template
|
||||
# Copy to /data/secrets/.env and fill in your values
|
||||
# This file is gitignored - never commit real secrets
|
||||
|
||||
# LLM API Keys (only one needed based on your backend choice)
|
||||
OPENAI_API_KEY=
|
||||
ANTHROPIC_API_KEY=
|
||||
GOOGLE_API_KEY=
|
||||
|
||||
# Mesh Source Credentials
|
||||
MESHMONITOR_API_TOKEN=
|
||||
MQTT_PASSWORD=
|
||||
|
||||
# Environmental Feed Keys
|
||||
TOMTOM_API_KEY=
|
||||
FIRMS_MAP_KEY=
|
||||
|
||||
# Notification Credentials
|
||||
SMTP_PASSWORD=
|
||||
57
config/local.yaml.example
Normal file
57
config/local.yaml.example
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
# MeshAI Local Configuration Template
|
||||
# Copy to /data/config/local.yaml and customize for your deployment
|
||||
# This file is gitignored - contains operator-identifying values
|
||||
|
||||
# Operator Identity
|
||||
identity:
|
||||
name: "" # Bot display name
|
||||
owner: "" # Owner callsign/name
|
||||
primary_node_id: "" # Your main mesh node ID
|
||||
contact_email: "" # For NWS user_agent, SMTP from
|
||||
|
||||
# Region Coordinates
|
||||
# Map your region names to their lat/lon center points
|
||||
regions:
|
||||
"Example Region":
|
||||
lat: 0.0
|
||||
lon: 0.0
|
||||
# Add more regions as needed:
|
||||
# "Another Region":
|
||||
# lat: 42.5
|
||||
# lon: -114.5
|
||||
|
||||
# Mesh Data Source URLs
|
||||
mesh_sources:
|
||||
meshmonitor_url: "" # Your MeshMonitor instance
|
||||
sources:
|
||||
# Per-source URL overrides (matches names in mesh_sources.yaml)
|
||||
"My-Meshview":
|
||||
url: ""
|
||||
# "My-MeshMonitor":
|
||||
# url: ""
|
||||
|
||||
# Infrastructure Hosts
|
||||
infrastructure:
|
||||
tcp_host: "" # Meshtastic TCP host (meshtasticd)
|
||||
qdrant_host: "" # Qdrant vector DB (optional)
|
||||
tei_host: "" # TEI embedding service (optional)
|
||||
sparse_host: "" # Sparse embedding service (optional)
|
||||
|
||||
# Environmental Feed Center Point
|
||||
env_center:
|
||||
latitude: 0.0 # Center of your coverage area
|
||||
longitude: 0.0
|
||||
|
||||
# Notification Targets
|
||||
notification_targets:
|
||||
smtp_from: "" # Email from address
|
||||
smtp_recipients: [] # Default email recipients
|
||||
webhook_urls: [] # Webhook endpoints
|
||||
alert_node_ids: [] # Node IDs for mesh DM alerts
|
||||
|
||||
# Critical Infrastructure Nodes (short names)
|
||||
critical_nodes: []
|
||||
# Example:
|
||||
# critical_nodes:
|
||||
# - "MHR"
|
||||
# - "HPR"
|
||||
Loading…
Add table
Add a link
Reference in a new issue