windyboy
8914156a58
✨ Update Go module dependencies and enhance NATS consumer metrics. Add github.com/kylelemons/godebug as an indirect dependency. Upgrade github.com/prometheus/common to version 0.67.3. Change NATS consumer mode to "jetstream" in the development configuration. Improve observability by ensuring metrics for pending messages are initialized and recorded correctly in JetStream mode. Update documentation to reflect changes in metrics handling and consumer behavior.
2025-11-19 16:49:53 +08:00
windyboy
f01dd3bf1f
✨ Refactor telemetry and metrics handling to enhance observability. Remove TLS configuration from telemetry initialization, replacing it with an insecure option for HTTP. Update OpenTelemetry endpoint handling to normalize URLs. Introduce new metrics for publish failures categorized by message type. Enhance Grafana dashboards with detailed descriptions and additional metrics for better monitoring insights. Update documentation to reflect changes in metrics and observability features.
2025-11-19 14:53:58 +08:00
windyboy
c687fdcde8
✨ Update agent guidelines and improve documentation structure. Refactor AGENTS.md to streamline commands and code style guidelines, enhancing clarity and usability. Update README.md with refined NATS consumer configuration details and observability metrics. Modify .gitignore to exclude dynamically generated Prometheus target files. Enhance configuration files for development and production environments, ensuring consistency and clarity in settings.
2025-11-19 13:07:09 +08:00
windyboy
06fc9cb9e0
🔧 Update Go version in go.mod and enhance build process with versioning information. Modify Makefile and Taskfile to inject build metadata (version, commit, build time) into the binary. Improve README with instructions for custom version builds and document new build info features. Add benchmarks for message parsing and processing to improve performance testing capabilities.
2025-11-18 14:15:58 +08:00
windyboy
7f44b5389d
✨ Enhance observability and error handling in NATS integration. Introduce comprehensive OpenTelemetry support with environment-based sampling and semantic attributes for tracing and metrics. Implement an advisory dead-letter queue (DLQ) handler for managing message delivery failures. Update NATS consumer to utilize structured logging and improve error handling strategies. Refactor configuration files for OpenTelemetry collector in both development and production environments, ensuring robust telemetry integration. Enhance documentation to reflect new features and best practices for observability.
2025-11-18 11:47:35 +08:00
windyboy
5d05237283
✨ Refactor NATS consumer management by introducing a dedicated ConsumerManager and StreamManager for lifecycle management. Enhance error handling with a new ErrorHandler to streamline message processing and recovery logic. Update consumer initialization to utilize the new managers, improving code organization and maintainability. Add comprehensive tests for the new components to ensure reliability and robustness in handling NATS operations.
2025-11-18 08:38:03 +08:00
windyboy
61647cf849
✨ Update Prometheus configuration and enhance monitoring capabilities. Refactor docker-compose.dev.yml to dynamically generate target configurations for the CAATSM receiver. Modify Makefile and Taskfile to allow setting the monitoring address via environment variables. Update observability settings in config.dev.toml and Prometheus scrape configurations to improve integration with the monitoring stack. Enhance CLI options for monitoring address and disable monitoring features as needed.
2025-11-17 17:53:24 +08:00
windyboy
704c7b80f6
✨ Add repository guidelines and enhance documentation for project structure, build commands, coding standards, and testing practices. Introduce AGENTS.md for contributor guidance, update README.md to reference new guidelines, and improve configuration documentation for NATS modes. Update Makefile and Taskfile with clearer run commands and requirements for development and production modes. Add production deployment guide and improve logging configuration for better observability.
2025-11-17 16:25:23 +08:00
windyboy
67abd66fa3
✨ Enhance logging configuration by introducing file output options and rotation settings in config.dev.toml. Update logger implementation to support multiple output streams, including file logging with rotation using lumberjack. Improve error handling and logging across various components, ensuring consistent logging practices. Update .gitignore to include log files and compressed logs. Add new Go module dependency for lumberjack.
2025-11-17 12:58:40 +08:00
windyboy
204217015d
✨ Add configuration for Code Review Automation and enhance .gitignore. Introduce .coderabbit.yml for automated reviews with profiles for correctness, maintainability, security, and performance. Update paths to include relevant directories and exclude generated files. Modify .gitignore to include coverage reports and generated files. Refactor Docker Compose to use updated paths for database initialization scripts. Update Go module dependencies and enhance Makefile with new code generation tasks. Transition domain models to a new DTO structure for better separation of concerns.
2025-11-17 11:47:23 +08:00
windyboy
12fda00df9
✨ Introduce seed-telegrams tool for generating synthetic telegrams for testing and development. Enhance README with detailed usage instructions, command-line parameters, and examples. Add unit tests for telegram generation and status selection logic to ensure robustness. Update documentation to reflect new features and usage scenarios.
2025-11-16 17:24:16 +08:00
windyboy
06b2495d77
✨ Refactor logging implementation by removing the custom logging utility and transitioning to direct usage of the Zap logger. Update logger configuration in the development environment and clean up related files, including the removal of unused logger configuration JSON. Ensure consistent logging practices across the application.
2025-11-16 13:41:51 +08:00
windyboy
e27328378a
✨ Revise observability features by introducing new health and liveness endpoints (/livez and /readyz), updating Prometheus metrics to track NATS consumer pending messages, and enhancing telemetry integration for better monitoring. Update documentation to reflect these changes and ensure consistency in metric naming conventions.
2025-11-16 13:14:46 +08:00
windyboy
3d8572a69f
✨ Implement dead-letter queue (DLQ) enhancements by adding configuration options and validation logic. Update observability metrics to track DLQ message counts and publish failures. Enhance documentation to reflect new metrics and DLQ behavior in JetStream mode.
2025-11-16 11:55:13 +08:00
windyboy
6616c7e10d
✨ Add new dev-run-compose task to Taskfile for running the CAATSM receiver in a Docker Compose development stack. Update monitoring configuration in config.dev.toml to use console format. Modify Prometheus scrape configuration to target a specific IP address. Enhance NATS consumer error handling with retry logic for JetStream availability and adjust logging level for consumer metrics.
2025-11-16 11:38:49 +08:00
windyboy
7e7b8ca412
✨ Update observability configuration by enabling monitoring in the development environment, adding a new Prometheus scrape job for the CAATSM receiver, and enhancing documentation with recommended scrape configurations and validation steps for metrics. Refactor NATS consumer initialization to ensure idempotent consumer creation.
2025-11-16 10:34:53 +08:00
windyboy
e440c057b5
✨ Enhance Ginkgo unit test execution by specifying directories for tests in Makefile and Taskfile. Update README to reflect changes in test command usage and clarify the structure of unit tests.
2025-11-16 10:18:40 +08:00
windyboy
69fc8cf337
✨ Update test commands to run Ginkgo unit tests in verbose mode. Modify README and Taskfile to reflect changes in test execution and improve clarity on running unit tests.
2025-11-16 10:08:26 +08:00
windyboy
487a0acb48
✨ Refactor testing framework to utilize Ginkgo for unit tests and introduce a new test-all target for running both unit and integration tests. Update README and Taskfile to reflect changes in test execution commands and clarify dependencies. Migrate domain models to a new model package for better separation of concerns.
2025-11-16 09:58:49 +08:00
windyboy
a96cb8a40b
✨ Implement dead-letter queue (DLQ) functionality for handling permanent failures in message processing. Update configuration to enable DLQ and specify the subject for routing failed messages. Enhance observability by adding metrics for message handling, retries, and database operations. Introduce structured logging for better traceability of message processing events.
2025-11-16 09:15:37 +08:00
windyboy
c98baa0ff4
Refactor NATS consumer defaults ( #7 )
2025-11-16 08:24:29 +08:00
windyboy
dccff366d2
✨ Update logger configuration for development environment, enhancing logging structure with zap and lumberjack settings. Refactor logging utility to improve configuration file handling and add error management. Modify integration tests to utilize the new logger setup and adjust test payloads for consistency.
2025-11-15 17:42:10 +08:00
windyboy
53208997e8
✨ Integrate monitoring server for observability, adding health and metrics endpoints. Update configuration to enable monitoring features and enhance README with deployment examples for Kubernetes and systemd. Refactor application initialization to include monitoring server setup and improve error handling in message processing metrics.
2025-11-15 16:30:29 +08:00
windyboy
c3f98e9c7c
✨ Add NATS exporter to Docker Compose for enhanced observability, update Prometheus and Grafana configurations to integrate new metrics, and enhance documentation to reflect changes in the development stack.
2025-11-15 15:27:53 +08:00
windyboy
629c1e9138
✨ Enhance Grafana configuration by adding new dashboards for OpenTelemetry Collector and NATS/JetStream, and update data source configurations to include unique identifiers for Prometheus and Jaeger. Update development documentation to reflect the automatic loading of dashboards.
2025-11-15 15:02:00 +08:00
windyboy
1378d6e31b
✨ Update Docker Compose configuration to enhance observability with health checks for Jaeger and OpenTelemetry Collector. Modify telemetry settings in the development configuration to enable metrics collection. Adjust endpoint settings for Jaeger in the OpenTelemetry Collector configuration.
2025-11-15 14:42:33 +08:00
windyboy
cdb0cea8f7
✨ Enhance Docker Compose setup by adding initialization services for PostgreSQL and NATS, improving JetStream configuration, and updating the Taskfile to use Docker Compose instead of Podman. Modify database schema to enforce unique constraints on (uuid, received_at) for telegrams and telegrams_raw tables.
2025-11-15 14:24:11 +08:00
windyboy
184c5453fb
✨ Expand Docker Compose development stack to include observability tools: OpenTelemetry Collector, Jaeger, Prometheus, and Grafana. Update README with new usage instructions for the observability stack and enhance Taskfile for streamlined development commands. Introduce sample telegram generation utility and improve NATS configuration for core and JetStream modes.
2025-11-15 12:08:26 +08:00
windyboy
4f16bd6d90
✨ Introduce Docker Compose development stack with TimescaleDB and NATS services. Update README with usage instructions for local development. Upgrade Go version to 1.25.0 and update dependencies. Refactor configuration for NATS consumer rules and enhance Telegram database schema with TimescaleDB support.
2025-11-15 09:46:29 +08:00
windyboy
359e7694ab
✨ Update dependencies, enhance NATS consumer configuration, and improve error handling in message processing. Introduce telemetry support with OpenTelemetry for tracing and metrics. Refactor README to include new configuration options and update tests for improved coverage of error scenarios.
2025-11-15 09:01:24 +08:00
windyboy
31839cf21f
✨ Upgrade Go version to 1.24.0 and update various dependencies, including NATS, Viper, and Go modules. Refactor error handling in configuration loading and validation processes for improved clarity and consistency.
2025-11-14 23:42:39 +08:00
windyboy
88d5922f90
✨ Update README with configuration details, add default test configuration, and implement TelegramMapper tests. Enhance message processing to set timestamps and improve error handling in the processor. Refactor NATS consumer configuration and ensure proper handling of message attributes.
2025-11-14 23:18:10 +08:00
windyboy
02e54a2670
✨ Refactor application initialization to load configuration and enhance message processing. Introduce effective subscription topic handling and improve error management in NATS consumer. Update tests for publisher error handling and add new dependency injection method for app initialization.
2025-11-14 22:43:04 +08:00
windyboy
9cce4610b6
✨ Enhance NATS configuration and error handling. Introduce stream limits and consumer rules in configuration files. Refactor message processing to handle permanent errors. Update README and development configuration to reflect changes. Add tests for new error handling mechanisms.
2025-11-14 21:42:04 +08:00
windyboy
a574cfcf27
✨ Upgrade Go version to 1.23.0 and update dependencies. Introduce new application structure with Clean Architecture principles, including message processing, NATS integration, and PostgreSQL repository. Add configuration management using Koanf and structured logging with Zap. Remove legacy GraphQL integration and related files. Implement dependency injection with Google Wire.
2025-11-14 08:42:26 +08:00
windyboy
bafbbf470c
✨ Refactor uuid to id in message handling & processing. ( #6 )
2024-08-14 14:29:24 +08:00
windyboy
8538153cfe
Merge pull request #5 from windyboy/introduce-interfaces
...
introduce-interfaces
2024-08-14 11:49:43 +08:00
windyboy
da1d713946
🚀 Integrate Hasura service into NATS message processing.
2024-08-14 11:48:39 +08:00
windyboy
a5fa4955f4
✨ Add configuration to interfaces.
2024-08-14 11:48:18 +08:00
windyboy
6b44c2d7a0
refactor subscribe ( #4 )
...
* ✨ Refactor nats subscribe method and remove unused argument.
* ✨ Add logging for message insertion 📝
2024-08-14 09:40:47 +08:00
windyboy
5470118461
✨ Update github.com/urfave/cli/v2 to v2.27.4. ( #3 )
2024-08-12 17:48:05 +08:00
windyboy
8a4c46aa34
update handler ( #2 )
...
* 🔧 Remove commented-out regex patterns and initialization in config.
* ✨ Add NATS message publisher with configuration 📩 🚀
* ✨ Add new PlainTextMarshaler and refactor handler in nats package.
2024-08-12 17:47:34 +08:00
windyboy
fd58395db3
🔧 Remove commented-out regex patterns and initialization in config. ( #1 )
2024-08-12 14:23:31 +08:00
windyboy
4ff44804f2
refactor: Remove coverage files from gitignore
2024-08-12 10:12:49 +08:00
windyboy
e468e1f89c
refactor: Add ToString method to ParsedMessage struct
2024-08-09 11:13:25 +08:00
windyboy
85ce23cb16
refactor: Update 'Content' field in HasuraRepository.CreateNew method
2024-08-09 11:07:07 +08:00
windyboy
091a054eab
refactor: Rename 'text' field to 'content' in telegrams table
2024-08-09 10:29:17 +08:00
windyboy
9768bad108
chore: Add task for generating test coverage report
2024-08-07 20:37:34 +08:00
windyboy
68387e4a90
refactor: Add task for generating test coverage report
2024-08-07 20:05:43 +08:00
windyboy
622bd8e11b
refactor: Remove commented-out code in schedule_parser.go
2024-08-07 20:01:14 +08:00
windyboy
8a1de2db43
refactor: Add coverage.html to .gitignore
2024-08-07 20:01:06 +08:00
windyboy
3a1f533d63
hasura
2024-08-07 17:16:07 +08:00
windyboy
15ce2c033a
refactor: Update aviation_parser.go to remove unused code and update constants
2024-08-07 17:05:42 +08:00
windyboy
e1cc851cc3
refactor: Rename 'body_and_footer' column to 'text' in telegrams table
2024-08-07 14:10:15 +08:00
windyboy
dd10023199
refactor: Add installation of gq tool to Taskfile
2024-08-07 14:10:03 +08:00
windyboy
f340c66b19
refactor: Update aviation_parser.go to remove unused code and update constants
2024-08-07 11:10:18 +08:00
windyboy
55a286f521
refactor: Improve error handling in NATS message handling
2024-08-07 11:10:08 +08:00
windyboy
e4fa138089
refactor: Update constants and remove unused code in aviation_parser.go and constants.go
2024-08-07 10:47:15 +08:00
windyboy
5515f353b4
refactor: Refactor aviation_parser.go to improve code readability and maintainability
2024-08-06 22:46:01 +08:00
windyboy
bbaea62788
refactor: Update parseWaypoints function to return error in schedule_parser_test.go
2024-08-06 22:28:46 +08:00
windyboy
afafd51bad
refactor: Remove unused code and update regular expressions in schedule_def.go
2024-08-06 13:12:19 +08:00
windyboy
1e37e21331
chore: Update go.mod dependencies to latest versions
2024-08-06 12:44:43 +08:00
windyboy
a57e924501
refactor: Update aviation_parser.go and pattern.go to use BodyConfig struct instead of config.BodyConfig
2024-08-06 12:44:32 +08:00
windyboy
bef663ca3d
refactor: Update Civial Aviation Authority Telegram message processor usage in main.go and add NATS server connection logging
2024-08-05 15:58:46 +08:00
windyboy
3c37410737
refactor: Update Nats handler and Hasura repository initialization
2024-08-05 11:42:33 +08:00
windyboy
1a858cf19c
refactor: Remove redundant code and improve configuration handling in main.go
2024-08-05 11:23:22 +08:00
windyboy
3c917c93af
refactor: Update main.go to process Civial Aviation Authority Telegram messages and add CLI flag for Nats server address and topic
2024-08-05 10:58:20 +08:00
windyboy
c54bcbc0a8
refactor: Update Taskfile.yml to use lowercase variable names for consistency
2024-08-05 10:11:33 +08:00
windyboy
65500a8d45
refactor: Add task to install ginkgo for testing
2024-08-02 19:45:49 +08:00
windyboy
6a689b073f
deps
2024-08-02 16:43:26 +08:00
windyboy
70e33742fa
mod tidy
2024-08-02 16:39:34 +08:00
windyboy
b9e9c2b8a7
refactor: Remove commented code for extracting flight numbers
2024-08-02 16:04:11 +08:00
windyboy
2690f571ad
refactor: Add support for parsing HO, NS, and EU Airlines flight schedule data
2024-08-02 14:58:44 +08:00
windyboy
aff70c7373
refactor: Update flight schedule parser to handle multiple flight numbers
2024-08-02 14:37:12 +08:00
windyboy
8798727a0d
refactor: Update FlightNumberPattern regex to handle multiple flight numbers
2024-08-02 14:21:12 +08:00
windyboy
144f3a9d9a
refactor: Add support for parsing 翔鹏航空 (8L) flight schedule data
2024-08-02 12:39:57 +08:00
windyboy
a37596b40b
refactor: Add support for parsing ZH Airlines flight schedule data
2024-08-02 12:37:12 +08:00
windyboy
7b1a072f32
refactor: Add support for parsing 9C Airlines flight schedule data
2024-08-02 11:47:07 +08:00
windyboy
81cf4584ac
remove schedule parser definition to another file
2024-08-02 11:40:46 +08:00
windyboy
158a03d4c3
refactor: Improve parsing of CK Airlines (CK) flight schedule data
2024-08-02 11:36:21 +08:00
windyboy
2962dee69d
3U schedule
2024-08-02 11:24:09 +08:00
windyboy
a734f5f25c
refactor: Improve parsing of flight schedule data
2024-08-02 11:15:23 +08:00
windyboy
7222be4b59
refactor: Add test for parsing date in schedule_parser_test.go
2024-07-31 21:46:47 +08:00
windyboy
20872710ce
refactor: Improve parsing of flight schedule data
2024-07-31 17:48:36 +08:00
windyboy
54dcefb08a
refactor: Improve parsing of flight schedule data
...
The code changes in `schedule_parser_test.go` enhance the parsing logic for flight schedule data. This improves the accuracy and functionality of the code when extracting information such as index, task, date, flight number, aircraft registration, waypoints, and departure/arrival times from the input line. The changes ensure more reliable and consistent parsing of flight schedule data.
2024-07-31 17:46:18 +08:00
windyboy
6c01443da8
refactor: Add support for parsing GS Airlines flight schedule data
2024-07-31 17:40:56 +08:00
windyboy
4bd2adda51
refactor: Add support for parsing JD Airlines flight schedule data
2024-07-31 17:27:14 +08:00
windyboy
2729e33f59
refactor: Add support for parsing JD Airlines flight schedule data
2024-07-31 17:09:41 +08:00
windyboy
48d1ad60dc
refactor: Improve parsing of Hainan Airlines (HU) flight schedule data
2024-07-31 16:59:20 +08:00
windyboy
b37667873f
refactor: Improve parsing of flight schedule data
...
The code changes in `schedule_parser.go` enhance the parsing logic for flight schedule data. This improves the accuracy and functionality of the code when extracting information such as index, task, date, flight number, and aircraft registration from the input line. The changes ensure more reliable and consistent parsing of flight schedule data.
2024-07-31 16:49:36 +08:00
windyboy
2a1dc1eebe
refactor: Update parsing of flight schedule data for improved accuracy and functionality
2024-07-31 16:04:52 +08:00
windyboy
34ea30b594
refactor: Remove genqlient.yaml configuration file
...
The code changes delete the genqlient.yaml configuration file, as it is no longer needed. This simplifies the project structure and removes unnecessary files.
2024-07-31 12:34:45 +08:00
windyboy
0ea7ce22c9
refactor: Update parsing of flight schedule data for improved accuracy and functionality
2024-07-31 12:25:21 +08:00
windyboy
9982b1408d
refactor: Update parsing of flight schedule data for improved accuracy and functionality
2024-07-31 11:05:30 +08:00
windyboy
f74d61981a
refactor: Upgrade go dependencies and tidy go.mod file
2024-07-31 11:05:23 +08:00
windyboy
f827941a1b
refactor: Update parsing of flight schedule data for improved accuracy and functionality
2024-07-30 10:56:05 +08:00
windyboy
766925f7f9
refactor: Update nats subscription handling
...
The code changes in `sub.go` update the handling of NATS subscriptions. The `Subscribe` function now takes in a `config` parameter, allowing for more flexibility in configuring the subscription. Additionally, the `Subscribe` function now uses the `handler` and `marshaler` parameters to handle incoming messages and marshal/unmarshal data, respectively. These changes improve the modularity and extensibility of the code when working with NATS subscriptions.
2024-07-30 10:25:59 +08:00
windyboy
ebcca5c1ec
refactor: Improve parsing of flight schedule data
...
The code changes in `schedule_parser.go` enhance the parsing logic for flight schedule data. This improves the accuracy and functionality of the code when extracting information such as index, task, date, flight number, and aircraft registration from the input line. The changes ensure more reliable and consistent parsing of flight schedule data.
2024-07-29 23:46:21 +08:00
windyboy
d053ff8c38
refactor: Update go.sum to include go.sum file in version control
...
The code changes in `.gitignore` modify the exclusion rule for `go.sum` file, removing the `#` symbol to include it in version control. This change ensures that the `go.sum` file is tracked and synchronized across different environments, improving dependency management and ensuring consistent builds.
2024-07-29 23:41:06 +08:00
windyboy
91d6957eba
refactor: Update CNL pattern in config.go
...
The code changes in `config.go` update the CNL pattern to correctly match CNL messages. This update ensures accurate extraction of data from CNL messages and improves the overall functionality of the code.
2024-07-29 23:40:51 +08:00