Skip to content

Commit

Permalink
[wip] run dnsmasq not as root
Browse files Browse the repository at this point in the history
Signed-off-by: Martin Schuppert <[email protected]>
  • Loading branch information
stuggi committed Oct 22, 2024
1 parent 6534d49 commit 01932c6
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 14 deletions.
12 changes: 8 additions & 4 deletions controllers/network/dnsmasq_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import (

k8s_errors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/client-go/kubernetes"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/builder"
Expand Down Expand Up @@ -375,10 +376,13 @@ func (r *DNSMasqReconciler) reconcileNormal(ctx context.Context, instance *netwo
Namespace: instance.Namespace,
Labels: serviceLabels,
Selector: serviceLabels,
Port: service.GenericServicePort{
Name: dnsmasq.ServiceName,
Port: dnsmasq.DNSPort,
Protocol: corev1.ProtocolUDP,
Ports: []corev1.ServicePort{
{
Name: dnsmasq.ServiceName,
Protocol: corev1.ProtocolUDP,
Port: dnsmasq.DNSPort,
TargetPort: intstr.IntOrString{Type: intstr.Int, IntVal: dnsmasq.DNSTargetPort},
},
},
}),
5,
Expand Down
2 changes: 2 additions & 0 deletions pkg/dnsmasq/const.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,6 @@ const (

// DNSPort -
DNSPort int32 = 53
// DNSTargetPort - port used the service is listening on in the pod
DNSTargetPort int32 = 5353
)
20 changes: 10 additions & 10 deletions pkg/dnsmasq/deployment.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ func Deployment(
annotations map[string]string,
cms *corev1.ConfigMapList,
) *appsv1.Deployment {
runAsUser := int64(0)
//runAsUser := int64(0)
terminationGracePeriodSeconds := int64(10)

livenessProbe := &corev1.Probe{
Expand Down Expand Up @@ -73,7 +73,7 @@ func Deployment(
dnsmasqCmd = append(dnsmasqCmd, "--log-debug")
dnsmasqCmd = append(dnsmasqCmd, "--bind-interfaces")
dnsmasqCmd = append(dnsmasqCmd, "--listen-address=$(POD_IP)")
dnsmasqCmd = append(dnsmasqCmd, "--port "+strconv.Itoa(int(DNSPort)))
dnsmasqCmd = append(dnsmasqCmd, "--port "+strconv.Itoa(int(DNSTargetPort)))
// log to stdout
dnsmasqCmd = append(dnsmasqCmd, "--log-facility=-")
// dns
Expand All @@ -94,10 +94,10 @@ func Deployment(
// https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
//
livenessProbe.TCPSocket = &corev1.TCPSocketAction{
Port: intstr.IntOrString{Type: intstr.Int, IntVal: int32(DNSPort)},
Port: intstr.IntOrString{Type: intstr.Int, IntVal: DNSTargetPort},
}
readinessProbe.TCPSocket = &corev1.TCPSocketAction{
Port: intstr.IntOrString{Type: intstr.Int, IntVal: int32(DNSPort)},
Port: intstr.IntOrString{Type: intstr.Int, IntVal: DNSTargetPort},
}

envVars := map[string]env.Setter{}
Expand Down Expand Up @@ -128,9 +128,9 @@ func Deployment(
Command: command,
Args: initArgs,
Image: instance.Spec.ContainerImage,
SecurityContext: &corev1.SecurityContext{
RunAsUser: &runAsUser,
},
//SecurityContext: &corev1.SecurityContext{
// RunAsUser: &runAsUser,
//},
Env: env.MergeEnvs([]corev1.EnvVar{}, envVars),
VolumeMounts: getVolumeMounts(instance.Name, cms),
},
Expand All @@ -141,9 +141,9 @@ func Deployment(
Command: command,
Args: args,
Image: instance.Spec.ContainerImage,
SecurityContext: &corev1.SecurityContext{
RunAsUser: &runAsUser,
},
//SecurityContext: &corev1.SecurityContext{
// RunAsUser: &runAsUser,
//},
Env: env.MergeEnvs([]corev1.EnvVar{}, envVars),
VolumeMounts: getVolumeMounts(instance.Name, cms),
ReadinessProbe: readinessProbe,
Expand Down

0 comments on commit 01932c6

Please sign in to comment.