diff --git a/services/external-proxmox/ingress.yaml b/services/external-proxmox/ingress.yaml deleted file mode 100644 index 8be61ea..0000000 --- a/services/external-proxmox/ingress.yaml +++ /dev/null @@ -1,25 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: external-proxmox - namespace: external - annotations: - traefik.ingress.kubernetes.io/router.entrypoints: websecure - traefik.ingress.kubernetes.io/router.tls: "true" -spec: - ingressClassName: traefik - rules: - - host: proxmox.labzand.com - https: - paths: - - path: / - pathType: Prefix - backend: - service: - name: proxmox-external - port: - number: 8006 - tls: - - hosts: - - proxmox.labzand.com - secretName: external-proxmox-labzand-tls \ No newline at end of file diff --git a/services/external-proxmox/ingressroute.yaml b/services/external-proxmox/ingressroute.yaml new file mode 100644 index 0000000..8c38769 --- /dev/null +++ b/services/external-proxmox/ingressroute.yaml @@ -0,0 +1,29 @@ +# Proxmox (:8006) spricht HTTPS met een self-signed cert — daarom een +# IngressRoute (i.p.v. een plain Ingress, die altijd HTTP naar de backend praat) +# met scheme: https en een ServersTransport die het cert niet checkt. +apiVersion: traefik.io/v1alpha1 +kind: ServersTransport +metadata: + name: proxmox-insecure + namespace: external +spec: + insecureSkipVerify: true +--- +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: external-proxmox + namespace: external +spec: + entryPoints: + - websecure + tls: + secretName: external-proxmox-labzand-tls + routes: + - match: Host(`proxmox.labzand.com`) + kind: Rule + services: + - name: proxmox-external + port: 8006 + scheme: https + serversTransport: proxmox-insecure diff --git a/services/external-proxmox/service.yaml b/services/external-proxmox/service.yaml index ecec746..26cedbf 100644 --- a/services/external-proxmox/service.yaml +++ b/services/external-proxmox/service.yaml @@ -1,5 +1,11 @@ -# Service zonder selector: Kubernetes maakt zelf geen Endpoints aan. -# Het Endpoints-object hieronder levert het externe adres (buiten het cluster). +# Service zonder selector: Kubernetes maakt zelf geen endpoints aan. +# Het Endpoints-object hieronder levert het externe adres (Proxmox, buiten het cluster). +# De endpoints-controller mirrored dit automatisch naar een EndpointSlice. +# (Een handmatige discovery.k8s.io/v1 EndpointSlice faalt op deze cluster met +# kubectl 1.31 tegen server 1.36: "unknown field spec" — daher v1 Endpoints.) +# Let op: ArgoCD trackt Endpoints/EndpointSlice niet — apply deze file handmatig +# als het endpoint ontbreekt: +# kubectl apply -f services/external-proxmox/service.yaml apiVersion: v1 kind: Service metadata: @@ -25,21 +31,3 @@ subsets: - name: https port: 8006 protocol: TCP ---- -apiVersion: discovery.k8s.io/v1 -kind: EndpointSlice -metadata: - name: proxmox-external - labels: - kubernetes.io/service-name: proxmox-external - namespace: external - addressType: IPv4 -ports: - - name: https - protocol: TCP - port: 8006 -endpoints: - - addresses: - - 192.168.2.64 - conditions: - ready: true \ No newline at end of file