Skip to content

Contributing

When contributing to this project, please first discuss the change you wish to make via GitHub discussions, an issue or an informal option such as the Slack community.

We don't currently have a dedicated code of conduct however, it is expected that you treat everyone with respect in the community.

Any feedback for the contributing workflows whether it be the branch structure, coding style, tests or general feedback of the implementation is welcome and should be brought up either as a discussion/issue or informally over a chat like Slack. Do not use emails/GitHub Issues for informal discussions.

Dev Setup

docker-compose-local.yml is typically used to stand up a basic cgn-ec infrastructure including the timescale database and kafka queue. If you are developing for a specific producer/consumer then it is advised to pull in the repo locally and change the build process to use context and Dockerfile instead of using the image tag under the service.

Ports

Container Host Port / Container Port Purpose
syslog_collector 1514:1514/udp Syslog collector/producer
netflow_collector 9995:9995/udp NetFlow collector/producer
kafka 9094:9094/tcp Kafka message queue for collectors
kafka-ui 8080:8080/tcp UI for Kafka
db 5432:5432/tcp TimeScaleDB for CGN metrics
consumer 4499:4499/tcp Consumer Prometheus Python Exporter
prometheus 9090:9090/tcp Collects Kafka and Collector perf.
grafana 3000:3000/tcp Dashboard for perf. metrics
kafka-exporter N/A Kafka Prometheus Exporter
api 3001:80/tcp cgn-ec API for the TimeScaleDB