Commit Graph

673 Commits

Author SHA1 Message Date
Nawaz Dhandala
acb57b6b32 feat: enable tool-cache in disk space cleanup and add additional disk cleanup step 2026-01-19 19:40:37 +00:00
Simon Larsen
7030f27076 Potential fix for code scanning alert no. 1311: Workflow does not contain permissions
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-01-19 18:08:21 +00:00
Nawaz Dhandala
b714ad168c chore: add step to free disk space in Terraform E2E tests workflow 2026-01-19 13:49:39 +00:00
Nawaz Dhandala
3baa081850 feat: Implement end-to-end tests for Terraform provider
- Added a new directory structure for E2E tests under E2E/Terraform/e2e-tests.
- Created scripts for managing the test lifecycle: index.sh, wait-for-services.sh, setup-test-account.sh, run-tests.sh, and cleanup.sh.
- Developed README.md to document the E2E testing process and directory structure.
- Created individual test cases for various resources including labels, monitor statuses, incident severities, incident states, status pages, alert severities, and alert states.
- Configured GitHub Actions workflow for automated testing on pull requests and pushes to main branches.
- Added necessary variable files for each test case to define required inputs.
- Included cookies.txt for session management during API interactions.
2026-01-19 13:27:11 +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
ea19a70e14 feat(ci): Add CI workflows for AIAgent build, compile, and test processes 2025-12-25 17:44:21 +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
d3db3fd174 fix: remove outdated reliability copilot workflow file 2025-12-05 13:52:27 +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
Nawaz Dhandala
27c2ffdfbd chore: remove outdated APK build workflow and script 2025-11-24 21:22:17 +00:00
Simon Larsen
ae72437591 fix: update test-e2e workflows to include build number and version dependencies 2025-11-24 15:47:37 +00:00
Simon Larsen
86301213f0 fix: sanitize APP_TAG format by replacing '+' with '-' 2025-11-24 15:42:25 +00:00
Nawaz Dhandala
8df9a14b13 fix: standardize branch name formatting in GitHub Actions workflow 2025-11-22 16:27:47 +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
8ebe034f0c fix: specify branches for push event in test-release workflow 2025-11-21 19:44:31 +00:00
Simon Larsen
d91a8cae67 chore: remove dashboard Android APK release job from workflow 2025-11-21 19:15:50 +00:00
Simon Larsen
58a955baf7 chore: remove deprecated iOS dashboard build workflow 2025-11-21 18:14:02 +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
a9f53ec416 fix: restore signing key environment variables in APK build workflow 2025-11-21 17:41:10 +00:00
Simon Larsen
42713843f3 fix: update manifest URLs and host name in dashboard APK build workflow 2025-11-21 17:20:34 +00:00
Simon Larsen
db8e23c8dc feat: streamline APK build process by introducing a dedicated build script 2025-11-21 17:19:52 +00:00
Simon Larsen
e8f74d0147 chore: simplify workflow triggers and environment variables in dashboard build scripts 2025-11-21 17:05:55 +00:00
Simon Larsen
372ce67ce6 Refactor Docker image build process in GitHub Actions workflow
- Replaced inline Docker build commands with a dedicated script for building Docker images.
- Added NPM_AUTH_TOKEN environment variable for authentication.
- Updated image build commands for multiple services (mcp-server, llm, nginx, e2e, test-server, otel-collector, isolated-vm, home, status-page, test, probe-ingest, server-monitor-ingest, incoming-request-ingest, telemetry, probe, dashboard, admin-dashboard, app, api-reference, accounts, worker, copilot, workflow, docs) to use the new script.
2025-11-21 14:57:15 +00:00
Simon Larsen
62cae0d32c feat: add build number generation and version reading for test releases 2025-11-21 13:26:42 +00:00
Simon Larsen
d166fe49ec Implement feature X to enhance user experience and optimize performance 2025-11-21 13:22:46 +00:00
Simon Larsen
8c121869ee Add GitHub Actions workflow for building Dashboard iOS Wrapper 2025-11-20 21:11:35 +00:00
Simon Larsen
bfc761aac5 Add GitHub Actions workflow for building Dashboard Android APK 2025-11-20 21:08:18 +00:00
Simon Larsen
17f6507d0c Add build_docker_images.sh script for automated Docker image builds
- Implemented a bash script to build and push Docker images.
- Added support for multiple platforms using docker buildx.
- Included options for specifying image name, version, Dockerfile path, build context, and additional tags.
- Integrated Git SHA detection for build arguments.
- Provided usage instructions and error handling for missing required arguments.
2025-11-20 20:51:11 +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
b99905dfe8 fix(Telemetry): add npm install step for Common directory in workflow 2025-11-11 12:45:06 +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