Skip to content

Test HOMER in Kubernetes environment

ss-qxip edited this page Oct 27, 2025 · 2 revisions

Test HOMER in Kubernetes

As deploying HOMER over Kubernetes is becoming the preferred choice by the community, this wiki is intended to guide you through the process of testing your HOMER deployment, post-install or whenever needed, in case the traffic cannot be forwarded to the HOMER Capture Server for analysis. The goal is being able to push some fake traffic to HOMER and be able to visualize into HOMER-App for an end-to-end testing.

For this purpose the Kubernetes HOMER instance will need to include:

  1. A custom SIPP deployment, to be used as custom SIP generator.
  2. An heplify sidecar container on the SIPP pod, to convert the custom SIP traffic to HEP and send to the HOMER Capture Server (heplify-server).

Pre-requisites

  • Kubernetes cluster with admin privileges on your local machine.
  • kubectl on your machine.
  • HOMER Capture Server running on Kubernetes on a customer defined namespace.

SIPP Deployment and patching

Create the SIPP deployment

Setup a small and simple test environment deploying a custom SIPP image on the same namespace in which HOMER is deployed. You can either use the qxip/autosip or you can build your own SIPP image preloaded with the desired simulated SIP flow scenarios.

kubectl create deploy -n <HOMER_namespace> sipp-demo --image qxip/autosipp --replicas=1

Verify the SIPP pod is running

kubectl get pods 

The SIPP custom image should be up and running by now. Let’s proceed on updating and patching our setup.

Create and apply a patch file

With a patch file, patching the SIPP deployment, we will inject an heplify agent container into the pod.

Create the patch file.

Make sure to update the container env (HEP_SERVER and HEP_PROTO) to align with the existing heplify-server instance configuration.

cat <<EOF >patch.yaml
spec:
  template:
    spec:
      containers:
      - name: heplify
        image: sipcapture/heplify
        env:
        - name: HEP_SERVER
          value: "homer:9060"
        - name: HEP_PROTO
          value: "udp"
        command: ["./heplify", "-hs", "$(HEP_SERVER)", "-nt", "$(HEP_PROTO)"]
EOF
Apply the patch

Now apply the patch.yaml file

kubectl patch deployment sipp-demo --patch-file /absolute/path/to/patchFile/patch.yaml
  • a new SIPP pod should start and the old pod should be automatically terminated
  • the new pod have eventually 2/2 running containers

In some cases you might need to manually delete the old pod. Check with kubectl get pod -n <Namespace> which pods are running and delete the original one configured with a single container.

Analyse the traffic

  • Access your HEP server and verify HEP traffic is received
  • Attach to the console of the first pod to check for errors or output
kubectl attach deploy/sipp-demo 

Analyse the traffic on Homer UI

If the two new containers are not showing any error, the test traffic should be already available on the Homer UI.

Clone this wiki locally