diff --git a/experimental/addons/kyuubi/README.md b/experimental/addons/kyuubi/README.md new file mode 100644 index 00000000..5d990d9c --- /dev/null +++ b/experimental/addons/kyuubi/README.md @@ -0,0 +1,37 @@ +# kyuubi + +Apache Kyuubi is a distributed and multi-tenant gateway to provide serverless SQL on data warehouses and lakehouses. + +For more information about Apache Kyuubi, please see the Apache Kyuubi documentation: https://kyuubi.readthedocs.io/en/master/. + +## Install + +Add experimental registry + +``` +vela addon registry add experimental --type=helm --endpoint=https://addons.kubevela.net/experimental/ +``` + +Enable this addon + +``` +vela addon enable fluxcd +vela addon enable kyuubi +``` + +Uninstall + +``` +vela addon disable kyuubi +``` + +# To check the kyuubi running status + +* Firstly, check the kyuubi(and the fluxcd and we need to deploy by helm) running status: + +``` +vela addon status kyuubi +vela ls -A | grep kyuubi +``` + + diff --git a/experimental/addons/kyuubi/metadata.yaml b/experimental/addons/kyuubi/metadata.yaml new file mode 100644 index 00000000..1cc98000 --- /dev/null +++ b/experimental/addons/kyuubi/metadata.yaml @@ -0,0 +1,14 @@ +description: A distributed and multi-tenant gateway to provide serverless SQL on lakehouses. +icon: "https://raw.githubusercontent.com/apache/kyuubi/master/docs/imgs/logo.png" +invisible: false +name: kyuubi +tags: +- apache/kyuubi +version: 1.6 +url: https://github.com/apache/kyuubi + +dependencies: + - name: fluxcd + +system: + vela: ">=1.5.0-beta.3" diff --git a/experimental/addons/kyuubi/parameter.cue b/experimental/addons/kyuubi/parameter.cue new file mode 100644 index 00000000..29da4771 --- /dev/null +++ b/experimental/addons/kyuubi/parameter.cue @@ -0,0 +1,16 @@ +// parameter.cue is used to store addon parameters. +// +// You can use these parameters in template.cue or in resources/ by 'parameter.myparam' +// +// For example, you can use parameters to allow the user to customize +// container images, ports, and etc. +parameter: { + // +usage=Deploy to specified clusters. Leave empty to deploy to all clusters. + clusters?: [...string] + // +usage=Namespace to deploy to + namespace: *"kyuubi-ns" | string + // +usage=Specify the image repository + "imageRepository": *"apache/kyuubi" | string + // +usage=Specify the image tag + "imageTag": *"" | string +} diff --git a/experimental/addons/kyuubi/template.cue b/experimental/addons/kyuubi/template.cue new file mode 100644 index 00000000..b549b53a --- /dev/null +++ b/experimental/addons/kyuubi/template.cue @@ -0,0 +1,40 @@ +package main +output: { + apiVersion: "core.oam.dev/v1beta1" + kind: "Application" + spec: { + components: [{ + type: "k8s-objects" + name: "kyuubi-ns" + properties: objects: [{ + apiVersion: "v1" + kind: "Namespace" + metadata: name: parameter.namespace + }] + }, + { + name: "kyuubi-helm" + type: "helm" + dependsOn: ["kyuubi-ns"] + properties: { + repoType: "helm" + url: "https://awesome-kyuubi.github.io/kyuubi-helm-chart/" + chart: "kyuubi" + targetNamespace: parameter["namespace"] + version: "0.1.0" + values: { + image: { + repository: parameter["imageRepository"] + tag: parameter["imageTag"] + }, + kyuubiConf: { + kyuubiDefaults: """ + spark.master=local + """ + } + } + } + }] + policies: [] + } +}