1
1
package main
2
2
3
3
import (
4
- "flag"
5
- "fmt"
6
4
"os"
7
5
8
- "github.com/nginxinc/nginx-gateway-kubernetes/internal/implementation"
9
- "github.com/nginxinc/nginx-gateway-kubernetes/pkg/sdk"
10
- "k8s.io/client-go/rest"
6
+ "github.com/nginxinc/nginx-gateway-kubernetes/internal/config"
7
+ "github.com/nginxinc/nginx-gateway-kubernetes/internal/controller"
8
+
9
+ flag "github.com/spf13/pflag"
11
10
"sigs.k8s.io/controller-runtime/pkg/log/zap"
12
- "sigs.k8s.io/controller-runtime/pkg/manager"
13
- "sigs.k8s.io/controller-runtime/pkg/manager/signals"
14
- "sigs.k8s.io/gateway-api/apis/v1alpha2"
15
11
)
16
12
17
13
var (
@@ -21,55 +17,31 @@ var (
21
17
date string
22
18
23
19
// Command-line flags
24
- gatewayClass = flag .String ("gatewayclass " , "" , "Tha name of the GatewayClass resource " )
20
+ gatewayCtlrName = flag .String ("gateway-ctlr-name " , "" , "The name of the Gateway controller " )
25
21
)
26
22
27
23
func main () {
28
24
flag .Parse ()
29
25
30
- if * gatewayClass == "" {
31
- fmt . Fprintln ( os . Stderr , "-gatewayclass argument must be set" )
26
+ if * gatewayCtlrName == "" {
27
+ flag . PrintDefaults ( )
32
28
os .Exit (1 )
33
29
}
34
30
35
31
logger := zap .New ()
32
+ conf := config.Config {
33
+ GatewayCtlrName : * gatewayCtlrName ,
34
+ Logger : logger ,
35
+ }
36
36
37
37
logger .Info ("Starting NGINX Gateway" ,
38
38
"version" , version ,
39
39
"commit" , commit ,
40
40
"date" , date )
41
41
42
- config , err := rest .InClusterConfig ()
43
- if err != nil {
44
- logger .Error (err , "Failed to create InClusterConfig" )
45
- os .Exit (1 )
46
- }
47
-
48
- mgr , err := manager .New (config , manager.Options {
49
- Logger : logger ,
50
- })
51
- if err != nil {
52
- logger .Error (err , "Failed to create Manager" )
53
- os .Exit (1 )
54
- }
55
-
56
- err = v1alpha2 .AddToScheme (mgr .GetScheme ())
57
- if err != nil {
58
- logger .Error (err , "Failed to add Gateway API scheme" )
59
- os .Exit (1 )
60
- }
61
-
62
- err = sdk .RegisterGatewayClassController (mgr , implementation .NewGatewayClassImplementation (logger ))
63
- if err != nil {
64
- logger .Error (err , "Failed to register GatewayClassController" )
65
- os .Exit (1 )
66
- }
67
-
68
- logger .Info ("Starting manager" )
69
-
70
- err = mgr .Start (signals .SetupSignalHandler ())
42
+ err := controller .Start (conf )
71
43
if err != nil {
72
- logger .Error (err , "Failed to start Manager " )
44
+ logger .Error (err , "Failed to start control loop " )
73
45
os .Exit (1 )
74
46
}
75
47
}
0 commit comments