infra/clusters/vntx/infrastructure/network-services/freeradius/deployment.yaml
2025-09-06 10:55:13 -05:00

133 lines
No EOL
2.7 KiB
YAML

apiVersion: v1
kind: ConfigMap
metadata:
name: freeradius-config
namespace: network-services
data:
radiusd.conf: |
prefix = /usr
exec_prefix = /usr
sysconfdir = /etc
localstatedir = /var
sbindir = ${exec_prefix}/sbin
logdir = /var/log/freeradius
raddbdir = /etc/freeradius
radacctdir = ${logdir}/radacct
name = radiusd
confdir = ${raddbdir}
modconfdir = ${confdir}/mods-config
certdir = ${confdir}/certs
cadir = ${confdir}/certs
run_dir = ${localstatedir}/run/${name}
db_dir = ${localstatedir}/lib/${name}
libdir = ${exec_prefix}/lib/freeradius
pidfile = ${run_dir}/${name}.pid
max_request_time = 30
cleanup_delay = 5
max_requests = 1024
listen {
type = auth
ipaddr = *
port = 1812
}
listen {
type = acct
ipaddr = *
port = 1813
}
log {
destination = stdout
auth = yes
auth_badpass = no
auth_goodpass = no
}
$INCLUDE mods-enabled/
$INCLUDE sites-enabled/
---
apiVersion: v1
kind: Secret
metadata:
name: freeradius-secrets
namespace: network-services
type: Opaque
data:
# Base64 encoded secrets
clients.conf: |
Y2xpZW50IGxvY2FsaG9zdCB7CiAgICBpcGFkZHIgPSAxMjcuMC4wLjEKICAgIHNlY3JldCA9IHRl
c3RpbmcxMjMKfQo=
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: freeradius
namespace: network-services
spec:
replicas: 2
selector:
matchLabels:
app: freeradius
template:
metadata:
labels:
app: freeradius
spec:
containers:
- name: freeradius
image: freeradius/freeradius-server:latest
ports:
- containerPort: 1812
protocol: UDP
name: auth
- containerPort: 1813
protocol: UDP
name: acct
volumeMounts:
- name: config
mountPath: /etc/freeradius/radiusd.conf
subPath: radiusd.conf
- name: secrets
mountPath: /etc/freeradius/clients.conf
subPath: clients.conf
- name: data
mountPath: /var/lib/freeradius
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
volumes:
- name: config
configMap:
name: freeradius-config
- name: secrets
secret:
secretName: freeradius-secrets
- name: data
emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
name: freeradius
namespace: network-services
spec:
selector:
app: freeradius
type: LoadBalancer
ports:
- port: 1812
targetPort: 1812
protocol: UDP
name: auth
- port: 1813
targetPort: 1813
protocol: UDP
name: acct