Skip to content

Commit 3406029

Browse files
committed
added egress from runner-sync to otel export
1 parent 66a5e76 commit 3406029

2 files changed

Lines changed: 30 additions & 0 deletions

File tree

src/runner-org-sync/infra/kustomize/kustomization.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ resources:
99
- rolebinding.yaml
1010
- cronjob.yaml
1111
- triggerauthentication.yaml
12+
- networkpolicy.yaml
1213

1314
# Copy the image annotation onto the container spec. The annotation value
1415
# is itself substituted at deploy time by Flux post-build substitution.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Egress allowance for the OTel collector in the `observability` namespace.
2+
#
3+
# The studio-runners namespace has a cluster-wide default-deny egress policy
4+
# (managed in altinn-studio-infra/provisioning/studio-runners-infra.tf) which
5+
# whitelists DNS + Gitea + external internet, but not observability. Without
6+
# this additional rule, runner-org-sync's OTLP exporter times out at pod
7+
# exit and the run logs a `telemetry shutdown returned error` WARN.
8+
#
9+
# NetworkPolicies are additive: this policy adds to the studio-runners base
10+
# policy rather than replacing it. Scoped via `app: runner-org-sync` so only
11+
# this service gets the extra egress — tenant runner pods stay locked down.
12+
apiVersion: networking.k8s.io/v1
13+
kind: NetworkPolicy
14+
metadata:
15+
name: runner-org-sync-otel-egress
16+
spec:
17+
podSelector:
18+
matchLabels:
19+
app: runner-org-sync
20+
policyTypes:
21+
- Egress
22+
egress:
23+
- to:
24+
- namespaceSelector:
25+
matchLabels:
26+
kubernetes.io/metadata.name: observability
27+
ports:
28+
- port: 4317
29+
protocol: TCP

0 commit comments

Comments
 (0)