712 Commits

Author SHA1 Message Date
Nawaz Dhandala
7dc4a68183 Refactor and remove Incoming Request and Server Monitor Ingest services
- Deleted tsconfig.json for ServerMonitorIngest.
- Updated example environment configuration to remove references to Incoming Request Ingest and Server Monitor Ingest.
- Modified docker-compose files to remove services related to Incoming Request Ingest and Server Monitor Ingest.
- Implemented Incoming Request Ingest API with queue processing and metrics endpoints.
- Created Server Monitor Ingest API with queue processing and metrics endpoints.
- Added job processing logic for Incoming Request and Server Monitor Ingest.
- Introduced queue services for managing Incoming Request and Server Monitor jobs.
2026-02-24 20:21:07 +00:00
Nawaz Dhandala
0afe320c9e feat: Implement Probe Ingest Service
- Added Register.ts for global probe registration with validation for registerProbeKey and probeKey.
- Created ProcessProbeIngest.ts to handle probe ingestion jobs, including incoming email and probe responses.
- Introduced ProbeAuthorization middleware for validating probe access using probeId and probeKey.
- Developed ProbeIngestQueueService for managing probe ingestion jobs and queue operations.
- Defined ProbeExpressRequest type to extend ExpressRequest with probe information.
- Implemented MonitorUtil for handling monitor secrets and populating them in monitor steps.
- Configured Jest for testing with TypeScript support and added nodemon for development.
- Created package.json and tsconfig.json for project setup and TypeScript compilation.
2026-02-24 20:02:27 +00:00
Nawaz Dhandala
3e48478b4f Add sidenav partial for API reference documentation 2026-02-22 13:40:51 +00:00
Nawaz Dhandala
54754ff5ae feat: add registerProbeKey to values schema 2026-02-18 14:15:25 +00:00
Nawaz Dhandala
7f9ed4d439 feat: refactor SyntheticMonitor to use child processes for script execution
- Added isolated-vm dependency for secure script execution.
- Replaced direct Playwright usage in SyntheticMonitor with a worker process.
- Created SyntheticMonitorWorker to handle script execution in a sandboxed environment.
- Implemented proxy configuration handling for worker processes.
- Enhanced error handling and logging for script execution results.
- Removed unnecessary browser session management from SyntheticMonitor.
2026-02-18 14:14:24 +00:00
Nawaz Dhandala
7dd6129dad feat: add environment variables for log level and node environment in isolated-vm deployment 2026-02-18 13:42:14 +00:00
Nawaz Dhandala
7ccea02340 fix secret in probe 2026-02-18 13:37:22 +00:00
Nawaz Dhandala
3cf7c7d1ae refactor: implement push notification relay and enhance Expo integration 2026-02-18 09:56:10 +00:00
Nawaz Dhandala
8d3712c36a feat: Enhance probe handling in secrets.yaml with improved logic for existing secrets 2026-02-12 17:05:33 +00:00
Nawaz Dhandala
80a3bbac3d Merge branch 'master' into release 2026-02-11 11:46:59 +00:00
Nawaz Dhandala
c478e6af30 feat: add openSourceDeployment schema with webhookUrl property 2026-02-10 23:26:06 +00:00
Nawaz Dhandala
09d82f64de refactor: remove Firebase Cloud Messaging configuration and related code for push notifications 2026-02-10 21:38:42 +00:00
Nawaz Dhandala
e53a490606 Merge branch 'master' into release 2026-02-10 16:39:21 +00:00
Nawaz Dhandala
7d6e0488ba feat: add Firebase Cloud Messaging configuration for native push notifications 2026-02-10 15:58:12 +00:00
Nawaz Dhandala
92901b1647 feat: add openSourceDeployment schema and update values.yaml documentation 2026-02-10 15:23:15 +00:00
Nawaz Dhandala
f9f5bff4ce feat: add Open Source Deployment webhook support and related configuration 2026-02-10 14:11:03 +00:00
Nawaz Dhandala
c69d7c949e feat(templates): reorder service and autoscaler definitions in Helm chart templates 2026-02-09 18:04:54 +00:00
Matías Plaza
f3312a2417 fix(helm-chart): add missing existing secret condition for clickhouse 2026-01-29 10:52:33 +01:00
Matías Plaza
382c838d40 fix(helm-chart): add missing existing secret condition for redis 2026-01-29 10:04:31 +01:00
Nawaz Dhandala
9640732e29 feat: implement Stripe webhook for automatic invoice email sending and add configuration for webhook secret 2026-01-28 11:26:22 +00:00
Matías Plaza
f079a2b9e6 feat: support existing secrets for redis & clickhouse 2026-01-27 10:53:29 +01:00
Nawaz Dhandala
44c71bff85 feat: Add inboundEmail configuration to values schema and bump version to 9.3.19 2026-01-14 17:53:10 +00:00
Nawaz Dhandala
91e8fffbe1 feat: Add Inbound Email configuration for Incoming Email Monitor feature 2026-01-13 22:20:43 +00:00
Nawaz Dhandala
dd6ccbead8 fix: Update autoscaler condition for AI Agent to prevent conflicts with KEDA 2025-12-30 14:49:08 +00:00
Nawaz Dhandala
305d1133e0 feat: Add KEDA configuration schema with properties for autoscaling 2025-12-29 19:36:02 +00:00
Nawaz Dhandala
a0a31e9e25 feat: Implement KEDA autoscaling for AI Agent with metrics endpoint and configuration 2025-12-29 19:28:00 +00:00
Nawaz Dhandala
892305e13b style: Remove AI_AGENT_ID environment variable from ai-agent deployment 2025-12-29 19:19:00 +00:00
Nawaz Dhandala
64947413b0 feat: update GitHub App configuration to use GitHubAppName instead of GitHubAppClientId 2025-12-28 20:49:41 +00:00
Nawaz Dhandala
c037bc3825 feat(aiAgent): Add schema definition for AI agent configuration options 2025-12-24 22:06:56 +00:00
Nawaz Dhandala
1a2acbf12d feat(ai-agent): Implement AI Agent service with configuration, registration, and health check functionality 2025-12-24 15:24:47 +00:00
Nawaz Dhandala
83107857bd feat: Add MCP service configuration and related environment variables 2025-12-16 11:04:56 +00:00
omrishilton
b53aae5516 Added nginx service annotations and load balancer class for use in AWS NLB 2025-12-15 14:48:26 +02:00
Nawaz Dhandala
f65197a0bf feat: Add Code Repository management features
- Implement CodeRepositoryService for database interactions.
- Enhance GitHub utility functions for app authentication and repository management.
- Introduce new permissions for Code Repository actions (create, delete, edit, read).
- Create Code Repository pages and routes in the dashboard.
- Add side menu and breadcrumbs for Code Repository navigation.
- Implement settings and delete functionality for Code Repositories.
- Update Helm chart to include GitHub App configuration options.
- Modify example environment configuration to include GitHub App credentials.
2025-12-12 22:37:01 +00:00
Nawaz Dhandala
8bf7b8dfa2 feat: add Microsoft Teams app tenant ID configuration 2025-11-25 18:49:26 +00:00
Nawaz Dhandala
fd4759f16e feat: add site key configuration for hCaptcha in values.yaml 2025-11-24 12:28:05 +00:00
Nawaz Dhandala
a7b7dc61cf feat: add captcha configuration and environment variables to Helm chart and Docker Compose 2025-11-24 12:18:34 +00:00
Simon Larsen
f836369c01 feat: remove Kubernetes Ingress support and update related documentation 2025-11-21 18:40:47 +00:00
Nawaz Dhandala
2335935a3e Add conditional rendering for app.enabled in app.yaml 2025-11-12 17:53:01 +00:00
Nawaz Dhandala
b0d95bb7df Add 'enabled' property to various components in values schema and YAML templates 2025-11-12 16:15:29 +00:00
Nawaz Dhandala
fc08578ff2 chore(telemetry): remove openTelemetryCollectorHost and OTEL collector nginx/ingress config 2025-11-07 21:49:42 +00:00
Nawaz Dhandala
f49b1995df feat(telemetry): add new Telemetry service (OTel, Syslog, Fluent, Metrics, Traces) and unified ingestion pipeline
- Add Telemetry service entrypoint
  - Telemetry/Index.ts: app bootstrap, routes mounting, infrastructure init and Telemetry SDK init.

