Skip to content

Commit

Permalink
feat: add applications sub directory and addon CRs
Browse files Browse the repository at this point in the history
  • Loading branch information
ldming authored Sep 25, 2023
2 parents 17b48d6 + 8c15e2f commit a58d22e
Show file tree
Hide file tree
Showing 58 changed files with 2,211 additions and 3 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.idea
.DS_Store
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ and make a pull request to this repository.
## The `block-index` file and directory structure

```bash
addons/ # A directory containing `addons.extensions.kubeblocks.io` manifests.
plugins/ # A directory containing `cliplugins.extensions.kubeblocks.io` manifests.
krew-plugins/ # A directory containing `plugins.krew.googlecontainertools.github.com` manifests.
addons/ # A directory containing `addons.extensions.kubeblocks.io` manifests.
applications/ # A directory containing `applications.extensions.kubeblocks.io` manifests.
cli-plugins/ # A directory containing `cliplugins.extensions.kubeblocks.io` manifests.
krew-plugins/ # A directory containing `plugins.krew.googlecontainertools.github.com` manifests.
```
32 changes: 32 additions & 0 deletions addons/apecloud-mysql/apecloud-mysql-addon.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
apiVersion: extensions.kubeblocks.io/v1alpha1
kind: Addon
metadata:
name: apecloud-mysql
labels:
{{- include "kubeblocks.labels" . | nindent 4 }}
"kubeblocks.io/provider": apecloud
{{- if .Values.keepAddons }}
annotations:
helm.sh/resource-policy: keep
{{- end }}
spec:
description: 'ApeCloud MySQL is a database that is compatible with MySQL syntax and achieves high availability
through the utilization of the RAFT consensus protocol.'

type: Helm

helm:
{{- include "kubeblocks.addonChartLocationURL" ( dict "name" "apecloud-mysql" "version" (default .Chart.Version .Values.versionOverride) "values" .Values) | indent 4 }}
{{- include "kubeblocks.addonChartsImage" . | indent 4 }}

installOptions:
{{- if hasPrefix "oci://" .Values.addonChartLocationBase }}
version: {{ default .Chart.Version .Values.versionOverride }}
{{- end }}

defaultInstallValues:
- enabled: true

installable:
autoInstall: true

34 changes: 34 additions & 0 deletions addons/elasticsearch/elasticsearch-addon.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# copy from opsearch
apiVersion: extensions.kubeblocks.io/v1alpha1
kind: Addon
metadata:
name: elasticsearch
labels:
{{- include "kubeblocks.labels" . | nindent 4 }}
"kubeblocks.io/provider": community
{{- if .Values.keepAddons }}
annotations:
helm.sh/resource-policy: keep
{{- end }}
spec:
description: 'Elasticsearch is a distributed search and analytics engine. It is used for web search, log monitoring, and real-time analytics. Ideal for Big Data applications.'

type: Helm

helm:
{{- include "kubeblocks.addonChartLocationURL" ( dict "name" "elasticsearch" "version" (default .Chart.Version .Values.versionOverride) "values" .Values) | indent 4 }}
{{- include "kubeblocks.addonChartsImage" . | indent 4 }}

installOptions:
{{- if hasPrefix "oci://" .Values.addonChartLocationBase }}
version: {{ default .Chart.Version .Values.versionOverride }}
{{- end }}

installable:
autoInstall: false

defaultInstallValues:
- enabled: false
{{- with .Values.tolerations }}
tolerations: {{ toJson . | quote }}
{{- end }}
30 changes: 30 additions & 0 deletions addons/foxlake/foxlake-addon.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
apiVersion: extensions.kubeblocks.io/v1alpha1
kind: Addon
metadata:
name: foxlake
labels:
{{- include "kubeblocks.labels" . | nindent 4 }}
"kubeblocks.io/provider": community
{{- if .Values.keepAddons }}
annotations:
helm.sh/resource-policy: keep
{{- end }}
spec:
description: ApeCloud FoxLake is an open-source cloud-native data warehouse.

type: Helm

helm:
{{- include "kubeblocks.addonChartLocationURL" ( dict "name" "foxlake" "version" (default .Chart.Version .Values.versionOverride) "values" .Values) | indent 4 }}
{{- include "kubeblocks.addonChartsImage" . | indent 4 }}

installOptions:
{{- if hasPrefix "oci://" .Values.addonChartLocationBase }}
version: {{ default .Chart.Version .Values.versionOverride }}
{{- end }}

