This commit is contained in:
Graham McIntire 2025-06-13 13:10:58 -05:00
parent 4c205165ac
commit 154f11bae8
No known key found for this signature in database
30 changed files with 60 additions and 8 deletions

View file

@ -29,11 +29,10 @@
line: "Banner /etc/issue.net"
state: present
notify: Restart ssh
- name: Disallow root SSH access
ansible.builtin.lineinfile:
dest: /etc/ssh/sshd_config
regexp: "^PermitRootLogin"
line: "PermitRootLogin no"
state: present
# notify: Restart ssh
# - name: Disallow root SSH access
# ansible.builtin.lineinfile:
# dest: /etc/ssh/sshd_config
# regexp: "^PermitRootLogin"
# line: "PermitRootLogin no"
# state: present
# notify: Restart ssh

View file

@ -0,0 +1,29 @@
# MetalLB configuration for homelab cluster
# Using the new CRD-based configuration format (v0.13.0+)
# Controller configuration
controller:
enabled: true
# Speaker configuration
speaker:
enabled: true
# FRR mode is disabled by default
frr:
enabled: false
# Prometheus metrics
prometheus:
serviceMonitor:
enabled: false
prometheusRule:
enabled: false
# Create the IPAddressPool and L2Advertisement resources
# These replace the deprecated configInline format
crds:
enabled: true
# Note: The actual IP address pool and L2 advertisement configuration
# must now be created as separate Kubernetes resources after MetalLB is installed.
# See the accompanying IPAddressPool and L2Advertisement manifests.

View file

@ -0,0 +1,8 @@
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: default
namespace: metallb-system
spec:
addresses:
- 10.0.19.1-10.0.19.199

View file

@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: metallb-system
resources:
- ipaddresspool.yaml
- l2advertisement.yaml

View file

@ -0,0 +1,8 @@
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: default
namespace: metallb-system
spec:
ipAddressPools:
- default