Merge pull request #8853 from rikatz/move-more-utils

Move utils to better locations to help in decoupling
This commit is contained in:
James Strong 2022-07-21 18:24:42 -04:00 committed by GitHub
commit 4391474bf1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 21 additions and 24 deletions

View file

@ -28,7 +28,7 @@ import (
"k8s.io/ingress-nginx/internal/ingress/annotations/parser" "k8s.io/ingress-nginx/internal/ingress/annotations/parser"
ing_errors "k8s.io/ingress-nginx/internal/ingress/errors" ing_errors "k8s.io/ingress-nginx/internal/ingress/errors"
"k8s.io/ingress-nginx/internal/ingress/resolver" "k8s.io/ingress-nginx/internal/ingress/resolver"
"k8s.io/ingress-nginx/internal/sets" "k8s.io/ingress-nginx/pkg/util/sets"
) )
// Config returns external authentication configuration for an Ingress rule // Config returns external authentication configuration for an Ingress rule

View file

@ -27,7 +27,7 @@ import (
ing_errors "k8s.io/ingress-nginx/internal/ingress/errors" ing_errors "k8s.io/ingress-nginx/internal/ingress/errors"
"k8s.io/ingress-nginx/internal/ingress/resolver" "k8s.io/ingress-nginx/internal/ingress/resolver"
"k8s.io/ingress-nginx/internal/net" "k8s.io/ingress-nginx/internal/net"
"k8s.io/ingress-nginx/internal/sets" "k8s.io/ingress-nginx/pkg/util/sets"
) )
const defaultKey = "$remote_addr" const defaultKey = "$remote_addr"

View file

@ -27,7 +27,7 @@ import (
"k8s.io/ingress-nginx/internal/ingress/annotations/parser" "k8s.io/ingress-nginx/internal/ingress/annotations/parser"
ing_errors "k8s.io/ingress-nginx/internal/ingress/errors" ing_errors "k8s.io/ingress-nginx/internal/ingress/errors"
"k8s.io/ingress-nginx/internal/ingress/resolver" "k8s.io/ingress-nginx/internal/ingress/resolver"
"k8s.io/ingress-nginx/internal/sets" "k8s.io/ingress-nginx/pkg/util/sets"
) )
// SourceRange returns the CIDR // SourceRange returns the CIDR

View file

