From f36731ec4beb3ce5973f9068e38ae5eec777f2fc Mon Sep 17 00:00:00 2001
From: EamonZhang <zhang.eamon@hotmail.com>
Date: Tue, 21 Nov 2023 11:51:57 +0800
Subject: [PATCH 01/22] feat(stacks): add pgweb

---
 scripts/checker.py    | 12 ++++++++++++
 stacks/pgweb/build.sh | 18 ++++++++++++++++++
 2 files changed, 30 insertions(+)
 create mode 100644 stacks/pgweb/build.sh

diff --git a/scripts/checker.py b/scripts/checker.py
index 4c11833..8632102 100644
--- a/scripts/checker.py
+++ b/scripts/checker.py
@@ -37,6 +37,12 @@
         "owner": "prometheus-community",
         "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
     },
+    "pgweb": {
+        "name": "pgweb",
+        "type": "github",
+        "owner": "sosedoff",
+        "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
+    },    
     "jmx_exporter": {
         "name": "jmx_exporter",
         "type": "github",
@@ -295,6 +301,12 @@
         "owner": "mysql",
         "match": "^[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
     },
+    "repmgr": {
+        "name": "repmgr",
+        "type": "github",
+        "owner": "EnterpriseDB",
+        "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
+    },
     "zookeeper": {
         "name": "zookeeper",
         "type": "github",
diff --git a/stacks/pgweb/build.sh b/stacks/pgweb/build.sh
new file mode 100644
index 0000000..b673605
--- /dev/null
+++ b/stacks/pgweb/build.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+# Load stack utils
+. /usr/bin/stack-utils
+# Implement build function
+function build() {
+  # Generate binary
+  BIN_DIR="${DATA_DIR}"/bin
+  mkdir -p "${BIN_DIR}"
+  # postgresql
+  curl -fsSL -o pgweb_linux_${OS_ARCH}.zip  "https://github.com/sosedoff/pgweb/releases/download/${STACK_VERSION}/pgweb_linux_${OS_ARCH}.zip" 
+  unzip pgweb_linux_${OS_ARCH}.zip
+  rm pgweb_linux_${OS_ARCH}.zip 
+  mv pgweb_linux_${OS_ARCH} "${BIN_DIR}"
+}
+
+# call build stack
+build-stack "${1}"
\ No newline at end of file

From 67a7807c0becc7eaec61c3fd08c8fb0129f30b43 Mon Sep 17 00:00:00 2001
From: EamonZhang <zhang.eamon@hotmail.com>
Date: Tue, 21 Nov 2023 11:58:26 +0800
Subject: [PATCH 02/22] fix(checher): delete repmgr

---
 scripts/checker.py | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/scripts/checker.py b/scripts/checker.py
index 04552ad..2bc15c8 100644
--- a/scripts/checker.py
+++ b/scripts/checker.py
@@ -307,12 +307,6 @@
         "owner": "mysql",
         "match": "^[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
     },
-    "repmgr": {
-        "name": "repmgr",
-        "type": "github",
-        "owner": "EnterpriseDB",
-        "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
-    },
     "zookeeper": {
         "name": "zookeeper",
         "type": "github",

From bcd5aeedb5d39ca0d91ddecca4fc92b44e3c3bb7 Mon Sep 17 00:00:00 2001
From: EamonZhang <zhang.eamon@hotmail.com>
Date: Mon, 27 Nov 2023 13:59:29 +0800
Subject: [PATCH 03/22] chore(stacks): add cloudbeaver

---
 scripts/checker.py           |  6 ++++++
 stacks/clouddbeaver/build.sh | 28 ++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100644 stacks/clouddbeaver/build.sh

diff --git a/scripts/checker.py b/scripts/checker.py
index 2bc15c8..eecba69 100644
--- a/scripts/checker.py
+++ b/scripts/checker.py
@@ -13,6 +13,12 @@
         "owner": "prometheus",
         "match": "^v[2-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
     },
+    "cloudbeaver": {
+        "name": "cloudbeaver",
+        "type": "github",
+        "owner": "dbeaver",
+        "match": "[2-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
+    },
     "vouch-proxy": {
         "name": "vouch-proxy",
         "type": "github",
diff --git a/stacks/clouddbeaver/build.sh b/stacks/clouddbeaver/build.sh
new file mode 100644
index 0000000..0a1862b
--- /dev/null
+++ b/stacks/clouddbeaver/build.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+# Load stack utils
+. /usr/bin/stack-utils
+
+# Implement build function
+function build() {
+  # ref : https://github.com/dbeaver/cloudbeaver/wiki/Build-and-deploy
+  cd /opt/drycc/
+  . init-stack
+  NODE_VERSION=16.20.1
+  DBEAVER_VERSION=23.2.5
+  install-packages openjdk-17-jdk maven gnupg gnupg2 git
+  java --version &&  mvn --version 
+  curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
+  echo "deb https://dl.yarnpkg.com/debian/ stable main" |  tee /etc/apt/sources.list.d/yarn.list
+  curl -sL https://deb.nodesource.com/setup_14.x |   bash -
+  install-packages yarn
+  yarn --version
+  install-stack node $NODE_VERSION
+  export PATH=$PATH:/opt/drycc/node/bin
+  git clone https://github.com/dbeaver/dbeaver.git && cd dbeaver &&  git checkout $DBEAVER_VERSION
+  cd ..
+  git clone https://github.com/dbeaver/cloudbeaver.git && cd cloudbeaver/ && git checkout $STACK_VERSION
+  cd deploy && cp -r cloudbeaver ${DATA_DIR}
+}
+# call build stack
+build-stack "${1}"
\ No newline at end of file

From b307e025df597a3af32c515ee459194b55a40aff Mon Sep 17 00:00:00 2001
From: EamonZhang <zhang.eamon@hotmail.com>
Date: Mon, 27 Nov 2023 14:05:57 +0800
Subject: [PATCH 04/22] chore(stacks): delete pgweb

---
 scripts/checker.py    |  8 +-------
 stacks/pgweb/build.sh | 18 ------------------
 2 files changed, 1 insertion(+), 25 deletions(-)
 delete mode 100644 stacks/pgweb/build.sh

diff --git a/scripts/checker.py b/scripts/checker.py
index eecba69..5cdf1fc 100644
--- a/scripts/checker.py
+++ b/scripts/checker.py
@@ -42,13 +42,7 @@
         "type": "github",
         "owner": "prometheus-community",
         "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
-    },
-    "pgweb": {
-        "name": "pgweb",
-        "type": "github",
-        "owner": "sosedoff",
-        "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
-    },    
+    },  
     "jmx_exporter": {
         "name": "jmx_exporter",
         "type": "github",
diff --git a/stacks/pgweb/build.sh b/stacks/pgweb/build.sh
deleted file mode 100644
index b673605..0000000
--- a/stacks/pgweb/build.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-
-# Load stack utils
-. /usr/bin/stack-utils
-# Implement build function
-function build() {
-  # Generate binary
-  BIN_DIR="${DATA_DIR}"/bin
-  mkdir -p "${BIN_DIR}"
-  # postgresql
-  curl -fsSL -o pgweb_linux_${OS_ARCH}.zip  "https://github.com/sosedoff/pgweb/releases/download/${STACK_VERSION}/pgweb_linux_${OS_ARCH}.zip" 
-  unzip pgweb_linux_${OS_ARCH}.zip
-  rm pgweb_linux_${OS_ARCH}.zip 
-  mv pgweb_linux_${OS_ARCH} "${BIN_DIR}"
-}
-
-# call build stack
-build-stack "${1}"
\ No newline at end of file

From a5bb8f1c00ad06e2e19aaba2b69d797d6da12229 Mon Sep 17 00:00:00 2001
From: Eamon <zhang.eamon@hotmail.com>
Date: Mon, 27 Nov 2023 14:10:28 +0800
Subject: [PATCH 05/22] chore(stacks): add cloudbeaver

---
 scripts/checker.py          |  8 +++++++-
 stacks/cloudbeaver/build.sh | 28 ++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+), 1 deletion(-)
 create mode 100755 stacks/cloudbeaver/build.sh

