GitHub sensor node that polls configured repositories and emits KOI bundles.
- Python 3.10+
uv
Create .env from .env.example:
cp .env.example .envRequired:
PRIV_KEY_PASSWORD
Optional runtime targeting/overrides:
GITHUB_API_TOKENGITHUB_REPOSITORIES(comma-separated:owner/repo,owner2/repo2)GITHUB_POLL_INTERVAL_SECONDSGITHUB_STATE_PATH
Precedence:
.envoverrides are applied first when non-empty.- If env override is empty, node falls back to
config.yamlvalues.
uv sync --refresh --reinstall
set -a; source .env; set +a
uv run python -m koi_net_github_sensor_nodeExpected startup signal: node runs on 127.0.0.1:8007 and logs repository polling activity.
- Default first contact is coordinator:
http://127.0.0.1:8080/koi-net. - Default node port:
8007.
config.yamlis auto-generated on first run.config.yaml.examplecontains all defaults, including env mappings.
- No repos polled: set
GITHUB_REPOSITORIESor configuregithub.repositoriesinconfig.yaml. - API rate limits: set
GITHUB_API_TOKEN. - Missing
PRIV_KEY_PASSWORD: export env before startup.