#ci-cd #source #db #sink #future #cdevents #sdlc #sink-db #sink-http

app cdviz-collector

A service & cli to collect SDLC/CI/CD events and to dispatch as cdevents

19 releases (5 breaking)

Uses new Rust 2024

new 0.7.6 Apr 16, 2025
0.7.5 Apr 16, 2025
0.6.4 Apr 3, 2025
0.5.1 Mar 7, 2025
0.2.3 Dec 12, 2024

#63 in Database interfaces

Download history 1/week @ 2025-01-10 205/week @ 2025-01-24 44/week @ 2025-01-31 127/week @ 2025-02-07 18/week @ 2025-02-14 3/week @ 2025-02-21 6/week @ 2025-02-28 125/week @ 2025-03-07 6/week @ 2025-03-14 3/week @ 2025-03-21 449/week @ 2025-03-28 733/week @ 2025-04-04 290/week @ 2025-04-11

1,475 downloads per month

AGPL-3.0-only

210KB
3K SLoC

cdviz-collector

keywords: cdevents, sdlc, cicd status: wip

A service & cli to collect SDLC/CI/CD events and to dispatch as cdevents.

Goals:

  • to create cdevents by polling some sources (folder on fs, S3, AWS ECR, ...)
  • to receive cdevents from http, kafka, nats
  • to send (broadcast) cdevents to various destination database, http, kafka, nats
  • to expose some metrics (TBD)

cdviz-collector is configured via a config file + override by environment variables.

see documentation

---
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_http(HTTP)
    src_fs_content(FS folder with cdevents)
    src_fs_activity(FS folder activity):::future
    src_s3_content(S3 with cdevents)
    src_s3_activity(S3 activity):::future
    src_kafka(Kafka):::future
    src_nats(NATS):::future
    src_ecr(AWS ECR):::future
    src_misc(...):::future
  end
  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):::future
    sink_nats(NATS):::future
  end
  q --> sink_stdout
  q --> sink_http
  q --> sink_db
  q --> sink_kafka
  q --> sink_nats

License

This software is distributed under a dual-licensing model:

  1. Affero General Public License Version 3.0 (AGPL-3.0-only):
  • The software is available under the AGPL 3.0 license. This means you can use, modify, and distribute the software under the terms of the AGPL 3.0. Any modifications or derivative works must also be licensed under AGPL 3.0.
  • For more details, see the AGPL-3.0-only.
  1. Proprietary License:
  • Alternatively, the software is available under a proprietary license. This option is suitable for users who require different terms or additional permissions not granted by the AGPL 3.0.
  • For more information about obtaining a proprietary license, please contact us at contact@cdviz.dev.

By using this software, you agree to comply with the terms of one of the above licenses.

For exceptions, see LICENSING.md.

Dependencies

~31–57MB
~1M SLoC