Commit Graph

261 Commits

Author SHA1 Message Date
Nawaz Dhandala
73c126699d refactor: update Nginx configuration for MCP endpoint handling 2025-12-18 11:19:04 +00:00
Nawaz Dhandala
83107857bd feat: Add MCP service configuration and related environment variables 2025-12-16 11:04:56 +00:00
Nawaz Dhandala
c617372e37 feat: Add repository field to package.json files across the project 2025-12-11 21:31:52 +00:00
simlarsen
f52e73afb2 chore: npm audit fix 2025-11-25 01:48:46 +00:00
Nawaz Dhandala
e19a14e906 fix: update proxy_pass path for assetlinks.json in Nginx configuration 2025-11-24 20:19:49 +00:00
Nawaz Dhandala
a03a2bf9b0 fix: update proxy_pass path for assetlinks.json in Nginx configuration 2025-11-24 19:06:01 +00:00
Nawaz Dhandala
5f396d36a4 feat: implement assetlinks.json for Android app delegation and enhance Nginx configuration for asset handling 2025-11-24 18:59:42 +00:00
simlarsen
ac239ffe4d chore: npm audit fix 2025-11-20 01:45:52 +00:00
simlarsen
2f102acdc2 chore: npm audit fix 2025-11-13 01:48:58 +00:00
Simon Larsen
ebbddbd797 Merge pull request #2091 from OneUptime/snyk-fix-633d6e2055ebd39def346bdc57989683
[Snyk] Security upgrade nginx from 1.29.2-alpine to 1.29.3-alpine
2025-11-10 09:35:11 +00:00
snyk-bot
93e62befbb fix: Nginx/Dockerfile.tpl to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-ALPINE322-PCRE2-13637025
2025-11-08 10:56:45 +00:00
simlarsen
bccd2f484b chore: npm audit fix 2025-11-08 01:40:56 +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
ea9a245b82 chore(nginx): rename open-telemetry-ingest upstream to telemetry and update proxy_pass targets (/telemetry, fluentd and syslog endpoints) 2025-11-07 21:42:26 +00:00
Simon Larsen
b31d1076b8 chore(fluent-ingest): remove /fluent-ingest nginx proxy location from default.conf.template 2025-11-07 19:04:46 +00:00
Simon Larsen
788e82497c chore(fluent-ingest): remove fluent-ingest upstream and Fluentd collector nginx config; route fluentd/syslog endpoints to open-telemetry-ingest 2025-11-07 19:04:32 +00:00
simlarsen
9e5db22235 chore: npm audit fix 2025-11-07 01:46:40 +00:00
Nawaz Dhandala
e31417c5bf style(exec, nginx, docs): tidy formatting and indentation across Execute.ts, NginxConfigurator.ts, and Telemetry Documentation 2025-11-06 19:41:57 +00:00
Nawaz Dhandala
bf6e97c35d feat(exec): add executeCommandInheritStdio and use it for nginx config test
- Add spawn and SpawnOptions imports and implement Execute.executeCommandInheritStdio
  that runs commands with inherited stdio, logs errors, and rejects on non-zero exit.
- Update NginxConfigurator to run `nginx -t -c /etc/nginx/nginx.conf` via the new
  inherit-stdio helper before reloading nginx.