@ -26,7 +26,7 @@ import (
"k8s.io/ingress-nginx/internal/ingress/annotations/parser" "k8s.io/ingress-nginx/internal/ingress/annotations/parser"
"k8s.io/ingress-nginx/internal/ingress/resolver" "k8s.io/ingress-nginx/internal/ingress/resolver"
"k8s.io/ingress-nginx/internal/net" "k8s.io/ingress-nginx/internal/net"
"k8s.io/ingress-nginx/internal/sets" "k8s.io/ingress-nginx/pkg/util/sets"
) )
const ( const (

View file

@ -44,6 +44,7 @@ import (
v1core "k8s.io/client-go/kubernetes/typed/core/v1" v1core "k8s.io/client-go/kubernetes/typed/core/v1"
"k8s.io/client-go/tools/record" "k8s.io/client-go/tools/record"
"k8s.io/client-go/util/flowcontrol" "k8s.io/client-go/util/flowcontrol"
"k8s.io/ingress-nginx/pkg/tcpproxy"
adm_controller "k8s.io/ingress-nginx/internal/admission/controller" adm_controller "k8s.io/ingress-nginx/internal/admission/controller"
"k8s.io/ingress-nginx/internal/ingress" "k8s.io/ingress-nginx/internal/ingress"
@ -58,7 +59,6 @@ import (
"k8s.io/ingress-nginx/internal/net/ssl" "k8s.io/ingress-nginx/internal/net/ssl"
"k8s.io/ingress-nginx/internal/nginx" "k8s.io/ingress-nginx/internal/nginx"
"k8s.io/ingress-nginx/internal/task" "k8s.io/ingress-nginx/internal/task"
"k8s.io/ingress-nginx/internal/watch"
"k8s.io/ingress-nginx/pkg/util/file" "k8s.io/ingress-nginx/pkg/util/file"
klog "k8s.io/klog/v2" klog "k8s.io/klog/v2"
@ -102,7 +102,7 @@ func NewNGINXController(config *Configuration, mc metric.Collector) *NGINXContro
runningConfig: new(ingress.Configuration), runningConfig: new(ingress.Configuration),
Proxy: &TCPProxy{}, Proxy: &tcpproxy.TCPProxy{},
metricCollector: mc, metricCollector: mc,
@ -172,7 +172,7 @@ func NewNGINXController(config *Configuration, mc metric.Collector) *NGINXContro
n.t = ngxTpl n.t = ngxTpl
_, err = watch.NewFileWatcher(nginx.TemplatePath, onTemplateChange) _, err = file.NewFileWatcher(nginx.TemplatePath, onTemplateChange)
if err != nil { if err != nil {
klog.Fatalf("Error creating file watcher for %v: %v", nginx.TemplatePath, err) klog.Fatalf("Error creating file watcher for %v: %v", nginx.TemplatePath, err)
} }
@ -196,7 +196,7 @@ func NewNGINXController(config *Configuration, mc metric.Collector) *NGINXContro
} }
for _, f := range filesToWatch { for _, f := range filesToWatch {
_, err = watch.NewFileWatcher(f, func() { _, err = file.NewFileWatcher(f, func() {
klog.InfoS("File changed detected. Reloading NGINX", "path", f) klog.InfoS("File changed detected. Reloading NGINX", "path", f)
n.syncQueue.EnqueueTask(task.GetDummyObject("file-change")) n.syncQueue.EnqueueTask(task.GetDummyObject("file-change"))
}) })
@ -242,7 +242,7 @@ type NGINXController struct {
isShuttingDown bool isShuttingDown bool
Proxy *TCPProxy Proxy *tcpproxy.TCPProxy
store store.Storer store store.Storer
@ -440,7 +440,7 @@ func (n NGINXController) DefaultEndpoint() ingress.Endpoint {
func (n NGINXController) generateTemplate(cfg ngx_config.Configuration, ingressCfg ingress.Configuration) ([]byte, error) { func (n NGINXController) generateTemplate(cfg ngx_config.Configuration, ingressCfg ingress.Configuration) ([]byte, error) {
if n.cfg.EnableSSLPassthrough { if n.cfg.EnableSSLPassthrough {
servers := []*TCPServer{} servers := []*tcpproxy.TCPServer{}
for _, pb := range ingressCfg.PassthroughBackends { for _, pb := range ingressCfg.PassthroughBackends {
svc := pb.Service svc := pb.Service
if svc == nil { if svc == nil {
@ -465,7 +465,7 @@ func (n NGINXController) generateTemplate(cfg ngx_config.Configuration, ingressC
} }
// TODO: Allow PassthroughBackends to specify they support proxy-protocol // TODO: Allow PassthroughBackends to specify they support proxy-protocol
servers = append(servers, &TCPServer{ servers = append(servers, &tcpproxy.TCPServer{
Hostname: pb.Hostname, Hostname: pb.Hostname,
IP: svc.Spec.ClusterIP, IP: svc.Spec.ClusterIP,
Port: port, Port: port,
@ -752,8 +752,8 @@ func (n *NGINXController) setupSSLProxy() {
proxyPort := n.cfg.ListenPorts.SSLProxy proxyPort := n.cfg.ListenPorts.SSLProxy
klog.InfoS("Starting TLS proxy for SSL Passthrough") klog.InfoS("Starting TLS proxy for SSL Passthrough")
n.Proxy = &TCPProxy{ n.Proxy = &tcpproxy.TCPProxy{
Default: &TCPServer{ Default: &tcpproxy.TCPServer{
Hostname: "localhost", Hostname: "localhost",
IP: "127.0.0.1", IP: "127.0.0.1",
Port: proxyPort, Port: proxyPort,

View file

@ -17,7 +17,7 @@ limitations under the License.
package ingress package ingress
import ( import (
"k8s.io/ingress-nginx/internal/sets" "k8s.io/ingress-nginx/pkg/util/sets"
) )
// Equal tests for equality between two Configuration types // Equal tests for equality between two Configuration types

View file

@ -43,9 +43,8 @@ import (
"k8s.io/ingress-nginx/internal/ingress" "k8s.io/ingress-nginx/internal/ingress"
ngx_config "k8s.io/ingress-nginx/internal/ingress/controller/config" ngx_config "k8s.io/ingress-nginx/internal/ingress/controller/config"
"k8s.io/ingress-nginx/internal/watch"
"k8s.io/ingress-nginx/pkg/util/file" "k8s.io/ingress-nginx/pkg/util/file"
klog "k8s.io/klog/v2" klog "k8s.io/klog/v2"
) )
@ -509,8 +508,8 @@ func NewTLSListener(certificate, key string) *TLSListener {
l.load() l.load()
_, _ = watch.NewFileWatcher(certificate, l.load) _, _ = file.NewFileWatcher(certificate, l.load)
_, _ = watch.NewFileWatcher(key, l.load) _, _ = file.NewFileWatcher(key, l.load)
return &l return &l
} }

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package controller package tcpproxy
import ( import (
"fmt" "fmt"

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package watch package file
import ( import (
"log" "log"

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package watch package file
import ( import (
"os" "os"
@ -22,8 +22,6 @@ import (
"path/filepath" "path/filepath"
"testing" "testing"
"time" "time"
"k8s.io/ingress-nginx/pkg/util/file"
) )
func prepareTimeout() chan bool { func prepareTimeout() chan bool {
@ -61,7 +59,7 @@ func TestFileWatcher(t *testing.T) {
t.Fatalf("expected no events before writing a file") t.Fatalf("expected no events before writing a file")
case <-timeoutChan: case <-timeoutChan:
} }
os.WriteFile(f.Name(), []byte{}, file.ReadWriteByUser) os.WriteFile(f.Name(), []byte{}, ReadWriteByUser)
select { select {
case <-events: case <-events:
case <-timeoutChan: case <-timeoutChan: