Skip to content

Commit 470bf03

Browse files
obezpalkoclaude
andcommitted
feat: add envoy-router-test chart for smoke testing
Creates configurable pp-* pods (hashicorp/http-echo) labelled for envoy-router, plus an internal ALB Ingress routing test-pp.dev.comet.com to the Envoy Gateway service. Usage: # discover gateway service kubectl get svc -n <ns> -l gateway.envoyproxy.io/owning-gateway-name=envoy-router helm install test charts/envoy-router-test \ --namespace <ns> \ --set ingress.gatewayService=<service-name> curl http://test-pp.dev.comet.com/pp-aaa/ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent fd92191 commit 470bf03

File tree

4 files changed

+82
-0
lines changed

4 files changed

+82
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
apiVersion: v2
2+
name: envoy-router-test
3+
description: Test chart — creates pp-* pods and an internal ALB Ingress to validate envoy-router routing
4+
type: application
5+
version: 0.1.0
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{{- if .Values.ingress.gatewayService }}
2+
apiVersion: networking.k8s.io/v1
3+
kind: Ingress
4+
metadata:
5+
name: envoy-router-test
6+
namespace: {{ .Release.Namespace }}
7+
annotations:
8+
kubernetes.io/ingress.class: alb
9+
alb.ingress.kubernetes.io/scheme: internal
10+
alb.ingress.kubernetes.io/target-type: ip
11+
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}]'
12+
spec:
13+
rules:
14+
- host: {{ .Values.ingress.host }}
15+
http:
16+
paths:
17+
- path: /
18+
pathType: Prefix
19+
backend:
20+
service:
21+
name: {{ .Values.ingress.gatewayService }}
22+
port:
23+
number: {{ .Values.ingress.gatewayServicePort }}
24+
{{- else }}
25+
# Ingress not created — set ingress.gatewayService to enable it.
26+
# Discover the Envoy Gateway service name with:
27+
# kubectl get svc -n {{ .Release.Namespace }} -l gateway.envoyproxy.io/owning-gateway-name=envoy-router
28+
{{- end }}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{{- range .Values.pods }}
2+
---
3+
apiVersion: v1
4+
kind: Pod
5+
metadata:
6+
name: pp-{{ .name }}
7+
namespace: {{ $.Release.Namespace }}
8+
labels:
9+
envoy-router/enabled: "true"
10+
app.kubernetes.io/managed-by: envoy-router-test
11+
spec:
12+
containers:
13+
- name: http-echo
14+
image: "{{ $.Values.image.repository }}:{{ $.Values.image.tag }}"
15+
args:
16+
- -listen=:{{ $.Values.podPort }}
17+
- -text=hello from pp-{{ .name }}
18+
ports:
19+
- containerPort: {{ $.Values.podPort }}
20+
readinessProbe:
21+
httpGet:
22+
path: /
23+
port: {{ $.Values.podPort }}
24+
initialDelaySeconds: 2
25+
periodSeconds: 5
26+
{{- end }}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Test pods to create. Each becomes a pp-<name> pod routable at /<name>.
2+
pods:
3+
- name: aaa
4+
- name: bbb
5+
- name: ccc
6+
7+
# HTTP echo image — responds with the pod name
8+
image:
9+
repository: hashicorp/http-echo
10+
tag: latest
11+
12+
# Port the echo server listens on — must match envoy-router operator.podPort
13+
podPort: 8080
14+
15+
# Ingress — internal ALB forwarding the test domain to the Envoy Gateway service
16+
ingress:
17+
host: test-pp.dev.comet.com
18+
19+
# Envoy Gateway generates a Service per Gateway.
20+
# Discover it with: kubectl get svc -n <namespace> -l gateway.envoyproxy.io/owning-gateway-name=envoy-router
21+
# Then set this to the generated service name.
22+
gatewayService: ""
23+
gatewayServicePort: 80

0 commit comments

Comments
 (0)