2025-11-06 19:41:01 +00:00
Nawaz Dhandala
28073ba819 nginx(config): ensure log directory and access/error log files exist before reload 2025-11-06 14:20:13 +00:00
Simon Larsen
9256f8b4bd feat(opentelemetry-ingest): add Syslog ingestion API and RFC3164/5424 parsing
- Add new Syslog API (POST /syslog/v1/logs) with product-type middleware and mount it in OpenTelemetryIngest Index
- Move syslog route out of OTelIngest and clean up related imports
- Add parseRfc5424Timestamp and parseRfc3164Timestamp to OneUptimeDate (handles normalization and year rollovers)
- Refactor SyslogParser to use OneUptimeDate parsing helpers and remove duplicated timestamp parsing code
- Update NGINX template to proxy /syslog/v1/logs to open-telemetry-ingest with proper headers/resolver and connection settings
2025-11-06 12:33:36 +00:00
Nawaz Dhandala
fbe198f0c0 fix(nginx): ensure /var/log/nginx and logs exist; set error_log to /var/log/nginx/error.log
Create /var/log/nginx and touch access.log/error.log in run.sh so nginx -t succeeds before reloads.
Revert nginx.conf error_log to /var/log/nginx/error.log (notice).
2025-11-06 11:34:19 +00:00
Nawaz Dhandala
bb48776e02 fix(nginx): use stderr for error_log to enable container-friendly logging 2025-11-05 21:38:59 +00:00
Nawaz Dhandala
0f92342742 fix(nginx): write error_log to /proc/self/fd/2 for container-friendly logging 2025-11-05 20:33:32 +00:00
Nawaz Dhandala
6ed41b87dd fix(nginx): send error_log to /dev/stderr for container-friendly logging 2025-11-05 19:52:06 +00:00
Nawaz Dhandala
2e2adffe17 fix(nginx): use findAllBy and remove LIMIT_MAX when fetching certs for disk write jobs 2025-11-05 13:11:58 +00:00
Nawaz Dhandala
059b7db474 fix(nginx): narrow ACME challenge location to /.well-known/acme-challenge 2025-11-05 11:30:17 +00:00
Nawaz Dhandala
d2ee3c5409 refactor(admin-dashboard, nginx): normalize multiline formatting in Serve.ts, NginxConfigurator.ts and WriteServerCertToDisk.ts 2025-11-04 20:39:53 +00:00
Nawaz Dhandala
4ac5819e6a fix(nginx): generate placeholder certs and guard HTTPS directives; test config after envsubst
Add ensure_placeholder_certificate to envsubst-on-templates.sh to generate a temporary self-signed cert when PRIMARY_DOMAIN is set but cert files are missing. Only export SSL listen/certificate directives if certs (real or placeholder) are available; otherwise disable HTTPS directives and emit warnings. Simplify PRIMARY_DOMAIN logging.

Also run "nginx -t" immediately after running the envsubst script in NginxConfigurator to validate generated config before attempting reload.
2025-11-04 19:55:22 +00:00
Nawaz Dhandala
158663c44b fix(nginx): only write/reload when certs change; derive primary domain and guard SSL directives
- WriteServerCertToDisk: read existing cert/key from disk and compare with DB values; skip writing when unchanged. After writing, run envsubst-on-templates.sh and reload nginx with try/catch and logging.
- envsubst-on-templates.sh: derive PRIMARY_DOMAIN from HOST when not set, compute cert/key paths, and only export PROVISION_SSL_* directives when certificate files exist (otherwise clear directives and log).
2025-11-04 19:44:55 +00:00
Nawaz Dhandala
3025880d6d chore(nginx): move conditional SSL listen/certificate directives into envsubst variables 2025-11-04 15:59:14 +00:00
Nawaz Dhandala
669ed2580c refactor(coressl,nginx): normalize formatting in WriteServerCertToDisk job
Wrap logger calls and LocalFile.write arguments for consistent multiline formatting.
2025-11-03 22:00:24 +00:00
Nawaz Dhandala
d8206e12de feat(nginx): add ServerCerts volume/mount and enable conditional primary-domain SSL provisioning
- add server-certs emptyDir volume and mount to nginx Deployment
- update default.conf.template to conditionally listen on 7850 and use /etc/nginx/certs/ServerCerts/${PRIMARY_DOMAIN}.crt/.key when PROVISION_SSL is set
- enhance run.sh to export PRIMARY_DOMAIN, temporarily adjust PROVISION_SSL for envsubst, and restore original PROVISION_SSL afterwards
2025-11-03 21:48:15 +00:00
Nawaz Dhandala
f84434ada4 feat(nginx,coressl): add job to write primary host TLS certificate to disk and initialize it 2025-11-03 21:27:22 +00:00
Nawaz Dhandala
2732cd65ed feat(acme): add ACME HTTP-01 challenge routing and nginx proxy
- Refactor AcmeChallengeAPI into a BaseAPI-backed class that exposes a well-known router.
- Add CrudApiEndpoint(Route("/acme-challenge")) to AcmeChallenge model.
- Register AcmeChallengeAPI router in BaseAPIFeatureSet via (new AcmeChallengeAPI).getRouter().
- Add nginx location /.well-known to proxy ACME challenge requests to /api/acme-challenge/.well-known with proper headers, resolver and websocket support.
2025-11-03 21:12:01 +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
b347e18749 chore: update package-locks — add deps, bump versions & sync subdeps
- Update lockfiles for root, TestServer, Worker and Workflow
- Add new/top-level packages and types:
  - @simplewebauthn/server, archiver, botbuilder
  - @types/archiver
