Skip to content

Commit 464322a

Browse files
authored
Merge pull request #170 from kndpio/158-install-nginx-ingress-controller-by-default
158 install nginx ingress controller by default
2 parents 74bddd1 + 1a7a9ac commit 464322a

File tree

14 files changed

+300
-118
lines changed

14 files changed

+300
-118
lines changed

cmd/kndp/environment/copy.go

+6-3
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,13 @@ import (
99
)
1010

1111
type copyCmd struct {
12-
Source string `arg:"" required:"" help:"Name source of environment."`
13-
Destination string `arg:"" required:"" help:"Name destination of environment."`
12+
Source string `arg:"" required:"" help:"Name source of environment."`
13+
Destination string `arg:"" required:"" help:"Name destination of environment."`
14+
SourceEngine string `arg:"" required:"" help:"Specifies the Kubernetes engine to use for the runtime environment." default:"kind"`
1415
}
1516

1617
func (c *copyCmd) Run(ctx context.Context, logger *log.Logger) error {
17-
return environment.CopyEnvironment(ctx, logger, c.Source, c.Destination)
18+
return environment.
19+
New(c.Source, c.Source).
20+
CopyEnvironment(ctx, logger, c.Source, c.Destination)
1821
}

cmd/kndp/environment/create.go

+13-5
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,20 @@ import (
88
)
99

1010
type createCmd struct {
11-
Name string `arg:"" requried:"" help:"Name of environment."`
12-
HostPort int `optional:"" short:"p" help:"Host port for mapping" default:"80"`
13-
Context string `optional:"" short:"c" help:"Kubernetes context where Environment will be created."`
14-
Engine string `optional:"" short:"e" help:"Specifies the Kubernetes engine to use for the runtime environment." default:"kind"`
11+
Name string `arg:"" requried:"" help:"Name of environment."`
12+
HttpPort int `optional:"" short:"p" help:"Http host port for mapping" default:"80"`
13+
HttpsPort int `optional:"" short:"s" help:"Https host port for mapping" default:"443"`
14+
Context string `optional:"" short:"c" help:"Kubernetes context where Environment will be created."`
15+
Engine string `optional:"" short:"e" help:"Specifies the Kubernetes engine to use for the runtime environment." default:"kind"`
16+
IngressController string `optional:"" help:"Specifies the Ingress Controller type. (Default: nginx)" default:"nginx"`
1517
}
1618

1719
func (c *createCmd) Run(ctx context.Context, logger *log.Logger) error {
18-
return environment.Create(ctx, c.Engine, c.Name, c.HostPort, logger, c.Context)
20+
return environment.
21+
New(c.Engine, c.Name).
22+
WithHttpPort(c.HttpPort).
23+
WithHttpsPort(c.HttpsPort).
24+
WithContext(c.Context).
25+
WithIngressController(c.IngressController).
26+
Create(ctx, logger)
1927
}

