Skip to content

Commit

Permalink
📝 add ROADMAP
Browse files Browse the repository at this point in the history
  • Loading branch information
davidB committed Jan 9, 2024
1 parent efd2bd8 commit 146740f
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 3 deletions.
4 changes: 4 additions & 0 deletions .markdownlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# see https://github.com/DavidAnson/vscode-markdownlint#configure

MD013: false
MD033: false
16 changes: 13 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,17 @@ status: wip

A set of components to provide a view of which version of services are deployed and which environment, what test ran,...

- Collect events ([cdevents]) related to the deployment of artifacts (service, ...)
- Collect every events ([cdevents]) related to the deployment of artifacts (service, ...), tasks, tests,...
- Dashboard to query and visualize events and states over time

## Architecture Overview

![cdviz architecture](doc/images/Drawing%202023-12-27%2016.04.47-cdviz-architecture.excalidraw.svg)

**Why do dashboard tools, like Grafana, have access (read-only) to the DB (PostgreSQL), and go through an API (micro)service (like `cdviz-collector`)?**
### Q&A

<details>
<summary>Why do dashboard tools, like Grafana, have access (read-only) to the DB (PostgreSQL), and go through an API (micro)service (like `cdviz-collector`)?</summary>

- access to the data is the value, not the service
- allow dashboards to use the full query power of SQL to query data, and to plug any analytics tools
Expand All @@ -24,6 +27,13 @@ A set of components to provide a view of which version of services are deployed
- enforce the read-only view of the DB to be like a public API
- require to configure access control
- require to document and expose table structure (like an API) and to provide samples of queries, maybe function,...
- service can provide helpers endpoint for some complex query or additional "view"
- service can provide helper endpoints for some complex queries or additional "views"

</details>

### Roadmap

- See [ROADMAP.md](ROADMAP.md)
- See [Issues · davidB/cdviz](https://github.com/davidB/cdviz/issues) and use it to discuss features, ideas, bugs,...

[cdevents]: <https://cdevents.dev/>
35 changes: 35 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Roadmap

## 0.1.0

- [x] bootstrap db
- [x] bootstrap `cdviz-collector`: store on db
- [ ] bootstrap `cdviz-watcher`: push events from folder to `cdviz-collector` via http
- [ ] bootstrap `cdviz-demo`
- [ ] bootstrap grafana dashboards
- [x] helm charts to deploy (on local)

## 0.2.0

- [ ] validate [cdevents] (rust library) on `cdviz-collector` and `cdviz-watcher`
- [ ] connects to NATS (`cdviz-collector` and `cdviz-watcher`)
- [ ] bootstrap the demo stack: NATS, testkube

## 0.3.0

- [ ] document API
- [ ] document DB schema
- [ ] document for contribution
- [ ] document the demo
- [ ] cdviz-watcher start to watch K8S events for "deployment" (remove & update)

## ?.?.?

- [ ] Do everything 😅

## Ideas & Maybe

- a simple ruler to trigger for events likes:
- on deploy of version X of service, send a remove of previous version (same service, package, environment)
- collect SBOM, and connect it to the events to enhance info, lifecycle of components of deployed artifacts
- deduce SBOM (via rules, ...)

0 comments on commit 146740f

Please sign in to comment.