From 146740f105a3866a6f34300db24d996633c6615b Mon Sep 17 00:00:00 2001 From: David Bernard Date: Tue, 9 Jan 2024 14:17:51 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20add=20ROADMAP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .markdownlint.yaml | 4 ++++ README.md | 16 +++++++++++++--- ROADMAP.md | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 .markdownlint.yaml create mode 100644 ROADMAP.md diff --git a/.markdownlint.yaml b/.markdownlint.yaml new file mode 100644 index 0000000..409a0d8 --- /dev/null +++ b/.markdownlint.yaml @@ -0,0 +1,4 @@ +# see https://github.com/DavidAnson/vscode-markdownlint#configure + +MD013: false +MD033: false diff --git a/README.md b/README.md index 8ab07c7..2c5c2e8 100644 --- a/README.md +++ b/README.md @@ -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 + +
+Why do dashboard tools, like Grafana, have access (read-only) to the DB (PostgreSQL), and go through an API (micro)service (like `cdviz-collector`)? - 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 @@ -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" + +
+ +### 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]: diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000..c4a32f4 --- /dev/null +++ b/ROADMAP.md @@ -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, ...)