Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
bdba5d1
feat: add fleet client connection module and update agent crate confi…
swar09 May 28, 2026
6b437ee
feat: implement thrift-based query execution over Unix domain sockets…
swar09 May 28, 2026
d81cfdb
refactor
swar09 May 28, 2026
655b8f4
refactor: cargo clippy
swar09 May 28, 2026
8b5e628
feat: enable osquery audit logging in Docker, add automated dependenc…
swar09 May 28, 2026
92c0bd0
chore: comment out rdkafka dependency in Cargo.toml
swar09 May 28, 2026
72e10f5
chore: fix ci
swar09 May 28, 2026
0785df1
chore: fix ci
swar09 May 28, 2026
75fcff5
refactor: remove connection state tracking
swar09 May 29, 2026
4d634af
modified: agent/crates/agent-core/src/config.rs
swar09 May 29, 2026
d4be56d
feat: add fleet management and tracing modules
swar09 Jun 1, 2026
2f8161d
feat: implement gRPC listener with JWT authentication and event handling
swar09 Jun 1, 2026
914422a
feat: enhance fleet server with gRPC support and configuration manage…
swar09 Jun 1, 2026
6d058e5
feat(fleet-server): implement core backend architecture and postgres …
swar09 Jun 2, 2026
dd4aa72
ci: install protobuf-compiler in CI workflows and disable cargo audit…
swar09 Jun 2, 2026
4dc6254
chore(ci): clippy warnings and set SQLX_OFFLINE in CI
swar09 Jun 2, 2026
18255cd
chore(ci): carrgo fmt
swar09 Jun 2, 2026
df93c06
chore: generate sqlx metadata for node management and health queries
swar09 Jun 2, 2026
850ca02
feat(fleet-server): implement core architecture, postgres persistence…
swar09 Jun 2, 2026
f951636
feat(frontend): initialize React frontend project with TypeScript and…
swar09 Jun 2, 2026
c742d3b
feat: implement authentication system and custom UI components with p…
swar09 Jun 3, 2026
b39ef43
refactor(agent): migrate fleet communication and event buffering from…
swar09 Jun 4, 2026
e62f065
Merge pull request #7 from swar09/agent/shift2json
swar09 Jun 4, 2026
4ca9fbe
feat(agent): implement full Linux agent installation, systemd service…
swar09 Jun 4, 2026
cc1ac81
refactor: remove unused duration import in event buffer tests
swar09 Jun 4, 2026
d0c54da
chore : clippy warnings fix
swar09 Jun 4, 2026
ef320ff
ci: add write permissions for release creation
swar09 Jun 4, 2026
a31d2ba
chore: upgrade rust-version to 1.91, define toolchain channel, and re…
swar09 Jun 12, 2026
97d8eca
feat: add installation guide and decouple osquery from agent service …
swar09 Jun 12, 2026
3485f1c
feat: implement cross-platform build support for x86_64 and aarch64 i…
swar09 Jun 12, 2026
93f0051
Merge pull request #5 from swar09/frontend-001
swar09 Jun 12, 2026
4aac882
Merge pull request #8 from swar09/agent/agent-conf
swar09 Jun 12, 2026
ea75cf2
Refactor Kafka Pipeline and Agent Integration
swar09 Jun 16, 2026
121a806
feat: update dependencies and enhance agent functionality with new mo…
swar09 Jun 17, 2026
1bc7e76
feat: enhance CI/CD pipeline with additional dependencies and improve…
swar09 Jun 17, 2026
860b1bf
cargo fmt
swar09 Jun 17, 2026
f25e67e
feat: enhance OS version retrieval with detailed parsing from /etc/os…
swar09 Jun 17, 2026
f0beaab
feat: implement OS version retrieval from /etc/os-release and update …
swar09 Jun 17, 2026
7a2fc70
feat: update AgentCore and FleetClient to improve command handling an…
swar09 Jun 17, 2026
5447a85
feat: implement heartbeat functionality and enhance enrollment proces…
swar09 Jun 17, 2026
2138124
feat: refactor enrollment and command handling to use new RegisterReq…
swar09 Jun 17, 2026
b3c37df
feat(agent): update logging level to debug and set node_id
swar09 Jun 17, 2026
965e6fd
feat: enhance preflight checks and default configurations
swar09 Jun 17, 2026
03ab5b2
fix: correct comments in osquery EDR guide and update typos configura…
swar09 Jun 17, 2026
c52383e
fix: improve formatting in preflight and test_query files
swar09 Jun 17, 2026
63d75be
Revise README with project details and setup instructions
swar09 Jun 19, 2026
4722032
Merge pull request #14 from swar09/agent/bug-fixes-01
swar09 Jun 27, 2026
748c2ab
docs: split README into LICENSE and CONTRIBUTING.md
swar09 Jun 27, 2026
db84cfd
fix: address code review findings across agent, kafka-pipeline, fleet…
swar09 Jun 27, 2026
d268a0c
fix: remove unused import in fleet-client tests to resolve CI compile…
swar09 Jun 27, 2026
31ac0ad
Create config.py
irapatil07 Jul 17, 2026
b4a76e4
serverCommand not done
irapatil07 Jul 17, 2026
7b34063
Create lib.py
irapatil07 Jul 18, 2026
4a0ae26
Create __init__.py
irapatil07 Jul 18, 2026
ce8bc41
Create types.py
irapatil07 Jul 18, 2026
0a70aff
Create codec.py
irapatil07 Jul 18, 2026
5725f90
_create_connection() not completed
irapatil07 Jul 18, 2026
69931dc
Create enrollment.py
irapatil07 Jul 23, 2026
6f293a0
Create heartbeat.py
irapatil07 Jul 23, 2026
03b59e8
Create stream.py
irapatil07 Jul 23, 2026
422b44d
should be updated after .proto files
irapatil07 Jul 23, 2026
5e9b980
Create lib.py
irapatil07 Jul 23, 2026
215df06
Create orchestrator.py
irapatil07 Jul 25, 2026
d315cab
Created isolation_manager.py
irapatil07 Aug 3, 2026
b92f027
Created test_isolation_manager.py
irapatil07 Aug 3, 2026
0998cae
Updated isolation_manager.py
irapatil07 Aug 3, 2026
1302717
Create event_buffer_test.py
irapatil07 Aug 3, 2026
881c986
Create lib.py
irapatil07 Aug 3, 2026
80a469a
implement grpc
irapatil07 Aug 4, 2026
e72e63c
Update orchestrator.py
irapatil07 Aug 4, 2026
83d184e
Create preflight.py
irapatil07 Aug 4, 2026
4a73d67
Translated command_handler
irapatil07 Aug 6, 2026
fe47e53
Added lib.py in agent_core
irapatil07 Aug 6, 2026
d965ea1
Corrected the imports
irapatil07 Aug 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .dev.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# =============================================================================
# EDR Local Development Environment Template (.dev.env)
# Usage:
# cp .dev.env.example .env
# # Adjust values below if you have a custom setup
# =============================================================================

