Commit Graph

225 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
560f45f3cc feat(MCP): Introduce MCP types, logger, and integration into the application
- Added McpTypes.ts for defining JSON schema and tool information.
- Created ModelType.ts and OneUptimeOperation.ts enums for model types and operations.
- Implemented MCPLogger for structured logging in MCP servers.
- Integrated MCP routes into the main application index.
- Updated package.json to include @modelcontextprotocol/sdk dependency.
- Removed MCP-related configurations from Helm chart and Docker Compose files.
- Added Data Processing Agreement (DPA) page and route to the legal section.
- Updated legal.ejs to include a link to the new DPA page.
2026-03-03 11:34:46 +00:00
Nawaz Dhandala
dc59d59811 feat: Add telemetry API for probe and server monitor ingestion
- Implemented Probe registration endpoint to handle global probes.
- Created Server Monitor ingestion API with endpoints for secret key verification and response ingestion.
- Developed job processing functions for incoming request and probe ingestion.
- Added middleware for probe authorization and request type definitions.
- Enhanced monitor utility functions to populate secrets in monitor steps.
- Introduced queue stats and failed jobs endpoints for server monitor.
2026-03-02 21:02:24 +00:00
Nawaz Dhandala
4923938753 feat: add iOS app publishing workflow to App Store 2026-02-24 10:53:22 +00:00
Nawaz Dhandala
3e48478b4f Add sidenav partial for API reference documentation 2026-02-22 13:40:51 +00:00
Nawaz Dhandala
049dd870d0 feat: add step to upload AAB as build artifact in Android deployment workflow 2026-02-19 19:45:57 +00:00
Nawaz Dhandala
02000e1a28 feat: add workflow for publishing Android app to Google Play Store 2026-02-19 19:43:31 +00:00
Nawaz Dhandala
3a0d85174f feat: add native project generation for Android and iOS in MobileApp workflow 2026-02-19 17:44:24 +00:00
Nawaz Dhandala
d9d9e70fd6 fix: remove NODE_AUTH_TOKEN environment variable from NPM publish step 2026-02-18 16:04:11 +00:00
Nawaz Dhandala
8b3912d369 feat: update NPM publish workflow to use NODE_AUTH_TOKEN and adjust CLI entry point 2026-02-18 16:03:32 +00:00
Nawaz Dhandala
5800fe4f7a feat: Implement aggressive disk cleanup in release workflow to optimize build space 2026-02-12 18:55:47 +00:00
Nawaz Dhandala
c2c97dae0a feat: add mobile app Android and iOS deployment jobs to release workflow 2026-02-10 23:09:02 +00:00
Nawaz Dhandala
6950daf10a feat: add workflows for mobile app Android and iOS deployment 2026-02-10 23:06:32 +00:00
Nawaz Dhandala
44aa046fec chore: update Go version to 'stable' in workflow files 2026-01-21 17:27:08 +00:00
Nawaz Dhandala
e295525698 feat: Add disk space cleanup step to release workflows 2026-01-06 11:15:07 +00:00
Nawaz Dhandala
75304a4c67 feat(ci): Add ai-agent Docker image deployment to release and test workflows 2025-12-25 17:50:48 +00:00
Nawaz Dhandala
e2cde12c2f refactor: add QEMU_CPU environment variable to Docker image deployment jobs 2025-12-17 12:05:52 +00:00
Nawaz Dhandala
ab600ee29c refactor: consolidate MCP Docker image deployment steps in release workflows 2025-12-17 11:07:10 +00:00
Nawaz Dhandala
cdd4ea1644 refactor: rename MCP server references to use a consistent naming convention 2025-12-17 10:45:31 +00:00
Nawaz Dhandala
8d6f301075 Refactor code structure for improved readability and maintainability 2025-12-13 12:06:47 +00:00
Nawaz Dhandala
d7d382bcf6 feat: update npm authentication process for OIDC trusted publishing 2025-12-10 15:42: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
Simon Larsen
a4a2d118e4 feat: add publish workflow for Copilot agent and update package name 2025-12-08 19:15:01 +00:00
Nawaz Dhandala
500101350f refactor: update version check logic to prevent re-releasing existing versions 2025-12-04 15:01:36 +00:00
Nawaz Dhandala
270199806c refactor: remove LLM-related Docker workflows and associated files 2025-12-04 13:47:12 +00:00
Nawaz Dhandala
ae406d8ee1 fix: update QEMU setup to use tonistiigi/binfmt:qemu-v10.0.4 in release workflows 2025-12-03 18:42:01 +00:00
Simon Larsen
72bb25e036 chore: migrate VERSION_PREFIX to VERSION and update related workflows 2025-11-28 15:40:24 +00:00
Nawaz Dhandala
0fd3121b29 chore: automate version prefix bump and PR creation in release workflow 2025-11-27 11:29:30 +00:00
Nawaz Dhandala
b9597250ac refactor: simplify APP_TAG assignment in release and test workflows 2025-11-26 10:58:19 +00:00
Nawaz Dhandala
203e9b8c39 chore: upgrade Docker setup actions to v3 in release and test workflows 2025-11-25 21:41:37 +00:00
Nawaz Dhandala
9d36920477 Refactor versioning in release and test workflows to remove build number suffix
- Updated versioning in release.yml to use only major_minor version for Helm chart packaging, Docker images, and GitHub releases.
- Adjusted versioning in test-release.yaml to reflect similar changes, removing build number suffix for test releases.
2025-11-25 13:08:34 +00:00
Simon Larsen
86301213f0 fix: sanitize APP_TAG format by replacing '+' with '-' 2025-11-24 15:42:25 +00:00
Nawaz Dhandala
7d32627917 Update GitHub Actions workflow for versioning and Docker image builds
- Enhanced the `test-release.yaml` workflow to read and determine semantic versioning from `VERSION_PREFIX`, including major, minor, and patch components.
- Adjusted versioning format in the workflow to use a new scheme: `major.minor.patch-test+build.build_number`.
- Updated Docker image build script to sanitize version strings by replacing '+' with '-' for tagging.
- Incremented the version in `VERSION_PREFIX` from `9.0` to `9.1.0`.
2025-11-22 14:11:02 +00:00
Simon Larsen
d91a8cae67 chore: remove dashboard Android APK release job from workflow 2025-11-21 19:15:50 +00:00
Simon Larsen
b5243cec1a fix: correct script path casing in APK build workflows 2025-11-21 18:05:10 +00:00
Simon Larsen
31106c66d5 feat: add workflow to build and upload Dashboard Android APK on release 2025-11-21 17:47:39 +00:00
Simon Larsen
4fa4dd7b6c Refactor Docker image build process to use a dedicated script for improved maintainability 2025-11-20 20:23:41 +00:00
Simon Larsen
69be00067a Add 'set -euo pipefail' to Docker build commands for improved error handling 2025-11-20 19:43:44 +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
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
4909a5c980 ci(workflows): disable Docker build cache in GitHub Actions
Add --no-cache to docker build and docker buildx commands across build.yml, release.yml and test-release.yaml to force fresh image builds and avoid using cached layers.
2025-11-06 13:54:58 +00:00
Nawaz Dhandala
c4adc24562 ci(release): handle npm publish --dry-run errors and skip if version already published 2025-11-06 13:33:14 +00:00
Nawaz Dhandala
12364415aa ci(release): skip npm publish if version already published; fail on other errors 2025-11-05 19:37:45 +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
1c1a48b78f chore(ci): build/publish enterprise image variants and add IS_ENTERPRISE arg to Dockerfiles 2025-10-31 14:49:07 +00:00
Nawaz Dhandala
ffa603503d fix: update image tag to use GitHub Container Registry for release builds 2025-10-21 11:19:04 +01:00
Simon Larsen
0d647f5dc1 fix: improve release retrieval by using pagination and handle missing release tags 2025-10-09 13:43:43 +01:00
Nawaz Dhandala
feb872d05c feat: add E2E testing support with docker-compose configuration 2025-10-09 11:39:30 +01:00
Nawaz Dhandala
64b6b99a21 refactor: replace retry action with shell commands for preinstall and E2E tests 2025-10-08 20:10:19 +01:00
Simon Larsen
57b851a498 refactor: rename github-release job to draft-github-release and add finalize-github-release job for publishing 2025-10-07 21:15:45 +01:00