體驗計畫
加入體驗計畫後,Zeabur 和 installer 會傳送什麼、絕不傳送什麼;Zeabur 和 zeaburctl 怎麼檢查新版;以及怎麼分別關閉。
體驗計畫會傳送版本和每天的使用人數,讓我們知道有多少人在用、該先修哪裡。用 installer 安裝時預設加入,可以在確認頁取消勾選;用 Helm 安裝時預設不加入,要自己開啟。
每個人每天(UTC)第一次使用 Zeabur 時,Zeabur 會傳一筆事件;installer 在安裝開始、完成或失敗時各傳一筆。每筆事件只有隨機的安裝代碼和下表列出的屬性。安裝代碼由 installer 產生一次,或由你用 uuidgen 產生,不含任何機器的資訊。資料保留 13 個月。
| 事件 | 由誰傳送 | 時機 |
|---|---|---|
zeabur_active | Zeabur | 每個人每天(UTC)第一次使用 Zeabur 網頁介面時 |
install_started | Installer | apply 開始 |
install_finished | Installer | apply 順利結束 |
install_failed | Installer | apply 中途停止 |
| 屬性 | 事件 | 值 |
|---|---|---|
zeabur_version | zeabur_active | Zeabur 的版本,例如 0.1.1 |
day | zeabur_active | UTC 日期,例如 2026-10-30 |
person | zeabur_active | 32 位十六進位數字,只在同一個安裝、同一天裡分辨不同的人 |
mode | zeabur_active | in-cluster |
installer_version | installer 的事件 | Installer 的版本 |
profile | installer 的事件 | single-node、multi-node 或 personal |
distribution | installer 的事件 | k3s、rke2 或 kube-solo |
step | install_failed | 停在哪一步:plan、preflight、node-prep、cluster、cluster-setup、components、identity、zeabur 或 record |
error | install_failed | config、plan、io、command、download、digest、parse 或 other,不會是錯誤訊息 |
$process_person_profile | 全部 | 固定為 false:不建立個人檔案 |
$geoip_disable | 全部 | 固定為 true:不查詢所在位置 |
事件不會說明是誰。person 是用金鑰算出的使用者名稱加日期的雜湊值。金鑰從 Zeabur 的 plan key 衍生,留在叢集的 Secret 裡,從不送出,所以我們無法從雜湊值反推使用者名稱。同一個人一整天的 person 都一樣,Zeabur 重新啟動也不變;隔天就換成另一個,所以不同天無法串在一起。
事件用 HTTPS 送到 PostHog(經由 oss-nori.zeabur.com),只試一次,逾時很短。傳送失敗時不會重試,也不影響 Zeabur 或安裝。PostHog 不保存 IP 位址。
網域、主機名稱、IP 位址、Git URL、映像檔或服務名稱、專案名稱、Email、使用者名稱、日誌,以及叢集裡的內容。
以下任何一種都有效,其中 DO_NOT_TRACK 優先於其他設定。
- 在 installer 或 Zeabur 的環境變數設定
DO_NOT_TRACK=1。空值和0以外的值都算。 - 在 installer 的確認頁取消勾選,執行
zeabur-installer --no-telemetry apply(或--no-telemetry gui),或在/etc/zeabur-installer/config.yaml寫telemetry: false。 - 用 Helm 安裝時,維持預設的
telemetry.enabled=false。沒有安裝代碼時,chart 不接受telemetry.enabled=true。
用 Helm 加入時,帶入一組新的安裝代碼:
helm upgrade <release> oci://ghcr.io/zeabur-oss/charts/zeabur --reuse-values \ --set telemetry.enabled=true \ --set telemetry.installationId=$(uuidgen | tr 'A-Z' 'a-z')Installer 把安裝代碼存在 /etc/zeabur-installer/installation-id(權限 0600),並交給 Zeabur 的 chart。
檢視會傳送的內容
Section titled “檢視會傳送的內容”設定 ZEABUR_TELEMETRY=debug,Zeabur 或 installer 會印出實際的請求內容,但不會送出。用除錯模式安裝時,Zeabur 不會加入體驗計畫。Zeabur 會把內容寫在日誌裡:
kubectl -n zeabur set env deployment/zeabur ZEABUR_TELEMETRY=debugkubectl -n zeabur logs deployment/zeabur | grep telemetryZEABUR_TELEMETRY=off 的效果和 DO_NOT_TRACK 一樣。
有新版時,Zeabur 和 zeaburctl 會提醒你,並說明怎麼升級,但不會自動升級。檢查更新和體驗計畫各自獨立,預設開啟。
檢查什麼。兩者都讀取 https://api.github.com/repos/zeabur-oss/zeabur/releases,略過草稿。除非你正在用預先發行版本,否則也會略過預先發行版本。剩下的版本中最新的一個比你的版本新時,會顯示它的版本、發行說明連結和升級方式。只要有任何一個較新的正式版本在說明裡有 ### Security 段落,就會告訴你目前的版本有已知的安全性問題,並附上那些版本的連結。
在哪裡執行。
- 叢集頁一律顯示
Zeabur v<版本>。不管多少人打開 Zeabur,Zeabur 伺服器每小時最多問 GitHub 一次。頁面每次打開時讀它的結果,一直開著時每小時再讀一次。伺服器會留著上次的結果。連不到 GitHub 時先沿用,一分鐘後再試。GitHub 拒絕時,等 GitHub 重新計算後再試。瀏覽器不會連到 GitHub。「設定」›「關於」也會顯示版本,按「升級方式」會依 Zeabur 的安裝方式列出步驟,分為 zeabur-installer、Helm、Argo CD 和 Flux。請參閱升級 Zeabur。用zeaburctl ui開啟時,頁面顯示的是zeaburctl本身的版本和更新方式。 zeaburctl每次執行指令都會檢查。檢查和指令同時進行,指令結束後zeaburctl最多再等一秒。有新版時,會在 stderr 印出一行。它不在磁碟上存任何東西。stderr 不是終端機,或設定了CI時,不會檢查。- 沒有權杖時,GitHub 每小時只回應同一個 IP 位址 60 次,共用這個位址的人一起算。用完時,
zeaburctl會印出提示。把 GitHub 權杖設在GH_TOKEN或GITHUB_TOKEN(和gh讀的變數相同),zeaburctl就會帶上它,改用你自己的額度。不給任何權限的 fine-grained 權杖就夠了。
會傳送什麼。一個普通的 GitHub 請求,不帶任何 ID 或 Cookie。除非你替 zeaburctl 設了權杖,否則也不帶權杖。GitHub 會看到請求來自哪個 IP 位址。Zeabur 伺服器的 user agent 是 zeabur,zeaburctl 的是 zeaburctl/<版本>。
關閉。以下任何一種都有效。關閉後,Zeabur 伺服器完全不會連到 GitHub。
- 用 installer 安裝時,在確認頁取消勾選,或在
/etc/zeabur-installer/config.yaml設定updateCheck: false。執行apply時設定了DO_NOT_TRACK=1或NO_UPDATE_NOTIFIER也會關閉。 - 用 Helm 安裝時,設定
updateCheck.enabled=false。叢集頁就只顯示版本。 - 在 Zeabur 的環境變數設定
DO_NOT_TRACK=1。zeaburctl則是在你自己的環境變數設定。這也會關閉體驗計畫。 - 為
zeaburctl(包括zeaburctl ui)在你的環境變數設定NO_UPDATE_NOTIFIER,任何值都可以。這只關閉檢查更新。