Commit graph

200 commits

Author SHA1 Message Date
Nawaz Dhandala
91e8fffbe1
feat: Add Inbound Email configuration for Incoming Email Monitor feature 2026-01-13 22:20:43 +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
958cb3c9fd
feat(ai-agent): Update AI Agent configuration to require a random AI_AGENT_KEY and streamline environment variable usage in docker-compose 2025-12-24 17:20:32 +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
Nawaz Dhandala
9fe3209db6
feat: Add GitHub App configuration variables to docker-compose 2025-12-15 14:57:30 +00:00
Nawaz Dhandala
eea9c2788b
Refactor: Remove Copilot tools and related utilities
Some checks are pending
Push Test Images to Docker Hub and GitHub Container Registry / telemetry-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / probe-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / dashboard-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / admin-dashboard-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / home-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / status-page-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / test-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / probe-ingest-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / server-monitor-ingest-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / incoming-request-ingest-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / app-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / api-reference-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / accounts-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / worker-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / workflow-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / docs-docker-image-deploy (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / publish-terraform-provider (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / test-helm-chart (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / test-e2e-test-saas (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / test-e2e-test-self-hosted (push) Blocked by required conditions
Push Test Images to Docker Hub and GitHub Container Registry / infrastructure-agent-deploy (push) Blocked by required conditions
Common Test / test (push) Waiting to run
Incoming Request Ingest Test / test (push) Waiting to run
Tests / test-app (push) Waiting to run
Tests / test-worker (push) Waiting to run
MCP Server Test / test (push) Waiting to run
ProbeIngest Test / test (push) Waiting to run
Probe Test / test (push) Waiting to run
Telemetry Test / test (push) Waiting to run
Tests / test-home (push) Waiting to run
- 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
8bf7b8dfa2
feat: add Microsoft Teams app tenant ID configuration 2025-11-25 18:49:26 +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
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
Nawaz Dhandala
c6e2f41351
chore(docker-compose): add fluentd service to docker-compose.base.yml 2025-11-07 20:27:50 +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
Simon Larsen
21984c8684
chore(docker-compose): consolidate common-ui/server anchors into common-runtime-variables
Replace <<: *common-ui-variables and <<: *common-server-variables with <<: *common-runtime-variables across services and remove the IS_SERVER flag from the server anchor.
2025-11-04 19:18:28 +00:00
Nawaz Dhandala
f0a2f454e2
feat(config,docker-compose): add PROVISION_SSL env and document Let's Encrypt provisioning
Expose PROVISION_SSL in docker-compose common variables and update config.example.env docs to explain automatic ACME/Let's Encrypt TLS provisioning and reverse-proxy alternative.
2025-11-03 21:51:14 +00:00
Simon Larsen
1ac6e71f7e
chore(config,docker,ci,ui): rename IS_ENTERPRISE to IS_ENTERPRISE_EDITION across env, Dockerfiles, compose and workflows 2025-11-03 11:25:12 +00:00
Nawaz Dhandala
5e19849ac8
feat(ui): add EditionLabel and expose IS_ENTERPRISE across apps
- Add EditionLabel component to Common UI to show current edition and info modal
- Show edition label in Login page, Dashboard header and Footer
- Add IS_ENTERPRISE env var to config.example.env and export in Common UI Config
- Propagate IS_ENTERPRISE into docker-compose.base.yml service envs
2025-10-31 15:47:12 +00:00
Nawaz Dhandala
34737fbba4
feat(telemetry): account for Exceptions in usage billing and add avg exception row size
- Update TelemetryUsageBilling description to include Exceptions.
- Add AverageExceptionRowSizeInBytes env/config (env example, docker-compose, Helm values & schema).
- Use ExceptionInstanceService in TelemetryUsageBillingService to include exception row counts when estimating bytes for Traces.
- Add helper to read average exception row size and adjust billing calculations.
2025-10-27 16:26:46 +00:00
Nawaz Dhandala
b1bc02cec4
feat(env): add average telemetry row size env vars with validation
- introduce parsePositiveNumberFromEnv helper in EnvironmentConfig.ts
- add AverageSpan/Log/MetricRowSizeInBytes exports with positive-number parsing and defaults
- document AVERAGE_* vars in config.example.env and expose them in docker-compose.base.yml
2025-10-23 19:49:24 +01:00
Nawaz Dhandala
40f9613bd3
chore(docker): bump clickhouse server image to 25.7 in docker-compose.base.yml 2025-10-21 20:49:33 +01:00
Simon Larsen
69c0da5b17
refactor: remove WhatsApp high-risk cost variable and update related configurations 2025-10-07 14:37:23 +01:00
Simon Larsen
82397fec5a
refactor: Update Teams app manifest versioning logic and add client ID to docker-compose 2025-09-17 16:04:32 +01:00
Simon Larsen
6301e24c02
refactor: Add Microsoft Teams app client ID and secret to configuration files 2025-09-17 15:37:03 +01:00
Simon Larsen
23b3a4d9dd
refactor: Add Microsoft Teams app configuration to environment and docker-compose files 2025-09-17 15:34:50 +01:00
Simon Larsen
cd11a450cd
feat: Introduce configurable concurrency settings for ingest workers in environment variables 2025-08-08 21:52:49 +01:00
Simon Larsen
c0259fc041
feat: Add concurrency setting for OpenTelemetry Ingest worker and update related configurations 2025-08-08 21:21:53 +01:00
Simon Larsen
64c0c8b4cb
haraka delete 2025-07-25 09:07:09 +01:00
Simon Larsen
5ff1d15b36
feat: Add VAPID configuration for web push notifications 2025-07-16 20:19:37 +01: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
1507583cf3
feat: add workflow timeout configuration and update related files 2025-02-20 14:00:28 +00:00
Jules Lefebvre
891861f396
feat(docker-compose): add nginx listen enviroment variables
Add the posibility to define `NGINX_LISTEN_ADDRESS` and `NGINX_LISTEN_OPTIONS` to allow to listen on all single and dual stack
2025-02-10 13:57:36 +01:00
Simon Larsen
b02fed6e5b
feat: add Slack App configuration to environment and UI settings 2025-02-04 14:33:48 +00:00
Simon Larsen
d1dd57deec
feat: add Slack webhook notifications for user creation, project management, and subscription updates 2025-02-03 17:50:34 +00:00
Simon Larsen
b959e84032
feat: add health check extension to OTel collector configuration 2025-01-29 15:38:57 +00:00
Simon Larsen
0d37587199
feat: enhance OpenTelemetry Collector configuration with sending queue parameters 2025-01-21 15:20:50 +00:00
Simon Larsen
4674578c90
feat: update OTel Collector Dockerfile and configuration for gomplate integration 2025-01-21 15:10:44 +00:00
Simon Larsen
f1afab0b52
feat: add configurable port for probe services and update initialization 2025-01-01 18:04:19 +00:00
Jules Lefebvre
96f5173fb9
feat(docker): allow to chose redis ip family
Add the `REDIS_IP_FAMILY` to the default docker environment variables
2024-12-24 13:08:04 +01:00
Simon Larsen
88cf2c3cb0
Add configuration options to disable automatic alert and incident creation 2024-12-16 09:57:24 +00:00
Simon Larsen
8734938a82
Enhance telemetry configuration in Fluent Bit and update OpenTelemetry request handling 2024-12-05 17:55:59 +00:00
Simon Larsen
e0f5d8f1f2
Add Fluent Bit configuration and update probe intervals in Helm chart 2024-12-04 19:23:59 +00:00
Simon Larsen
fac334d58a
Remove probe port configuration and update related references in Helm chart and Docker setup 2024-11-22 11:37:52 +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
8004c2e283
Add CI workflows for Docs service and Docker image deployment 2024-09-18 17:57:44 +01:00
Simon Larsen
68389cda85
Add API reference code examples and configuration files 2024-09-18 14:39:11 +01:00
Simon Larsen
8d95d02ac6
Add workflow upstream configuration to Nginx and update docker-compose variables 2024-09-18 11:58:29 +01:00