296 Commits

Author SHA1 Message Date
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
Simon Larsen
af908636ba fix: increase Node.js memory limit in start script for all packages 2025-04-14 11:27:06 +01:00
Simon Larsen
fe64380384 feat: add server monitor ingest service with Docker and configuration updates 2025-02-21 20:23:27 +00:00
Jules Lefebvre
fbc38230b8 feat(nginx): allow to specify listen options 2025-02-10 13:44:35 +01:00
Simon Larsen
2ff9b47f1c Refactor retryCount initialization across multiple modules for consistency 2024-11-25 13:53:43 +00:00
Simon Larsen
6b470e671f Implement retry mechanism for infrastructure status checks across multiple modules 2024-11-25 13:49:49 +00:00
Simon Larsen
f45c7f8d30 Add Nginx location for incoming-request-ingest with proxy settings 2024-11-22 18:24:47 +00:00
Simon Larsen
e3a2f95fc2 Add Nginx locations for fluent-ingest and open-telemetry-ingest with proxy settings 2024-11-22 18:18:11 +00:00
Simon Larsen
b9d6a69f00 Fix typo in upstream block name for incoming requests in Nginx configuration 2024-11-22 12:08:08 +00:00
Simon Larsen
4fc2029a61 Add backward compatibility for /ingestor route in Nginx and ProbeIngest; update Probe configuration for new URL structure 2024-11-21 17:53:35 +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
f5d2c61a70 refactor: Add logging for writing custom certificates to disk 2024-10-09 19:31:47 +01:00
Simon Larsen
d072a29cf8 refactor: Add WriteCustomCertsToDiskJob to Nginx/Index.ts and update UptimeUtil to round uptime percentage to specified precision
- The WriteCustomCertsToDiskJob has been added to the Nginx/Index.ts file to handle writing custom certificates to disk.
- The UptimeUtil has been updated to round the uptime percentage to the specified precision.
2024-10-09 19:24:17 +01:00