cmd/kndp/environment/delete.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ import (
99

1010
type deleteCmd struct {
1111
Name string `arg:"" required:"" help:"Name of environment."`
12-
Engine string `arg:"" required:"" help:"Specifies the Kubernetes engine to use for the runtime environment." default:"kind"`
12+
Engine string `optional:"" help:"Specifies the Kubernetes engine to use for the runtime environment." default:"kind"`
1313
}
1414

1515
func (c *deleteCmd) Run(ctx context.Context, logger *log.Logger) error {
16-
return environment.Delete(c.Engine, c.Name, logger)
16+
return environment.
17+
New(c.Engine, c.Name).
18+
Delete(logger)
1719
}

cmd/kndp/environment/start.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ import (
1010
type startCmd struct {
1111
Name string `arg:"" required:"" help:"Name of environment."`
1212
Switch bool `optional:"" short:"s" help:"Switch kubernetes context to started cluster context."`
13-
Engine string `arg:"" required:"" help:"Specifies the Kubernetes engine to use for the runtime environment." default:"kind"`
13+
Engine string `optional:"" help:"Specifies the Kubernetes engine to use for the runtime environment." default:"kind"`
1414
}
1515

1616
func (c *startCmd) Run(ctx context.Context, logger *log.Logger) error {
17-
return environment.Start(ctx, c.Name, c.Switch, c.Engine, logger)
17+
return environment.
18+
New(c.Engine, c.Name).
19+
Start(ctx, c.Switch, logger)
1820
}

cmd/kndp/environment/stop.go

+5-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,12 @@ import (
88
)
99

1010
type stopCmd struct {
11-
Name string `arg:"" required:"" help:"Name of environment."`
11+
Name string `arg:"" required:"" help:"Name of environment."`
12+
Engine string `optional:"" help:"Specifies the Kubernetes engine to use for the runtime environment." default:"kind"`
1213
}
1314

1415
func (c *stopCmd) Run(ctx context.Context, logger *log.Logger) error {
15-
return environment.Stop(ctx, c.Name, logger)
16+
return environment.
17+
New(c.Engine, c.Name).
18+
Stop(ctx, logger)
1619
}

cmd/kndp/environment/upgrade.go

+9-4
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,16 @@ import (
88
)
99

1010
type upgradeCmd struct {
11-
Name string `arg:"" required:"" help:"Environment name where engine will be upgraded."`
12-
Engine string `arg:"" required:"" help:"Specifies the Kubernetes engine to use for the runtime environment." default:"kind"`
13-
Context string `optional:"" short:"c" help:"Kubernetes context where Environment will be upgraded."`
11+
Name string `arg:"" required:"" help:"Environment name where engine will be upgraded."`
12+
Engine string `optional:"" help:"Specifies the Kubernetes engine to use for the runtime environment." default:"kind"`
13+
Context string `optional:"" short:"c" help:"Kubernetes context where Environment will be upgraded."`
14+
IngressController string `optional:"" help:"Specifies the Ingress Controller type. (Default: nginx)" default:"nginx"`
1415
}
1516

1617
func (c *upgradeCmd) Run(ctx context.Context, logger *log.Logger) error {
17-
return environment.Upgrade(ctx, c.Engine, c.Name, logger, c.Context)
18+
return environment.
19+
New(c.Engine, c.Name).
20+
WithContext(c.Context).
21+
WithIngressController(c.IngressController).
22+
Upgrade(ctx, logger)
1823
}

internal/engine/engine.go

+7-5
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"k8s.io/apimachinery/pkg/types"
2323
"k8s.io/client-go/rest"
2424

25+
logger "github.com/charmbracelet/log"
2526
corev1 "k8s.io/api/core/v1"
2627
rbacv1 "k8s.io/api/rbac/v1"
2728
extv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
@@ -102,7 +103,7 @@ func GetEngine(configClient *rest.Config) (install.Manager, error) {
102103
}
103104

104105
// Install engine Helm release
105-
func InstallEngine(ctx context.Context, configClient *rest.Config, params map[string]any) error {
106+
func InstallEngine(ctx context.Context, configClient *rest.Config, params map[string]any, logger *logger.Logger) error {
106107
engine, err := GetEngine(configClient)
107108
if err != nil {
108109
return err
@@ -111,13 +112,14 @@ func InstallEngine(ctx context.Context, configClient *rest.Config, params map[st
111112
if params == nil {
112113
params = initParameters
113114
}
114-
115+
logger.Debug("Upgrade Crossplane release")
115116
err = engine.Upgrade(Version, params)
116117
if err != nil {
117118
return err
118119
}
120+
logger.Debug("Done")
119121

120-
return SetupPrivilegedKubernetesProvider(ctx, configClient)
122+
return SetupPrivilegedKubernetesProvider(ctx, configClient, logger)
121123
}
122124

123125
// Check if engine release exists
@@ -157,7 +159,7 @@ func ManagedSelector(m map[string]string) string {
157159
}
158160

159161
// Setup Kubernetes provider which has crossplane admin aggregation role assigned
160-
func SetupPrivilegedKubernetesProvider(ctx context.Context, configClient *rest.Config) error {
162+
func SetupPrivilegedKubernetesProvider(ctx context.Context, configClient *rest.Config, logger *logger.Logger) error {
161163

162164
pcn := providerConfigName
163165

@@ -261,13 +263,13 @@ func SetupPrivilegedKubernetesProvider(ctx context.Context, configClient *rest.C
261263
}); err != nil {
262264
return err
263265
}
266+
logger.Debug("Starting reconciliation of Kubernetes Provider")
264267
mgr.Start(mgrContext)
265268
return nil
266269
}
267270

268271
// Reconcile SvcAcc secret for make kubeconfig
269272
func (a *SecretReconciler) Reconcile(ctx context.Context, req reconcile.Request) (reconcile.Result, error) {
270-
271273
sec := &corev1.Secret{}
272274
err := a.Get(ctx, req.NamespacedName, sec)
273275
if err != nil {

0 commit comments

Comments
 (0)