diff --git a/README.md b/README.md index a56c763b0..f84a7a304 100644 --- a/README.md +++ b/README.md @@ -14,38 +14,37 @@ KubeBlocks add-ons. * [Environment variables and placeholders](https://kubeblocks.io/docs/release-0.6/developer_docs/integration/environment-variables-and-placeholders) ## Supported Add-ons -| NAME | DESCRIPTION | -| ---- | ----------- | -| 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. | -| 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. | -| 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. | -| elasticsearch | A Helm chart for elasticsearch | -| 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. | -| foxlake | ApeCloud FoxLake is an open-source cloud-native data warehouse. | -| greptimedb | GreptimeDB Cluster Helm Chart for KubeBlocks. | -| 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. This chart provides KubeBlocks' ClusterDefinition API manifests. | -| llm | A Helm chart for Kubernetes | -| mariadb | MariaDB is a high performance open source relational database management system that is widely used for web and application servers | -| milvus | . | -| mongodb | MongoDB is a document database designed for ease of application development and scaling. | -| mysql | MySQL is a widely used, open-source relational database management system (RDBMS) | -| nebula | Nebula Graph Cluster Helm Chart for KubeBlocks. | -| neon | Neon Helm Chart for KubeBlocks. | -| neonvm | A Helm chart for Kubernetes | -| oceanbase | 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. | -| official-postgresql | A Official PostgreSQL cluster definition Helm chart for Kubernetes | -| 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' | -| opensearch | A Helm chart for OpenSearch | -| oracle-mysql | MySQL is a widely used, open-source relational database management system (RDBMS) | -| orioledb | A Helm chart for Kubernetes | -| polardbx | PolarDB-X Cluster Helm Chart for KubeBlocks. | -| postgresql | A PostgreSQL (with Patroni HA) cluster definition Helm chart for Kubernetes | -| pulsar | Apache Pulsar is an open-source, distributed messaging and streaming platform built for the cloud. | -| qdrant | High-performance, massive-scale Vector Database for the next generation of AI. | -| redis | A Redis cluster definition Helm chart for Kubernetes | -| risingwave | A RisingWave Helm chart for KubeBlocks. | -| starrocks | A Helm chart for Kubernetes | -| tdengine | A Specific Implementation of TDengine Chart for Kubernetes, and provides by KubeBlocks' ClusterDefinition API manifests. | -| 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. | -| xinference | A Helm chart for Kubernetes | -| zookeeper | Apache ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. | \ No newline at end of file +| NAME | APP-VERSION | DESCRIPTION | +| ---- | --------- | ----------- | +| apecloud-mysql | 8.0.30 | ApeCloud MySQL is a database that is compatible with MySQL syntax and achieves high availability through the utilization of the RAFT consensus protocol. +| apecloud-postgresql | latest | ApeCloud PostgreSQL is a database that is compatible with PostgreSQL syntax and achieves high availability through the utilization of the RAFT consensus protocol. +| 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. +| elasticsearch | 8.8.2 | Elasticsearch is a distributed, RESTful search engine optimized for speed and relevance on production-scale workloads. +| 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. +| foxlake | 0.2.0 | ApeCloud FoxLake is an open-source cloud-native data warehouse. +| greptimedb | 0.3.2 | An open-source, cloud-native, distributed time-series database with PromQL/SQL/Python supported. +| kafka | 3.3.2 | 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. This chart provides KubeBlocks' ClusterDefinition API manifests. +| llm | baichuan-7b-q4
baichuan2-13b-q4
baichuan2-7b-4q
codeshell-7b-chat-q4
latest
replit-code-3b-f16
zephyr-beta-7b-q4 | Large language models. +| mariadb | 10.6.15 | MariaDB is a high performance open source relational database management system that is widely used for web and application servers +| milvus | 2.2.4 | A cloud-native vector database, storage for next generation AI applications. +| mongodb | 4.0
4.2
4.4
5.0
5.0.20
6.0
sharding-5.0 | MongoDB is a document database designed for ease of application development and scaling. +| mysql | 5.7.42
8.0.33 | MySQL is a widely used, open-source relational database management system (RDBMS) +| 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. +| neon | latest | 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. +| oceanbase | 4.2.0.0-100010032023083021 | 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. +| official-postgresql | 12.15
14.7
14.7-zhparser | A Official PostgreSQL cluster definition Helm chart for Kubernetes +| 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' +| opensearch | 2.7.0 | Open source distributed and RESTful search engine. +| oracle-mysql | 8.0.32
8.0.32-perf | MySQL is a widely used, open-source relational database management system (RDBMS) +| orioledb | 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. +| polardbx | v2.3 | PolarDB-X is a cloud native distributed SQL Database designed for high concurrency, massive storage, complex querying scenarios. +| postgresql | 12.14.0
12.14.1
12.15.0
14.7.2
14.8.0 | A PostgreSQL (with Patroni HA) cluster definition Helm chart for Kubernetes +| pulsar | 2.11.2 | Apache Pulsar is an open-source, distributed messaging and streaming platform built for the cloud. +| qdrant | 1.5.0 | High-performance, massive-scale Vector Database for the next generation of AI. +| redis | 7.0.6 | 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. +| risingwave | v1.0.0 | RisingWave is a distributed SQL streaming database that enables cost-efficient and reliable processing of streaming data. +| starrocks | 3.1.1 | A Linux Foundation project, is the next-generation data platform designed to make data-intensive real-time analytics fast and easy. +| tdengine | 3.0.5.0 | A Specific Implementation of TDengine Chart for Kubernetes, and provides by KubeBlocks' ClusterDefinition API manifests. +| weaviate | 1.18.0 | 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. +| xinference | 1.16.0
cpu-latest | Xorbits Inference(Xinference) is a powerful and versatile library designed to serve language, speech recognition, and multimodal models. +| zookeeper | 3.7.1 | Apache ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. diff --git a/addons/elasticsearch/Chart.yaml b/addons/elasticsearch/Chart.yaml index 226af59ee..d95da9785 100644 --- a/addons/elasticsearch/Chart.yaml +++ b/addons/elasticsearch/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: elasticsearch -description: A Helm chart for elasticsearch +description: Elasticsearch is a distributed, RESTful search engine optimized for speed and relevance on production-scale workloads. # A chart can be either an 'application' or a 'library' chart. # diff --git a/addons/greptimedb/Chart.yaml b/addons/greptimedb/Chart.yaml index 6b33062f8..558e129f1 100644 --- a/addons/greptimedb/Chart.yaml +++ b/addons/greptimedb/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: greptimedb -description: GreptimeDB Cluster Helm Chart for KubeBlocks. +description: An open-source, cloud-native, distributed time-series database with PromQL/SQL/Python supported. # This is the chart version version: 0.1.0-beta.1 diff --git a/addons/llm/Chart.yaml b/addons/llm/Chart.yaml index b61ede88c..dd26537e7 100644 --- a/addons/llm/Chart.yaml +++ b/addons/llm/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: llm -description: A Helm chart for Kubernetes +description: Large language models. # A chart can be either an 'application' or a 'library' chart. # diff --git a/addons/mariadb/templates/clusterversion.yaml b/addons/mariadb/templates/clusterversion.yaml index 9aa035c15..7d170baba 100644 --- a/addons/mariadb/templates/clusterversion.yaml +++ b/addons/mariadb/templates/clusterversion.yaml @@ -1,7 +1,7 @@ apiVersion: apps.kubeblocks.io/v1alpha1 kind: ClusterVersion metadata: - name: mariadb + name: mariadb-{{ default .Chart.AppVersion .Values.clusterVersionOverride }} spec: clusterDefinitionRef: mariadb componentVersions: diff --git a/addons/milvus/Chart.yaml b/addons/milvus/Chart.yaml index 2aaed8f50..9510ba445 100644 --- a/addons/milvus/Chart.yaml +++ b/addons/milvus/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: milvus -description: . +description: A cloud-native vector database, storage for next generation AI applications. type: application diff --git a/addons/nebula/Chart.yaml b/addons/nebula/Chart.yaml index 29383f806..67cb64e15 100644 --- a/addons/nebula/Chart.yaml +++ b/addons/nebula/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: nebula -description: Nebula Graph Cluster Helm Chart for KubeBlocks. +description: 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. version: 0.5.1-beta.0 appVersion: "v3.5.0" home: https://nebula-graph.io diff --git a/addons/neon/Chart.yaml b/addons/neon/Chart.yaml index 3dd96e1de..956ec07f1 100755 --- a/addons/neon/Chart.yaml +++ b/addons/neon/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: neon -description: Neon Helm Chart for KubeBlocks. +description: 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. type: application version: 0.6.0-alpha.21 appVersion: "pg14-1.0.0" diff --git a/addons/opensearch/Chart.yaml b/addons/opensearch/Chart.yaml index ce3b85797..40ae6f01c 100644 --- a/addons/opensearch/Chart.yaml +++ b/addons/opensearch/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: opensearch -description: A Helm chart for OpenSearch +description: Open source distributed and RESTful search engine. # A chart can be either an 'application' or a 'library' chart. # diff --git a/addons/orioledb/Chart.yaml b/addons/orioledb/Chart.yaml index 33d0ef315..6104f63b1 100644 --- a/addons/orioledb/Chart.yaml +++ b/addons/orioledb/Chart.yaml @@ -1,7 +1,6 @@ apiVersion: v2 name: orioledb -description: A Helm chart for Kubernetes - +description: 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. type: application diff --git a/addons/polardbx/Chart.yaml b/addons/polardbx/Chart.yaml index 6482baa02..07c3d570d 100644 --- a/addons/polardbx/Chart.yaml +++ b/addons/polardbx/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: polardbx -description: PolarDB-X Cluster Helm Chart for KubeBlocks. +description: PolarDB-X is a cloud native distributed SQL Database designed for high concurrency, massive storage, complex querying scenarios. type: application version: 0.1.0 diff --git a/addons/redis/Chart.yaml b/addons/redis/Chart.yaml index cc6975d16..affee2820 100644 --- a/addons/redis/Chart.yaml +++ b/addons/redis/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: redis -description: A Redis cluster definition Helm chart for Kubernetes +description: "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." type: application diff --git a/addons/risingwave/Chart.yaml b/addons/risingwave/Chart.yaml index b80deb6f4..cd58c57b5 100644 --- a/addons/risingwave/Chart.yaml +++ b/addons/risingwave/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: risingwave -description: A RisingWave Helm chart for KubeBlocks. +description: RisingWave is a distributed SQL streaming database that enables cost-efficient and reliable processing of streaming data. annotations: category: Database diff --git a/addons/starrocks/Chart.yaml b/addons/starrocks/Chart.yaml index 808107615..34086e2c9 100644 --- a/addons/starrocks/Chart.yaml +++ b/addons/starrocks/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: starrocks -description: A Helm chart for Kubernetes +description: A Linux Foundation project, is the next-generation data platform designed to make data-intensive real-time analytics fast and easy. # A chart can be either an 'application' or a 'library' chart. # diff --git a/addons/xinference/Chart.yaml b/addons/xinference/Chart.yaml index 8d299d956..7a420d512 100644 --- a/addons/xinference/Chart.yaml +++ b/addons/xinference/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: xinference -description: A Helm chart for Kubernetes +description: Xorbits Inference(Xinference) is a powerful and versatile library designed to serve language, speech recognition, and multimodal models. # A chart can be either an 'application' or a 'library' chart. # diff --git a/addons/xinference/templates/clusterversion.yaml b/addons/xinference/templates/clusterversion.yaml index e1807cfb6..05460aa6d 100644 --- a/addons/xinference/templates/clusterversion.yaml +++ b/addons/xinference/templates/clusterversion.yaml @@ -1,7 +1,7 @@ apiVersion: apps.kubeblocks.io/v1alpha1 kind: ClusterVersion metadata: - name: xinference-latest + name: xinference-{{ default .Chart.AppVersion }} labels: {{- include "xinference.labels" . | nindent 4 }} annotations: diff --git a/hack/get-addons.sh b/hack/get-addons.sh index 9afcf7ac1..8934ea063 100755 --- a/hack/get-addons.sh +++ b/hack/get-addons.sh @@ -11,7 +11,9 @@ for d in $(find . -type d ! -name "*cluster" -not -name "common" -not -name "kbl # Use yq to read fields name=$(yq e '.name' $d/Chart.yaml) description=$(yq e '.description' $d/Chart.yaml) - appVersion=$(yq e '.appVersion' $d/Chart.yaml) + dir_name=$(basename $d) + helm dependency build addons/$dir_name --skip-refresh > /dev/null 2>&1 + appVersion=$(helm template addon addons/$dir_name | grep -A 5 -B 1 'kind: ClusterVersion' | grep ' name:' | awk '{print $2}' | cut -d '-' -f 2- | sort | tr '\n' ',' | sed 's/,$//' | sed 's/,/
/g') # Output as Markdown table row echo "| $name | $appVersion | $description"