installable:
autoInstall: false

defaultInstallValues:
- enabled: true
30 changes: 30 additions & 0 deletions addons/greptimedb/greptimedb-addon.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
apiVersion: extensions.kubeblocks.io/v1alpha1
kind: Addon
metadata:
name: greptimedb
labels:
{{- include "kubeblocks.labels" . | nindent 4 }}
"kubeblocks.io/provider": community
{{- if .Values.keepAddons }}
annotations:
helm.sh/resource-policy: keep
{{- end }}
spec:
description: 'GreptimeDB is an Apache 2.0 licensed distributed time-series database.'

type: Helm

helm:
{{- include "kubeblocks.addonChartLocationURL" ( dict "name" "greptimedb" "version" (default .Chart.Version .Values.versionOverride) "values" .Values) | indent 4 }}
{{- include "kubeblocks.addonChartsImage" . | indent 4 }}

installOptions:
{{- if hasPrefix "oci://" .Values.addonChartLocationBase }}
version: {{ default .Chart.Version .Values.versionOverride }}
{{- end }}

installable:
autoInstall: false

defaultInstallValues:
- enabled: true
31 changes: 31 additions & 0 deletions addons/kafka/kafka-addon.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
apiVersion: extensions.kubeblocks.io/v1alpha1
kind: Addon
metadata:
name: kafka
labels:
{{- include "kubeblocks.labels" . | nindent 4 }}
"kubeblocks.io/provider": community
{{- if .Values.keepAddons }}
annotations:
helm.sh/resource-policy: keep
{{- end }}
spec:
description: '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.'

type: Helm

helm:
{{- include "kubeblocks.addonChartLocationURL" ( dict "name" "kafka" "version" (default .Chart.Version .Values.versionOverride) "values" .Values) | indent 4 }}
{{- include "kubeblocks.addonChartsImage" . | indent 4 }}

installOptions:
{{- if hasPrefix "oci://" .Values.addonChartLocationBase }}
version: {{ default .Chart.Version .Values.versionOverride }}
{{- end }}

installable:
autoInstall: true

defaultInstallValues:
- enabled: true
46 changes: 46 additions & 0 deletions addons/llm/llm-addon.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
apiVersion: extensions.kubeblocks.io/v1alpha1
kind: Addon
metadata:
name: llm
labels:
{{- include "kubeblocks.labels" . | nindent 4 }}
{{- if .Values.keepAddons }}
annotations:
helm.sh/resource-policy: keep
{{- end }}
spec:
description: The large language model.
type: Helm

helm:
{{- include "kubeblocks.addonChartLocationURL" ( dict "name" "llm" "version" (default .Chart.Version .Values.versionOverride) "values" .Values) | indent 4 }}
{{- include "kubeblocks.addonChartsImage" . | indent 4 }}

installOptions:
{{- if hasPrefix "oci://" .Values.addonChartLocationBase }}
version: 0.1.0
{{- end }}

valuesMapping:
valueMap:
replicaCount: replicaCount

jsonMap:
tolerations: tolerations

resources:
cpu:
requests: resources.requests.cpu
limits: resources.limits.cpu
memory:
requests: resources.requests.memory
limits: resources.limits.memory

defaultInstallValues:
- replicas: 1
{{- with .Values.tolerations }}
tolerations: {{ toJson . | quote }}
{{- end }}

installable:
autoInstall: false
33 changes: 33 additions & 0 deletions addons/milvus/milvus-addon.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
apiVersion: extensions.kubeblocks.io/v1alpha1
kind: Addon
metadata:
name: milvus
labels:
{{- include "kubeblocks.labels" . | nindent 4 }}
"kubeblocks.io/provider": community
{{- if .Values.keepAddons }}
annotations:
helm.sh/resource-policy: keep
{{- end }}
spec:
description: 'Milvus is an open source (Apache-2.0 licensed) vector database built to power embedding similarity search and AI applications.'

type: Helm

helm:
{{- include "kubeblocks.addonChartLocationURL" ( dict "name" "milvus" "version" (default .Chart.Version .Values.versionOverride) "values" .Values) | indent 4 }}
{{- include "kubeblocks.addonChartsImage" . | indent 4 }}

installOptions:
{{- if hasPrefix "oci://" .Values.addonChartLocationBase }}
version: {{ default .Chart.Version .Values.versionOverride }}
{{- end }}

installable:
autoInstall: false

