feat: add lldap VIP

This commit is contained in:
cătălin 2026-08-24 15:41:05 +02:00
commit a852d7217b
No known key found for this signature in database
10 changed files with 81 additions and 22 deletions

View file

@ -22,5 +22,6 @@ scripts/users.py add -u catalin -n cătălin -e catalin@roboces.dev
## MetalLB and reserved VIPs
- traefik VIP: 192.168.1.127
- traefik VIP: 192.168.1.126
- adguard dns VIP: 192.168.1.125
- ldap VIP: 192.168.1.124

View file

@ -12,7 +12,7 @@ spec:
sources:
- repoURL: git.roboces.dev/catalin/fukuops
chart: lldap
targetRevision: 1.0.1
targetRevision: 1.0.2
helm:
valuesObject:
lldap:
@ -20,6 +20,13 @@ spec:
type: ClusterIP
httpPort: 17170
ldapPort: 3890
ldapService:
enabled: true
type: LoadBalancer
port: 3890
loadBalancerIP: 192.168.1.124
annotations:
metallb.universe.tf/address-pool: ldap-pool
ingress:
enabled: true
className: traefik

View file

@ -2,11 +2,12 @@ apiVersion: v2
name: lldap
description: Light LDAP implementation for authentication
type: application
version: 1.0.0
version: 1.0.2
appVersion: stable
annotations:
artifacthub.io/images: "- name: lldap\n image: lldap/lldap:stable\n"
artifacthub.io/changes: "- kind: added\n description: Initial chart release\n"
artifacthub.io/changes: "- kind: added\n description: Add optional LDAP LoadBalancer\
\ service\n"
artifacthub.io/maintainers: "- name: catalin\n email: catalin@roboces.dev\n"
keywords:
- lldap

View file

@ -0,0 +1,24 @@
{{- if .Values.lldap.ldapService.enabled }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "fullname" . }}-ldap
labels:
{{- include "labels" . | nindent 4 }}
{{- with .Values.lldap.ldapService.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
type: {{ .Values.lldap.ldapService.type }}
{{- if .Values.lldap.ldapService.loadBalancerIP }}
loadBalancerIP: {{ .Values.lldap.ldapService.loadBalancerIP }}
{{- end }}
ports:
- port: {{ .Values.lldap.ldapService.port }}
targetPort: ldap
protocol: TCP
name: ldap
selector:
{{- include "selectorLabels" . | nindent 4 }}
{{- end }}

View file

@ -11,6 +11,13 @@ lldap:
httpPort: 17170
ldapPort: 3890
ldapService:
enabled: false
type: LoadBalancer
port: 3890
loadBalancerIP: ""
annotations: {}
ingress:
enabled: false
className: "traefik"

View file

@ -1,9 +0,0 @@
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: adguard-dns-l2
namespace: metallb-system
spec:
ipAddressPools:
- adguard-dns-pool

View file

@ -1,9 +0,0 @@
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: ingress-l2
namespace: metallb-system
spec:
ipAddressPools:
- ingress-pool

View file

@ -8,3 +8,12 @@ spec:
addresses:
- 192.168.1.125/32
autoAssign: false
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: adguard-dns-l2
namespace: metallb-system
spec:
ipAddressPools:
- adguard-dns-pool

View file

@ -0,0 +1,19 @@
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: ldap-pool
namespace: metallb-system
spec:
addresses:
- 192.168.1.124/32
autoAssign: false
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: ldap-l2
namespace: metallb-system
spec:
ipAddressPools:
- ldap-pool

View file

@ -10,3 +10,12 @@ spec:
# Only Traefik should get this IP. Other LoadBalancer services that are
# not yet migrated will stay pending instead of stealing the single VIP.
autoAssign: false
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: ingress-l2
namespace: metallb-system
spec:
ipAddressPools:
- ingress-pool