Skip to content

Commit 3e58c39

Browse files
committed
[local-preview] Run gitpod-telemetry during exit
While #11077 adds a way to send telemetry once a `local-preview` instance is instantiated and is running, The user data is not very useful here as the user hasn't performed any actions, etc. This data is only useful right now to know that a new install has been performed. This PR updates the `local-preview` to also do the same whenever a exit signal is created, By doing this we also get the same data once a instance is being closed and hence giving use anonymous info on the usage. Signed-off-by: Tarun Pothulapati <[email protected]>
1 parent c719aa9 commit 3e58c39

File tree

2 files changed

+26
-15
lines changed

2 files changed

+26
-15
lines changed

install/preview/entrypoint.sh

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,6 @@
44

55
set -e
66

7-
if [ "$1" != "logging" ]; then
8-
$0 logging 2>&1 | /prettylog
9-
exit
10-
fi
11-
127
# check for minimum requirements
138
REQUIRED_MEM_KB=$((6 * 1024 * 1024))
149
total_mem_kb=$(awk '/MemTotal:/ {print $2}' /proc/meminfo)
@@ -136,8 +131,16 @@ yq eval-all -i 'del(.spec.template.spec.initContainers[0])' /var/lib/rancher/k3s
136131
for f in /var/lib/rancher/k3s/server/manifests/gitpod/*.yaml; do (cat "$f"; echo) >> /var/lib/rancher/k3s/server/manifests/gitpod.yaml; done
137132
rm -rf /var/lib/rancher/k3s/server/manifests/gitpod
138133

139-
# waits for gitpod pods to be ready, and manually runs the `gitpod-telemetry` cronjob
140-
run_telemetry(){
134+
/bin/k3s server --disable traefik \
135+
--node-label gitpod.io/workload_meta=true \
136+
--node-label gitpod.io/workload_ide=true \
137+
--node-label gitpod.io/workload_workspace_services=true \
138+
--node-label gitpod.io/workload_workspace_regular=true \
139+
--node-label gitpod.io/workload_workspace_headless=true 2>&1 &
140+
141+
pid=$!
142+
143+
run_init_telemetry(){
141144
# wait for the k3s cluster to be ready and Gitpod workloads are added
142145
sleep 100
143146
# indefinitely wait for Gitpod pods to be ready
@@ -146,11 +149,19 @@ run_telemetry(){
146149
kubectl create job gitpod-telemetry-init --from=cronjob/gitpod-telemetry
147150
}
148151

149-
run_telemetry 2>&1 &
152+
run_exit_telemetry(){
150153

151-
/bin/k3s server --disable traefik \
152-
--node-label gitpod.io/workload_meta=true \
153-
--node-label gitpod.io/workload_ide=true \
154-
--node-label gitpod.io/workload_workspace_services=true \
155-
--node-label gitpod.io/workload_workspace_regular=true \
156-
--node-label gitpod.io/workload_workspace_headless=true
154+
sleep 100
155+
# wait for Gitpod pods to be ready
156+
kubectl wait --timeout=-1s --for=condition=ready pod -l app=gitpod,component!=migrations
157+
# manually tun the cronjob
158+
kubectl create job gitpod-telemetry-exit --from=cronjob/gitpod-telemetry
159+
# wait for the job to finish
160+
sleep 30
161+
}
162+
163+
trap 'run_exit_telemetry 2>&1' EXIT INT HUP
164+
165+
run_init_telemetry 2>&1 &
166+
167+
wait $pid

install/preview/leeway.Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ COPY --from=prettylog /app/prettylog /prettylog
2626

2727
COPY entrypoint.sh /entrypoint.sh
2828

29-
ENTRYPOINT [ "/tini", "--", "/entrypoint.sh" ]
29+
ENTRYPOINT [ "/entrypoint.sh" ]

0 commit comments

Comments
 (0)