You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Helm chart: per-pod media LoadBalancer, signaling port default and disabled preStop hook #115
Found while updating the AKS docs (#114). None of these have been verified against a cluster.
1. external.yaml renders every media Service with the same name
templates/external.yaml loops scale.maxReplicaCount times. Each iteration emits a Service named {{ $fullName }}-external, and there is no --- separator between iterations (unlike service.yaml). With more than one replica this either fails to render or leaves only one media port/pod mapping. Meanwhile each bot advertises InstancePublicPort + podNumber (AzureSettings.cs), so pods other than the surviving one would get no media.
Suggested fix: name the Service {{ $fullName }}-external-{{ $i }} and add --- between iterations. Check with helm template ... -s templates/external.yaml --set scale.maxReplicaCount=3.
2. The default internal.port doesn't match the Services' target port
The bot serves plain HTTP on CallSignalingPort + 1 (AppHost.cs), and the deployment sets CallSignalingPort from internal.port. The per-pod and routing Services hard-code targetPort: 81. This only works with internal.port=80, which the CI sets but values.yaml doesn't (default 9441 → HTTP on 9442).
Suggested fix: set the values.yaml default to 80, or derive targetPort from internal.port + 1.
3. The preStop hook is commented out
The halt_termination.ps1preStop hook in templates/deployment.yaml is commented out. Without it, terminationGracePeriod doesn't wait for ongoing calls, so scaling down or rolling updates can drop calls that are in progress.
Suggested fix: re-enable the hook, or document why it is disabled.
Activity