Help us shape the future of Go! Take the 2026 Go Developer Survey

internal/

directory
v0.36.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2026 License: MIT

Directories

Path Synopsis
Package adminaudit records admin actions: who did what to whom, when and from where.
Package adminaudit records admin actions: who did what to whom, when and from where.
Package adminhealth builds the read-only "is everything OK?" summary for the admin home: firing alerts (Alertmanager), the kill switch, Rivian call health over the last 24 h, streaming vs leased vehicles, disk, backup age and version.
Package adminhealth builds the read-only "is everything OK?" summary for the admin home: firing alerts (Alertmanager), the kill switch, Rivian call health over the last 24 h, streaming vs leased vehicles, disk, backup age and version.
Package adminonly is the startup contract of the admin deployment (RIVOLT_ADMIN_ONLY=true, admin.rivolt.dev): the same image as the public site, serving only the admin surface behind Cloudflare Access, and running no background work.
Package adminonly is the startup contract of the admin deployment (RIVOLT_ADMIN_ONLY=true, admin.rivolt.dev): the same image as the public site, serving only the admin surface behind Cloudflare Access, and running no background work.
Package ai hosts the hot-swappable LLM provider adapters (OpenAI, Anthropic, Google Gemini) used across Rivolt: weekly digest, trip planning, charging strategy, and anomaly explanations.
Package ai hosts the hot-swappable LLM provider adapters (OpenAI, Anthropic, Google Gemini) used across Rivolt: weekly digest, trip planning, charging strategy, and anomaly explanations.
Package aibudget enforces a per-user daily cap on LLM-backed calls (trip advice, drive efficiency).
Package aibudget enforces a per-user daily cap on LLM-backed calls (trip advice, drive efficiency).
Package analytics hosts local, deterministic analyses over the user's driving and charging history.
Package analytics hosts local, deterministic analyses over the user's driving and charging history.
Package api wires the HTTP surface for Rivolt.
Package api wires the HTTP surface for Rivolt.
Package appsettings is the install-wide key/value store backing the AI provider configuration (and any future install-scoped setting).
Package appsettings is the install-wide key/value store backing the AI provider configuration (and any future install-scoped setting).
Package auth owns Rivolt's session-level authentication: the /api/auth/* endpoints, the cookie format, and the middleware that resolves an authenticated user into request context.
Package auth owns Rivolt's session-level authentication: the /api/auth/* endpoints, the cookie format, and the middleware that resolves an authenticated user into request context.
Package cfaccess verifies the Cloudflare Access JWT that fronts the admin deployment (RIVOLT_ADMIN_ONLY).
Package cfaccess verifies the Cloudflare Access JWT that fronts the admin deployment (RIVOLT_ADMIN_ONLY).
Package chargers serves the chargers.pmtiles archive from the rivolt API: the entire ~10 MB file is fetched once at startup (or first request), parsed in-memory, and queries against it run fully server-side.
Package chargers serves the chargers.pmtiles archive from the rivolt API: the entire ~10 MB file is fetched once at startup (or first request), parsed in-memory, and queries against it run fully server-side.
Package charges persists derived charge sessions.
Package charges persists derived charge sessions.
Package clientip decides which address a request really came from.
Package clientip decides which address a request really came from.
Package config holds runtime configuration for rivolt.
Package config holds runtime configuration for rivolt.
Package crypto is Rivolt's in-process key-wrapping layer.
Package crypto is Rivolt's in-process key-wrapping layer.
Package db owns the Rivolt Postgres connection pool, the shared migration runner, and a handful of identity helpers used by every store.
Package db owns the Rivolt Postgres connection pool, the shared migration runner, and a handful of identity helpers used by every store.
Package dcfcrates owns the DCFC network table used by trip planning.
Package dcfcrates owns the DCFC network table used by trip planning.
Package demo seeds and identifies the public read-only demo account (B7).
Package demo seeds and identifies the public read-only demo account (B7).
Package drain computes the fleet's parked-drain metrics from the persisted vehicle_state history and exposes them to Prometheus (D1, the instrument for the battery-drain experiment's Gate A).
Package drain computes the fleet's parked-drain metrics from the persisted vehicle_state history and exposes them to Prometheus (D1, the instrument for the battery-drain experiment's Gate A).
Package drives persists derived drive sessions.
Package drives persists derived drive sessions.
Package electrafi imports TeslaFi / ElectraFi polling-dump CSV files into Rivolt's drives and charges stores.
Package electrafi imports TeslaFi / ElectraFi polling-dump CSV files into Rivolt's drives and charges stores.
Package elevation looks up altitude (meters above sea level) for arbitrary lat/lon coordinates against the Mapzen Terrarium DEM (https://github.com/tilezen/joerd/blob/master/docs/formats.md#terrarium).
Package elevation looks up altitude (meters above sea level) for arbitrary lat/lon coordinates against the Mapzen Terrarium DEM (https://github.com/tilezen/joerd/blob/master/docs/formats.md#terrarium).
Package email sends transactional mail via the Resend HTTP API.
Package email sends transactional mail via the Resend HTTP API.
Package flags owns the DB-backed operational flag table (migration 0003_flags.sql).
Package flags owns the DB-backed operational flag table (migration 0003_flags.sql).
Package geocoding wraps Open-Meteo's free geocoding endpoint (https://geocoding-api.open-meteo.com/v1/search) for forward- geocoding text input → lat/lon.
Package geocoding wraps Open-Meteo's free geocoding endpoint (https://geocoding-api.open-meteo.com/v1/search) for forward- geocoding text input → lat/lon.
Package hydra is a thin admin-API client for Ory Hydra.
Package hydra is a thin admin-API client for Ory Hydra.
Package identity holds the two install-wide switches that decide how much an email address is trusted when it identifies an account.
Package identity holds the two install-wide switches that decide how much an email address is trusted when it identifies an account.
Package idp defines the UserProvider interface — the single contract between Rivolt's API layer and whichever identity backend is deployed.
Package idp defines the UserProvider interface — the single contract between Rivolt's API layer and whichever identity backend is deployed.
Package insights computes read-only breakdowns of the user's own recorded data.
Package insights computes read-only breakdowns of the user's own recorded data.
Package kratos provides admin-side provisioning of Ory Kratos identities via the Kratos admin API.
Package kratos provides admin-side provisioning of Ory Kratos identities via the Kratos admin API.
Package leases coordinates per-vehicle ownership across multiple rivolt pods so each vehicle is subscribed by exactly one process.
Package leases coordinates per-vehicle ownership across multiple rivolt pods so each vehicle is subscribed by exactly one process.
Package ledger builds the server-side money statement (the Money tab and, eventually, every cost/energy total in the SPA) from recorded charges and drives.
Package ledger builds the server-side money statement (the Money tab and, eventually, every cost/energy total in the SPA) from recorded charges and drives.
Package logging provides a context-aware slog handler and helpers for stamping per-request fields (request_id, user_id, vehicle_id, trace_id) onto every log line emitted while serving a request, without requiring callers to thread the logger through.
Package logging provides a context-aware slog handler and helpers for stamping per-request fields (request_id, user_id, vehicle_id, trace_id) onto every log line emitted while serving a request, without requiring callers to thread the logger through.
Package maps wires same-origin reverse-proxies that let the SPA reach self-hosted map services (Valhalla for routing + map matching, an nginx-served PMTiles bundle for vector basemaps) through the existing rivolt origin and session cookie.
Package maps wires same-origin reverse-proxies that let the SPA reach self-hosted map services (Valhalla for routing + map matching, an nginx-served PMTiles bundle for vector basemaps) through the existing rivolt origin and session cookie.
Package metrics owns the application's Prometheus instrumentation.
Package metrics owns the application's Prometheus instrumentation.
Package oidc adds an OIDC sign-in path alongside the static operator credential and the trusted-proxy header in internal/auth.
Package oidc adds an OIDC sign-in path alongside the static operator credential and the trusted-proxy header in internal/auth.
Package onboardmail sends the welcome email and the setup reminders: at most three emails per user ever (one welcome, two reminders), only to a verified address, only until the truck is connected and sending data, and never after the user opted out.
Package onboardmail sends the welcome email and the setup reminders: at most three emails per user ever (one welcome, two reminders), only to a verified address, only until the truck is connected and sending data, and never after the user opted out.
Package otadetails keeps each vehicle's OTA release details (current and available software version, release-notes link) fresh from Rivian's getOTAUpdateDetails: once a day per vehicle and when a monitor connects, never per request.
Package otadetails keeps each vehicle's OTA release details (current and available software version, release-notes link) fresh from Rivian's getOTAUpdateDetails: once a day per vehicle and when a monitor connects, never per request.
Package packhealth derives an "effective pack capacity" per qualifying charge session.
Package packhealth derives an "effective pack capacity" per qualifying charge session.
Package push handles Web Push subscriptions and notification delivery.
Package push handles Web Push subscriptions and notification delivery.
Package ratelimit implements the global upstream token bucket gating outbound calls to Rivian's GraphQL gateway.
Package ratelimit implements the global upstream token bucket gating outbound calls to Rivian's GraphQL gateway.
Package recap turns a finished drive into a short natural-language narration ("Trip recap") via the operator-configured LLM provider.
Package recap turns a finished drive into a short natural-language narration ("Trip recap") via the operator-configured LLM provider.
Package receipts syncs what Rivian actually billed for each charging session (its Charging history) next to our own estimate.
Package receipts syncs what Rivian actually billed for each charging session (its Charging history) next to our own estimate.
Package repair holds one-off data repairs run from the rivolt CLI.
Package repair holds one-off data repairs run from the rivolt CLI.
phantom
Package phantom is the repair for phantom (stale-copy) live charges: rows the recorder fabricated from a replayed previous-session total, with no power and no SoC change behind them (architect's scratchpad/phantom-charges.md; devils-advocate's audit).
Package phantom is the repair for phantom (stale-copy) live charges: rows the recorder fabricated from a replayed previous-session total, with no power and no SoC change behind them (architect's scratchpad/phantom-charges.md; devils-advocate's audit).
r2
Package r2 rebuilds the drives and charges of a vehicle whose vehicleState gear was unusable (R2 before #214: the gear stayed at the last D/R for days, so drives never closed and no charge opened).
Package r2 rebuilds the drives and charges of a vehicle whose vehicleState gear was unusable (R2 before #214: the gear stayed at the last D/R for days, so drives never closed and no charge opened).
Package retention runs the daily sweeps that delete personal data once it has outlived its purpose: expired sessions (IP and User-Agent) and waitlist requests.
Package retention runs the daily sweeps that delete personal data once it has outlived its purpose: expired sessions (IP and User-Agent) and waitlist requests.
Package rivian is Rivolt's adapter to the unofficial Rivian owner-app GraphQL API.
Package rivian is Rivolt's adapter to the unofficial Rivian owner-app GraphQL API.
Package samples persists raw vehicle_state polling snapshots.
Package samples persists raw vehicle_state polling snapshots.
Package secrets is the persistence layer on top of [`internal/crypto`](../crypto).
Package secrets is the persistence layer on top of [`internal/crypto`](../crypto).
Package sessions is the source-of-truth store for authenticated user sessions.
Package sessions is the source-of-truth store for authenticated user sessions.
Package settings persists app-level configuration (AI provider keys, charging cost, Rivian session) in the shared Postgres database.
Package settings persists app-level configuration (AI provider keys, charging cost, Rivian session) in the shared Postgres database.
Package signupgate implements RIVOLT_SIGNUP_DISABLED: an install-wide switch that closes every path that can create a new account on its own (the /signup page and API, access requests, OIDC and Kratos first sign-in).
Package signupgate implements RIVOLT_SIGNUP_DISABLED: an install-wide switch that closes every path that can create a new account on its own (the /signup page and API, access requests, OIDC and Kratos first sign-in).
Package signuprequests manages the pre-account waitlist: someone visits /signup without an invite, fills the "request access" form, and lands as a pending row that an admin later approves (minting a single-use magic-link signup token) or rejects.
Package signuprequests manages the pre-account waitlist: someone visits /signup without an invite, fills the "request access" form, and lands as a pending row that an admin later approves (minting a single-use magic-link signup token) or rejects.
Package statement builds and sends the monthly statement email (scratchpad/statement-email-spec.md): pure rendering from the ledger's own Monthly, the signed unsubscribe token, the preference and send-state store, and the idempotent hourly job.
Package statement builds and sends the monthly statement email (scratchpad/statement-email-spec.md): pure rendering from the ledger's own Monthly, the signed unsubscribe token, the preference and send-state store, and the idempotent hourly job.
Package tracing wires the OpenTelemetry trace SDK with an OTLP/HTTP exporter pointed at Grafana Tempo.
Package tracing wires the OpenTelemetry trace SDK with an OTLP/HTTP exporter pointed at Grafana Tempo.
Package tripadvice wraps the operator-configured AI provider to generate plain-language observations about a Rivian trip plan: charging stop summary, arrival SoC commentary, adapter warnings, and drive-mode suggestions when the plan looks sub-optimal.
Package tripadvice wraps the operator-configured AI provider to generate plain-language observations about a Rivian trip plan: charging stop summary, arrival SoC commentary, adapter warnings, and drive-mode suggestions when the plan looks sub-optimal.
Package tripmultiday orchestrates a multi-day trip plan over Rivian's planTripWithMultiStopV2.
Package tripmultiday orchestrates a multi-day trip plan over Rivian's planTripWithMultiStopV2.
Package tripprofile derives an energy-consumption multiplier from a user's editable VehicleProfile (wheel size, tire type, roof / rear accessories, default cargo).
Package tripprofile derives an energy-consumption multiplier from a user's editable VehicleProfile (wheel size, tire type, roof / rear accessories, default cargo).
Package trips persists per-user named trip templates for the planner.
Package trips persists per-user named trip templates for the planner.
Package tripweather corrects a Rivian trip plan's per-waypoint SoC curve for weather conditions Rivian's planner doesn't see.
Package tripweather corrects a Rivian trip plan's per-waypoint SoC curve for weather conditions Rivian's planner doesn't see.
Package vehiclelease holds a vehicle's lease terms and computes where the driver stands against the mileage allowance.
Package vehiclelease holds a vehicle's lease terms and computes where the driver stands against the mileage allowance.
Package weather enriches a drive with the conditions at its start point and time.
Package weather enriches a drive with the conditions at its start point and time.
Package web embeds the built Vite web app into the Go binary.
Package web embeds the built Vite web app into the Go binary.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL