---
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
  name: monitoring
  namespace: metallb-system
spec:
  selector: {}
  podMetricsEndpoints:
    - port: monitoring
---
apiVersion: metallb.io/v1beta1
kind: MetalLB
metadata:
  name: metallb
  namespace: metallb-system
spec:
  nodeSelector:
    node-role.kubernetes.io/worker: ""
---
# Slice of the private Zoo subnet using MetalLB L2 method
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: zoo
  namespace: metallb-system
spec:
  addresses:
  - 172.20.51.0/24
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: zoo
  namespace: metallb-system
spec:
  ipAddressPools:
    - zoo
    - bind-secondary-external
    - bind-secondary-internal
    - wildduck
---
# Slice of public EEnet subnet using MetalLB L3 method
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: eenet
  namespace: metallb-system
spec:
  addresses:
  - 193.40.103.36/30
---
# Slice of public Elisa subnet using MetalLB L3 method
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: elisa
  namespace: metallb-system
spec:
  addresses:
  - 62.65.250.36/30
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: bind-secondary-internal
  namespace: metallb-system
spec:
  addresses:
  - 172.20.53.0/24
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: bind-secondary-external
  namespace: metallb-system
spec:
  addresses:
  - 62.65.250.2/32
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: wildduck
  namespace: metallb-system
spec:
  addresses:
  - 193.40.103.25/32
---
apiVersion: metallb.io/v1beta2
kind: BGPPeer
metadata:
  name: mikrotik-router
  namespace: metallb-system
spec:
  myASN: 65530
  peerASN: 65530
  peerAddress: 172.20.0.1
  passwordSecret:
    name: mikrotik-router
    namespace: metallb-system
---
apiVersion: metallb.io/v1beta1
kind: BGPAdvertisement
metadata:
  name: public
  namespace: metallb-system
spec:
  ipAddressPools:
  - eenet
  - elisa