Repository navigation
v1.4.0
A feature release that makes LogTide ready to run as a hosted, multi-tenant service. It is the groundwork behind LogTide Cloud, and it ships in the open: anyone who hosts LogTide for other people gets the same build. Every new setting is opt-in. With the new environment variables unset, a self-hosted instance behaves exactly as before.
Added
- Combined telemetry byte quota: spans and metric datapoints are now metered in bytes like logs, and the new
telemetry.max_bytes_monthlyquota caps logs, traces and metrics together. Over the limit, log, trace and metric ingestion answer429 - Metric datapoint metering and quota: accepted OTLP datapoints are recorded in usage data, with a new
metrics.max_datapoints_monthlyquota - Quota grace and notifications:
quota.grace_percentlets a quota overshoot by a margin before it blocks, and owners get an in-app and email notice when a quota is reached and when it blocks - Optional email verification (
REQUIRE_EMAIL_VERIFICATION) and an hourly registration limit (REGISTRATION_RATE_LIMIT_PER_HOUR) - Terms and Privacy acceptance (
LOGTIDE_TERMS_URL,LOGTIDE_PRIVACY_URL,LOGTIDE_TERMS_VERSION): required at registration and asked again when the version changes. Ingestion with existing API keys is never blocked - Organization caps per user:
MAX_ORGANIZATIONS_PER_USERlimits owned organizations andMAX_ORGANIZATION_CREATIONS_PER_USER_PER_MONTHlimits monthly creations, so deleting and recreating an organization no longer resets its monthly quota - Projects limit: a new
projects.maxcapability, also enforced when restoring a deleted project - Instance-wide capability defaults:
CAPABILITY_DEFAULTS_JSONsets the default of any limit, gate or quota at boot and is validated on startup - Upgrade link and admin service token:
LOGTIDE_UPGRADE_URL+LOGTIDE_UPGRADE_SIGNING_SECRETadd signed Upgrade and Manage billing buttons, andLOGTIDE_ADMIN_SERVICE_TOKENlets an external billing service manage entitlements through the admin API - Hosting guide:
docs/cloud-seams.mddocuments every variable, the handoff token format and how usage is measured
Changed
- Quota defaults set through
CAPABILITY_DEFAULTS_JSONapply to every organization, including ones that never had an override - The bundled Compose files pass the new variables through to the backend and the worker, empty when unset
- LogTide is no longer labeled beta
Fixed
- Entitlement limits of 2 GiB and above failed with an integer overflow; limits are now stored as
BIGINT - Credentials in rate-limit keys: with Redis configured, raw API keys and session tokens were used as rate-limit key names; they are now hashed
Upgrading
Migrations 058 to 061 run automatically on start. They are additive and need no backfill.
Full changelog: https://github.com/logtide-dev/logtide/blob/main/CHANGELOG.md