Skip to content

Bump codacy/codacy-analysis-cli-action from 3.0.1 to 3.0.2#25

Merged
vsilent merged 1 commit intomasterfrom
dependabot/github_actions/codacy/codacy-analysis-cli-action-3.0.2
May 17, 2021
Merged

Bump codacy/codacy-analysis-cli-action from 3.0.1 to 3.0.2#25
vsilent merged 1 commit intomasterfrom
dependabot/github_actions/codacy/codacy-analysis-cli-action-3.0.2

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github May 17, 2021

Bumps codacy/codacy-analysis-cli-action from 3.0.1 to 3.0.2.

Commits
  • 9d53f2c Merge pull request #59 from codacy/fix/keep-changes-go-mod
  • 1e61a71 style: Change backup file extension
  • 3f110ef fix: Fix possible changes to users' go.mod files CY-4272
  • 21691b3 Merge pull request #58 from codacy/fix/reset-changes-go-mod
  • a0294d1 fix: Reset go.mod files after listing packages CY-4272
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [codacy/codacy-analysis-cli-action](https://github.com/codacy/codacy-analysis-cli-action) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/codacy/codacy-analysis-cli-action/releases)
- [Commits](codacy/codacy-analysis-cli-action@3.0.1...3.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file github_actions Pull requests that update Github_actions code labels May 17, 2021
@vsilent vsilent merged commit 8c9fef1 into master May 17, 2021
@dependabot dependabot bot deleted the dependabot/github_actions/codacy/codacy-analysis-cli-action-3.0.2 branch May 17, 2021 06:25
vsilent added a commit that referenced this pull request Mar 31, 2026
* Testing (#9)

* upload artifacts

* upload artifacts

* syntax fix

* try another approach

* list files

Co-authored-by: vsilent <jabberroid@gmail.com>

* Update README.md

* Add editorconfig. Append gitignore fot emacs

* editorconfig

* Update README.md

* Update actix requirement from 0.10 to 0.11 (#18)

Updates the requirements on [actix](https://github.com/actix/actix) to permit the latest version.
- [Release notes](https://github.com/actix/actix/releases)
- [Commits](actix/actix@actix-v0.11.0-beta.3...v0.11.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update actix-cors requirement from 0.3.0 to 0.5.4 (#19)

Updates the requirements on [actix-cors](https://github.com/actix/actix-extras) to permit the latest version.
- [Release notes](https://github.com/actix/actix-extras/releases)
- [Commits](actix/actix-extras@cors-v0.3.0...cors-v0.5.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update bcrypt requirement from 0.8.2 to 0.9.0 (#17)

Updates the requirements on [bcrypt](https://github.com/Keats/rust-bcrypt) to permit the latest version.
- [Release notes](https://github.com/Keats/rust-bcrypt/releases)
- [Commits](Keats/rust-bcrypt@v0.8.2...v0.9.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update env_logger requirement from 0.7.1 to 0.8.3 (#16)

Updates the requirements on [env_logger](https://github.com/env-logger-rs/env_logger) to permit the latest version.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases)
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/master/CHANGELOG.md)
- [Commits](rust-cli/env_logger@v0.7.1...v0.8.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update bigdecimal requirement from 0.0.14 to 0.2.0 (#15)

Updates the requirements on [bigdecimal](https://github.com/akubera/bigdecimal-rs) to permit the latest version.
- [Release notes](https://github.com/akubera/bigdecimal-rs/releases)
- [Commits](akubera/bigdecimal-rs@v0.0.14...v0.2.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update actix-service requirement from 1.0.6 to 2.0.0 (#23)

Updates the requirements on [actix-service](https://github.com/actix/actix-net) to permit the latest version.
- [Release notes](https://github.com/actix/actix-net/releases)
- [Commits](actix/actix-net@service-v1.0.6...rt-v2.0.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump codacy/codacy-analysis-cli-action from 2.0.1 to 3.0.1 (#24)

Bumps [codacy/codacy-analysis-cli-action](https://github.com/codacy/codacy-analysis-cli-action) from 2.0.1 to 3.0.1.
- [Release notes](https://github.com/codacy/codacy-analysis-cli-action/releases)
- [Commits](codacy/codacy-analysis-cli-action@2.0.1...84fbefe)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump codacy/codacy-analysis-cli-action from 3.0.1 to 3.0.2 (#25)

Bumps [codacy/codacy-analysis-cli-action](https://github.com/codacy/codacy-analysis-cli-action) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/codacy/codacy-analysis-cli-action/releases)
- [Commits](codacy/codacy-analysis-cli-action@3.0.1...3.0.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/cache from 2.1.4 to 2.1.5 (#26)

Bumps [actions/cache](https://github.com/actions/cache) from 2.1.4 to 2.1.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](actions/cache@v2.1.4...v2.1.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump codacy/codacy-analysis-cli-action from 3.0.2 to 3.0.3 (#28)

Bumps [codacy/codacy-analysis-cli-action](https://github.com/codacy/codacy-analysis-cli-action) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/codacy/codacy-analysis-cli-action/releases)
- [Commits](codacy/codacy-analysis-cli-action@3.0.2...3.0.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update actix requirement from 0.11 to 0.12 (#31)

Updates the requirements on [actix](https://github.com/actix/actix) to permit the latest version.
- [Release notes](https://github.com/actix/actix/releases)
- [Commits](actix/actix@v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: actix
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/cache from 2.1.5 to 2.1.6 (#29)

Bumps [actions/cache](https://github.com/actions/cache) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](actions/cache@v2.1.5...v2.1.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update bcrypt requirement from 0.9.0 to 0.10.0 (#32)

Updates the requirements on [bcrypt](https://github.com/Keats/rust-bcrypt) to permit the latest version.
- [Release notes](https://github.com/Keats/rust-bcrypt/releases)
- [Commits](Keats/rust-bcrypt@v0.9.0...v0.10.0)

---
updated-dependencies:
- dependency-name: bcrypt
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump codacy/codacy-analysis-cli-action from 3.0.3 to 4.0.0 (#35)

Bumps [codacy/codacy-analysis-cli-action](https://github.com/codacy/codacy-analysis-cli-action) from 3.0.3 to 4.0.0.
- [Release notes](https://github.com/codacy/codacy-analysis-cli-action/releases)
- [Commits](codacy/codacy-analysis-cli-action@3.0.3...4.0.0)

---
updated-dependencies:
- dependency-name: codacy/codacy-analysis-cli-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update env_logger requirement from 0.8.3 to 0.9.0 (#34)

Updates the requirements on [env_logger](https://github.com/env-logger-rs/env_logger) to permit the latest version.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases)
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/main/CHANGELOG.md)
- [Commits](rust-cli/env_logger@v0.8.3...v0.9.0)

---
updated-dependencies:
- dependency-name: env_logger
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update bigdecimal requirement from 0.2.0 to 0.3.0 (#37)

Updates the requirements on [bigdecimal](https://github.com/akubera/bigdecimal-rs) to permit the latest version.
- [Release notes](https://github.com/akubera/bigdecimal-rs/releases)
- [Commits](akubera/bigdecimal-rs@v0.2.0...v0.3.0)

---
updated-dependencies:
- dependency-name: bigdecimal
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update actix-tls requirement from 2.0.0 to 3.0.0 (#39)

Updates the requirements on [actix-tls](https://github.com/actix/actix-net) to permit the latest version.
- [Release notes](https://github.com/actix/actix-net/releases)
- [Commits](actix/actix-net@rt-v2.0.0...tls-v3.0.0)

---
updated-dependencies:
- dependency-name: actix-tls
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Remove unused imports, list docker containers added

* actix-web upgrade

* shell commands

* shell commands

* rustscan, openssl binaries added

* rustscan, openssl binaries added

* phase 1 files

* Broken, integrating bollard for container security check

* Update README with new logo and project details

Added a new logo image and updated the project description.

* Revise README with new images and title case

Updated image and title formatting in README.

* diesel replaced with r2d2 and rusqlite

* ebpf files

* refactoring, ebpf / containers

* feat(cli): add clap subcommands (serve/sniff) + sniff config

- Add clap 4 for CLI argument parsing
- Refactor main.rs: dispatch to serve (default) or sniff subcommand
- Create src/cli.rs with Cli/Command enums
- Create src/sniff/config.rs with SniffConfig (env + CLI args)
- Add new deps: clap, async-trait, reqwest, zstd
- Update .env.sample with sniff + AI provider config vars
- 12 unit tests (7 CLI parsing + 5 config loading)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(sniff): log source discovery + database persistence

- Create src/sniff/discovery.rs: LogSource, LogSourceType, discovery
  functions for system logs, Docker containers, and custom paths
- Create src/database/repositories/log_sources.rs: CRUD for log_sources
  and log_summaries tables (follows existing alerts repository pattern)
- Add log_sources and log_summaries tables to init_database()
- Export docker module from lib.rs for reuse by sniff discovery
- 14 unit tests (8 discovery + 6 repository)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(sniff): log reader trait + File/Docker/Journald implementations

- Create src/sniff/reader.rs with LogReader async trait and LogEntry struct
- FileLogReader: byte offset tracking, incremental reads, log rotation detection
- DockerLogReader: bollard-based container log streaming with timestamp filtering
- JournaldReader: journalctl subprocess (Linux-gated with #[cfg(target_os = "linux")])
- Add futures-util dependency for Docker log stream consumption
- 10 unit tests covering read, incremental, truncation, empty lines, metadata

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(sniff): AI log analysis with OpenAI and pattern backends

- Create src/sniff/analyzer.rs with LogAnalyzer trait
- OpenAiAnalyzer: single client for OpenAI/Ollama/vLLM/any compatible API
  sends batched logs to /chat/completions, parses structured JSON response
- PatternAnalyzer: fallback local analyzer using regex-free pattern matching
  detects error spikes, counts errors/warnings without external AI
- LogSummary and LogAnomaly types with serialization support
- JSON response parsing with graceful handling of partial LLM output
- 16 unit tests (prompt building, JSON parsing, pattern analysis, serialization)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(sniff): consume mode — zstd compression, dedup, log purge

- Create src/sniff/consumer.rs with LogConsumer
- FNV hashing deduplication with configurable capacity (100k entries)
- zstd compression (level 3) with timestamped archive files
- File purge via truncation (preserves fd for syslog daemons)
- Docker log purge via /var/lib/docker/containers/ JSON log truncation
- Full consume pipeline: deduplicate → compress → purge → report stats
- ConsumeResult tracks entries_archived, duplicates_skipped, bytes_freed
- 13 unit tests (hashing, dedup, compression, purge, full pipeline)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(sniff): reporter + orchestrator loop

- Reporter: converts LogSummary/LogAnomaly into Alerts using existing
  AlertManager infrastructure (route_by_severity, NotificationChannel)
- SniffOrchestrator: full discover → read → analyze → report → consume
  pipeline with continuous and one-shot modes
- Wire up run_sniff() in main.rs to use SniffOrchestrator
- Add events, rules, alerting, models modules to binary crate
- 7 new tests (reporter: 5, orchestrator: 3)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(sniff): REST API for log sources and summaries

- GET /api/logs/sources — list discovered log sources
- POST /api/logs/sources — manually add a custom log source
- GET /api/logs/sources/{path} — get a single source
- DELETE /api/logs/sources/{path} — remove a source
- GET /api/logs/summaries — list AI summaries (optional source_id filter)
- Register routes in configure_all_routes
- 7 tests covering all endpoints

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: update CHANGELOG and README for sniff feature

- CHANGELOG: document all sniff additions (discovery, readers, AI
  analysis, consumer, reporter, orchestrator, REST API, deps)
- README: add log sniffing to key features, architecture diagram,
  project structure, CLI usage examples, REST API examples,
  and completed tasks list

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore: remove task files from repo and gitignore

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat: add curl-based binary installation

- install.sh: POSIX shell installer — detects Linux x86_64/aarch64,
  downloads from GitHub Releases, verifies SHA256, installs to
  /usr/local/bin
- release.yml: GitHub Actions workflow — builds Linux binaries on tag
  push using cross, creates release with tarballs + checksums
- README: add curl install one-liner to Quick Start

Usage:
  curl -fsSL https://github.com/vsilent/stackdog/dev/install.sh | sudo bash

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: fix ML module status — stub infrastructure, not in progress

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(cli): add --ai-model and --ai-api-url flags to sniff command

- Add --ai-model flag to specify AI model (e.g. qwen2.5-coder:latest)
- Add --ai-api-url flag to specify API endpoint URL
- Recognize "ollama" as AI provider alias (maps to OpenAI-compatible client)
- CLI args override env vars for model and API URL
- Log AI model and API URL at startup for transparency

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(sniff): add debug logging and robust LLM JSON extraction

- Add debug/trace logging across entire sniff pipeline:
  discovery, reader, analyzer, orchestrator, reporter
- Respect user RUST_LOG env var (no longer hardcoded to info)
- Improve LLM response JSON extraction to handle:
  markdown code fences, preamble text, trailing text
- Include raw LLM response in trace logs for debugging parse failures
- Show first 200 chars of failed JSON in error messages
- Add 5 tests for extract_json edge cases

Usage: RUST_LOG=debug stackdog sniff --once ...

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(alerting): implement real Slack webhook notifications

- Add --slack-webhook CLI flag to sniff command
- Read STACKDOG_SLACK_WEBHOOK_URL env var (CLI overrides env)
- Implement actual HTTP POST to Slack incoming webhook API
- Build proper JSON payloads with serde_json (color-coded by severity)
- Add reqwest blocking feature for synchronous notification delivery
- Wire NotificationConfig through SniffConfig → Orchestrator → Reporter
- Add STACKDOG_WEBHOOK_URL env var support
- Update .env.sample with notification channel examples
- Add 3 tests for Slack webhook config (CLI, env, override priority)

Usage:
  stackdog sniff --once --slack-webhook https://hooks.slack.com/services/T/B/xxx
  # or via env:
  export STACKDOG_SLACK_WEBHOOK_URL=https://hooks.slack.com/services/T/B/xxx

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update docker.yml

---------

Co-authored-by: vsilent <jabberroid@gmail.com>
Co-authored-by: Evgeny Duzhakov <diaevd@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@vsilent vsilent mentioned this pull request Mar 31, 2026
vsilent added a commit that referenced this pull request Mar 31, 2026
* Testing (#9)

* upload artifacts

* upload artifacts

* syntax fix

* try another approach

* list files



* Update README.md

* Add editorconfig. Append gitignore fot emacs

* editorconfig

* Update README.md

* Update actix requirement from 0.10 to 0.11 (#18)

Updates the requirements on [actix](https://github.com/actix/actix) to permit the latest version.
- [Release notes](https://github.com/actix/actix/releases)
- [Commits](actix/actix@actix-v0.11.0-beta.3...v0.11.1)





* Update actix-cors requirement from 0.3.0 to 0.5.4 (#19)

Updates the requirements on [actix-cors](https://github.com/actix/actix-extras) to permit the latest version.
- [Release notes](https://github.com/actix/actix-extras/releases)
- [Commits](actix/actix-extras@cors-v0.3.0...cors-v0.5.4)





* Update bcrypt requirement from 0.8.2 to 0.9.0 (#17)

Updates the requirements on [bcrypt](https://github.com/Keats/rust-bcrypt) to permit the latest version.
- [Release notes](https://github.com/Keats/rust-bcrypt/releases)
- [Commits](Keats/rust-bcrypt@v0.8.2...v0.9.0)





* Update env_logger requirement from 0.7.1 to 0.8.3 (#16)

Updates the requirements on [env_logger](https://github.com/env-logger-rs/env_logger) to permit the latest version.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases)
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/master/CHANGELOG.md)
- [Commits](rust-cli/env_logger@v0.7.1...v0.8.3)





* Update bigdecimal requirement from 0.0.14 to 0.2.0 (#15)

Updates the requirements on [bigdecimal](https://github.com/akubera/bigdecimal-rs) to permit the latest version.
- [Release notes](https://github.com/akubera/bigdecimal-rs/releases)
- [Commits](akubera/bigdecimal-rs@v0.0.14...v0.2.0)





* Update actix-service requirement from 1.0.6 to 2.0.0 (#23)

Updates the requirements on [actix-service](https://github.com/actix/actix-net) to permit the latest version.
- [Release notes](https://github.com/actix/actix-net/releases)
- [Commits](actix/actix-net@service-v1.0.6...rt-v2.0.0)





* Bump codacy/codacy-analysis-cli-action from 2.0.1 to 3.0.1 (#24)

Bumps [codacy/codacy-analysis-cli-action](https://github.com/codacy/codacy-analysis-cli-action) from 2.0.1 to 3.0.1.
- [Release notes](https://github.com/codacy/codacy-analysis-cli-action/releases)
- [Commits](codacy/codacy-analysis-cli-action@2.0.1...84fbefe)





* Bump codacy/codacy-analysis-cli-action from 3.0.1 to 3.0.2 (#25)

Bumps [codacy/codacy-analysis-cli-action](https://github.com/codacy/codacy-analysis-cli-action) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/codacy/codacy-analysis-cli-action/releases)
- [Commits](codacy/codacy-analysis-cli-action@3.0.1...3.0.2)





* Bump actions/cache from 2.1.4 to 2.1.5 (#26)

Bumps [actions/cache](https://github.com/actions/cache) from 2.1.4 to 2.1.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](actions/cache@v2.1.4...v2.1.5)





* Bump codacy/codacy-analysis-cli-action from 3.0.2 to 3.0.3 (#28)

Bumps [codacy/codacy-analysis-cli-action](https://github.com/codacy/codacy-analysis-cli-action) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/codacy/codacy-analysis-cli-action/releases)
- [Commits](codacy/codacy-analysis-cli-action@3.0.2...3.0.3)





* Update actix requirement from 0.11 to 0.12 (#31)

Updates the requirements on [actix](https://github.com/actix/actix) to permit the latest version.
- [Release notes](https://github.com/actix/actix/releases)
- [Commits](actix/actix@v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: actix
  dependency-type: direct:production
...





* Bump actions/cache from 2.1.5 to 2.1.6 (#29)

Bumps [actions/cache](https://github.com/actions/cache) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](actions/cache@v2.1.5...v2.1.6)





* Update bcrypt requirement from 0.9.0 to 0.10.0 (#32)

Updates the requirements on [bcrypt](https://github.com/Keats/rust-bcrypt) to permit the latest version.
- [Release notes](https://github.com/Keats/rust-bcrypt/releases)
- [Commits](Keats/rust-bcrypt@v0.9.0...v0.10.0)

---
updated-dependencies:
- dependency-name: bcrypt
  dependency-type: direct:production
...





* Bump codacy/codacy-analysis-cli-action from 3.0.3 to 4.0.0 (#35)

Bumps [codacy/codacy-analysis-cli-action](https://github.com/codacy/codacy-analysis-cli-action) from 3.0.3 to 4.0.0.
- [Release notes](https://github.com/codacy/codacy-analysis-cli-action/releases)
- [Commits](codacy/codacy-analysis-cli-action@3.0.3...4.0.0)

---
updated-dependencies:
- dependency-name: codacy/codacy-analysis-cli-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...





* Update env_logger requirement from 0.8.3 to 0.9.0 (#34)

Updates the requirements on [env_logger](https://github.com/env-logger-rs/env_logger) to permit the latest version.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases)
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/main/CHANGELOG.md)
- [Commits](rust-cli/env_logger@v0.8.3...v0.9.0)

---
updated-dependencies:
- dependency-name: env_logger
  dependency-type: direct:production
...





* Update bigdecimal requirement from 0.2.0 to 0.3.0 (#37)

Updates the requirements on [bigdecimal](https://github.com/akubera/bigdecimal-rs) to permit the latest version.
- [Release notes](https://github.com/akubera/bigdecimal-rs/releases)
- [Commits](akubera/bigdecimal-rs@v0.2.0...v0.3.0)

---
updated-dependencies:
- dependency-name: bigdecimal
  dependency-type: direct:production
...





* Update actix-tls requirement from 2.0.0 to 3.0.0 (#39)

Updates the requirements on [actix-tls](https://github.com/actix/actix-net) to permit the latest version.
- [Release notes](https://github.com/actix/actix-net/releases)
- [Commits](actix/actix-net@rt-v2.0.0...tls-v3.0.0)

---
updated-dependencies:
- dependency-name: actix-tls
  dependency-type: direct:production
...





* Remove unused imports, list docker containers added

* actix-web upgrade

* shell commands

* shell commands

* rustscan, openssl binaries added

* rustscan, openssl binaries added

* phase 1 files

* Broken, integrating bollard for container security check

* Update README with new logo and project details

Added a new logo image and updated the project description.

* Revise README with new images and title case

Updated image and title formatting in README.

* diesel replaced with r2d2 and rusqlite

* ebpf files

* refactoring, ebpf / containers

* feat(cli): add clap subcommands (serve/sniff) + sniff config

- Add clap 4 for CLI argument parsing
- Refactor main.rs: dispatch to serve (default) or sniff subcommand
- Create src/cli.rs with Cli/Command enums
- Create src/sniff/config.rs with SniffConfig (env + CLI args)
- Add new deps: clap, async-trait, reqwest, zstd
- Update .env.sample with sniff + AI provider config vars
- 12 unit tests (7 CLI parsing + 5 config loading)



* feat(sniff): log source discovery + database persistence

- Create src/sniff/discovery.rs: LogSource, LogSourceType, discovery
  functions for system logs, Docker containers, and custom paths
- Create src/database/repositories/log_sources.rs: CRUD for log_sources
  and log_summaries tables (follows existing alerts repository pattern)
- Add log_sources and log_summaries tables to init_database()
- Export docker module from lib.rs for reuse by sniff discovery
- 14 unit tests (8 discovery + 6 repository)



* feat(sniff): log reader trait + File/Docker/Journald implementations

- Create src/sniff/reader.rs with LogReader async trait and LogEntry struct
- FileLogReader: byte offset tracking, incremental reads, log rotation detection
- DockerLogReader: bollard-based container log streaming with timestamp filtering
- JournaldReader: journalctl subprocess (Linux-gated with #[cfg(target_os = "linux")])
- Add futures-util dependency for Docker log stream consumption
- 10 unit tests covering read, incremental, truncation, empty lines, metadata



* feat(sniff): AI log analysis with OpenAI and pattern backends

- Create src/sniff/analyzer.rs with LogAnalyzer trait
- OpenAiAnalyzer: single client for OpenAI/Ollama/vLLM/any compatible API
  sends batched logs to /chat/completions, parses structured JSON response
- PatternAnalyzer: fallback local analyzer using regex-free pattern matching
  detects error spikes, counts errors/warnings without external AI
- LogSummary and LogAnomaly types with serialization support
- JSON response parsing with graceful handling of partial LLM output
- 16 unit tests (prompt building, JSON parsing, pattern analysis, serialization)



* feat(sniff): consume mode — zstd compression, dedup, log purge

- Create src/sniff/consumer.rs with LogConsumer
- FNV hashing deduplication with configurable capacity (100k entries)
- zstd compression (level 3) with timestamped archive files
- File purge via truncation (preserves fd for syslog daemons)
- Docker log purge via /var/lib/docker/containers/ JSON log truncation
- Full consume pipeline: deduplicate → compress → purge → report stats
- ConsumeResult tracks entries_archived, duplicates_skipped, bytes_freed
- 13 unit tests (hashing, dedup, compression, purge, full pipeline)



* feat(sniff): reporter + orchestrator loop

- Reporter: converts LogSummary/LogAnomaly into Alerts using existing
  AlertManager infrastructure (route_by_severity, NotificationChannel)
- SniffOrchestrator: full discover → read → analyze → report → consume
  pipeline with continuous and one-shot modes
- Wire up run_sniff() in main.rs to use SniffOrchestrator
- Add events, rules, alerting, models modules to binary crate
- 7 new tests (reporter: 5, orchestrator: 3)



* feat(sniff): REST API for log sources and summaries

- GET /api/logs/sources — list discovered log sources
- POST /api/logs/sources — manually add a custom log source
- GET /api/logs/sources/{path} — get a single source
- DELETE /api/logs/sources/{path} — remove a source
- GET /api/logs/summaries — list AI summaries (optional source_id filter)
- Register routes in configure_all_routes
- 7 tests covering all endpoints



* docs: update CHANGELOG and README for sniff feature

- CHANGELOG: document all sniff additions (discovery, readers, AI
  analysis, consumer, reporter, orchestrator, REST API, deps)
- README: add log sniffing to key features, architecture diagram,
  project structure, CLI usage examples, REST API examples,
  and completed tasks list



* chore: remove task files from repo and gitignore



* feat: add curl-based binary installation

- install.sh: POSIX shell installer — detects Linux x86_64/aarch64,
  downloads from GitHub Releases, verifies SHA256, installs to
  /usr/local/bin
- release.yml: GitHub Actions workflow — builds Linux binaries on tag
  push using cross, creates release with tarballs + checksums
- README: add curl install one-liner to Quick Start

Usage:
  curl -fsSL https://github.com/vsilent/stackdog/dev/install.sh | sudo bash



* docs: fix ML module status — stub infrastructure, not in progress



* feat(cli): add --ai-model and --ai-api-url flags to sniff command

- Add --ai-model flag to specify AI model (e.g. qwen2.5-coder:latest)
- Add --ai-api-url flag to specify API endpoint URL
- Recognize "ollama" as AI provider alias (maps to OpenAI-compatible client)
- CLI args override env vars for model and API URL
- Log AI model and API URL at startup for transparency



* feat(sniff): add debug logging and robust LLM JSON extraction

- Add debug/trace logging across entire sniff pipeline:
  discovery, reader, analyzer, orchestrator, reporter
- Respect user RUST_LOG env var (no longer hardcoded to info)
- Improve LLM response JSON extraction to handle:
  markdown code fences, preamble text, trailing text
- Include raw LLM response in trace logs for debugging parse failures
- Show first 200 chars of failed JSON in error messages
- Add 5 tests for extract_json edge cases

Usage: RUST_LOG=debug stackdog sniff --once ...



* feat(alerting): implement real Slack webhook notifications

- Add --slack-webhook CLI flag to sniff command
- Read STACKDOG_SLACK_WEBHOOK_URL env var (CLI overrides env)
- Implement actual HTTP POST to Slack incoming webhook API
- Build proper JSON payloads with serde_json (color-coded by severity)
- Add reqwest blocking feature for synchronous notification delivery
- Wire NotificationConfig through SniffConfig → Orchestrator → Reporter
- Add STACKDOG_WEBHOOK_URL env var support
- Update .env.sample with notification channel examples
- Add 3 tests for Slack webhook config (CLI, env, override priority)

Usage:
  stackdog sniff --once --slack-webhook https://hooks.slack.com/services/T/B/xxx
  # or via env:
  export STACKDOG_SLACK_WEBHOOK_URL=https://hooks.slack.com/services/T/B/xxx



* Update docker.yml

---------

Co-authored-by: vsilent <jabberroid@gmail.com>
Co-authored-by: Evgeny Duzhakov <diaevd@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file github_actions Pull requests that update Github_actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant