Next release - #169
Open
github-actions[bot] wants to merge 192 commits into
Open
Next release#169github-actions[bot] wants to merge 192 commits into
github-actions[bot] wants to merge 192 commits into
Conversation
* Expose MQTT WebSocket endpoint at ${MQTT_WS_BIND_ADDRESS}:${MQTT_WS_PORT}
* Update default port to 8083 for improved performance and security
Route shared Laravel and optional Fees worker output to container streams, and remove the common Nginx and PHP-FPM programs now supplied by FrankenPHP images. BREAKING CHANGE: Stacks using config/supervisor/common must provide their own FrankenPHP web process and can no longer rely on shared Nginx, PHP-FPM, or /var/log/supervisor output files.
Remove legacy Supervisor mounts and log volumes, initialize persistent volume ownership, route Laravel logs to stderr, rotate Docker logs, and probe the Laravel /up endpoint. BREAKING CHANGE: Fuelrod now requires a FrankenPHP image that embeds its Supervisor programs, runs as www-data, exposes /up, and writes runtime logs to Docker streams instead of fuelrod-logs.
Route production and development Laravel logs to stderr, remove legacy FPM settings and log volumes, cap local Docker logs, and decouple health checks from Loki. BREAKING CHANGE: Fees images must provide their own FrankenPHP web process and no longer write Supervisor output to fees-log or fees-dev-log volumes.
Route Laravel and Supervisor output to Docker streams, remove FPM tuning and the shared log volume, lower the production log level, and cap local log files. BREAKING CHANGE: Akilimo images must provide their own FrankenPHP web process and no longer write Supervisor output to the akilimo-logs volume.
Discover application stdout through one Alloy Docker pipeline, use stable low-cardinality labels, limit Loki ingestion and query fan-out, cap Grafana queries, and reduce monitoring resource ceilings. BREAKING CHANGE: Alloy now requires read access to /var/run/docker.sock, no longer tails application log volumes, and exposes service_name/log_type labels instead of the previous file-source labels.
Expose the Fees agent MQTT toggle, broker connection, client identity, topic prefix, credentials, and TLS settings through Compose. BREAKING CHANGE: Fees Compose now requires AGENT_MQTT_USERNAME and AGENT_MQTT_PASSWORD to be set before configuration can be rendered.
Use broker-neutral MQTT variables, align the EMQX node host with the mqtt container, document agent credentials, and correct the Fees broker port to 1883. BREAKING CHANGE: MQTT stack deployments must rename EMQX_VERSION, EMQX_NODE_COOKIE, EMQX_DASHBOARD_*, EMQX_MEMORY_LIMIT, and EMQX_CPU_LIMIT variables to their MQTT_* equivalents.
Provision only Loki and Prometheus, make Loki the default, remove the Redis plugin and database environment requirements, and update deployment documentation. BREAKING CHANGE: Grafana no longer provisions PostgreSQL or Redis datasources and monitoring deployments no longer consume POSTGRES_* or REDIS_* variables.
…r fuelrod portal * Add Caddyfile for HTTP reverse proxy to the portal container * Add docker-compose.yml for fuelrod portal service
* Remove portal service from fuelrod docker-compose.yml [BREAKING CHANGE: Removing the portal service may affect the functionality of the fuelrod stack]
* changed port mapping from 9200 to 9201 for fuelrod service
… dashboard * Introduced a new panel displaying the exact date the served certificate expires for each hostname. * The panel includes sorting and formatting options for better readability. * Enhances monitoring capabilities for SSL certificate management.
…th dashboard * Introduced a new row panel for displaying details of the selected domain. * Adjusted grid positions of existing panels to accommodate the new section. * Enhanced drill-down capabilities for better user navigation.
* Temporarily disable the logo image for the upstream unavailable error page. * This change is made to improve the loading experience and reduce visual clutter.
…ealth dashboard - Updated description for clarity on status code color coding. - Changed color mode to `thresholds` for better visual representation. - Added thresholds for status code ranges: green (0-399), yellow (400-499), red (500+).
* Introduced new panels for tracking ingestion volume, bytes ingested, lines ingested, and discarded samples over the last 24 hours. * Enhanced visibility into ingestion performance with additional metrics for throughput and rejection tracking.
* Add new panel for 7-Day Blackbox History * Update existing panel to ignore dashboard time range
* Create new Service Latency dashboard * Add percentile spread panel for blackbox exporter probe time
* Updated the title and status display to use `{{.Vars.error_status}}` for better error handling.
* This change allows for more flexible error messaging based on the actual HTTP status code.
- Introduced new HTML error pages for `404 Not Found`, `503 Service Unavailable`, and `504 Gateway Timeout`. - Updated the error handling in Caddy to serve these custom pages. - Enhanced the user experience with visually appealing designs and clear messaging. - Adjusted the deployment scripts to copy all error pages to the appropriate directory.
* Changed error matchers from `status` to `expression` for better flexibility. * Updated the error handling configuration for 502, 503, 504, and 404 statuses.
…and Docker * Deleted `caddy.json` and `docker.json` dashboards as they are no longer in use. * This cleanup helps maintain a tidy codebase and reduces confusion for future development.
* Changed the unit from `date` to `dateTimeAsIso` for better clarity in the dashboard.
* Changed `php_fastcgi` from IP-based to Unix socket for improved performance. * Ensures consistency across different domain configurations.
* Changed the root path from `/mnt/data/extra_storage/services/akilimo` to `/mnt/data/extra_storage/services/akilimo-site`. * This adjustment ensures the correct directory is used for the akilimo.org domain.
* Introduced `purge-caddy-cache.sh` script for flushing Souin cache entries. * Added instructions in `caddy-testing.md` for cache purging after deployments or content changes. * Allows overriding the admin endpoint if necessary.
* Changed the default `admin_url` in `purge-caddy-cache.sh` from `127.0.0.1` to `172.17.0.1`. * This change ensures compatibility with the current network configuration.
* Changed root paths from `/mnt/data/extra_storage/services/...` to `/data/extra_storage/services/...` for consistency. * Updated cache settings across multiple services to reduce cache duration: - Set `max-age` to `7200` seconds. - Set `ttl` to `2h` and `stale` to `0s`.
* Changed the root path from `/data/extra_storage/services/akilimo-site` to `/data/extra_storage/services/akilimo`. * This adjustment aligns the configuration with the current directory structure.
* Added `http://:2019` to the origins list for improved flexibility. * Ensures compatibility with dynamic host configurations.
* Changed PHP-FPM configuration for `akilimo.org`, `portal.akilimo.org`, and `new.akilimo.org` to use Unix socket instead of IP address. * This improves performance and security by avoiding network overhead.
* Changed admin address from `172.17.0.1:2019` to `:2019` for better compatibility. * This allows the Caddy server to listen on all interfaces for admin requests.
* Changed the query format from JSON string to a simpler string format. * This improves readability and maintainability of the dashboard configuration.
* Removed hardcoded options for status. * Updated version to 2 for dashboard compatibility.
* Refactored queries for "Domains Up", "Domains Down", and "Domains Monitored" to use `domain_health:status` metrics. * Improved overall availability calculations and site status history queries. * Updated status filter options to include "All" in the dashboard. * Incremented version number to 4.
* Introduced records for `domain_health:status` to monitor domain availability. * Added expressions to check for `up` and `down` statuses based on probe success.
* Changed unit from `dateTimeAsIso` to `none`. * Added overrides for the `Expires` matcher to set the unit back to `dateTimeAsIso`. * Updated version to 6.
* Removed unused Grafana and Loki configuration from `.env.example`. * Updated README to clarify the architecture of the monitoring stack. * Improved descriptions for Grafana and Prometheus services in the README.
* Created `docker-compose.yml` for Prometheus service setup. * Added `README.md` with setup instructions and service details. * Configured networking, volumes, and health checks for the Prometheus stack.
- Introduced `.env.example` for environment variable configuration. - Created `docker-compose.yml` for Grafana service setup. - Included health checks and logging configurations.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
✨ feat(grafana): add initial Grafana configuration and setup
.env.examplefor environment variable configuration.docker-compose.ymlfor Grafana service setup.