apiVersion: v1 kind: Service metadata: name: {{ include "claude-code.fullname" . }} namespace: {{ .Release.Namespace }} labels: {{- include "claude-code.labels" . | nindent 4 }} app.kubernetes.io/component: control-plane {{- with .Values.service.labels }} {{- toYaml . | nindent 4 }} {{- end }} {{- with .Values.service.annotations }} annotations: {{- toYaml . | nindent 4 }} {{- end }} spec: type: {{ .Values.service.type }} {{- if and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerIP }} loadBalancerIP: {{ .Values.service.loadBalancerIP | quote }} {{- end }} {{- with .Values.service.loadBalancerClass }} loadBalancerClass: {{ . | quote }} {{- end }} {{- if and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerSourceRanges }} loadBalancerSourceRanges: {{- toYaml .Values.service.loadBalancerSourceRanges | nindent 4 }} {{- end }} {{- with .Values.service.externalTrafficPolicy }} externalTrafficPolicy: {{ . }} {{- end }} ports: - name: http port: {{ .Values.service.port }} targetPort: http protocol: TCP {{- if and (eq .Values.service.type "NodePort") .Values.service.nodePort }} nodePort: {{ .Values.service.nodePort }} {{- end }} selector: {{- include "claude-code.selectorLabels" . | nindent 4 }} app.kubernetes.io/component: control-plane