From e23c26f7eda7bfd04d05bd43e8beb7c88279fcda Mon Sep 17 00:00:00 2001 From: Shanshan Date: Thu, 12 Sep 2024 14:07:16 +0800 Subject: [PATCH] chore: add versions to README (#1029) --- README.md | 99 +++++++++++++++++++++++----------------------- hack/get-addons.sh | 48 +++++++++++++++------- 2 files changed, 82 insertions(+), 65 deletions(-) diff --git a/README.md b/README.md index 7786be3c4..d75c05e1d 100644 --- a/README.md +++ b/README.md @@ -16,53 +16,52 @@ KubeBlocks add-ons. * [Environment variables and placeholders](https://kubeblocks.io/docs/preview/developer_docs/integration/environment-variables-and-placeholders) ## Supported Add-ons - -| NAME | DESCRIPTION | Maintainers | -| ---- | ----------- | ----------- | -| apecloud-mysql | ApeCloud MySQL is a database that is compatible with MySQL syntax and achieves high availability through the utilization of the RAFT consensus protocol. | xuriwuyun | -| apecloud-postgresql | ApeCloud PostgreSQL is a database that is compatible with PostgreSQL syntax and achieves high availability through the utilization of the RAFT consensus protocol. | ldming | -| camellia-redis-proxy | camellia-redis-proxy is a high-performance redis proxy developed using Netty4. | Y-Rookie | -| clickhouse | ClickHouse is an open-source column-oriented OLAP database management system. Use it to boost your database performance while providing linear scalability and hardware efficiency. | sophon-zt | -| dmdb | A Helm chart for Kubernetes | | -| elasticsearch | Elasticsearch is a distributed, RESTful search engine optimized for speed and relevance on production-scale workloads. | iziang | -| etcd | Etcd is a strongly consistent, distributed key-value store that provides a reliable way to store data that needs to be accessed by a distributed system or cluster of machines. | free6om | -| flink | Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. | shanshanying | -| greatsql | GreatSQL is a high performance open source relational database management system that can be used on common hardware for financial-grade application scenarios | ltaodream | -| greptimedb | An open-source, cloud-native, distributed time-series database with PromQL/SQL/Python supported. | GreptimeTeam sh2 | -| influxdb | InfluxDB(TM) is an open source time-series database. It is a core component of the TICK (Telegraf, InfluxDB(TM), Chronograf, Kapacitor) stack. | | -| kafka | Apache Kafka is a distributed streaming platform designed to build real-time pipelines and can be used as a message broker or as a replacement for a log aggregation solution for big data applications. | caiq1nyu | -| llm | Large language models. | lynnleelhl | -| loki | Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be very cost effective and easy to operate. | Chen-speculation | -| mariadb | MariaDB is a high performance open source relational database management system that is widely used for web and application servers | yinmin | -| milvus | A cloud-native vector database, storage for next generation AI applications. | leon-inf | -| minio | High Performance, Kubernetes Native Object Storage | fengluodb | -| mogdb | A Helm chart for Kubernetes | yabinji shanshanying | -| mongodb | MongoDB is a document database designed for ease of application development and scaling. | xuriwuyun | -| mysql | MySQL is a widely used, open-source relational database management system (RDBMS) | xuriwuyun | -| nebula | NebulaGraph is a popular open-source graph database that can handle large volumes of data with milliseconds of latency, scale up quickly, and have the ability to perform fast graph analytics. | Shanshan Ying Xuntao Cheng | -| neon | Neon is a serverless open-source alternative to AWS Aurora Postgres. It separates storage and compute and substitutes the PostgreSQL storage layer by redistributing data across a cluster of nodes. | skyrise | -| oceanbase-ce | Unlimited scalable distributed database for data-intensive transactional and real-time operational analytics workloads, with ultra-fast performance that has once achieved world records in the TPC-C benchmark test. OceanBase has served over 400 customers across the globe and has been supporting all mission critical systems in Alipay. | Powerfool shanshanying | -| official-postgresql | A Official PostgreSQL cluster definition Helm chart for Kubernetes | kizuna-lek | -| opengauss | A Helm chart for Kubernetes | 1aal | -| openldap | The OpenLDAP Project is a collaborative effort to develop a robust, commercial-grade, fully featured, and open source LDAP suite of applications and development tools. This chart provides KubeBlocks' | kissycn | -| opensearch | Open source distributed and RESTful search engine. | iziang | -| opentenbase | OpenTenBase is an enterprise-level distributed HTAP open source database. | ldming | -| oracle | A Helm chart for Kubernetes | 1aal | -| orchestrator | Orchestrator is a MySQL high availability and replication management tool, runs as a service and provides command line access, HTTP API and Web interface. | kubeJocker | -| orioledb | OrioleDB is a new storage engine for PostgreSQL, bringing a modern approach to database capacity, capabilities and performance to the world's most-loved database platform. | 1aal | -| polardbx | PolarDB-X is a cloud native distributed SQL Database designed for high concurrency, massive storage, complex querying scenarios. | Vettal Wu | -| postgresql | A PostgreSQL (with Patroni HA) cluster definition Helm chart for Kubernetes | ldming | -| pulsar | Apache Pulsar is an open-source, distributed messaging and streaming platform built for the cloud. | caiq1nyu | -| qdrant | High-performance, massive-scale Vector Database for the next generation of AI. | iziang | -| rabbitmq | RabbitMQ is a reliable and mature messaging and streaming broker. | xuriwuyun | -| redis | Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps. | Y-Rookie | -| risingwave | RisingWave is a distributed SQL streaming database that enables cost-efficient and reliable processing of streaming data. | RisingWave Labs | -| solr | Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene. | ApeCloud kissycn | -| starrocks-ce | A Linux Foundation project, is the next-generation data platform designed to make data-intensive real-time analytics fast and easy. | yandongxiao iziang | -| tdengine | TDengine is an open source, high-performance, cloud native time-series database optimized for Internet of Things (IoT), Connected Cars, Industrial IoT and DevOps. | leon-inf | -| tidb | TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. | csuzhangxc cjc7373 | -| victoria-metrics | VictoriaMetrics is a fast, cost-effective and scalable monitoring solution and time series database. | sophon-zt ButterBright | -| weaviate | Weaviate is an open-source vector database. It allows you to store data objects and vector embeddings from your favorite ML-models, and scale seamlessly into billions of data objects. | iziang | -| xinference | Xorbits Inference(Xinference) is a powerful and versatile library designed to serve language, speech recognition, and multimodal models. | lynnleelhl | -| yashandb | YashanDB is a new database system completely independently designed and developed by SICS. Based on classical database theories, it incorporates original Bounded Evaluation theory, Approximation theory, Parallel Scalability theory and Cross-Modal Fusion Computation theory, supports multiple deployment methods such as stand-alone/primary-standby, shared cluster, and distributed ones, covers OLTP/HTAP/OLAP transactions and analyzes mixed load scenarios, and is fully compatible with privatization and cloud infrastructure, providing clients with one-stop enterprise-level converged data management solutions to meet the needs of key industries such as finance, government, telecommunications and energy for high performance, concurrency and security. | JesseAtSZ shanshanying | -| zookeeper | Apache ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. | kubeJocker kissycn | \ No newline at end of file +| NAME | VERSIOINS | DESCRIPTION | MAINTAINERS | +| ---- | ---- | ----------- | ----------- | +| apecloud-mysql | apecloud-mysql-8.0.30
wescale-0.2.7
wescale-0.2.7 | ApeCloud MySQL is a database that is compatible with MySQL syntax and achieves high availability through the utilization of the RAFT consensus protocol. | xuriwuyun | +| apecloud-postgresql | apecloud-postgresql-14.11.0 | ApeCloud PostgreSQL is a database that is compatible with PostgreSQL syntax and achieves high availability through the utilization of the RAFT consensus protocol. | ldming | +| camellia-redis-proxy | camellia-redis-proxy-1.2.26 | camellia-redis-proxy is a high-performance redis proxy developed using Netty4. | Y-Rookie | +| clickhouse | clickhouse-22.9.4
clickhouse-22.9.4 | ClickHouse is an open-source column-oriented OLAP database management system. Use it to boost your database performance while providing linear scalability and hardware efficiency. | sophon-zt | +| dmdb | dmdb-0.1.0 | A Helm chart for Kubernetes | | +| elasticsearch | elasticsearch-7.10.1
elasticsearch-7.7.1
elasticsearch-7.8.1
elasticsearch-8.1.3
elasticsearch-8.8.2 | Elasticsearch is a distributed, RESTful search engine optimized for speed and relevance on production-scale workloads. | iziang | +| etcd | etcd-v3.5.15
etcd-v3.5.6 | Etcd is a strongly consistent, distributed key-value store that provides a reliable way to store data that needs to be accessed by a distributed system or cluster of machines. | free6om | +| flink | flink-1.16
flink-1.16 | Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. | shanshanying | +| greatsql | greatsql-8.0.32-25 | GreatSQL is a high performance open source relational database management system that can be used on common hardware for financial-grade application scenarios | ltaodream | +| greptimedb | greptimedb-0.3.2
greptimedb-0.3.2
greptimedb-0.3.2 | An open-source, cloud-native, distributed time-series database with PromQL/SQL/Python supported. | GreptimeTeam sh2 | +| influxdb | influxdb-2.7.4 | InfluxDB(TM) is an open source time-series database. It is a core component of the TICK (Telegraf, InfluxDB(TM), Chronograf, Kapacitor) stack. | | +| kafka | kafka-broker-3.3.2
kafka-combine-3.3.2
kafka-controller-3.3.2
kafka-exporter-1.6.0 | Apache Kafka is a distributed streaming platform designed to build real-time pipelines and can be used as a message broker or as a replacement for a log aggregation solution for big data applications. | caiq1nyu | +| llm | llama-cpp-python-0.1.0-new
llm-v0.2.7-amd64 | Large language models. | lynnleelhl | +| loki | loki-1.0.0
loki-1.0.0
loki-1.0.0
loki-1.0.0 | Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be very cost effective and easy to operate. | Chen-speculation | +| mariadb | mariadb-10.6.15 | MariaDB is a high performance open source relational database management system that is widely used for web and application servers | yinmin | +| milvus | milvus-v2.3.2
milvus-v2.3.2
milvus-v2.3.2
milvus-v2.3.2
milvus-v2.3.2
milvus-v2.3.2 | A cloud-native vector database, storage for next generation AI applications. | leon-inf | +| minio | minio-1.0.0-alpha.0 | High Performance, Kubernetes Native Object Storage | fengluodb | +| mogdb | mogdb-5.0.5 | A Helm chart for Kubernetes | yabinji shanshanying | +| mongodb | mongodb-4.0.28
mongodb-4.2.24
mongodb-4.4.29
mongodb-5.0.28
mongodb-6.0.16
mongodb-7.0.12 | MongoDB is a document database designed for ease of application development and scaling. | xuriwuyun | +| mysql | mysql-5.7.44
mysql-5.7.44
mysql-8.0.33
mysql-8.0.33
mysql-8.4.2
proxysql-2.4.4 | MySQL is a widely used, open-source relational database management system (RDBMS) | xuriwuyun | +| nebula | nebula-v3.5.0
nebula-v3.5.0
nebula-v3.5.0
nebula-v3.5.0 | NebulaGraph is a popular open-source graph database that can handle large volumes of data with milliseconds of latency, scale up quickly, and have the ability to perform fast graph analytics. | Shanshan Ying Xuntao Cheng | +| neon | neon-broker-1.0.0
neon-compute-1.0.0
neon-pageserver-1.0.0
neon-safekeeper-1.0.0 | Neon is a serverless open-source alternative to AWS Aurora Postgres. It separates storage and compute and substitutes the PostgreSQL storage layer by redistributing data across a cluster of nodes. | skyrise | +| oceanbase-ce | oceanbase-4.3.0 | Unlimited scalable distributed database for data-intensive transactional and real-time operational analytics workloads, with ultra-fast performance that has once achieved world records in the TPC-C benchmark test. OceanBase has served over 400 customers across the globe and has been supporting all mission critical systems in Alipay. | Powerfool shanshanying | +| official-postgresql | postgres-14.7 | A Official PostgreSQL cluster definition Helm chart for Kubernetes | kizuna-lek | +| opengauss | opengauss-5.0.0 | A Helm chart for Kubernetes | 1aal | +| openldap | openldap-2.4.57 | The OpenLDAP Project is a collaborative effort to develop a robust, commercial-grade, fully featured, and open source LDAP suite of applications and development tools. This chart provides KubeBlocks' | kissycn | +| opensearch | opensearch-2.7.0
opensearch-2.7.0 | Open source distributed and RESTful search engine. | iziang | +| opentenbase | opentenbase-v2.5.0
opentenbase-v2.5.0
opentenbase-v2.5.0 | OpenTenBase is an enterprise-level distributed HTAP open source database. | ldming | +| oracle | oracle-19.3.0-ee | A Helm chart for Kubernetes | 1aal | +| orchestrator | orchestrator-3.2.6
orchestrator-3.2.6 | Orchestrator is a MySQL high availability and replication management tool, runs as a service and provides command line access, HTTP API and Web interface. | kubeJocker | +| orioledb | orioledb-14.7.2-beta1 | OrioleDB is a new storage engine for PostgreSQL, bringing a modern approach to database capacity, capabilities and performance to the world's most-loved database platform. | 1aal | +| polardbx | polardbx-v2.3
polardbx-v2.3
polardbx-v2.3
polardbx-v2.3 | PolarDB-X is a cloud native distributed SQL Database designed for high concurrency, massive storage, complex querying scenarios. | Vettal Wu | +| postgresql | postgresql-12.14.0
postgresql-12.14.1
postgresql-12.15.0
postgresql-14.7.2
postgresql-14.8.0
postgresql-15.7.0 | A PostgreSQL (with Patroni HA) cluster definition Helm chart for Kubernetes | ldming | +| pulsar | pulsar-bkrecovery-2.11.2
pulsar-bkrecovery-3.0.2
pulsar-bookkeeper-2.11.2
pulsar-bookkeeper-3.0.2
pulsar-broker-2.11.2
pulsar-broker-3.0.2
pulsar-proxy-2.11.2
pulsar-proxy-3.0.2
pulsar-zookeeper-2.11.2
pulsar-zookeeper-3.0.2 | Apache Pulsar is an open-source, distributed messaging and streaming platform built for the cloud. | caiq1nyu | +| qdrant | qdrant-1.10.0
qdrant-1.5.0
qdrant-1.7.3
qdrant-1.8.1
qdrant-1.8.4 | High-performance, massive-scale Vector Database for the next generation of AI. | iziang | +| rabbitmq | rabbitmq-3.10.25
rabbitmq-3.11.28
rabbitmq-3.12.14
rabbitmq-3.13.2
rabbitmq-3.8.14
rabbitmq-3.9.29 | RabbitMQ is a reliable and mature messaging and streaming broker. | xuriwuyun | +| redis | redis-7.0.6
redis-7.2.4
redis-cluster-7.0.6
redis-cluster-7.2.4
redis-sentinel-7.0.6
redis-sentinel-7.2.4
redis-twemproxy-0.5.0 | Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps. | Y-Rookie | +| risingwave | risingwave-v1.0.0
risingwave-v1.0.0
risingwave-v1.0.0
risingwave-v1.0.0
risingwave-v1.0.0 | RisingWave is a distributed SQL streaming database that enables cost-efficient and reliable processing of streaming data. | RisingWave Labs | +| solr | solr-8.11.2 | Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene. | ApeCloud kissycn | +| starrocks-ce | starrocks-ce-be-3.2.2
starrocks-ce-be-3.3.0
starrocks-ce-fe-3.2.2
starrocks-ce-fe-3.3.0 | A Linux Foundation project, is the next-generation data platform designed to make data-intensive real-time analytics fast and easy. | yandongxiao iziang | +| tdengine | tdengine-3.0.5 | TDengine is an open source, high-performance, cloud native time-series database optimized for Internet of Things (IoT), Connected Cars, Industrial IoT and DevOps. | leon-inf | +| tidb | tidb-6.5.10
tidb-7.1.5
tidb-7.5.2
tidb-pd-6.5.10
tidb-pd-7.1.5
tidb-pd-7.5.2
tikv-6.5.10
tikv-7.1.5
tikv-7.5.2 | TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. | csuzhangxc cjc7373 | +| victoria-metrics | ictoria-metrics-1.0.0
ictoria-metrics-1.0.0
ictoria-metrics-1.0.0 | VictoriaMetrics is a fast, cost-effective and scalable monitoring solution and time series database. | sophon-zt ButterBright | +| weaviate | weaviate-1.23.1 | Weaviate is an open-source vector database. It allows you to store data objects and vector embeddings from your favorite ML-models, and scale seamlessly into billions of data objects. | iziang | +| xinference | xinference-0.11.0
xinference-0.11.0-cpu | Xorbits Inference(Xinference) is a powerful and versatile library designed to serve language, speech recognition, and multimodal models. | lynnleelhl | +| yashandb | yashandb-personal-23.1.1.100 | YashanDB is a new database system completely independently designed and developed by SICS. Based on classical database theories, it incorporates original Bounded Evaluation theory, Approximation theory, Parallel Scalability theory and Cross-Modal Fusion Computation theory, supports multiple deployment methods such as stand-alone/primary-standby, shared cluster, and distributed ones, covers OLTP/HTAP/OLAP transactions and analyzes mixed load scenarios, and is fully compatible with privatization and cloud infrastructure, providing clients with one-stop enterprise-level converged data management solutions to meet the needs of key industries such as finance, government, telecommunications and energy for high performance, concurrency and security. | JesseAtSZ shanshanying | +| zookeeper | zookeeper-3.4.14
zookeeper-3.6.4
zookeeper-3.7.2
zookeeper-3.8.4
zookeeper-3.9.2 | Apache ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. | kubeJocker kissycn | diff --git a/hack/get-addons.sh b/hack/get-addons.sh index d03f507a3..94f7401c8 100755 --- a/hack/get-addons.sh +++ b/hack/get-addons.sh @@ -1,8 +1,8 @@ #!/bin/bash # Initialize table header -echo "| NAME | DESCRIPTION | Maintainers |" -echo "| ---- | ----------- | ----------- |" +echo "| NAME | VERSIOINS | DESCRIPTION | MAINTAINERS |" +echo "| ---- | ---- | ----------- | ----------- |" # Traverse and sort directories # for d in $(find . -type d ! -name "*cluster" -not -name "common" -not -name "kblib" -not -name "neonvm" | sort); do @@ -12,23 +12,41 @@ for d in $(find ./addons -type d -not -name "common" -not -name "kblib" -not -n # Use yq to read fields name=$(yq e '.name' $d/Chart.yaml) description=$(yq e '.description' $d/Chart.yaml) + dir_name=$(basename $d) - # dir_name=$(basename $d) - # helm dependency build addons/$dir_name --skip-refresh > /dev/null 2>&1 - # version_lines=$(helm template addon addons/$dir_name | grep -A 5 'kind: ClusterVersion' | grep ' name:' | awk '{print $2}' | cut -d '-' -f 2- | sort) - # versions="" - # while IFS= read -r line - # do - # if [[ $line == v* ]]; then - # line=${line:1} - # fi - # versions+="${line}
" - # done <<<"$version_lines" - # versions=${versions%
} + helm dependency build addons/$dir_name --skip-refresh > /dev/null 2>&1 + helm template addon addons/$dir_name > /tmp/rendered.yaml + + # prase from ComponentVersion + version_lines=$(cat "/tmp/rendered.yaml" | yq e '. | select(.kind == "ComponentVersion")' | yq '.metadata.name + "-" +.spec.releases[].serviceVersion' -N | sort) + # if version_lines is empty, try to get version from ComponentDefinition + if [[ -z $version_lines ]]; then + version_lines=$(cat "/tmp/rendered.yaml" | yq e '. | select(.kind == "ComponentDefinition")' | yq '.spec.serviceKind + "-" +.spec.serviceVersion' -N | sort) + fi + # if version_lines is empty, try to get version from List of ComponentDefinition + if [[ -z $version_lines ]]; then + version_lines=$(cat "/tmp/rendered.yaml" | yq e '. | select(.kind == "List") | .items[0] | select(.kind == "ComponentDefinition") | .spec.serviceKind + "-" +.spec.serviceVersion' -N | sort) + fi + # if version_lines is empty, try to get version from clusterdefintioin + if [[ -z $version_lines ]]; then + version_lines=$(cat "/tmp/rendered.yaml" | yq e '. | select(.kind == "ClusterDefinition") | .spec.componentDefs[].podSpec.containers[0].image | sub(".*/", "") | sub(":", "-")' -N | sort) + fi + + # version_lines=$(helm template addon addons/$dir_name | grep -A 5 'kind: ComponentVersion' | grep ' name:' | awk '{print $2}' | cut -d '-' -f 2- | sort) + versions="" + while IFS= read -r line + do + if [[ $line == v* ]]; then + line=${line:1} + fi + versions+="${line}
" + done <<<"$version_lines" + versions=${versions%
} + # echo $versions # Output as Markdown table row maintainers=$(yq e '.maintainers[].name' $d/Chart.yaml) maintainers=$(echo $maintainers | tr '\r' ' ') - echo "| $name | $description | $maintainers |" + echo "| $name | $versions | $description | $maintainers |" fi done \ No newline at end of file