summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md64
1 files changed, 40 insertions, 24 deletions
diff --git a/README.md b/README.md
index da82da32..63c06068 100644
--- a/README.md
+++ b/README.md
@@ -1,39 +1,55 @@
-<a href="https://opendc.org/">
- <img src="https://opendc.org/img/logo.svg" alt="OpenDC logo" title="OpenDC" align="right" height="100" />
-</a>
+## _Sunfish_: Enabling Predictive Analytics for Datacenters Through Digital Twinning
-# OpenDC
+_Sunfish_ is a system that creates the pipeline between the Datacenter and its Digital Twin.
-Collaborative Datacenter Simulation and Exploration for Everybody
+## Dependencies
-[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](/LICENSE.txt)
-[![Documentation](https://img.shields.io/badge/docs-master-green.svg)](https://opendc.org/learn/category/documentation)
-[![GitHub release](https://img.shields.io/github/v/release/atlarge-research/opendc?include_prereleases)](https://github.com/atlarge-research/opendc/releases)
-[![Build](https://github.com/atlarge-research/opendc/actions/workflows/build.yml/badge.svg)](https://github.com/atlarge-research/opendc/actions/workflows/build.yml)
+_Sunfish_ is not a monolithic program. The entire ecosystem consists of:
------
+1. [OpenDC](https://opendc.org) version 2.4
+2. [Confluent Kafka](https://docs.confluent.io/kafka/overview.html) confluent version v4.39.0
+3. [PostgreSQL](https://www.postgresql.org/) version 18.4
+4. [Redis](https://redis.io/) version 9.1.1
+5. [Grafana](https://grafana.com/) version 13.1.0
-This repository is the home of the OpenDC project, a free and open-source platform for cloud datacenter simulation.
+Be aware the project will only work with this OpenDC (_i.e.,_ in this repository) as there are hidden Maven dependencies.
-## Latest Release
+## Schema Registry
+The Confluent ecosystem contains the Schema Registry, which enables seamless schema of the data interchange formats.
+_Sunfish_ uses ProtoBuf (see `schema.proto`) file.
+Each change to the `schema.proto` file must be updated with:
+```bash
+cd resources/experiments/
+protoc --java_out=/home/matt/git/opendc/opendc-common/src/main/java/ schema.proto
+curl -X DELETE http://localhost:8081/subjects/postgres-topic-value
+```
-All releases of OpenDC can be found [here](https://github.com/atlarge-research/opendc/releases).
-The latest release will be marked _latest_.
+## Confluent Configuration
+First, see https://www.confluent.io/installation/.
+Confluent JDBC sink and source (includes Postgres connector) files:
+https://www.confluent.io/hub/confluentinc/kafka-connect-jdbc
-## Documentation
+By default, the Kafka topic is named `postgres_topic`.
-You can find the OpenDC documentation [on the website](https://opendc.org).
-The documentation is divided into several sections:
+## Useful commands
-* [Getting Started](https://opendc.org/learn/category/getting-started)
-* [Tutorials](https://opendc.org/learn/category/tutorials)
-* [Where to Get Support](https://opendc.org/community/support)
-* [Contributing Guide](https://opendc.org/community/contributing)
+To access a certain PostgreSQL database _e.g.,_ called "opendc":
+`psql -d opendc`
-You find information about the research projects and publications related to OpenDC in the [research section](https://opendc.org/research/publications).
+This command selects everything from the topic which Kafka writes to.
+`SELECT * FROM postgres_topic;`
-The source code for the website is located in the [gh-pages branch](https://github.com/atlarge-research/opendc/tree/gh-pages).
-Push to that branch to update the website.
+Connect to Redis server via an excellent command-line tool:
+`redis-cli -h localhost -p 6379`
+Very useful tutorial https://redis.io/docs/latest/develop/data-types/streams/
+See also https://redis.io/docs/latest/develop/tools/cli/
+
+The below command returns all items in the Redis stream
+`XRANGE postgres_topic - +`
+`XTRIM postgres_topic MAXLEN 0`
+
+To create a group for consumers to read from stream:
+`XGROUP CREATE mystream mygroup 0`
## Contributing