Name update
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: pxeforge
|
||||
name: openpxe
|
||||
labels:
|
||||
# Allow privileged pods (host-network) in this namespace only. The pod
|
||||
# itself still runs non-root with only NET_BIND_SERVICE — privileged
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
# Custom SCC for PXEForge.
|
||||
# Custom SCC for OpenPXE.
|
||||
#
|
||||
# The default `restricted-v2` SCC blocks host network and all capabilities,
|
||||
# which PXE cannot tolerate: DHCPDISCOVER is an L2 broadcast that CNI overlays
|
||||
@@ -19,10 +19,10 @@
|
||||
apiVersion: security.openshift.io/v1
|
||||
kind: SecurityContextConstraints
|
||||
metadata:
|
||||
name: pxeforge-scc
|
||||
name: openpxe-scc
|
||||
annotations:
|
||||
kubernetes.io/description: >-
|
||||
Minimal SCC for PXEForge: host network + NET_BIND_SERVICE only, no raw
|
||||
Minimal SCC for OpenPXE: host network + NET_BIND_SERVICE only, no raw
|
||||
sockets, no privileged mode.
|
||||
allowPrivilegedContainer: false
|
||||
allowPrivilegeEscalation: false
|
||||
@@ -54,27 +54,27 @@ volumes:
|
||||
users: []
|
||||
groups: []
|
||||
---
|
||||
# Bind the SCC to the pxeforge service account.
|
||||
# Bind the SCC to the openpxe service account.
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: pxeforge-scc-use
|
||||
name: openpxe-scc-use
|
||||
rules:
|
||||
- apiGroups: ["security.openshift.io"]
|
||||
resources: ["securitycontextconstraints"]
|
||||
resourceNames: ["pxeforge-scc"]
|
||||
resourceNames: ["openpxe-scc"]
|
||||
verbs: ["use"]
|
||||
---
|
||||
kind: RoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: pxeforge-scc-use
|
||||
namespace: pxeforge
|
||||
name: openpxe-scc-use
|
||||
namespace: openpxe
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: pxeforge-scc-use
|
||||
name: openpxe-scc-use
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: pxeforge
|
||||
namespace: pxeforge
|
||||
name: openpxe
|
||||
namespace: openpxe
|
||||
|
||||
@@ -2,29 +2,29 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: pxeforge
|
||||
namespace: pxeforge
|
||||
name: openpxe
|
||||
namespace: openpxe
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: pxeforge-config
|
||||
namespace: pxeforge
|
||||
name: openpxe-config
|
||||
namespace: openpxe
|
||||
data:
|
||||
# Toggle DHCP proxy on or off. "proxy" = answer PXE clients alongside an
|
||||
# existing DHCP server. "disabled" = require operator to point an external
|
||||
# DHCP at us via next-server/filename.
|
||||
PXEFORGE_DHCP_MODE: "proxy"
|
||||
OPENPXE_DHCP_MODE: "proxy"
|
||||
# Override if auto-detection picks the wrong NIC in multi-homed pods.
|
||||
# Leave unset to auto-detect from the node's primary IPv4.
|
||||
# PXEFORGE_PUBLIC_IP: "10.0.0.5"
|
||||
PXEFORGE_LOG: "info,pxeforge=info"
|
||||
# OPENPXE_PUBLIC_IP: "10.0.0.5"
|
||||
OPENPXE_LOG: "info,openpxe=info"
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: pxeforge-isos
|
||||
namespace: pxeforge
|
||||
name: openpxe-isos
|
||||
namespace: openpxe
|
||||
spec:
|
||||
# ReadWriteOnce is fine — we deploy as a single replica since DHCP proxy
|
||||
# coordination across replicas is not useful (clients hit whichever node
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: pxeforge
|
||||
namespace: pxeforge
|
||||
name: openpxe
|
||||
namespace: openpxe
|
||||
labels:
|
||||
app.kubernetes.io/name: pxeforge
|
||||
app.kubernetes.io/name: openpxe
|
||||
spec:
|
||||
# Single replica by design (see PVC comment). If HA is needed later, split
|
||||
# the HTTP/web plane (scalable, stateless) from the DHCP-proxy/TFTP plane
|
||||
@@ -15,13 +15,13 @@ spec:
|
||||
type: Recreate
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: pxeforge
|
||||
app.kubernetes.io/name: openpxe
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: pxeforge
|
||||
app.kubernetes.io/name: openpxe
|
||||
spec:
|
||||
serviceAccountName: pxeforge
|
||||
serviceAccountName: openpxe
|
||||
# L2 broadcast (DHCPDISCOVER) does not cross most CNI overlays into
|
||||
# pod netns. Host network is the working path.
|
||||
hostNetwork: true
|
||||
@@ -33,8 +33,8 @@ spec:
|
||||
runAsUser: 10001
|
||||
fsGroup: 10001
|
||||
containers:
|
||||
- name: pxeforge
|
||||
image: ghcr.io/casperadmin/pxeforge:0.1.0
|
||||
- name: openpxe
|
||||
image: ghcr.io/casperadmin/openpxe:0.1.0
|
||||
imagePullPolicy: IfNotPresent
|
||||
ports:
|
||||
- name: dhcp
|
||||
@@ -59,7 +59,7 @@ spec:
|
||||
protocol: TCP
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: pxeforge-config
|
||||
name: openpxe-config
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
readOnlyRootFilesystem: true
|
||||
@@ -70,9 +70,9 @@ spec:
|
||||
add: ["NET_BIND_SERVICE"]
|
||||
volumeMounts:
|
||||
- name: isos
|
||||
mountPath: /var/lib/pxeforge/isos
|
||||
mountPath: /var/lib/openpxe/isos
|
||||
- name: work
|
||||
mountPath: /var/lib/pxeforge/work
|
||||
mountPath: /var/lib/openpxe/work
|
||||
- name: tmp
|
||||
mountPath: /tmp
|
||||
readinessProbe:
|
||||
@@ -97,7 +97,7 @@ spec:
|
||||
volumes:
|
||||
- name: isos
|
||||
persistentVolumeClaim:
|
||||
claimName: pxeforge-isos
|
||||
claimName: openpxe-isos
|
||||
- name: work
|
||||
emptyDir: {}
|
||||
- name: tmp
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: pxeforge
|
||||
namespace: pxeforge
|
||||
name: openpxe
|
||||
namespace: openpxe
|
||||
labels:
|
||||
app.kubernetes.io/name: pxeforge
|
||||
app.kubernetes.io/name: openpxe
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector:
|
||||
app.kubernetes.io/name: pxeforge
|
||||
app.kubernetes.io/name: openpxe
|
||||
ports:
|
||||
- name: http
|
||||
port: 80
|
||||
@@ -29,12 +29,12 @@ spec:
|
||||
apiVersion: route.openshift.io/v1
|
||||
kind: Route
|
||||
metadata:
|
||||
name: pxeforge
|
||||
namespace: pxeforge
|
||||
name: openpxe
|
||||
namespace: openpxe
|
||||
spec:
|
||||
to:
|
||||
kind: Service
|
||||
name: pxeforge
|
||||
name: openpxe
|
||||
weight: 100
|
||||
port:
|
||||
targetPort: http
|
||||
|
||||
Reference in New Issue
Block a user