70 Commits

Author SHA1 Message Date
Nawaz Dhandala
c309fafdb6 Remove IsolatedVM service and related configurations from the project
- Deleted package.json and tsconfig.json for IsolatedVM.
- Removed isolated-vm upstream configuration from Nginx default.conf.template.
- Removed ISOLATED_VM_PORT and telemetry settings from config.example.env.
- Cleaned up docker-compose.base.yml by removing isolated-vm service and its environment variables.
- Updated docker-compose.dev.yml to eliminate isolated-vm service and its associated volumes.
- Removed isolated-vm service from docker-compose.yml.
2026-03-03 12:25:31 +00:00
Nawaz Dhandala
7935148ea6 refactor: Remove obsolete debug configurations for ProbeIngest and ServerMonitorIngest 2026-03-02 21:11:27 +00:00
Nawaz Dhandala
3e48478b4f Add sidenav partial for API reference documentation 2026-02-22 13:40:51 +00:00
Nawaz Dhandala
eea9c2788b Refactor: Remove Copilot tools and related utilities
- Deleted RunCommandTool, SearchWorkspaceTool, WriteFileTool, and their associated interfaces and implementations.
- Removed Tool, ToolRegistry, and AgentLogger classes, along with their dependencies.
- Eliminated utility functions for workspace path management and secret sanitization.
- Cleaned up TypeScript configuration and example environment variables related to Copilot.
- Updated Docker Compose files to remove references to Copilot services.
2025-12-10 11:42:31 +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
fe64380384 feat: add server monitor ingest service with Docker and configuration updates 2025-02-21 20:23:27 +00:00
Simon Larsen
ec86ef4c0e chore: update playwright to version 1.50.0 and adjust debugger port in launch configuration 2025-01-24 16:11:51 +00:00
Simon Larsen
3546d92143 refactor: update localRoot paths in launch.json and improve logging in CheckHeartbeat and UpdateConnectionStatus 2025-01-23 12:41:34 +00:00
Simon Larsen
854be1ddeb Swap debug ports for OpenTelemetryIngest and Fluent Ingest configurations in launch.json 2024-11-26 17:55:10 +00:00
Simon Larsen
815ae7161d Rename Ingestor to ProbeIngest; update configurations, routes, and Docker support; add new request types and workflows 2024-11-21 17:18:22 +00:00
Simon Larsen
3a1f5c7120 Refactor OpenTelemetry Ingest Dockerfile and configuration; update environment variables and docker-compose for new service integration 2024-11-21 17:08:35 +00:00
Simon Larsen
945cef653c Add Incoming Request Ingest service with configuration, Docker support, and tests 2024-11-21 14:41:37 +00:00
Simon Larsen
9244e49e6b Add Fluent Ingest service with configuration, Docker support, and tests 2024-11-21 13:31:11 +00:00
Simon Larsen
26e3bb2074 Add documentation files and update configuration for Docs service 2024-09-18 16:38:53 +01:00
Simon Larsen
68389cda85 Add API reference code examples and configuration files 2024-09-18 14:39:11 +01:00
Simon Larsen
6aa9895e72 refactor workflow 2024-09-16 15:22:15 -07:00
Simon Larsen
86168a50ee Add Worker service configuration, deployment setup, and Nginx routing 2024-09-16 08:42:50 -07:00
Simon Larsen
f728a94a80 Add Home service configuration and deployment setup 2024-09-16 08:11:21 -07:00
Simon Larsen
86e5a33bd9 refactor: Update import statements for CommonUI to use Common/UI 2024-08-07 16:14:31 -06:00
Simon Larsen
5f3cfa3f0d feat: Update Docker configuration for Copilot debugging
This commit updates the Docker configuration in the `.vscode/launch.json` file to improve the debugging experience for Copilot. It modifies the `Debug: Copilot Locally` configuration by changing the `localRoot` to `${workspaceFolder}/TestServer` and updating the `name` to `Copilot: Debug with Docker`. Additionally, it sets the `port` to `9985`, `remoteRoot` to `/usr/src/app`, and enables `restart` and `autoAttachChildProcesses` for better debugging capabilities. These changes enhance the development workflow and make it easier to debug Copilot locally with Docker.
2024-07-15 08:36:23 -06:00
Simon Larsen
6eef29e4a3 refactor: Update Copilot configuration for local development 2024-07-08 14:05:09 +01:00
Simon Larsen
f53b314b59 refactor: Update Copilot configuration for local development 2024-07-08 12:51:27 +01:00
Simon Larsen
eae8b79b2e refactor: Add debug configuration for running Copilot locally
A new debug configuration has been added to the launch.json file. This configuration allows for launching Copilot locally by running the "start" script using npm. It skips files in the "<node_internals>" directory and is specifically configured for debugging Node.js applications. This change improves the development experience by enabling easy debugging of Copilot locally.
2024-06-11 15:11:00 +01:00
Simon Larsen
a5f05376b0 refactor: Update logger.debug statements for exiting node process
This commit updates the logger.debug statements in multiple files to log the message 'Exiting node process' instead of 'Exiting node process'. This change improves the logging consistency and ensures that the appropriate log level is used for this message.
2024-05-22 10:04:41 +01:00
Simon Larsen
0bf8713b60 Refactor error handling in main.go for better clarity and instructions 2024-05-14 11:15:15 +01:00
Simon Larsen
db32292d33 chore: Update launch.json and config.go for InfrastructureAgent 2024-05-14 10:02:48 +01:00
Simon Larsen
a50510819b Add Isolated VM debugging configuration and handle exceptions in code execution 2024-04-06 16:34:42 +01:00
Simon Larsen
9bfcc4f0c8 Update SSL to SSLCertificate in MonitorType 2024-04-03 20:52:40 +01:00
Simon Larsen
b702113357 Update launch.json and API routes 2024-01-25 10:41:00 +00:00
Simon Larsen
7366e92d42 Update Dockerfile paths for App 2023-12-28 19:30:58 +00:00
Simon Larsen
2e8ee1d51b Remove unused launch configurations and update port values 2023-12-28 16:49:47 +00:00
Simon Larsen
224eff0d3d Update launch.json and ObjectID.ts, add debugger statement, modify BillingService.test.ts, Statement.ts, and NavBar.tsx, and update OTelIngest.ts 2023-12-25 19:21:04 +00:00
Simon Larsen
224824f1f1 Remove notification service and related configurations 2023-12-25 13:09:41 +00:00
Simon Larsen
526df139b1 Update Dockerfile and launch configurations 2023-12-11 19:37:18 +00:00
Simon Larsen
640ce525c5 Update Probe npm install and test commands 2023-11-21 17:50:09 +00:00
Simon Larsen
32960b90f8 get gzip body 2023-10-10 13:49:48 +01:00
Simon Larsen
34817a1066 probe-api to ingestor 2023-10-09 18:54:23 +01:00
Carl Downing
3520e834eb shortner > shortener 2023-07-29 16:03:00 -07:00
Simon Larsen
cd8f090a5e add HTTP Head request 2023-07-26 12:38:00 +01:00
Simon Larsen
3f1550096c fix sso docs 2023-07-09 15:11:01 +01:00
Simon Larsen
d724932660 link shortner 2023-07-01 12:01:54 +01:00
Simon Larsen
d0f7831505 fix notification service 2023-06-09 12:25:17 +01:00
Simon Larsen
77ac490b71 fix rmeove orphans 2023-06-07 10:45:34 +01:00
Simon Larsen
fd7b2d3db2 add http test server 2023-05-09 17:03:03 +01:00
Simon Larsen
27420261a0 add probe docker file 2023-05-02 15:29:22 +01:00
Simon Larsen
d873bafedb make probe api service 2023-05-02 13:44:21 +01:00
Simon Larsen
24bc3ef793 make new workflow service. 2023-02-01 13:08:45 +00:00
Simon Larsen
5bce49bf2f fix worker 2022-12-07 11:53:53 +05:30
Simon Larsen
112a51eb1d fix launch.json 2022-11-22 13:13:11 +00:00