diff --git a/scripts/checker.py b/scripts/checker.py
index 4e09c66..5cdf1fc 100644
--- a/scripts/checker.py
+++ b/scripts/checker.py
@@ -13,6 +13,12 @@
         "owner": "prometheus",
         "match": "^v[2-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
     },
+    "cloudbeaver": {
+        "name": "cloudbeaver",
+        "type": "github",
+        "owner": "dbeaver",
+        "match": "[2-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
+    },
     "vouch-proxy": {
         "name": "vouch-proxy",
         "type": "github",
@@ -36,7 +42,7 @@
         "type": "github",
         "owner": "prometheus-community",
         "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
-    },
+    },  
     "jmx_exporter": {
         "name": "jmx_exporter",
         "type": "github",
diff --git a/stacks/cloudbeaver/build.sh b/stacks/cloudbeaver/build.sh
new file mode 100755
index 0000000..7cb80ad
--- /dev/null
+++ b/stacks/cloudbeaver/build.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+# Load stack utils
+. /usr/bin/stack-utils
+
+# Implement build function
+function build() {
+  # ref : https://github.com/dbeaver/cloudbeaver/wiki/Build-and-deploy
+  cd /opt/drycc/
+  . init-stack
+  NODE_VERSION=16.20.1
+  DBEAVER_VERSION=23.2.5
+  install-packages openjdk-17-jdk maven gnupg gnupg2 git
+  java --version &&  mvn --version 
+  curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
+  echo "deb https://dl.yarnpkg.com/debian/ stable main" |  tee /etc/apt/sources.list.d/yarn.list
+  curl -sL https://deb.nodesource.com/setup_14.x |   bash -
+  install-packages yarn
+  yarn --version
+  install-stack node $NODE_VERSION
+  export PATH=$PATH:/opt/drycc/node/bin
+  git clone https://github.com/dbeaver/dbeaver.git && cd dbeaver &&  git checkout $DBEAVER_VERSION
+  cd ..
+  git clone https://github.com/dbeaver/cloudbeaver.git && cd cloudbeaver/ && git checkout $STACK_VERSION
+  cd deploy && sh build.sh && cp -r cloudbeaver ${DATA_DIR}
+}
+# call build stack
+build-stack "${1}"

From 195e64d4029db2763bea213ca743bf8f71429f55 Mon Sep 17 00:00:00 2001
From: EamonZhang <zhang.eamon@hotmail.com>
Date: Tue, 28 Nov 2023 09:09:42 +0800
Subject: [PATCH 06/22] fix(cloudbeaver): build error miss jar

---
 stacks/{clouddbeaver => cloudbeaver}/build.sh | 22 +++++++++++++------
 1 file changed, 15 insertions(+), 7 deletions(-)
 rename stacks/{clouddbeaver => cloudbeaver}/build.sh (50%)

diff --git a/stacks/clouddbeaver/build.sh b/stacks/cloudbeaver/build.sh
similarity index 50%
rename from stacks/clouddbeaver/build.sh
rename to stacks/cloudbeaver/build.sh
index 0a1862b..e461b04 100644
--- a/stacks/clouddbeaver/build.sh
+++ b/stacks/cloudbeaver/build.sh
@@ -6,23 +6,31 @@
 # Implement build function
 function build() {
   # ref : https://github.com/dbeaver/cloudbeaver/wiki/Build-and-deploy
+  # git tag --sorted=-creatordate --merged remotes/origin/release_23_2_5
   cd /opt/drycc/
   . init-stack
+  JAVA_VERSION=17.0.9
   NODE_VERSION=16.20.1
-  DBEAVER_VERSION=23.2.5
-  install-packages openjdk-17-jdk maven gnupg gnupg2 git
+  DBEAVER_VERSION=23.2.5 #CLOUD_VERSION 23.1.4
+  install-stack java ${JAVA_VERSION}
+  install-packages maven gnupg gnupg2 git
   java --version &&  mvn --version 
   curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
   echo "deb https://dl.yarnpkg.com/debian/ stable main" |  tee /etc/apt/sources.list.d/yarn.list
   curl -sL https://deb.nodesource.com/setup_14.x |   bash -
   install-packages yarn
   yarn --version
-  install-stack node $NODE_VERSION
-  export PATH=$PATH:/opt/drycc/node/bin
-  git clone https://github.com/dbeaver/dbeaver.git && cd dbeaver &&  git checkout $DBEAVER_VERSION
+  install-stack node ${NODE_VERSION}
+  export PATH=${PATH}:/opt/drycc/node/bin
+  git clone https://github.com/dbeaver/dbeaver.git 
+  cd dbeaver 
+  git checkout $DBEAVER_VERSION
   cd ..
-  git clone https://github.com/dbeaver/cloudbeaver.git && cd cloudbeaver/ && git checkout $STACK_VERSION
-  cd deploy && cp -r cloudbeaver ${DATA_DIR}
+  git clone https://github.com/dbeaver/cloudbeaver.git 
+  cd cloudbeaver 
+  git checkout ${STACK_VERSION}
+  cd deploy && ./build.sh && cp -r cloudbeaver ${DATA_DIR}
+  
 }
 # call build stack
 build-stack "${1}"
\ No newline at end of file

From b69fc4bfebe6cbe9d82692c6033fefbeca9495b7 Mon Sep 17 00:00:00 2001
From: EamonZhang <zhang.eamon@hotmail.com>
Date: Tue, 28 Nov 2023 10:00:35 +0800
Subject: [PATCH 07/22] fix(cloudbeaver): fix build conflict

---
 stacks/cloudbeaver/build.sh | 29 +++--------------------------
 1 file changed, 3 insertions(+), 26 deletions(-)

diff --git a/stacks/cloudbeaver/build.sh b/stacks/cloudbeaver/build.sh
index 576a18b..b833586 100644
--- a/stacks/cloudbeaver/build.sh
+++ b/stacks/cloudbeaver/build.sh
@@ -6,51 +6,28 @@
 # Implement build function
 function build() {
   # ref : https://github.com/dbeaver/cloudbeaver/wiki/Build-and-deploy
-<<<<<<< HEAD
-  # git tag --sorted=-creatordate --merged remotes/origin/release_23_2_5
   cd /opt/drycc/
   . init-stack
   JAVA_VERSION=17.0.9
   NODE_VERSION=16.20.1
-  DBEAVER_VERSION=23.2.5 #CLOUD_VERSION 23.1.4
   install-stack java ${JAVA_VERSION}
   install-packages maven gnupg gnupg2 git
-=======
-  cd /opt/drycc/
-  . init-stack
-  NODE_VERSION=16.20.1
-  DBEAVER_VERSION=23.2.5
-  install-packages openjdk-17-jdk maven gnupg gnupg2 git
->>>>>>> a5bb8f1c00ad06e2e19aaba2b69d797d6da12229
   java --version &&  mvn --version 
   curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
   echo "deb https://dl.yarnpkg.com/debian/ stable main" |  tee /etc/apt/sources.list.d/yarn.list
   curl -sL https://deb.nodesource.com/setup_14.x |   bash -
   install-packages yarn
   yarn --version
-<<<<<<< HEAD
   install-stack node ${NODE_VERSION}
   export PATH=${PATH}:/opt/drycc/node/bin
   git clone https://github.com/dbeaver/dbeaver.git 
   cd dbeaver 
-  git checkout $DBEAVER_VERSION
+  git checkout -b release_${STACK_VERSION} --track origin/release_${STACK_VERSION}
   cd ..
   git clone https://github.com/dbeaver/cloudbeaver.git 
   cd cloudbeaver 
-  git checkout ${STACK_VERSION}
+  git checkout -b release_${STACK_VERSION} --track origin/release_${STACK_VERSION}
   cd deploy && ./build.sh && cp -r cloudbeaver ${DATA_DIR}
-  
-}
-# call build stack
-build-stack "${1}"
-=======
-  install-stack node $NODE_VERSION
-  export PATH=$PATH:/opt/drycc/node/bin
-  git clone https://github.com/dbeaver/dbeaver.git && cd dbeaver &&  git checkout $DBEAVER_VERSION
-  cd ..
-  git clone https://github.com/dbeaver/cloudbeaver.git && cd cloudbeaver/ && git checkout $STACK_VERSION
-  cd deploy && sh build.sh && cp -r cloudbeaver ${DATA_DIR}
 }
 # call build stack