- Unified queue + worker
  - Telemetry/Jobs/TelemetryIngest/ProcessTelemetry.ts: single worker that dispatches queued jobs to specific processors (logs, traces, metrics, syslog, fluent logs).
  - Telemetry/Services/Queue/TelemetryQueueService.ts: central queue API and job payload types.
  - Per-type Queue wrappers (LogsQueueService, MetricsQueueService, TracesQueueService, FluentLogsQueueService, SyslogQueueService).

- OpenTelemetry ingestion middleware and proto support
  - Telemetry/Middleware/OtelRequestMiddleware.ts: detect OTLP endpoint (logs/traces/metrics), decode protobuf bodies using protobufjs and set product type.
  - Telemetry/ProtoFiles/OTel/v1/*.proto: include common.proto, logs.proto, metrics.proto, resource.proto, traces.proto for OTLP v1 messages.

- Ingest services
  - Telemetry/Services/OtelLogsIngestService.ts: parse incoming OTLP logs, map attributes, convert timestamps, batch insert logs.
  - Telemetry/Services/OtelTracesIngestService.ts: parse OTLP traces, build span rows, extract exceptions, batch insert spans and exceptions, save telemetry exception summary.
  - Telemetry/Services/OtelMetricsIngestService.ts: parse OTLP metrics, normalize datapoints, batch insert metrics and index metric name -> service map.
  - Telemetry/Services/SyslogIngestService.ts: syslog ingestion endpoints, parser integration, map syslog fields to attributes and logs.
  - Telemetry/Services/FluentLogsIngestService.ts: ingest Fluentd style logs, normalize entries and insert into log backend.
  - Telemetry/Services/OtelIngestBaseService.ts: helpers to resolve service name from attributes/headers.

- Syslog parser and utilities
  - Telemetry/Utils/SyslogParser.ts: robust RFC5424 and RFC3164 parser, structured data extraction and sanitization.
  - Telemetry/Tests/Utils/SyslogParser.test.ts: unit tests for parser behavior.

- Telemetry exception utilities
  - Telemetry/Utils/Exception.ts: generate exception fingerprint and upsert telemetry exception status (saveOrUpdateTelemetryException).

- Queue & job integration
  - New integration with Common/Server/Infrastructure/Queue and QueueWorker, job id generation and telemetry job types.
  - Telemetry services add ingestion jobs instead of processing synchronously.

- Config, build and dev tooling
  - Add Telemetry/package.json, package-lock.json, tsconfig.json, nodemon.json, jest config.
  - New script configs and dependencies (protobufjs, ts-node, jest, nodemon, etc).

- Docker / environment updates
  - docker-compose.base.yml, docker-compose.dev.yml, docker-compose.yml: rename service from open-telemetry-ingest -> telemetry and wire TELEMETRY_* envs.
  - config.example.env: rename and consolidate environment variables (OPEN_TELEMETRY_* -> TELEMETRY_*, update hostnames and ports).
  - Tests/Scripts/status-check.sh: update ready-check target to telemetry/status/ready.

- Other
  - Telemetry/Services/Queue/*: export helpers and legacy-compatible job interface shims.
  - Memory cleanup and batching safeguards across ingest services.
  - Logging and capture spans added to key code paths.

BREAKING CHANGES / MIGRATION NOTES:
- Environment variables and docker service names changed:
  - Replace OPEN_TELEMETRY_... vars with TELEMETRY_... (PORT, HOSTNAME, CONCURRENCY, DISABLE_TELEMETRY, etc).
  - docker-compose entries moved from "open-telemetry-ingest" to "telemetry" and image name changed to oneuptime/telemetry.
  - Update any deployment automation and monitoring checks referencing the old service name or endpoints.
- Consumers: OTLP endpoints and behavior remain supported, but ingestion is now queued and processed asynchronously.

Testing / Running:
- Install deps in Telemetry/ (npm install) after syncing Common workspace.
- Run dev: npx nodemon (nodemon.json) or build & start using provided scripts.
- Run tests with jest (Telemetry test suite includes SyslogParser unit tests).

Files added/modified (high level):
- Added many files under Telemetry/: Index, Jobs, Middleware, ProtoFiles, Services, Utils, Tests, package and config artifacts.
- Modified docker-compose.* and config.example.env and status check script to use new TELEMETRY service/vars.
2025-11-07 21:36:47 +00:00
Simon Larsen
a80b7ba88c chore(fluent-ingest): migrate fluent log ingest into open-telemetry-ingest and remove legacy fluent-ingest service
- Move Fluent/Fluent Bit logs ingestion into open-telemetry-ingest:
  - Add OpenTelemetryIngest/API/Fluent.ts (routes for /fluentd and queue endpoints)
  - Add Queue service, job worker and processor:
    - OpenTelemetryIngest/Services/Queue/FluentLogsQueueService.ts
    - OpenTelemetryIngest/Jobs/TelemetryIngest/ProcessFluentLogs.ts
  - Register Fluent API and job processing in OpenTelemetryIngest/Index.ts
  - Introduce QueueName.FluentLogs and related queue usage

- Remove legacy FluentIngest service and configuration:
  - Delete fluent-ingest docker-compose/dev/base entries and docker-compose.yml service
  - Remove fluent-ingest related helm values, KEDA scaledobject, ingress host and schema entries
  - Remove FLUENTD_HOST env/values and replace FLUENT_INGEST_HOSTNAME -> FLUENT_LOGS_HOSTNAME (pointing to open-telemetry-ingest)
  - Update config.example.env keys (FLUENT_LOGS_CONCURRENCY, DISABLE_TELEMETRY_FOR_FLUENT_LOGS)
  - Remove FluentIngestRoute and FLUENT_INGEST_URL/hostname usages from UI config/templates
  - Remove VSCode launch debug config for Fluent Ingest
  - Remove Fluent ingest E2E status check entry in Tests/Scripts/status-check.sh
  - Update docs/architecture diagram and Helm templates to reflect "FluentLogs" / Fluent Bit flow

- Misc:
  - Remove FLUENTD_HOST environment injection from docker-compose.base.yml
  - Cleanup related values.schema.json and values.yaml entries

This consolidates log ingestion under the OpenTelemetry ingest service and removes the separate FluentIngest service and its configuration.
2025-11-07 19:37:31 +00:00
Simon Larsen
69ae1eb310 chore(ci/infra): remove FluentIngest from workflows, charts and compose; bump OpenTelemetryIngest deps
- Remove FluentIngest CI jobs and release/test deploy steps (build.yml, compile.yml, release.yml, test-release.yaml)
- Delete test.fluent-ingest workflow
- Remove Fluent-related env vars/hostnames from config.example.env, docker-compose.base.yml, HelmChart templates and EnvironmentConfig.ts
- Remove fluent-ingest service block from docker-compose.base.yml
- Bump Playwright and TypeORM versions in OpenTelemetryIngest package-lock.json
2025-11-07 18:46:27 +00:00
Nawaz Dhandala
8be7b68faf fix(helm): move nodeSelector into e2e CronJob pod template and add per-job override 2025-11-05 16:58:07 +00:00
Simon Larsen
c5938956af docs(readme,helm): add Community vs. Enterprise table to main README; expand Enterprise Edition details in Helm chart README 2025-11-05 12:12:42 +00:00
Simon Larsen
55085a5e6c docs(helm): add Community vs. Enterprise table, document ssl.provision and image.type, remove duplicate Uninstall section 2025-11-05 12:09:42 +00:00
Simon Larsen
f9f84d4104 docs(helm): note Let's Encrypt requires host reachable on ports 80 and 443 2025-11-05 11:58:54 +00:00
Nawaz Dhandala
743f8721f3 fix(helm): correct YAML indentation for SERVER_ADMIN_DASHBOARD_HOSTNAME in _helpers.tpl 2025-11-04 20:06:40 +00:00
Simon Larsen
ad63d18f0a fix(helm): replace runtime env include with oneuptime.env.oneuptimeSecret in isolated-vm template 2025-11-04 19:17:45 +00:00
Simon Larsen
e5af008079 chore(helm): unify runtime env template and update deployments
Replace separate commonServer/commonUi and oneuptimeSecret includes with a single
oneuptime.env.runtime include across deployments. Move oneuptimeSecret into the
common env where appropriate and remove SERVER_ADMIN_DASHBOARD_HOSTNAME.
Update all affected templates to use the new runtime include.
2025-11-04 19:14:27 +00:00