add args: startup_timeout for kubernetes plugin (#7068)

Signed-off-by: mangoyhuang <mangoyhuang@tencent.com>
Co-authored-by: mangoyhuang <mangoyhuang@tencent.com>
This commit is contained in:
Dave Brown
2025-06-12 02:22:07 +08:00
committed by GitHub
parent cbb318f4d0
commit ab74d3acf2
4 changed files with 69 additions and 4 deletions

View File

@@ -7,6 +7,7 @@ import (
"slices"
"strconv"
"strings"
"time"
"github.com/coredns/caddy"
"github.com/coredns/coredns/core/dnsserver"
@@ -112,6 +113,7 @@ func ParseStanza(c *caddy.Controller) (*Kubernetes, error) {
k8s.Upstream = upstream.New()
k8s.startupTimeout = time.Second * 5
for c.NextBlock() {
switch c.Val() {
case "endpoint_pod_names":
@@ -231,6 +233,17 @@ func ParseStanza(c *caddy.Controller) (*Kubernetes, error) {
k8s.ClientConfig = config
case "multicluster":
k8s.opts.multiclusterZones = plugin.OriginsFromArgsOrServerBlock(c.RemainingArgs(), []string{})
case "startup_timeout":
args := c.RemainingArgs()
if len(args) == 0 {
return nil, c.ArgErr()
} else {
var err error
k8s.startupTimeout, err = time.ParseDuration(args[0])
if err != nil {
return nil, fmt.Errorf("failed to parse startup_timeout: %v, %s", args[0], err)
}
}
default:
return nil, c.Errf("unknown property '%s'", c.Val())
}