-build-stack "${1}"
->>>>>>> a5bb8f1c00ad06e2e19aaba2b69d797d6da12229
+build-stack "${1}"
\ No newline at end of file

From 580613cad46879f2e387368e2db406cf65b01ebb Mon Sep 17 00:00:00 2001
From: EamonZhang <zhang.eamon@hotmail.com>
Date: Tue, 28 Nov 2023 10:18:57 +0800
Subject: [PATCH 08/22] chore(cloudbeaver): delete no used jdk

---
 stacks/cloudbeaver/build.sh | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/stacks/cloudbeaver/build.sh b/stacks/cloudbeaver/build.sh
index b833586..fa40a55 100644
--- a/stacks/cloudbeaver/build.sh
+++ b/stacks/cloudbeaver/build.sh
@@ -10,9 +10,8 @@ function build() {
   . init-stack
   JAVA_VERSION=17.0.9
   NODE_VERSION=16.20.1
-  install-stack java ${JAVA_VERSION}
-  install-packages maven gnupg gnupg2 git
-  java --version &&  mvn --version 
+  install-packages gnupg gnupg2 git maven
+  mvn --version 
   curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
   echo "deb https://dl.yarnpkg.com/debian/ stable main" |  tee /etc/apt/sources.list.d/yarn.list
   curl -sL https://deb.nodesource.com/setup_14.x |   bash -

From a2d1210d459eed6fe5a7bf9358695d0e9d017f23 Mon Sep 17 00:00:00 2001
From: Eamon <zhang.eamon@hotmail.com>
Date: Mon, 27 Nov 2023 14:10:28 +0800
Subject: [PATCH 09/22] chore(stacks): add cloudbeaver

---
 scripts/checker.py          |  8 +++++++-
 stacks/cloudbeaver/build.sh | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 39 insertions(+), 1 deletion(-)
 create mode 100755 stacks/cloudbeaver/build.sh

diff --git a/scripts/checker.py b/scripts/checker.py
index 4e09c66..5cdf1fc 100644
--- a/scripts/checker.py
+++ b/scripts/checker.py
@@ -13,6 +13,12 @@
         "owner": "prometheus",
         "match": "^v[2-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
     },
+    "cloudbeaver": {
+        "name": "cloudbeaver",
+        "type": "github",
+        "owner": "dbeaver",
+        "match": "[2-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
+    },
     "vouch-proxy": {
         "name": "vouch-proxy",
         "type": "github",
@@ -36,7 +42,7 @@
         "type": "github",
         "owner": "prometheus-community",
         "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
-    },
+    },  
     "jmx_exporter": {
         "name": "jmx_exporter",
         "type": "github",
diff --git a/stacks/cloudbeaver/build.sh b/stacks/cloudbeaver/build.sh
new file mode 100755
index 0000000..fa40a55
--- /dev/null
+++ b/stacks/cloudbeaver/build.sh
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+# Load stack utils
+. /usr/bin/stack-utils
+
+# Implement build function
+function build() {
+  # ref : https://github.com/dbeaver/cloudbeaver/wiki/Build-and-deploy
+  cd /opt/drycc/
+  . init-stack
+  JAVA_VERSION=17.0.9
+  NODE_VERSION=16.20.1
+  install-packages gnupg gnupg2 git maven
+  mvn --version 
+  curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
+  echo "deb https://dl.yarnpkg.com/debian/ stable main" |  tee /etc/apt/sources.list.d/yarn.list
+  curl -sL https://deb.nodesource.com/setup_14.x |   bash -
+  install-packages yarn
+  yarn --version
+  install-stack node ${NODE_VERSION}
+  export PATH=${PATH}:/opt/drycc/node/bin
+  git clone https://github.com/dbeaver/dbeaver.git 
+  cd dbeaver 
+  git checkout -b release_${STACK_VERSION} --track origin/release_${STACK_VERSION}
+  cd ..
+  git clone https://github.com/dbeaver/cloudbeaver.git 
+  cd cloudbeaver 
+  git checkout -b release_${STACK_VERSION} --track origin/release_${STACK_VERSION}
+  cd deploy && ./build.sh && cp -r cloudbeaver ${DATA_DIR}
+}
+# call build stack
+build-stack "${1}"
\ No newline at end of file

From 995382d30397096074b3b0b40636838fcb14c102 Mon Sep 17 00:00:00 2001
From: EamonZhang <zhang.eamon@hotmail.com>
Date: Thu, 28 Dec 2023 10:24:20 +0800
Subject: [PATCH 10/22] chore(stacks) add airflow_exporer

---
 scripts/checker.py               |  6 ++++++
 stacks/airflow_exporter/build.sh | 26 ++++++++++++++++++++++++++
 2 files changed, 32 insertions(+)
 create mode 100755 stacks/airflow_exporter/build.sh

diff --git a/scripts/checker.py b/scripts/checker.py
index 5cdf1fc..abdc8c4 100644
--- a/scripts/checker.py
+++ b/scripts/checker.py
@@ -7,6 +7,12 @@
 github_headers = {'Authorization': 'token %s' % os.environ.get("GITHUB_TOKEN")}
 
 repo_info_table = {
+    "airflow_exporter": {
+        "name": "airflow_exporter",
+        "type": "github",
+        "owner": "EamonZhang",
+        "match": "^v[2-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
+    },
     "alertmanager": {
         "name": "alertmanager",
         "type": "github",
diff --git a/stacks/airflow_exporter/build.sh b/stacks/airflow_exporter/build.sh
new file mode 100755
index 0000000..d6b59db
--- /dev/null
+++ b/stacks/airflow_exporter/build.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+# Load stack utils
+. /usr/bin/stack-utils
+
+# Implement build function
+function build() {
+  generate-stack-path
+  install-packages gcc liblzo2-dev git build-essential
+  install-stack go "${GO_VERSION}"
+  . init-stack
+  
+  echo $GOPATH
+  git clone https://github.com/EamonZhang/airflow_exporter.git  $GOPATH/src/airflow_exporter 
+  cd $GOPATH/src/airflow_exporter/
+  go get
+  go build -o airflow_exporter .
+
+  BIN_DIR="${DATA_DIR}"/bin
+  mkdir -p "${BIN_DIR}"
+  mv airflow_exporter "${BIN_DIR}"
+}
+
+# call build stack
+build-stack "${1}"
+

From 67f10bb6cc2e8db132396ef812f0deca71f7510b Mon Sep 17 00:00:00 2001
From: EamonZhang <zhang.eamon@hotmail.com>
Date: Wed, 10 Apr 2024 17:29:02 +0800
Subject: [PATCH 11/22] chore(stacks) add mongodb and mongosh

---
 scripts/checker.py      | 12 ++++++++++++
 stacks/mongodb/build.sh | 35 +++++++++++++++++++++++++++++++++++
 stacks/mongosh/build.sh | 22 ++++++++++++++++++++++
 3 files changed, 69 insertions(+)
 create mode 100755 stacks/mongodb/build.sh
 create mode 100755 stacks/mongosh/build.sh

diff --git a/scripts/checker.py b/scripts/checker.py
index 5629cca..0d7bd56 100644
--- a/scripts/checker.py
+++ b/scripts/checker.py
@@ -373,6 +373,18 @@
         "owner": "envoyproxy",
         "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
     },
+    "mongodb": {
+        "name": "mongo",
+        "type": "github",
+        "owner": "mongodb",
+        "match": "^r[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
+    },
+    "mongosh": {
+        "name": "mongosh",
+        "type": "github",
+        "owner": "mongodb-js",
+        "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
+    },
 }
 
 
diff --git a/stacks/mongodb/build.sh b/stacks/mongodb/build.sh
new file mode 100755
index 0000000..89a584e
--- /dev/null
+++ b/stacks/mongodb/build.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+# Load stack utils
+. /usr/bin/stack-utils
+
+# Implement build function
+function build() {
+  generate-stack-path
+  BIN_DIR="${DATA_DIR}"/bin
+  mkdir -p "${BIN_DIR}"
+  if [[ ${OS_ARCH} =~ "x86" ||  ${OS_ARCH} =~ "amd" ]]; then 
+    OS_ARCH="x86_64"
+    curl -sSL https://fastdl.mongodb.org/linux/mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION}.tgz | tar -xvz
+    mv ./mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION}/bin/* "${BIN_DIR}/"
+    rm -rf ./mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION} 
+  elif [[ ${OS_ARCH} =~ "arm" ]]; then
+    install-packages python3-pip  python-dev-is-python3  python3-dev   python3-venv \
+    build-essential git llvm libcurl4-openssl-dev libssl-dev libldap-dev libsasl2-dev  liblzma-dev libkrb5-dev
+    python3 -m venv /usr/local/venv
+    source /usr/local/venv/bin/activate
+    curl -sSL https://fastdl.mongodb.org/src/mongodb-src-r${STACK_VERSION}.tar.gz | tar -xz
+    cd mongodb-src-r${STACK_VERSION}
+    python3 -m pip install -r etc/pip/compile-requirements.txt
+    python3 -m pip install requirements_parser jsonschema memory_profiler puremagic networkx cxxfilt
+    export GIT_PYTHON_REFRESH=quiet
+    ./buildscripts/scons.py -j 2 --linker=gold --disable-warnings-as-errors install-core 
+    cd build/install/bin
+    strip mongos mongod
+    mv * "${BIN_DIR}/"
+    cd - && cd ../
+    rm -rf mongodb-src-r${STACK_VERSION}
+  fi 
+}
+# call build stack
+build-stack "${1}"
diff --git a/stacks/mongosh/build.sh b/stacks/mongosh/build.sh
new file mode 100755
index 0000000..a955b49
--- /dev/null
+++ b/stacks/mongosh/build.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+# Load stack utils
+. /usr/bin/stack-utils
+
+# Implement build function
+function build() {
+  generate-stack-path
+  BIN_DIR="${DATA_DIR}"/bin
+  mkdir -p "${BIN_DIR}"
+  if [[ ${OS_ARCH} =~ "x86" ||  ${OS_ARCH} =~ "amd" ]]; then 
+    curl https://downloads.mongodb.com/compass/mongosh-${STACK_VERSION}-linux-x64.tgz| tar -xvz
+    mv ./mongosh-${STACK_VERSION}-linux-x64/bin/* "${BIN_DIR}/"
+    rm -rf ./mongosh-${STACK_VERSION}-linux-x64 
+  elif [[ ${OS_ARCH} =~ "arm" ]]; then
+   curl -sSL  https://downloads.mongodb.com/compass/mongosh-${STACK_VERSION}-linux-arm64.tgz | tar -xvz
+   mv ./mongosh-${STACK_VERSION}-linux-arm64/bin/* "${BIN_DIR}/"
+   rm -rf ./mongosh-${STACK_VERSION}-linux-arm64 
+  fi 
+}
+# call build stack
+build-stack "${1}"

From d0fbe0c0833b1bf340a83a4b8595da0b13e72305 Mon Sep 17 00:00:00 2001
From: EamonZhang <zhang.eamon@hotmail.com>
Date: Wed, 10 Apr 2024 17:32:02 +0800
Subject: [PATCH 12/22] chore(stacks) delete airflow_exporter

---
 stacks/airflow_exporter/build.sh | 26 --------------------------
 1 file changed, 26 deletions(-)
 delete mode 100755 stacks/airflow_exporter/build.sh

diff --git a/stacks/airflow_exporter/build.sh b/stacks/airflow_exporter/build.sh
deleted file mode 100755
index d6b59db..0000000
--- a/stacks/airflow_exporter/build.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-# Load stack utils
-. /usr/bin/stack-utils
-
-# Implement build function
-function build() {
-  generate-stack-path
-  install-packages gcc liblzo2-dev git build-essential
-  install-stack go "${GO_VERSION}"
-  . init-stack
-  
-  echo $GOPATH
-  git clone https://github.com/EamonZhang/airflow_exporter.git  $GOPATH/src/airflow_exporter 
-  cd $GOPATH/src/airflow_exporter/
-  go get
-  go build -o airflow_exporter .
-
-  BIN_DIR="${DATA_DIR}"/bin
-  mkdir -p "${BIN_DIR}"
-  mv airflow_exporter "${BIN_DIR}"
-}
-
-# call build stack
-build-stack "${1}"
-

From 971e27655fb222d3e9109b592c62df1c6d37bf0b Mon Sep 17 00:00:00 2001
From: EamonZhang <zhang.eamon@hotmail.com>
Date: Wed, 10 Apr 2024 17:32:38 +0800
Subject: [PATCH 13/22] chore(stacks) delete airflow_exporter checker

---
 scripts/checker.py | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/scripts/checker.py b/scripts/checker.py
index 0d7bd56..6725310 100644
--- a/scripts/checker.py
+++ b/scripts/checker.py
@@ -7,12 +7,6 @@
 github_headers = {'Authorization': 'token %s' % os.environ.get("GITHUB_TOKEN")}
 
 repo_info_table = {
-    "airflow_exporter": {
-        "name": "airflow_exporter",
-        "type": "github",
-        "owner": "EamonZhang",
-        "match": "^v[2-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
-    },
     "alertmanager": {
         "name": "alertmanager",
         "type": "github",

From 9f541ac348427b130a83d04347278c424a3821a6 Mon Sep 17 00:00:00 2001
From: Eamon <zhang.eamon@hotmail.com>
Date: Wed, 10 Apr 2024 17:36:23 +0800
Subject: [PATCH 14/22] chore(stacks): add mongodb and mongosh

* feat(stacks): add pgweb

* fix(checher): delete repmgr

* chore(stacks): add cloudbeaver

* chore(stacks): delete pgweb

* chore(stacks): add cloudbeaver

* fix(cloudbeaver): build error miss jar

* fix(cloudbeaver): fix build conflict

* chore(cloudbeaver): delete no used jdk

* chore(stacks): add cloudbeaver

* chore(stacks) add airflow_exporer

* chore(stacks) add mongodb and mongosh

* chore(stacks) delete airflow_exporter

* chore(stacks) delete airflow_exporter checker
---
 scripts/checker.py      | 12 ++++++++++++
 stacks/mongodb/build.sh | 35 +++++++++++++++++++++++++++++++++++
 stacks/mongosh/build.sh | 22 ++++++++++++++++++++++
 3 files changed, 69 insertions(+)
 create mode 100755 stacks/mongodb/build.sh
 create mode 100755 stacks/mongosh/build.sh

diff --git a/scripts/checker.py b/scripts/checker.py
index c9f6929..6725310 100644
--- a/scripts/checker.py
+++ b/scripts/checker.py
@@ -367,6 +367,18 @@
         "owner": "envoyproxy",
         "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
     },
+    "mongodb": {
+        "name": "mongo",
+        "type": "github",
+        "owner": "mongodb",
+        "match": "^r[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
+    },
+    "mongosh": {
+        "name": "mongosh",
+        "type": "github",
+        "owner": "mongodb-js",
+        "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
+    },
 }
 
 
diff --git a/stacks/mongodb/build.sh b/stacks/mongodb/build.sh
new file mode 100755
index 0000000..89a584e
--- /dev/null
+++ b/stacks/mongodb/build.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+# Load stack utils
+. /usr/bin/stack-utils
+
+# Implement build function
+function build() {
+  generate-stack-path
+  BIN_DIR="${DATA_DIR}"/bin
+  mkdir -p "${BIN_DIR}"
+  if [[ ${OS_ARCH} =~ "x86" ||  ${OS_ARCH} =~ "amd" ]]; then 
+    OS_ARCH="x86_64"
+    curl -sSL https://fastdl.mongodb.org/linux/mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION}.tgz | tar -xvz
+    mv ./mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION}/bin/* "${BIN_DIR}/"
+    rm -rf ./mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION} 
+  elif [[ ${OS_ARCH} =~ "arm" ]]; then
+    install-packages python3-pip  python-dev-is-python3  python3-dev   python3-venv \
+    build-essential git llvm libcurl4-openssl-dev libssl-dev libldap-dev libsasl2-dev  liblzma-dev libkrb5-dev
+    python3 -m venv /usr/local/venv
+    source /usr/local/venv/bin/activate
+    curl -sSL https://fastdl.mongodb.org/src/mongodb-src-r${STACK_VERSION}.tar.gz | tar -xz
+    cd mongodb-src-r${STACK_VERSION}
+    python3 -m pip install -r etc/pip/compile-requirements.txt
+    python3 -m pip install requirements_parser jsonschema memory_profiler puremagic networkx cxxfilt
+    export GIT_PYTHON_REFRESH=quiet
+    ./buildscripts/scons.py -j 2 --linker=gold --disable-warnings-as-errors install-core 
+    cd build/install/bin
+    strip mongos mongod
+    mv * "${BIN_DIR}/"
+    cd - && cd ../
+    rm -rf mongodb-src-r${STACK_VERSION}
+  fi 
+}
+# call build stack
+build-stack "${1}"
diff --git a/stacks/mongosh/build.sh b/stacks/mongosh/build.sh
new file mode 100755
index 0000000..a955b49
--- /dev/null
+++ b/stacks/mongosh/build.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+# Load stack utils
+. /usr/bin/stack-utils
+
+# Implement build function
+function build() {
+  generate-stack-path
+  BIN_DIR="${DATA_DIR}"/bin
+  mkdir -p "${BIN_DIR}"
+  if [[ ${OS_ARCH} =~ "x86" ||  ${OS_ARCH} =~ "amd" ]]; then 
+    curl https://downloads.mongodb.com/compass/mongosh-${STACK_VERSION}-linux-x64.tgz| tar -xvz
+    mv ./mongosh-${STACK_VERSION}-linux-x64/bin/* "${BIN_DIR}/"
+    rm -rf ./mongosh-${STACK_VERSION}-linux-x64 
+  elif [[ ${OS_ARCH} =~ "arm" ]]; then
+   curl -sSL  https://downloads.mongodb.com/compass/mongosh-${STACK_VERSION}-linux-arm64.tgz | tar -xvz
+   mv ./mongosh-${STACK_VERSION}-linux-arm64/bin/* "${BIN_DIR}/"
+   rm -rf ./mongosh-${STACK_VERSION}-linux-arm64 
+  fi 
+}
+# call build stack
+build-stack "${1}"

From 6115e765ce081633e18b4e835585c86a3a2f0894 Mon Sep 17 00:00:00 2001
From: EamonZhang <zhang.eamon@hotmail.com>
Date: Thu, 11 Apr 2024 11:39:50 +0800
Subject: [PATCH 15/22] chore(mongodb): modify the compilation method in arm
 environment

---
 stacks/mongodb/build.sh | 21 +++++----------------
 1 file changed, 5 insertions(+), 16 deletions(-)

diff --git a/stacks/mongodb/build.sh b/stacks/mongodb/build.sh
index 89a584e..5a7e7fd 100755
--- a/stacks/mongodb/build.sh
+++ b/stacks/mongodb/build.sh
@@ -10,25 +10,14 @@ function build() {
   mkdir -p "${BIN_DIR}"
   if [[ ${OS_ARCH} =~ "x86" ||  ${OS_ARCH} =~ "amd" ]]; then 
     OS_ARCH="x86_64"
-    curl -sSL https://fastdl.mongodb.org/linux/mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION}.tgz | tar -xvz
+    curl -sSL https://fastdl.mongodb.org/linux/mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION}.tgz | tar -xz
     mv ./mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION}/bin/* "${BIN_DIR}/"
     rm -rf ./mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION} 
   elif [[ ${OS_ARCH} =~ "arm" ]]; then
-    install-packages python3-pip  python-dev-is-python3  python3-dev   python3-venv \
-    build-essential git llvm libcurl4-openssl-dev libssl-dev libldap-dev libsasl2-dev  liblzma-dev libkrb5-dev
-    python3 -m venv /usr/local/venv
-    source /usr/local/venv/bin/activate
-    curl -sSL https://fastdl.mongodb.org/src/mongodb-src-r${STACK_VERSION}.tar.gz | tar -xz
-    cd mongodb-src-r${STACK_VERSION}
-    python3 -m pip install -r etc/pip/compile-requirements.txt
-    python3 -m pip install requirements_parser jsonschema memory_profiler puremagic networkx cxxfilt
-    export GIT_PYTHON_REFRESH=quiet
-    ./buildscripts/scons.py -j 2 --linker=gold --disable-warnings-as-errors install-core 
-    cd build/install/bin
-    strip mongos mongod
-    mv * "${BIN_DIR}/"
-    cd - && cd ../
-    rm -rf mongodb-src-r${STACK_VERSION}
+    OS_ARCH="aarch64"
+    curl -sSl https://fastdl.mongodb.org/linux/mongodb-linux-${OS_ARCH}-ubuntu2204-${STACK_VERSION}.tgz | tar -xz
+    mv ./mongodb-linux-${OS_ARCH}-ubuntu2204-${STACK_VERSION}/bin/* "${BIN_DIR}/"
+    rm -rf ./mongodb-linux-${OS_ARCH}-ubuntu2204-${STACK_VERSION} 
   fi 
 }
 # call build stack

From 7d5605847577d264f11bbc1b708f60a6b33a1f36 Mon Sep 17 00:00:00 2001
From: EamonZhang <zhang.eamon@hotmail.com>
Date: Thu, 11 Apr 2024 11:44:43 +0800
Subject: [PATCH 16/22] megre(mongodb)

---
 stacks/mongodb/build.sh | 24 +-----------------------
 1 file changed, 1 insertion(+), 23 deletions(-)

diff --git a/stacks/mongodb/build.sh b/stacks/mongodb/build.sh
index 3f6e51d..f13413f 100755
--- a/stacks/mongodb/build.sh
+++ b/stacks/mongodb/build.sh
@@ -10,7 +10,6 @@ function build() {
   mkdir -p "${BIN_DIR}"
   if [[ ${OS_ARCH} =~ "x86" ||  ${OS_ARCH} =~ "amd" ]]; then 
     OS_ARCH="x86_64"
-<<<<<<< HEAD
     curl -sSL https://fastdl.mongodb.org/linux/mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION}.tgz | tar -xz
     mv ./mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION}/bin/* "${BIN_DIR}/"
     rm -rf ./mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION} 
@@ -19,28 +18,7 @@ function build() {
     curl -sSl https://fastdl.mongodb.org/linux/mongodb-linux-${OS_ARCH}-ubuntu2204-${STACK_VERSION}.tgz | tar -xz
     mv ./mongodb-linux-${OS_ARCH}-ubuntu2204-${STACK_VERSION}/bin/* "${BIN_DIR}/"
     rm -rf ./mongodb-linux-${OS_ARCH}-ubuntu2204-${STACK_VERSION} 
-=======
-    curl -sSL https://fastdl.mongodb.org/linux/mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION}.tgz | tar -xvz
-    mv ./mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION}/bin/* "${BIN_DIR}/"
-    rm -rf ./mongodb-linux-${OS_ARCH}-debian12-${STACK_VERSION} 
-  elif [[ ${OS_ARCH} =~ "arm" ]]; then
-    install-packages python3-pip  python-dev-is-python3  python3-dev   python3-venv \
-    build-essential git llvm libcurl4-openssl-dev libssl-dev libldap-dev libsasl2-dev  liblzma-dev libkrb5-dev
-    python3 -m venv /usr/local/venv
-    source /usr/local/venv/bin/activate
-    curl -sSL https://fastdl.mongodb.org/src/mongodb-src-r${STACK_VERSION}.tar.gz | tar -xz
-    cd mongodb-src-r${STACK_VERSION}
-    python3 -m pip install -r etc/pip/compile-requirements.txt
-    python3 -m pip install requirements_parser jsonschema memory_profiler puremagic networkx cxxfilt
-    export GIT_PYTHON_REFRESH=quiet
-    ./buildscripts/scons.py -j 2 --linker=gold --disable-warnings-as-errors install-core 
-    cd build/install/bin
-    strip mongos mongod
-    mv * "${BIN_DIR}/"
-    cd - && cd ../
-    rm -rf mongodb-src-r${STACK_VERSION}
->>>>>>> 9f541ac348427b130a83d04347278c424a3821a6
   fi 
 }
 # call build stack
-build-stack "${1}"
+build-stack "${1}"
\ No newline at end of file

From 7588540448f76a1c6adff352582a9b17100371a1 Mon Sep 17 00:00:00 2001
From: EamonZhang <zhang.eamon@hotmail.com>
Date: Mon, 22 Apr 2024 15:43:44 +0800
Subject: [PATCH 17/22] chore(stacks): add clickhouse

---
 scripts/checker.py         |  6 ++++
 stacks/clickhouse/build.sh | 56 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+)
 create mode 100755 stacks/clickhouse/build.sh

diff --git a/scripts/checker.py b/scripts/checker.py
index 6725310..6acebb2 100644
--- a/scripts/checker.py
+++ b/scripts/checker.py
@@ -379,6 +379,12 @@
         "owner": "mongodb-js",
         "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
     },
+    "clickhouse": {
+        "name": "ClickHouse",
+        "type": "github",
+        "owner": "ClickHouse",
+        "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}.[0-9]{1,}-lts$",
+    },
 }
 
 
diff --git a/stacks/clickhouse/build.sh b/stacks/clickhouse/build.sh
new file mode 100755
index 0000000..561973a
--- /dev/null
+++ b/stacks/clickhouse/build.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+# Load stack utils
+. /usr/bin/stack-utils
+
+# Implement build function
+function build() {
+  generate-stack-path
+  BIN_DIR="${DATA_DIR}"/bin
+  ETC_DIR="${DATA_DIR}"/etc
+  mkdir -p "${BIN_DIR}"
+  mkdir -p "${ETC_DIR}"
+  export LATEST_VERSION=${STACK_VERSION}
+
+  case $(uname -m) in
+    x86_64) ARCH=amd64 ;;
+    aarch64) ARCH=arm64 ;;
+    *) echo "Unknown architecture $(uname -m)"; exit 1 ;;
+  esac
+
+  for PKG in clickhouse-common-static clickhouse-server clickhouse-client clickhouse-keeper
+  do
+    curl -fO "https://packages.clickhouse.com/tgz/stable/$PKG-$LATEST_VERSION-${ARCH}.tgz" \
+      || curl -fO "https://packages.clickhouse.com/tgz/stable/$PKG-$LATEST_VERSION.tgz"
+  done
+
+  tar -xzvf "clickhouse-common-static-$LATEST_VERSION-${ARCH}.tgz" \
+    || tar -xzvf "clickhouse-common-static-$LATEST_VERSION.tgz"
+
+  mv clickhouse-common-static-$LATEST_VERSION/usr/bin/* ${BIN_DIR}/
+  ls -l ${BIN_DIR}/
+
+  tar -xzvf "clickhouse-server-$LATEST_VERSION-${ARCH}.tgz" \
+    || tar -xzvf "clickhouse-server-$LATEST_VERSION.tgz"
+
+  mv clickhouse-server-$LATEST_VERSION/usr/bin/* ${BIN_DIR}/
+  mv clickhouse-server-$LATEST_VERSION/etc/clickhouse-server/* ${ETC_DIR}/
+
+  tar -xzvf "clickhouse-client-$LATEST_VERSION-${ARCH}.tgz" \
+    || tar -xzvf "clickhouse-client-$LATEST_VERSION.tgz"
+
+  mv clickhouse-client-$LATEST_VERSION/usr/bin/* ${BIN_DIR}/
+  tar -xzvf "clickhouse-keeper-$LATEST_VERSION-${ARCH}.tgz" \
+   || tar -xzvf "clickhouse-keeper-$LATEST_VERSION.tgz"
+  mv clickhouse-keeper-$LATEST_VERSION/usr/bin/* ${BIN_DIR}/
+
+  ls -l ${BIN_DIR}/
+  ls -l /workspace/clickhouse-24.3.2.23-linux-amd64-debian-12/
+
+  rm clickhouse-server* -rf
+  rm clickhouse-common-static* -rf
+  rm clickhouse-client* -rf
+  rm clickhouse-keeper* -rf
+}
+# call build stack
+build-stack "${1}"

From 85d9c1b5710cd939427c068d60fc5bcb23c46314 Mon Sep 17 00:00:00 2001
From: zhangeamon <EamonZhang>
Date: Thu, 13 Feb 2025 15:47:41 +0800
Subject: [PATCH 18/22] chore(postgresql): add extension pgvector

---
 stacks/postgresql/build.sh | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/stacks/postgresql/build.sh b/stacks/postgresql/build.sh
index ce0b512..81ea033 100755
--- a/stacks/postgresql/build.sh
+++ b/stacks/postgresql/build.sh
@@ -4,6 +4,7 @@
 . /usr/bin/stack-utils
 POSTGIS_VERSION=$(curl -Ls https://github.com/postgis/postgis/tags|grep /postgis/postgis/releases/tag/ | sed -E 's/.*\/postgis\/postgis\/releases\/tag\/([0-9\.]{1,}(-rc.[0-9]{1,})?)".*/\1/g' | head -1)
 TIMESCALE_VERSION=$(curl -Ls https://github.com/timescale/timescaledb/releases|grep /timescale/timescaledb/releases/tag/ | sed -E 's/.*\/timescale\/timescaledb\/releases\/tag\/([0-9\.]{1,})".*/\1/g' | head -1)
+PGVECTOR_VERSION=$(curl -Ls https://github.com/pgvector/pgvector/tags | grep '/pgvector/pgvector/archive/refs/tags/' | sed -E 's|.*/tags/v([0-9]+\.[0-9]+\.[0-9]+).*|\1|' | sort -Vr | head -1)
 # Implement build function
 function build() {
   # Generate binary
@@ -74,6 +75,7 @@ function build() {
     make install-world
 
   # postgis
+  echo "-----------------start buid postgis-------------"
   curl -sSL "https://download.osgeo.org/postgis/source/postgis-${POSTGIS_VERSION}.tar.gz" | tar -xz && \
   cd postgis-"${POSTGIS_VERSION}" && \
     ./configure \
@@ -85,7 +87,8 @@ function build() {
   cd - && \
   rm -rf postgis-"${POSTGIS_VERSION}"
   
-  # timescaledb
+  # # timescaledb
+  echo "-----------------start buid timescaledb-------------"
   curl -sSL "https://github.com/timescale/timescaledb/archive/refs/tags/${TIMESCALE_VERSION}.tar.gz" | tar -xz &&
   cd timescaledb-"${TIMESCALE_VERSION}" && \
   cmake -DPG_CONFIG=/opt/drycc/postgresql/"${PG_MAJOR}"/bin/pg_config && \
@@ -94,13 +97,25 @@ function build() {
   cd - && \
   rm -rf timescaledb-"${TIMESCALE_VERSION}"
 
+  # pgvector
+  echo "-----------------start buid vector-------------"
+  export PG_CONFIG=/opt/drycc/postgresql/"${PG_MAJOR}"/bin/pg_config
+  curl -sSL https://codeload.github.com/pgvector/pgvector/tar.gz/refs/tags/v${PGVECTOR_VERSION} | tar -xz &&
+  cd pgvector-${PGVECTOR_VERSION}/
+  make && \
+  make install && \
+  cd - 
+  rm -rf pgvector-${PGVECTOR_VERSION}/
+
   cat  << EOF > "${PROFILE_DIR}/${STACK_NAME}.sh"
 export PATH="/opt/drycc/postgresql/$PG_MAJOR/bin:\$PATH"
 export LD_LIBRARY_PATH="/opt/drycc/postgresql/$PG_MAJOR/lib:\$LD_LIBRARY_PATH"
+export PG_CONFIG=/opt/drycc/postgresql/"${PG_MAJOR}"/bin/pg_config
 EOF
   cp -rf /opt/drycc/postgresql/* "${DATA_DIR}"
   cd /workspace && rm -rf "postgresql-${PG_VER}"
 }
 
+
 # call build stack
 build-stack "${1}"

From 658f939af0745f800e0b16a6d85142718ca8d5b8 Mon Sep 17 00:00:00 2001
From: zhangeamon <EamonZhang>
Date: Wed, 12 Mar 2025 13:11:51 +0800
Subject: [PATCH 19/22] chore(stacks) add nessie

---
 scripts/checker.py     |  6 ++++++
 stacks/nessie/build.sh | 18 ++++++++++++++++++
 2 files changed, 24 insertions(+)
 create mode 100755 stacks/nessie/build.sh

diff --git a/scripts/checker.py b/scripts/checker.py
index f9cfc04..18de5ef 100644
--- a/scripts/checker.py
+++ b/scripts/checker.py
@@ -440,6 +440,12 @@
         "owner": "ClickHouse",
         "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}.[0-9]{1,}-lts$",
     },
+    "nessie": {
+        "name": "nessie",
+        "type": "github",
+        "owner": "projectnessie",
+        "match": "^nessie-[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
+    },
 }
 
 
diff --git a/stacks/nessie/build.sh b/stacks/nessie/build.sh
new file mode 100755
index 0000000..df53084
--- /dev/null
+++ b/stacks/nessie/build.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+# Load stack utils
+. /usr/bin/stack-utils
+
+# Implement build function
+function build() {
+  generate-stack-path
+  VERSION=${STACK_VERSION}
+
+  curl -L -o nessie-quarkus-${STACK_VERSION}-runner.jar \
+  https://github.com/projectnessie/nessie/releases/download/nessie-${STACK_VERSION}/nessie-quarkus-${STACK_VERSION}-runner.jar
+  cp nessie-quarkus-${STACK_VERSION}-runner.jar "${DATA_DIR}"
+}
+
+# call build stack
+build-stack "${1}"
+

From 131424e3e8fd1a3c4219faacdd61f3eebcf4a525 Mon Sep 17 00:00:00 2001
From: zhangeamon <EamonZhang>
Date: Thu, 27 Mar 2025 15:24:01 +0800
Subject: [PATCH 20/22] chore(stacks): add lakefs

---
 scripts/checker.py     |  6 ++++++
 stacks/lakefs/build.sh | 27 +++++++++++++++++++++++++++
 2 files changed, 33 insertions(+)
 create mode 100755 stacks/lakefs/build.sh

diff --git a/scripts/checker.py b/scripts/checker.py
index 18de5ef..ac4b8a6 100644
--- a/scripts/checker.py
+++ b/scripts/checker.py
@@ -446,6 +446,12 @@
         "owner": "projectnessie",
         "match": "^nessie-[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
     },
+    "lakefs": {
+        "name": "lakefs",
+        "type": "github",
+        "owner": "treeverse",
+        "match": "^v[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
+    },
 }
 
 
diff --git a/stacks/lakefs/build.sh b/stacks/lakefs/build.sh
new file mode 100755
index 0000000..5dc41dc
--- /dev/null
+++ b/stacks/lakefs/build.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# Load stack utils
+. /usr/bin/stack-utils
+
+# Implement build function
+function build() {
+  generate-stack-path
+  if [[ ${OS_ARCH} =~ "x86" ||  ${OS_ARCH} =~ "amd" ]]; then 
+    OS_ARCH="x86_64"
+  elif [[ ${OS_ARCH} =~ "arm" ]]; then
+    OS_ARCH="arm64"
+  fi 
+
+  BIN_DIR="${DATA_DIR}"/bin
+  mkdir -p "${BIN_DIR}"
+  curl -fsSL -o tmp.tar.gz https://github.com/treeverse/lakeFS/releases/download/v${STACK_VERSION}/lakeFS_${STACK_VERSION}_Linux_${OS_ARCH}.tar.gz
+  tar -xzf tmp.tar.gz
+  mv lakectl "${BIN_DIR}"/lakectl
+  mv lakefs "${BIN_DIR}"/lakefs
+  rm -rf tmp.tar.gz
+  chmod +x "${BIN_DIR}/lakectl"
+  chmod +x "${BIN_DIR}/lakefs"
+}
+
+# call build stack
+build-stack "${1}"
\ No newline at end of file

From 54ad9624470ecc98630ca1d4dc5b157f771e861a Mon Sep 17 00:00:00 2001
From: zhangeamon <EamonZhang>
Date: Fri, 11 Apr 2025 16:41:47 +0800
Subject: [PATCH 21/22] chore(postgresql): add extention pg_repack

---
 stacks/postgresql/build.sh | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/stacks/postgresql/build.sh b/stacks/postgresql/build.sh
index 81ea033..7799c06 100755
--- a/stacks/postgresql/build.sh
+++ b/stacks/postgresql/build.sh
@@ -5,6 +5,8 @@
 POSTGIS_VERSION=$(curl -Ls https://github.com/postgis/postgis/tags|grep /postgis/postgis/releases/tag/ | sed -E 's/.*\/postgis\/postgis\/releases\/tag\/([0-9\.]{1,}(-rc.[0-9]{1,})?)".*/\1/g' | head -1)
 TIMESCALE_VERSION=$(curl -Ls https://github.com/timescale/timescaledb/releases|grep /timescale/timescaledb/releases/tag/ | sed -E 's/.*\/timescale\/timescaledb\/releases\/tag\/([0-9\.]{1,})".*/\1/g' | head -1)
 PGVECTOR_VERSION=$(curl -Ls https://github.com/pgvector/pgvector/tags | grep '/pgvector/pgvector/archive/refs/tags/' | sed -E 's|.*/tags/v([0-9]+\.[0-9]+\.[0-9]+).*|\1|' | sort -Vr | head -1)
+PG_REPACK_VERSION=$(curl -Ls https://github.com/reorg/pg_repack/tags | grep '/pg_repack/archive/refs/tags/' | sed -E 's|.*/tags/ver_([0-9]+\.[0-9]+\.[0-9]+).*|\1|' | sort -Vr | head -1)
+
 # Implement build function
 function build() {
   # Generate binary
@@ -41,7 +43,7 @@ function build() {
     libproj-dev \
     libprotobuf-c-dev \
     protobuf-c-compiler
-
+  echo "-----------------start buid postpostgres-------------"
   # postgresql
   curl -sSL "https://ftp.postgresql.org/pub/source/v${PG_VER}/postgresql-${PG_VER}.tar.gz" | tar -xz && \
   cd postgresql-"${PG_VER}" && \
@@ -73,7 +75,7 @@ function build() {
     # we can change from world to world-bin in newer releases
     make world && \
     make install-world
-
+  cd - 
   # postgis
   echo "-----------------start buid postgis-------------"
   curl -sSL "https://download.osgeo.org/postgis/source/postgis-${POSTGIS_VERSION}.tar.gz" | tar -xz && \
@@ -101,11 +103,22 @@ function build() {
   echo "-----------------start buid vector-------------"
   export PG_CONFIG=/opt/drycc/postgresql/"${PG_MAJOR}"/bin/pg_config
   curl -sSL https://codeload.github.com/pgvector/pgvector/tar.gz/refs/tags/v${PGVECTOR_VERSION} | tar -xz &&
-  cd pgvector-${PGVECTOR_VERSION}/
+  cd pgvector-${PGVECTOR_VERSION} && \
   make && \
   make install && \
-  cd - 
-  rm -rf pgvector-${PGVECTOR_VERSION}/
+  cd - && \
+  rm -rf pgvector-${PGVECTOR_VERSION}
+
+
+# pg_repack
+  echo "-----------------start buid pg_repack-------------"
+  export PG_CONFIG=/opt/drycc/postgresql/"${PG_MAJOR}"/bin/pg_config
+  curl -sSL https://github.com/reorg/pg_repack/archive/refs/tags/ver_${PG_REPACK_VERSION}.tar.gz | tar -xz &&
+  cd pg_repack-ver_${PG_REPACK_VERSION} && \
+  make && \
+  make install && \
+  cd - && \
+  rm -rf pg_repack-ver-${PG_REPACK_VERSION}
 
   cat  << EOF > "${PROFILE_DIR}/${STACK_NAME}.sh"
 export PATH="/opt/drycc/postgresql/$PG_MAJOR/bin:\$PATH"
@@ -116,6 +129,5 @@ EOF
   cd /workspace && rm -rf "postgresql-${PG_VER}"
 }
 
-
 # call build stack
 build-stack "${1}"

From e50a95084180f29a6607647192ec0d6d10e6f723 Mon Sep 17 00:00:00 2001
From: zhangeamon <EamonZhang>
Date: Wed, 7 May 2025 11:46:51 +0800
Subject: [PATCH 22/22] chore(stacks): delete mariadb

---
 scripts/checker.py      |  6 ------
 stacks/mariadb/build.sh | 40 ----------------------------------------
 2 files changed, 46 deletions(-)
 delete mode 100755 stacks/mariadb/build.sh

diff --git a/scripts/checker.py b/scripts/checker.py
index 99f776d..0ef40c7 100644
--- a/scripts/checker.py
+++ b/scripts/checker.py
@@ -170,12 +170,6 @@
         "owner": "kubernetes",
         "match": "^kubernetes-[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
     },
-    "mariadb": {
-        "name": "server",
-        "type": "github",
-        "owner": "MariaDB",
-        "match": "^mariadb-[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$",
-    },
     "mc": {
         "name": "mc",
         "type": "github",
diff --git a/stacks/mariadb/build.sh b/stacks/mariadb/build.sh
deleted file mode 100755
index 64f9e9c..0000000
--- a/stacks/mariadb/build.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash
-
-# Load stack utils
-. /usr/bin/stack-utils
-
-# Implement build function
-function build() {
-  install-packages \
-  	cmake \
-
-  # Generate binary
-  curl -sSL "https://archive.mariadb.org/mariadb-${STACK_VERSION}/source/mariadb-${STACK_VERSION}.tar.gz" | tar -xz && \
-  echo "running building..."
-  cd mariadb-"${STACK_VERSION}" && \
-  cmake . -DCMAKE_INSTALL_PREFIX=/opt/drycc/mariadb \
-  -DMYSQL_DATADIR=/opt/drycc/mariadb/data \
-  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
-  -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-  -DWITH_READLINE=1 \
-  -DWITH_SSL=system \
-  -DWITH_ZLIB=system \
-  -DWITH_LIBWRAP=0 \
-  -DMYSQL_UNIX_ADDR=/tmp/mariadb.sock \
-  -DDEFAULT_CHARSET=utf8 \
-  -DDEFAULT_COLLATION=utf8_general_ci \
-  && \
-  make install/strip 2>&1 >/dev/null
-  echo "build mariadb ok..."
-  mkdir -p "${PROFILE_DIR}"
-  cat  << EOF > "${PROFILE_DIR}/${STACK_NAME}.sh"
-export PATH="/opt/drycc/mariadb/bin:\$PATH"
-EOF
-  echo "generate profile ok..."
-  cp -rf /opt/drycc/mariadb/* "${DATA_DIR}"
-}
-
-# call build stack
-build-stack "${1}"
-
