diff --git a/node_external_ip_controller_async.py b/node_external_ip_controller_async.py index 61360db..e87c270 100644 --- a/node_external_ip_controller_async.py +++ b/node_external_ip_controller_async.py @@ -1,13 +1,19 @@ import asyncio from kubernetes_asyncio import client, config, watch +# node_external_ip_controller_async.py + +import os + # Configuration -SERVICE_NAME = "traefik" -SERVICE_NAME_LABEL_PATTERN = "app.kubernetes.io/name=traefik" # Define the service name pattern or label to identify services -NAMESPACE = "kube-system" -ANNOTATION_KEY = "kube-vip.io/loadbalancerIPs" -ZERO_GATEWAY_IP = "172.28.10.1" -NODE_LABEL = "svccontroller.k3s.cattle.io/enablelb=true" +SERVICE_NAME = os.getenv("SERVICE_NAME", "traefik") +SERVICE_NAME_LABEL_PATTERN = os.getenv( + "SERVICE_NAME_LABEL_PATTERN", "app.kubernetes.io/name=traefik" +) +NAMESPACE = os.getenv("NAMESPACE", "kube-system") +ANNOTATION_KEY = os.getenv("ANNOTATION_KEY", "kube-vip.io/loadbalancerIPs") +ZERO_GATEWAY_IP = os.getenv("ZERO_GATEWAY_IP", "172.28.10.1") +NODE_LABEL = os.getenv("NODE_LABEL", "svccontroller.k3s.cattle.io/enablelb=true") async def update_service_annotation(v1, service_name, external_ip):