# ── Fleet Server Settings ──────────────────────────────────────────────────────
# Host/Port the gRPC service will listen on (0.0.0.0 to bind on all interfaces)
HOST=0.0.0.0
PORT=50051

# Secret key used to sign and verify node authorization JWT tokens.
# Change this in staging/production!
JWT_SECRET=dev-jwt-secret-key-do-not-use-in-production-12345

# Logging configuration for fleet-server
RUST_LOG=debug
LOG_FORMAT=human

# ── Database Connections ─────────────────────────────────────────────────────
# PostgreSQL instance for fleet node registrations (managed by infra/docker-compose.yml)
# Default port is 5433 for nodes DB
DATABASE_URL=postgres://edr:changeme@127.0.0.1:5433/edr_nodes

# ── Kafka Configuration ──────────────────────────────────────────────────────
# Kafka brokers list (using 127.0.0.1 explicitly to bypass IPv6 resolution delays/bugs on local Docker setups)
KAFKA_BROKERS=127.0.0.1:9092

# Raw telemetry ingestion topic
KAFKA_TOPIC_AGENTS_EVENTS=edr.events.raw

# Note: The Kafka Web UI is accessible in your browser at http://localhost:8090

# ── Agent Settings ───────────────────────────────────────────────────────────
# Config path override for running the EDR agent locally without sudo installation.
# By setting this, 'cargo run --bin edr-agent' will load this config file automatically.
EDR_AGENT_CONFIG=agent/agent.toml

# Logging configuration for the agent
AGENT_RUST_LOG=debug
3 changes: 3 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
target/
.git/
.github/
25 changes: 25 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# EDR Workspace Environment Variables Template
# Copy this file to .env at the workspace root and adjust as necessary for your local setup.

# Fleet Server Database Connection
# Format: postgres://<user>:<password>@<host>:<port>/<database>
DATABASE_URL=postgres://edr:changeme@localhost:5433/edr_nodes

# Kafka Brokers configuration (using 127.0.0.1 to avoid IPv6 localhost resolution bugs on host)
KAFKA_BROKERS=127.0.0.1:9092
KAFKA_TOPIC_AGENTS_EVENTS=edr.events.raw

# Auth JWT Secret (Replace with a real 256-bit secret in production)
JWT_SECRET=change-me-in-production

# Server bind host and port
HOST=0.0.0.0
PORT=50051

# Logging level and output format (human | json)
RUST_LOG=info
LOG_FORMAT=human

# EDR Agent configuration path (optional, overrides default /etc/aigis-zero/config.toml)
# EDR_AGENT_CONFIG=agent/agent.toml

188 changes: 0 additions & 188 deletions .github/CI_CACHING_STRATEGY.md

This file was deleted.

70 changes: 70 additions & 0 deletions .github/workflows/agent-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Aigis-Zero Agent Release

on:
push:
tags:
- 'agent-v*'

permissions:
contents: write

jobs:
build:
name: Build and Package Agent (${{ matrix.target }})
runs-on: ubuntu-latest

strategy:
matrix:
include:
- target: x86_64-unknown-linux-musl
arch: x86_64
- target: aarch64-unknown-linux-musl
arch: aarch64

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}

- name: Install cross
run: cargo install cross --git https://github.com/cross-rs/cross

- name: Build Agent (${{ matrix.target }})
run: |
cd agent
cross build --bin edr-agent --target ${{ matrix.target }} --release

- name: Package Release (${{ matrix.arch }})
run: |
mkdir -p aigis-zero-agent
# Copy binary
cp target/${{ matrix.target }}/release/edr-agent aigis-zero-agent/aigis-zero
# Copy scripts
cp agent/install.sh aigis-zero-agent/
cp agent/uninstall.sh aigis-zero-agent/
# Copy configs
cp agent/agent.toml aigis-zero-agent/
cp -r agent/osquery aigis-zero-agent/
cp -r agent/sysctl aigis-zero-agent/
cp -r agent/limits aigis-zero-agent/
cp -r agent/systemd aigis-zero-agent/

# Create tarball
tar -czvf aigis-zero-agent-linux-${{ matrix.arch }}.tar.gz aigis-zero-agent/

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: aigis-zero-agent-linux-${{ matrix.arch }}
path: aigis-zero-agent-linux-${{ matrix.arch }}.tar.gz

- name: Create GitHub Release
uses: softprops/action-gh-release@v1
with:
files: aigis-zero-agent-linux-${{ matrix.arch }}.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading