| Crates.io | cdviz-collector |
| lib.rs | cdviz-collector |
| version | 0.19.8 |
| created_at | 2024-12-12 14:58:06.8669+00 |
| updated_at | 2025-12-21 19:36:39.021054+00 |
| description | A service and CLI tool for collecting SDLC/CI/CD events and dispatching them as CDEvents |
| homepage | https://cdviz.dev |
| repository | https://github.com/cdviz-dev/cdviz-collector |
| max_upload_size | |
| id | 1481322 |
| size | 2,128,736 |
keywords: cdevents, sdlc, cicd
A service & CLI to collect SDLC/CI/CD events and dispatch as CDEvents.
HTTP webhooks, File system, S3, Kafka, SSE)PostgreSQL, HTTP, File system, Kafka, SSE)VRL (Vector Remap Language)For comprehensive feature documentation, see cdviz.dev/docs/cdviz-collector.
cdviz-collector is distributed as:
ghcr.io/cdviz-dev/cdviz-collectorSee the Installation Guide for detailed instructions.
See the Quick Start Guide for a 5-minute walkthrough.
cdviz-collector uses a pipeline architecture: events flow from sources through an in-memory queue to multiple sinks.
---
config:
theme: 'base'
look: 'handDrawn'
themeVariables:
darkMode: true
mainBkg: '#00000000'
background: '#00000000'
primaryColor: '#00000000'
primaryTextColor: '#f08c00'
secondaryTextColor: '#f08c00'
tertiaryTextColor: '#f08c00'
primaryBorderColor: '#f08c00'
secondaryBorderColor: '#f08c00'
tertiaryBorderColor: '#f08c00'
noteTextColor: '#f08c00'
noteBorderColor: '#f08c00'
lineColor: '#f08c00'
lineWidth: 2
---
flowchart LR
classDef future stroke-dasharray: 5 5
q>in memory queue of cdevents]
subgraph sources
src_cli(cli/stdin)
src_http(HTTP)
src_fs_content(FS folder with cdevents)
src_fs_activity(FS folder activity)
src_s3_content(S3 with cdevents)
src_s3_activity(S3 activity)
src_kafka(Kafka)
src_nats(NATS):::future
src_ecr(AWS ECR):::future
src_misc(...):::future
end
src_cli --> q
src_http --> q
src_fs_content --> q
src_fs_activity --> q
src_s3_content --> q
src_s3_activity --> q
src_kafka --> q
src_nats --> q
src_ecr --> q
src_misc --> q
subgraph sinks
sink_stdout(stdout)
sink_db(DB)
sink_http(HTTP)
sink_kafka(Kafka)
sink_nats(NATS):::future
end
q --> sink_stdout
q --> sink_http
q --> sink_db
q --> sink_kafka
q --> sink_nats
For detailed architecture information, see CLAUDE.md.
Configure cdviz-collector via TOML files with environment variable overrides:
CDVIZ_COLLECTOR__SECTION__KEY__VALUESee the Configuration Guide and Use Cases & Examples for detailed information.
cdviz-collector provides three commands:
connect - Run as a ServiceLaunch collector as a long-running server to connect sources to sinks.
cdviz-collector connect --config cdviz-collector.toml
See the connect documentation for detailed options.
send - Send Events DirectlySend JSON data directly to a sink for testing and scripting.
cdviz-collector send --url https://api.example.com/webhook --data '{"test": "value"}'
See the send documentation for detailed options.
transform - Batch File TransformationTransform local JSON files using configured transformers.
cdviz-collector transform --input ./input --output ./output --transformer-refs github_events
See the transform documentation for detailed options.
For all available options, use --help with any command or see the usage documentation.
Send CDEvents from GitHub Actions workflows using cdviz-dev/send-cdevents.
This project uses mise for task management:
mise install # Setup environment
mise run build # Build project
mise run test # Run tests
mise run lint # Run linting
mise run ci # Full CI pipeline
See CONTRIBUTING.md for detailed development guidelines.
For AI assistance context, see CLAUDE.md.
This software is distributed under Apache Software License 2.0 ASL-2.0. You can subscribe to commercial support at http://cdviz.dev.
By using this software, you agree to comply with the terms of one of the above licenses.
For exceptions, see LICENSING.md.
We welcome contributions! Please see our Contributing Guide for more details.
By contributing to this project, you agree to the Contributor License Agreement (CLA).
Note: This project has been developed with assistance from Claude Code. All AI-generated code has been carefully reviewed, tested, and validated to ensure quality, security, and adherence to Rust best practices.