Move APIs to be used by both controller and configurer (#8854)

This commit is contained in:
Ricardo Katz 2022-07-21 21:32:48 -03:00 committed by GitHub
parent 4391474bf1
commit c86d50ecef
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
30 changed files with 30 additions and 35 deletions

View file

@ -38,7 +38,7 @@ chmod +x ${CODEGEN_PKG}/generate-groups.sh
# nginxingress:v1alpha1 \ # nginxingress:v1alpha1 \
# --output-base "$(dirname ${BASH_SOURCE})/../../.." # --output-base "$(dirname ${BASH_SOURCE})/../../.."
${CODEGEN_PKG}/generate-groups.sh "deepcopy" \ ${CODEGEN_PKG}/generate-groups.sh "deepcopy" \
k8s.io/ingress-nginx/internal k8s.io/ingress-nginx/internal \ k8s.io/ingress-nginx/internal k8s.io/ingress-nginx/pkg/apis \
.:ingress \ .:ingress \
--output-base "$(dirname ${BASH_SOURCE})/../../.." \ --output-base "$(dirname ${BASH_SOURCE})/../../.." \
--go-header-file ${SCRIPT_ROOT}/hack/boilerplate/boilerplate.generated.go.txt --go-header-file ${SCRIPT_ROOT}/hack/boilerplate/boilerplate.generated.go.txt

View file

@ -24,8 +24,8 @@ import (
apiv1 "k8s.io/api/core/v1" apiv1 "k8s.io/api/core/v1"
"k8s.io/ingress-nginx/internal/ingress"
"k8s.io/ingress-nginx/internal/ingress/defaults" "k8s.io/ingress-nginx/internal/ingress/defaults"
"k8s.io/ingress-nginx/pkg/apis/ingress"
"k8s.io/ingress-nginx/pkg/util/runtime" "k8s.io/ingress-nginx/pkg/util/runtime"
) )

View file

@ -32,7 +32,6 @@ import (
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/ingress-nginx/internal/ingress"
"k8s.io/ingress-nginx/internal/ingress/annotations" "k8s.io/ingress-nginx/internal/ingress/annotations"
"k8s.io/ingress-nginx/internal/ingress/annotations/log" "k8s.io/ingress-nginx/internal/ingress/annotations/log"
"k8s.io/ingress-nginx/internal/ingress/annotations/parser" "k8s.io/ingress-nginx/internal/ingress/annotations/parser"
@ -45,6 +44,7 @@ import (
"k8s.io/ingress-nginx/internal/ingress/metric/collectors" "k8s.io/ingress-nginx/internal/ingress/metric/collectors"
"k8s.io/ingress-nginx/internal/k8s" "k8s.io/ingress-nginx/internal/k8s"
"k8s.io/ingress-nginx/internal/nginx" "k8s.io/ingress-nginx/internal/nginx"
"k8s.io/ingress-nginx/pkg/apis/ingress"
"k8s.io/klog/v2" "k8s.io/klog/v2"
) )

View file

@ -39,7 +39,7 @@ import (
"k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/labels"
"k8s.io/client-go/kubernetes/fake" "k8s.io/client-go/kubernetes/fake"
"k8s.io/ingress-nginx/internal/ingress" "k8s.io/ingress-nginx/pkg/apis/ingress"
"k8s.io/ingress-nginx/internal/ingress/annotations" "k8s.io/ingress-nginx/internal/ingress/annotations"
"k8s.io/ingress-nginx/internal/ingress/annotations/canary" "k8s.io/ingress-nginx/internal/ingress/annotations/canary"

View file

@ -29,8 +29,8 @@ import (
corev1 "k8s.io/api/core/v1" corev1 "k8s.io/api/core/v1"
"k8s.io/ingress-nginx/internal/ingress"
"k8s.io/ingress-nginx/internal/k8s" "k8s.io/ingress-nginx/internal/k8s"
"k8s.io/ingress-nginx/pkg/apis/ingress"
) )
// getEndpoints returns a list of Endpoint structs for a given service/target port combination. // getEndpoints returns a list of Endpoint structs for a given service/target port combination.

View file