- Bump notable package versions:
  - axios, nodemailer, playwright, react-syntax-highlighter
- Sync a large set of transitive dependency upgrades:
  - @babel/* (code-frame, parser, template, types, helpers, helper-*), brace-expansion, braces, fill-range, micromatch, picocolors, cross-spawn, to-regex-range and others
- Remove/clean outdated lock entries (e.g. to-fast-properties removed where unnecessary)
- Add/fix license fields for several packages in the lockfiles
- General lockfile normalization to ensure consistent subdependency versions across packages

This keeps dependency trees aligned across monorepo packages and pulls in recent bug/security fixes from transitive upgrades.
2025-10-29 16:43:36 +00:00
snyk-bot
565fbe6cd3 fix: Nginx/Dockerfile.tpl to reduce vulnerabilities 2025-10-11 08:37:10 +00:00
Nawaz Dhandala
987f30e5c7 feat: add PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD environment variable to Dockerfiles for improved build performance 2025-10-06 19:45:46 +01:00
Nawaz Dhandala
1c750d274e refactor: replace ts-ignore with ts-expect-error for improved type safety in Handlebars helpers and test mocks 2025-10-02 12:18:10 +01:00
Nawaz Dhandala
ad07ab75fe feat: Add elkjs dependency for enhanced functionality 2025-09-10 18:13:59 +01:00
Simon Larsen
2ac342e26a feat: Add billing_enabled variable to Nginx configuration 2025-09-08 20:29:28 +01:00
Simon Larsen
26cfbd07cb feat: Add server names hash tuning options to nginx configuration 2025-08-12 17:39:47 +01:00
Simon Larsen
1702558d73 chore: update package-lock.json files to add @types/web-push and web-push dependencies
- Added "@types/web-push": "^3.6.4" to multiple package-lock.json files.
- Added "web-push": "^3.6.7" to multiple package-lock.json files.
- Removed "lodash" and "@types/lodash" from multiple package-lock.json files.
2025-07-30 15:21:03 +01:00
Simon Larsen
285a5355a7 feat(PWA): Enhance PWA support with service worker, mobile redirection, and manifest updates
- Implemented service worker registration for PWA functionality on both home and dashboard.
- Added mobile detection to redirect mobile users to the dashboard for a better experience.
- Updated manifest.json with improved app details, shortcuts, and caching strategies.
- Enhanced offline experience with a custom offline page and improved caching strategies in the service worker.
- Added proper headers for manifest and service worker in Nginx configuration.
- Included iOS splash screens and Microsoft tiles for better platform integration.
- Improved meta tags for better PWA compliance and user experience.
2025-07-22 08:26:36 +01:00
Simon Larsen
31434d7eb3 chore: update package dependencies across multiple modules
- Added new dependencies including @asteasolutions/zod-to-openapi, @bull-board/express, and @clickhouse/client (updated to version 1.10.1) in IsolatedVM, Nginx, OpenTelemetryIngest, Probe, ProbeIngest, ServerMonitorIngest, TestServer, Worker, and Workflow.
- Updated existing dependencies such as axios, express, and nodemailer to their latest versions.
- Removed unnecessary dependencies and cleaned up package-lock files.
- Updated devDependencies to include @testing-library packages and jest-related packages for improved testing capabilities.
- Renamed package names for ServerMonitorIngest and Worker to reflect their purpose more accurately.
2025-06-26 20:42:01 +01:00
Simon Larsen
14e4949c1a feat: normalize domain and subdomain inputs by trimming and converting to lowercase in DomainService and StatusPageDomainService 2025-05-29 10:58:43 +01:00
Leon Adomaitis
b49d0e1d32 Fix undefined as domain name when saving custom SSL-Certs 2025-05-20 14:18:50 +02:00
Simon Larsen
3fac2d8110 fix: Update Nginx version to 1.28.0-alpine and disable server tokens for security 2025-05-13 15:10:46 +01:00