Ingress: Improve port opening
Update nginx replica counts and rollout strategy.
What proxy-backend configmap changes and reload auto proxy nginx.
Make ingress optional.
Use <PREFIX>.<CLUSTER_NAME>.clusters.p.<DOMAIN> addresses for remote
cluster services.
Change-Id: Ideb146a8c0275822ee5cd28311c00a817f4202aa
diff --git a/core/port-allocator/main.go b/core/port-allocator/main.go
index 7795993..3696342 100644
--- a/core/port-allocator/main.go
+++ b/core/port-allocator/main.go
@@ -302,21 +302,18 @@
if c.proxyCfg == nil {
return fmt.Errorf("does not support TCP/UDP proxy")
}
- var namespace string
- var err error
switch strings.ToLower(protocol) {
case "tcp":
- if namespace, err = c.proxyCfg.AddProxy(port, dest, installer.ProtocolTCP); err != nil {
+ if _, err := c.proxyCfg.AddProxy(port, dest, installer.ProtocolTCP); err != nil {
return err
}
case "udp":
- if namespace, err = c.proxyCfg.AddProxy(port, dest, installer.ProtocolUDP); err != nil {
+ if _, err := c.proxyCfg.AddProxy(port, dest, installer.ProtocolUDP); err != nil {
return err
}
default:
return fmt.Errorf("unknown protocol: %s", protocol)
}
- dest = fmt.Sprintf("%s/proxy-backend-service:%d", namespace, port)
}
_, err := c.repo.Do(func(fs soft.RepoFS) (string, error) {
if err := c.writeState(fs); err != nil {
@@ -327,22 +324,27 @@
return "", err
}
portStr := strconv.Itoa(port)
+ var portMap map[string]any
+ base := "spec.values"
+ if r.IsRemoteProxy {
+ base = "spec.values.controller.service.extraPorts"
+ dest = portStr
+ }
switch protocol {
case "tcp":
- tcp, err := extractPorts(rel, "spec.values.tcp")
+ portMap, err = extractPorts(rel, fmt.Sprintf("%s.tcp", base))
if err != nil {
return "", err
}
- tcp[portStr] = dest
case "udp":
- udp, err := extractPorts(rel, "spec.values.udp")
+ portMap, err = extractPorts(rel, fmt.Sprintf("%s.udp", base))
if err != nil {
return "", err
}
- udp[portStr] = dest
default:
panic("MUST NOT REACH")
}
+ portMap[portStr] = dest
if err := c.writeRelease(fs, rel); err != nil {
return "", err
}