defaultInstallValues:
- enabled: false
{{- with .Values.tolerations }}
tolerations: {{ toJson . | quote }}
{{- end }}
30 changes: 30 additions & 0 deletions addons/mongodb/mongodb-addon.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
apiVersion: extensions.kubeblocks.io/v1alpha1
kind: Addon
metadata:
name: mongodb
labels:
{{- include "kubeblocks.labels" . | nindent 4 }}
"kubeblocks.io/provider": community
{{- if .Values.keepAddons }}
annotations:
helm.sh/resource-policy: keep
{{- end }}
spec:
description: 'MongoDB is a document database designed for ease of application development and scaling.'

type: Helm

helm:
{{- include "kubeblocks.addonChartLocationURL" ( dict "name" "mongodb" "version" (default .Chart.Version .Values.versionOverride) "values" .Values) | indent 4 }}
{{- include "kubeblocks.addonChartsImage" . | indent 4 }}

installOptions:
{{- if hasPrefix "oci://" .Values.addonChartLocationBase }}
version: {{ default .Chart.Version .Values.versionOverride }}
{{- end }}

installable:
autoInstall: true

defaultInstallValues:
- enabled: true
30 changes: 30 additions & 0 deletions addons/mysql/mysql-addon.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
apiVersion: extensions.kubeblocks.io/v1alpha1
kind: Addon
metadata:
name: mysql
labels:
{{- include "kubeblocks.labels" . | nindent 4 }}
"kubeblocks.io/provider": community
{{- if .Values.keepAddons }}
annotations:
helm.sh/resource-policy: keep
{{- end }}
spec:
description: 'MySQL is a widely used, open-source relational database management system (RDBMS).'

type: Helm

helm:
{{- include "kubeblocks.addonChartLocationURL" ( dict "name" "mysql" "version" (default .Chart.Version .Values.versionOverride) "values" .Values) | indent 4 }}
{{- include "kubeblocks.addonChartsImage" . | indent 4 }}

installOptions:
{{- if hasPrefix "oci://" .Values.addonChartLocationBase }}
version: {{ default .Chart.Version .Values.versionOverride }}
{{- end }}

installable:
autoInstall: true

defaultInstallValues:
- enabled: true
30 changes: 30 additions & 0 deletions addons/nebula/nebula-addon.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
apiVersion: extensions.kubeblocks.io/v1alpha1
kind: Addon
metadata:
name: nebula
labels:
{{- include "kubeblocks.labels" . | nindent 4 }}
"kubeblocks.io/provider": community
{{- if .Values.keepAddons }}
annotations:
helm.sh/resource-policy: keep
{{- end }}
spec:
description: 'NebulaGraph is an Apache 2.0 licensed distributed graph database.'

type: Helm

helm:
{{- include "kubeblocks.addonChartLocationURL" ( dict "name" "nebula" "version" (default .Chart.Version .Values.versionOverride) "values" .Values) | indent 4 }}
{{- include "kubeblocks.addonChartsImage" . | indent 4 }}

installOptions:
{{- if hasPrefix "oci://" .Values.addonChartLocationBase }}
version: {{ default .Chart.Version .Values.versionOverride }}
{{- end }}

installable:
autoInstall: false

defaultInstallValues:
- enabled: true
30 changes: 30 additions & 0 deletions addons/neon/neon-addon.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
apiVersion: extensions.kubeblocks.io/v1alpha1
kind: Addon
metadata:
name: neon
labels:
{{- include "kubeblocks.labels" . | nindent 4 }}
"kubeblocks.io/provider": community
{{- if .Values.keepAddons }}
annotations:
helm.sh/resource-policy: keep
{{- end }}
spec:
description: 'Neon is a fully managed serverless PostgreSQL with a generous free tier. Neon separates storage and compute and offers modern developer features such as serverless, branching, bottomless storage, and more. Before deploying neon, you must execute `kbcli addon enable cert-manager` command to deploy cert-manager.'

type: Helm

helm:
{{- include "kubeblocks.addonChartLocationURL" ( dict "name" "neon" "version" (default .Chart.Version .Values.versionOverride) "values" .Values) | indent 4 }}
{{- include "kubeblocks.addonChartsImage" . | indent 4 }}

installOptions:
{{- if hasPrefix "oci://" .Values.addonChartLocationBase }}
version: {{ default .Chart.Version .Values.versionOverride }}
{{- end }}

installable:
autoInstall: false

defaultInstallValues:
- enabled: true
Loading

0 comments on commit a58d22e

Please sign in to comment.