apiVersion: apps/v1 kind: Deployment metadata: annotations: meta.helm.sh/release-name: coder meta.helm.sh/release-namespace: infrastructure labels: app.kubernetes.io/instance: coder app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: coder app.kubernetes.io/part-of: coder app.kubernetes.io/version: 2.34.3 helm.sh/chart: coder-2.34.3 name: coder namespace: infrastructure spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app.kubernetes.io/instance: coder app.kubernetes.io/name: coder strategy: type: Recreate template: metadata: annotations: app.kubernetes.io/component: coderd kubectl.kubernetes.io/restartedAt: '2026-10-28T17:41:30.902229+00:00' labels: app.kubernetes.io/instance: coder app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: coder app.kubernetes.io/part-of: coder app.kubernetes.io/version: 2.34.3 helm.sh/chart: coder-2.34.3 namespace: infrastructure spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - key: app.kubernetes.io/instance operator: In values: - coder topologyKey: kubernetes.io/hostname weight: 1 containers: - args: - server command: - /opt/coder env: - name: CODER_HTTP_ADDRESS value: 0.0.0.0:8080 - name: CODER_PROMETHEUS_ADDRESS value: 0.0.0.0:2112 - name: CODER_PPROF_ADDRESS value: 0.0.0.0:6060 - name: KUBE_POD_IP valueFrom: fieldRef: apiVersion: v1 fieldPath: status.podIP - name: CODER_DERP_SERVER_RELAY_URL value: http://$(KUBE_POD_IP):8080 - name: CODER_ACCESS_URL value: https://coder.snarfnet.net - name: CODER_OIDC_ISSUER_URL value: https://authentik.snarfnet.net/application/o/coder/ - name: CODER_OIDC_CLIENT_ID value: coder-86c7516d - name: CODER_OIDC_CLIENT_SECRET value: GWYwV816HcUZpl_qqG9lTmI-85QihNJexaoS8tL8AoDGqQ4opwwWbw - name: CODER_OIDC_SCOPES value: openid,profile,email,groups - name: CODER_OIDC_SIGN_IN_TEXT value: Sign in with Authentik - name: CODER_OIDC_ALLOW_SIGNUPS value: 'true' image: ghcr.io/coder/coder:v2.38.6 imagePullPolicy: IfNotPresent lifecycle: {} name: coder ports: - containerPort: 8080 name: http protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /healthz port: http scheme: HTTP periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: '2' memory: 1028Mi requests: cpu: '2' memory: 1028Mi securityContext: allowPrivilegeEscalation: false runAsGroup: 1000 runAsNonRoot: true runAsUser: 1000 seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /home/coder name: coder-data dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: coder serviceAccountName: coder terminationGracePeriodSeconds: 60 volumes: - name: coder-data persistentVolumeClaim: claimName: coder-data --- apiVersion: v1 kind: Service metadata: annotations: meta.helm.sh/release-name: coder meta.helm.sh/release-namespace: infrastructure metallb.io/ip-allocated-from-pool: lan-pool metallb.universe.tf/loadBalancerIP: 140.44.4.58 finalizers: - service.kubernetes.io/load-balancer-cleanup labels: app.kubernetes.io/instance: coder app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: coder app.kubernetes.io/part-of: coder app.kubernetes.io/version: 2.34.3 helm.sh/chart: coder-2.34.3 name: coder namespace: infrastructure spec: allocateLoadBalancerNodePorts: true clusterIP: 10.43.128.151 clusterIPs: - 10.43.128.151 externalTrafficPolicy: Cluster internalTrafficPolicy: Cluster ipFamilies: - IPv4 ipFamilyPolicy: SingleStack loadBalancerIP: 140.44.4.58 ports: - name: http nodePort: 31775 port: 96 protocol: TCP targetPort: http selector: app.kubernetes.io/instance: coder app.kubernetes.io/name: coder sessionAffinity: None type: LoadBalancer