-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathfiveg-core.yaml
More file actions
97 lines (97 loc) · 2.85 KB
/
Copy pathfiveg-core.yaml
File metadata and controls
97 lines (97 loc) · 2.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# Stand-in 5G core NFs — the actuation target for the 301 loop.
#
# Rome has no live 5G core, so the loop acts on stand-in AMF/SMF/UPF
# Deployments (documented honestly: minimal pods, real Kubernetes
# objects). The mechanics the course teaches — a scoped ServiceAccount
# that can touch ONLY this namespace, real scale/rolling-restart
# actions, observable rollout state, rollback — are fully real; only
# the NF payload is a placeholder, consistent with the published
# synthetic telemetry the whole program uses. On a cluster with a real
# core (or open5gs), point the same playbooks at it.
apiVersion: v1
kind: Namespace
metadata:
name: fiveg-core
labels:
app.kubernetes.io/part-of: agent-school-target
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: amf
namespace: fiveg-core
labels: {app: amf, nf: amf}
spec:
replicas: 2
selector:
matchLabels: {app: amf}
template:
metadata:
labels: {app: amf, nf: amf}
spec:
containers:
- name: amf
image: registry.access.redhat.com/ubi9/ubi-minimal:latest
command: [/bin/sh, -c, "echo AMF stand-in up; sleep infinity"]
resources:
requests: {cpu: 10m, memory: 32Mi}
limits: {cpu: 50m, memory: 64Mi}
securityContext:
allowPrivilegeEscalation: false
capabilities: {drop: [ALL]}
runAsNonRoot: true
seccompProfile: {type: RuntimeDefault}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: smf
namespace: fiveg-core
labels: {app: smf, nf: smf}
spec:
replicas: 1
selector:
matchLabels: {app: smf}
template:
metadata:
labels: {app: smf, nf: smf}
spec:
containers:
- name: smf
image: registry.access.redhat.com/ubi9/ubi-minimal:latest
command: [/bin/sh, -c, "echo SMF stand-in up; sleep infinity"]
resources:
requests: {cpu: 10m, memory: 32Mi}
limits: {cpu: 50m, memory: 64Mi}
securityContext:
allowPrivilegeEscalation: false
capabilities: {drop: [ALL]}
runAsNonRoot: true
seccompProfile: {type: RuntimeDefault}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: upf
namespace: fiveg-core
labels: {app: upf, nf: upf}
spec:
replicas: 2
selector:
matchLabels: {app: upf}
template:
metadata:
labels: {app: upf, nf: upf}
spec:
containers:
- name: upf
image: registry.access.redhat.com/ubi9/ubi-minimal:latest
command: [/bin/sh, -c, "echo UPF stand-in up; sleep infinity"]
resources:
requests: {cpu: 10m, memory: 32Mi}
limits: {cpu: 50m, memory: 64Mi}
securityContext:
allowPrivilegeEscalation: false
capabilities: {drop: [ALL]}
runAsNonRoot: true
seccompProfile: {type: RuntimeDefault}