Skip to content

Commit 126f583

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 126f583

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

install/preview/entrypoint.sh

Lines changed: 14 additions & 9 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,7 @@ 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+
run_init_telemetry(){
141135
# wait for the k3s cluster to be ready and Gitpod workloads are added
142136
sleep 100
143137
# indefinitely wait for Gitpod pods to be ready
@@ -146,11 +140,22 @@ run_telemetry(){
146140
kubectl create job gitpod-telemetry-init --from=cronjob/gitpod-telemetry
147141
}
148142

149-
run_telemetry 2>&1 &
143+
run_exit_telemetry(){
144+
# wait for Gitpod pods to be ready
145+
kubectl wait --timeout=-1s --for=condition=ready pod -l app=gitpod,component!=migrations
146+
# manually tun the cronjob
147+
kubectl create job gitpod-telemetry-exit --from=cronjob/gitpod-telemetry
148+
# wait for the job to finish
149+
sleep 30
150+
}
151+
152+
trap 'run_exit_telemetry 2>&1' EXIT INT HUP
153+
154+
run_init_telemetry 2>&1 &
150155

151156
/bin/k3s server --disable traefik \
152157
--node-label gitpod.io/workload_meta=true \
153158
--node-label gitpod.io/workload_ide=true \
154159
--node-label gitpod.io/workload_workspace_services=true \
155160
--node-label gitpod.io/workload_workspace_regular=true \
156-
--node-label gitpod.io/workload_workspace_headless=true
161+
--node-label gitpod.io/workload_workspace_headless=true || true

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)