@ -22,7 +22,7 @@ import (
corev1 "k8s.io/api/core/v1" corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/ingress-nginx/internal/ingress" "k8s.io/ingress-nginx/pkg/apis/ingress"
) )
func TestGetEndpoints(t *testing.T) { func TestGetEndpoints(t *testing.T) {

View file

@ -21,7 +21,7 @@ import (
"strings" "strings"
networking "k8s.io/api/networking/v1" networking "k8s.io/api/networking/v1"
"k8s.io/ingress-nginx/internal/ingress" "k8s.io/ingress-nginx/pkg/apis/ingress"
) )
var ( var (

View file

@ -47,7 +47,6 @@ import (
"k8s.io/ingress-nginx/pkg/tcpproxy" "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"
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/ingress/controller/process" "k8s.io/ingress-nginx/internal/ingress/controller/process"
"k8s.io/ingress-nginx/internal/ingress/controller/store" "k8s.io/ingress-nginx/internal/ingress/controller/store"
@ -59,6 +58,7 @@ 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/pkg/apis/ingress"
"k8s.io/ingress-nginx/pkg/util/file" "k8s.io/ingress-nginx/pkg/util/file"
klog "k8s.io/klog/v2" klog "k8s.io/klog/v2"

View file

@ -32,8 +32,8 @@ import (
apiv1 "k8s.io/api/core/v1" apiv1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
"k8s.io/ingress-nginx/internal/ingress"
"k8s.io/ingress-nginx/internal/nginx" "k8s.io/ingress-nginx/internal/nginx"
"k8s.io/ingress-nginx/pkg/apis/ingress"
) )
func TestIsDynamicConfigurationEnough(t *testing.T) { func TestIsDynamicConfigurationEnough(t *testing.T) {

View file

@ -24,7 +24,7 @@ import (
networking "k8s.io/api/networking/v1" networking "k8s.io/api/networking/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/ingress-nginx/internal/ingress" "k8s.io/ingress-nginx/pkg/apis/ingress"
klog "k8s.io/klog/v2" klog "k8s.io/klog/v2"

View file

@ -19,7 +19,7 @@ package store
import ( import (
networking "k8s.io/api/networking/v1" networking "k8s.io/api/networking/v1"
"k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/cache"
"k8s.io/ingress-nginx/internal/ingress" "k8s.io/ingress-nginx/pkg/apis/ingress"
) )
// IngressLister makes a Store that lists Ingress. // IngressLister makes a Store that lists Ingress.

View file

@ -18,7 +18,7 @@ package store
import ( import (
"k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/cache"
"k8s.io/ingress-nginx/internal/ingress" "k8s.io/ingress-nginx/pkg/apis/ingress"
) )
// IngressWithAnnotationsLister makes a Store that lists Ingress rules with annotations already parsed // IngressWithAnnotationsLister makes a Store that lists Ingress rules with annotations already parsed

View file

@ -21,7 +21,7 @@ import (
"k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/cache"
"k8s.io/ingress-nginx/internal/ingress" "k8s.io/ingress-nginx/pkg/apis/ingress"
) )
// SSLCertTracker holds a store of referenced Secrets in Ingress rules // SSLCertTracker holds a store of referenced Secrets in Ingress rules

View file

@ -48,7 +48,6 @@ import (
"k8s.io/ingress-nginx/pkg/util/file" "k8s.io/ingress-nginx/pkg/util/file"
klog "k8s.io/klog/v2" klog "k8s.io/klog/v2"
"k8s.io/ingress-nginx/internal/ingress"
"k8s.io/ingress-nginx/internal/ingress/annotations" "k8s.io/ingress-nginx/internal/ingress/annotations"
"k8s.io/ingress-nginx/internal/ingress/annotations/parser" "k8s.io/ingress-nginx/internal/ingress/annotations/parser"
ngx_config "k8s.io/ingress-nginx/internal/ingress/controller/config" ngx_config "k8s.io/ingress-nginx/internal/ingress/controller/config"
@ -58,6 +57,7 @@ import (
"k8s.io/ingress-nginx/internal/ingress/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/k8s" "k8s.io/ingress-nginx/internal/k8s"
"k8s.io/ingress-nginx/pkg/apis/ingress"
) )
// IngressFilterFunc decides if an Ingress should be omitted or not // IngressFilterFunc decides if an Ingress should be omitted or not

View file

@ -36,9 +36,9 @@ import (
"k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/cache"
"sigs.k8s.io/controller-runtime/pkg/envtest" "sigs.k8s.io/controller-runtime/pkg/envtest"
"k8s.io/ingress-nginx/internal/ingress"
"k8s.io/ingress-nginx/internal/ingress/annotations/parser" "k8s.io/ingress-nginx/internal/ingress/annotations/parser"
"k8s.io/ingress-nginx/internal/ingress/controller/ingressclass" "k8s.io/ingress-nginx/internal/ingress/controller/ingressclass"
"k8s.io/ingress-nginx/pkg/apis/ingress"
"k8s.io/ingress-nginx/test/e2e/framework" "k8s.io/ingress-nginx/test/e2e/framework"
) )

View file

@ -40,12 +40,12 @@ import (
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
"k8s.io/klog/v2" "k8s.io/klog/v2"
"k8s.io/ingress-nginx/internal/ingress"
"k8s.io/ingress-nginx/internal/ingress/annotations/influxdb" "k8s.io/ingress-nginx/internal/ingress/annotations/influxdb"
"k8s.io/ingress-nginx/internal/ingress/annotations/parser" "k8s.io/ingress-nginx/internal/ingress/annotations/parser"
"k8s.io/ingress-nginx/internal/ingress/annotations/ratelimit" "k8s.io/ingress-nginx/internal/ingress/annotations/ratelimit"
"k8s.io/ingress-nginx/internal/ingress/controller/config" "k8s.io/ingress-nginx/internal/ingress/controller/config"
ing_net "k8s.io/ingress-nginx/internal/net" ing_net "k8s.io/ingress-nginx/internal/net"
"k8s.io/ingress-nginx/pkg/apis/ingress"
) )
const ( const (

View file

@ -34,7 +34,6 @@ import (
networking "k8s.io/api/networking/v1" networking "k8s.io/api/networking/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/ingress-nginx/internal/ingress"
"k8s.io/ingress-nginx/internal/ingress/annotations/authreq" "k8s.io/ingress-nginx/internal/ingress/annotations/authreq"
"k8s.io/ingress-nginx/internal/ingress/annotations/influxdb" "k8s.io/ingress-nginx/internal/ingress/annotations/influxdb"
"k8s.io/ingress-nginx/internal/ingress/annotations/modsecurity" "k8s.io/ingress-nginx/internal/ingress/annotations/modsecurity"
@ -43,6 +42,7 @@ import (
"k8s.io/ingress-nginx/internal/ingress/annotations/rewrite" "k8s.io/ingress-nginx/internal/ingress/annotations/rewrite"
"k8s.io/ingress-nginx/internal/ingress/controller/config" "k8s.io/ingress-nginx/internal/ingress/controller/config"
"k8s.io/ingress-nginx/internal/nginx" "k8s.io/ingress-nginx/internal/nginx"
"k8s.io/ingress-nginx/pkg/apis/ingress"
) )
func init() { func init() {

View file

@ -28,7 +28,7 @@ import (
api "k8s.io/api/core/v1" api "k8s.io/api/core/v1"
networking "k8s.io/api/networking/v1" networking "k8s.io/api/networking/v1"
"k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/ingress-nginx/internal/ingress" "k8s.io/ingress-nginx/pkg/apis/ingress"
klog "k8s.io/klog/v2" klog "k8s.io/klog/v2"
) )

View file

@ -22,7 +22,7 @@ import (
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
"k8s.io/ingress-nginx/internal/ingress" "k8s.io/ingress-nginx/pkg/apis/ingress"
"k8s.io/ingress-nginx/version" "k8s.io/ingress-nginx/version"
"k8s.io/klog/v2" "k8s.io/klog/v2"
) )

View file

@ -24,7 +24,7 @@ import (
"time" "time"
"github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus"
"k8s.io/ingress-nginx/internal/ingress" "k8s.io/ingress-nginx/pkg/apis/ingress"
) )
func TestControllerCounters(t *testing.T) { func TestControllerCounters(t *testing.T) {

View file

@ -18,7 +18,7 @@ package metric
import ( import (
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
"k8s.io/ingress-nginx/internal/ingress" "k8s.io/ingress-nginx/pkg/apis/ingress"
) )
// NewDummyCollector returns a dummy metric collector // NewDummyCollector returns a dummy metric collector

View file

@ -25,8 +25,8 @@ import (
"k8s.io/klog/v2" "k8s.io/klog/v2"
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
"k8s.io/ingress-nginx/internal/ingress"
"k8s.io/ingress-nginx/internal/ingress/metric/collectors" "k8s.io/ingress-nginx/internal/ingress/metric/collectors"
"k8s.io/ingress-nginx/pkg/apis/ingress"
) )
// Collector defines the interface for a metric collector // Collector defines the interface for a metric collector

View file

@ -34,9 +34,9 @@ import (
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/ingress-nginx/internal/ingress"
"k8s.io/ingress-nginx/internal/k8s" "k8s.io/ingress-nginx/internal/k8s"
"k8s.io/ingress-nginx/internal/task" "k8s.io/ingress-nginx/internal/task"
"k8s.io/ingress-nginx/pkg/apis/ingress"
) )
// UpdateInterval defines the time interval, in seconds, in // UpdateInterval defines the time interval, in seconds, in

View file

@ -28,10 +28,10 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
testclient "k8s.io/client-go/kubernetes/fake" testclient "k8s.io/client-go/kubernetes/fake"
"k8s.io/ingress-nginx/internal/ingress"
"k8s.io/ingress-nginx/internal/ingress/controller/ingressclass" "k8s.io/ingress-nginx/internal/ingress/controller/ingressclass"
"k8s.io/ingress-nginx/internal/k8s" "k8s.io/ingress-nginx/internal/k8s"
"k8s.io/ingress-nginx/internal/task" "k8s.io/ingress-nginx/internal/task"
"k8s.io/ingress-nginx/pkg/apis/ingress"
) )
func buildLoadBalancerIngressByIP() []apiv1.LoadBalancerIngress { func buildLoadBalancerIngressByIP() []apiv1.LoadBalancerIngress {

View file

@ -40,7 +40,7 @@ import (
"github.com/zakjan/cert-chain-resolver/certUtil" "github.com/zakjan/cert-chain-resolver/certUtil"
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
"k8s.io/ingress-nginx/internal/ingress" "k8s.io/ingress-nginx/pkg/apis/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/pkg/util/file" "k8s.io/ingress-nginx/pkg/util/file"

View file

@ -42,13 +42,8 @@ import (
"k8s.io/ingress-nginx/internal/ingress/annotations/rewrite" "k8s.io/ingress-nginx/internal/ingress/annotations/rewrite"
) )
var ( // TODO: The API shouldn't be importing structs from annotation code. Instead we probably want a conversion from internal
// DefaultSSLDirectory defines the location where the SSL certificates will be generated // to API object, or see how much effort is to move the structs of annotations to become an "API'ish" as well
// This directory contains all the SSL certificates that are specified in Ingress rules.
// The name of each file is <namespace>-<secret name>.pem. The content is the concatenated
// certificate and key.
DefaultSSLDirectory = "/ingress-controller/ssl"
)
// Configuration holds the definition of all the parts required to describe all // Configuration holds the definition of all the parts required to describe all
// ingresses reachable by the ingress controller (using a filter by namespace) // ingresses reachable by the ingress controller (using a filter by namespace)

View file

@ -25,19 +25,19 @@ import (
) )
func TestEqualConfiguration(t *testing.T) { func TestEqualConfiguration(t *testing.T) {
ap, _ := filepath.Abs("../../test/manifests/configuration-a.json") ap, _ := filepath.Abs("../../../test/manifests/configuration-a.json")
a, err := readJSON(ap) a, err := readJSON(ap)
if err != nil { if err != nil {
t.Errorf("unexpected error reading JSON file: %v", err) t.Errorf("unexpected error reading JSON file: %v", err)
} }
bp, _ := filepath.Abs("../../test/manifests/configuration-b.json") bp, _ := filepath.Abs("../../../test/manifests/configuration-b.json")
b, err := readJSON(bp) b, err := readJSON(bp)
if err != nil { if err != nil {
t.Errorf("unexpected error reading JSON file: %v", err) t.Errorf("unexpected error reading JSON file: %v", err)
} }
cp, _ := filepath.Abs("../../test/manifests/configuration-c.json") cp, _ := filepath.Abs("../../../test/manifests/configuration-c.json")
c, err := readJSON(cp) c, err := readJSON(cp)
if err != nil { if err != nil {
t.Errorf("unexpected error reading JSON file: %v", err) t.Errorf("unexpected error reading JSON file: %v", err)