@@ -16,147 +16,15 @@ jobs:
1616 - name : Install Helm
1717 uses : azure/setup-helm@v4.3.0
1818
19- - name : Lint chart
20- run : helm lint . --set collector.env.COLLECTOR_SECRET=test123
21-
22- - name : Test template with COLLECTOR_SECRET
23- run : helm template test . --set collector.env.COLLECTOR_SECRET=test123
24-
25- - name : Test template with envFrom
26- run : helm template test . --set-json 'collector.envFrom=[{"secretRef":{"name":"my-secret"}}]'
27-
28- - name : Test template with collectOtel ports
29- run : |
30- output=$(helm template test . --set collector.env.COLLECTOR_SECRET=test123 --set collectOtel.grpcPort=4317 --set collectOtel.httpPort=4318)
31- echo "$output" | grep -q 'hostPort: 4317' || { echo "Missing hostPort 4317"; exit 1; }
32- echo "$output" | grep -q 'hostPort: 4318' || { echo "Missing hostPort 4318"; exit 1; }
33- echo "$output" | grep -q 'containerPort: 4317' || { echo "Missing containerPort 4317"; exit 1; }
34- echo "$output" | grep -q 'containerPort: 4318' || { echo "Missing containerPort 4318"; exit 1; }
35- echo "$output" | grep -q 'COLLECT_OTEL_GRPC_PORT' || { echo "Missing COLLECT_OTEL_GRPC_PORT env var"; exit 1; }
36- echo "$output" | grep -q 'COLLECT_OTEL_HTTP_PORT' || { echo "Missing COLLECT_OTEL_HTTP_PORT env var"; exit 1; }
37-
38- - name : Test template without collectOtel ports has no otel ports
39- run : |
40- output=$(helm template test . --set collector.env.COLLECTOR_SECRET=test123)
41- if echo "$output" | grep -q 'otel-grpc\|otel-http'; then
42- echo "Unexpected otel ports when collectOtel ports are not set"
43- exit 1
44- fi
45- if echo "$output" | grep -q 'COLLECT_OTEL_GRPC_PORT\|COLLECT_OTEL_HTTP_PORT'; then
46- echo "Unexpected COLLECT_OTEL env vars when collectOtel ports are not set"
47- exit 1
48- fi
49-
50- - name : Test validation fails without secret
51- run : |
52- if helm template test . 2>&1; then
53- echo "Expected validation to fail but it passed"
54- exit 1
55- fi
56-
57- - name : Test deprecated beyla key still works
58- run : |
59- output=$(helm template test . --set collector.env.COLLECTOR_SECRET=test123)
60- if ! echo "$output" | grep -q "name: ebpf"; then
61- echo "Expected ebpf container to be present when using beyla key"
62- exit 1
63- fi
64-
65- - name : Test new ebpf key works
66- run : |
67- output=$(helm template test . \
68- --set collector.env.COLLECTOR_SECRET=test123 \
69- --set ebpf.enabled=true \
70- --set ebpf.image.repository=ghcr.io/betterstackhq/collector-ebpf \
71- --set ebpf.image.tag=v1.0.0 \
72- --set ebpf.image.pullPolicy=Always \
73- --set 'ebpf.env.GOMEMLIMIT=1400MiB' \
74- --set ebpf.dockerprobe.enabled=false \
75- --set ebpf.memoryRestartThreshold=1450 \
76- --set-json 'ebpf.resources={"limits":{"cpu":"1000m","memory":"3000Mi"},"requests":{"cpu":"800m","memory":"1000Mi"}}' \
77- --set securityContext.ebpf.privileged=true)
78- if ! echo "$output" | grep -q "name: ebpf"; then
79- echo "Expected ebpf container when using ebpf key"
80- exit 1
81- fi
82- if ! echo "$output" | grep -q "v1.0.0"; then
83- echo "Expected custom image tag v1.0.0"
84- exit 1
85- fi
86-
87- - name : Test ebpf key takes precedence over beyla
88- run : |
89- output=$(helm template test . \
90- --set collector.env.COLLECTOR_SECRET=test123 \
91- --set beyla.image.tag=old-tag \
92- --set ebpf.enabled=true \
93- --set ebpf.image.repository=ghcr.io/betterstackhq/collector-ebpf \
94- --set ebpf.image.tag=new-tag \
95- --set ebpf.image.pullPolicy=Always \
96- --set 'ebpf.env.GOMEMLIMIT=1400MiB' \
97- --set ebpf.dockerprobe.enabled=false \
98- --set ebpf.memoryRestartThreshold=1450 \
99- --set-json 'ebpf.resources={"limits":{"cpu":"1000m","memory":"3000Mi"},"requests":{"cpu":"800m","memory":"1000Mi"}}' \
100- --set securityContext.ebpf.privileged=true)
101- if echo "$output" | grep -q "old-tag"; then
102- echo "Expected ebpf key to take precedence, but found old-tag from beyla"
103- exit 1
104- fi
105- if ! echo "$output" | grep -q "new-tag"; then
106- echo "Expected new-tag from ebpf key"
107- exit 1
108- fi
109-
110- - name : Test envFrom with beyla key (backward compat)
111- run : |
112- output=$(helm template test . \
113- --set collector.env.COLLECTOR_SECRET=test123 \
114- --set-json 'beyla.envFrom=[{"secretRef":{"name":"beyla-secret"}}]')
115- if ! echo "$output" | grep -q "beyla-secret"; then
116- echo "Expected beyla-secret in envFrom"
117- exit 1
118- fi
119-
120- - name : Test envFrom with ebpf key
121- run : |
122- output=$(helm template test . \
123- --set collector.env.COLLECTOR_SECRET=test123 \
124- --set ebpf.enabled=true \
125- --set ebpf.image.repository=ghcr.io/betterstackhq/collector-ebpf \
126- --set ebpf.image.tag=latest \
127- --set ebpf.image.pullPolicy=Always \
128- --set 'ebpf.env.GOMEMLIMIT=1400MiB' \
129- --set ebpf.dockerprobe.enabled=false \
130- --set ebpf.memoryRestartThreshold=1450 \
131- --set-json 'ebpf.resources={"limits":{"cpu":"1000m","memory":"3000Mi"},"requests":{"cpu":"800m","memory":"1000Mi"}}' \
132- --set securityContext.ebpf.privileged=true \
133- --set-json 'ebpf.envFrom=[{"secretRef":{"name":"ebpf-secret"}}]')
134- if ! echo "$output" | grep -q "ebpf-secret"; then
135- echo "Expected ebpf-secret in envFrom"
136- exit 1
137- fi
138-
139- - name : Test ebpf disabled
140- run : |
141- output=$(helm template test . \
142- --set collector.env.COLLECTOR_SECRET=test123 \
143- --set beyla.enabled=false)
144- if echo "$output" | grep -q "name: ebpf"; then
145- echo "Expected ebpf container to be absent when disabled"
146- exit 1
147- fi
148-
149- - name : Test partial ebpf override (only resources) still enables ebpf
150- run : |
151- output=$(helm template test . \
152- --set collector.env.COLLECTOR_SECRET=test123 \
153- --set ebpf.resources.requests.cpu=400m \
154- --set ebpf.resources.limits.cpu=800m)
155- if ! echo "$output" | grep -q "name: ebpf"; then
156- echo "Expected ebpf container when setting ebpf.resources without ebpf.enabled"
157- exit 1
158- fi
159- if ! echo "$output" | grep -q "ghcr.io/betterstackhq/collector-ebpf"; then
160- echo "Expected default ebpf image from beyla defaults"
161- exit 1
162- fi
19+ - name : Run tests
20+ run : |
21+ failed=0
22+ for test in tests/[0-9]*.sh; do
23+ echo "--- Running $test ---"
24+ if bash "$test"; then
25+ :
26+ else
27+ failed=1
28+ fi
29+ done
30+ exit $failed
0 commit comments