1- From 4152179a9a69f150f2999d061a23025602480f23 Mon Sep 17 00:00:00 2001
1+ From 331b068757b105adaeb02723072aa975efed3d77 Mon Sep 17 00:00:00 2001
22From: Rahul Ganesh <rahulgab@amazon.com>
33Date: Thu, 22 Jan 2026 16:46:18 -0800
4- Subject: [PATCH 1/3 ] Remove secondstar service
4+ Subject: [PATCH 1/5 ] Remove secondstar service
55
66EKS-A does not use the secondstar (SSH over serial) service. Remove it
77to reduce binary size and dependencies.
@@ -11,14 +11,14 @@ it for machine metadata.
1111
1212Signed-off-by: Rahul Ganesh <rahulgab@amazon.com>
1313---
14- cmd/tinkerbell/cmd.go | 50 ++----------------------
15- cmd/tinkerbell/flag/global.go | 7 ----
16- cmd/tinkerbell/flag/secondstar.go | 64 -------------------------------
17- 3 files changed, 3 insertions(+), 118 deletions(-)
14+ cmd/tinkerbell/cmd.go | 50 ++--------------------
15+ cmd/tinkerbell/flag/global.go | 7 ---
16+ cmd/tinkerbell/flag/secondstar.go | 71 -------------------------------
17+ 3 files changed, 3 insertions(+), 125 deletions(-)
1818 delete mode 100644 cmd/tinkerbell/flag/secondstar.go
1919
2020diff --git a/cmd/tinkerbell/cmd.go b/cmd/tinkerbell/cmd.go
21- index 565187ec..686c2e24 100644
21+ index 4b7d3a6a..5c2368d7 100644
2222--- a/cmd/tinkerbell/cmd.go
2323+++ b/cmd/tinkerbell/cmd.go
2424@@ -23,7 +23,6 @@ import (
@@ -29,23 +29,23 @@ index 565187ec..686c2e24 100644
2929 "github.com/tinkerbell/tinkerbell/smee"
3030 "github.com/tinkerbell/tinkerbell/tink/controller"
3131 "github.com/tinkerbell/tinkerbell/tink/server"
32- @@ -36 ,7 +35 ,6 @@ import (
32+ @@ -37 ,7 +36 ,6 @@ import (
3333 const (
3434 defaultRufioMetricsPort = 8082
3535 defaultRufioProbePort = 8083
3636- defaultSecondStarPort = 2222
3737 defaultSmeeHTTPPort = 7171
3838 defaultSmeeHTTPSPort = 7272
3939 defaultTinkControllerMetricsPort = 8080
40- @@ -61 ,7 +59 ,6 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
40+ @@ -63 ,7 +61 ,6 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
4141 EnableTinkServer: true,
4242 EnableTinkController: true,
4343 EnableRufio: true,
4444- EnableSecondStar: true,
45+ EnableUI: true,
4546 EnableCRDMigrations: true,
4647 EmbeddedGlobalConfig: flag.EmbeddedGlobalConfig{
47- EnableKubeAPIServer: (embeddedApiserverExecute != nil),
48- @@ -113,14 +110,6 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
48+ @@ -116,14 +113,6 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
4949 Config: rufio.NewConfig(rufioOpts...),
5050 }
5151
@@ -57,34 +57,35 @@ index 565187ec..686c2e24 100644
5757- },
5858- }
5959-
60- // order here determines the help output.
61- top := ff.NewFlagSet("smee - DHCP and iPXE service")
62- if embeddedFlagSet != nil {
63- @@ -131,14 +120,12 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
60+ uiOpts := []ui.Option{
61+ ui.WithURLPrefix("/"),
62+ ui.WithBindPort(defaultUIPort),
63+ @@ -142,15 +131,13 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
6464 tfs := ff.NewFlagSet("tink server - Workflow service").SetParent(hfs)
6565 cfs := ff.NewFlagSet("tink controller - Workflow controller").SetParent(tfs)
6666 rfs := ff.NewFlagSet("rufio - BMC controller").SetParent(cfs)
6767- ssfs := ff.NewFlagSet("secondstar - SSH over serial service").SetParent(rfs)
68- - gfs := ff.NewFlagSet("globals").SetParent(ssfs)
69- + gfs := ff.NewFlagSet("globals").SetParent(rfs)
68+ - uifs := ff.NewFlagSet("ui - UI service").SetParent(ssfs)
69+ + uifs := ff.NewFlagSet("ui - UI service").SetParent(rfs)
70+ gfs := ff.NewFlagSet("globals").SetParent(uifs)
7071 flag.RegisterSmeeFlags(&flag.Set{FlagSet: sfs}, s)
7172 flag.RegisterTootlesFlags(&flag.Set{FlagSet: hfs}, h)
7273 flag.RegisterTinkServerFlags(&flag.Set{FlagSet: tfs}, ts)
7374 flag.RegisterTinkControllerFlags(&flag.Set{FlagSet: cfs}, tc)
7475 flag.RegisterRufioFlags(&flag.Set{FlagSet: rfs}, rc)
7576- flag.RegisterSecondStarFlags(&flag.Set{FlagSet: ssfs}, ssc)
77+ flag.RegisterUIFlags(&flag.Set{FlagSet: uifs}, uic)
7678 flag.RegisterGlobal(&flag.Set{FlagSet: gfs}, globals)
7779 if embeddedApiserverExecute != nil && embeddedFlagSet != nil {
78- // This way the embedded flags only show up when the embedded services have been compiled in.
79- @@ -170,7 +157,6 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
80+ @@ -183,7 +170,6 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
8081 "tinkServerEnabled", globals.EnableTinkServer,
8182 "tinkControllerEnabled", globals.EnableTinkController,
8283 "rufioEnabled", globals.EnableRufio,
8384- "secondStarEnabled", globals.EnableSecondStar,
85+ "uiEnabled", globals.EnableUI,
8486 "publicIP", globals.PublicIP,
8587 "embeddedKubeAPIServer", globals.EmbeddedGlobalConfig.EnableKubeAPIServer,
86- "embeddedEtcd", globals.EmbeddedGlobalConfig.EnableETCD,
87- @@ -224,14 +210,6 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
88+ @@ -238,14 +224,6 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
8889 rc.Config.ProbeAddr = netip.AddrPortFrom(globals.BindAddr, rc.Config.ProbeAddr.Port())
8990 }
9091
@@ -96,10 +97,10 @@ index 565187ec..686c2e24 100644
9697- ssc.Config.BindAddr = globals.BindAddr
9798- }
9899-
99- g, ctx := errgroup.WithContext(ctx)
100- // Etcd server
101- g.Go(func() error {
102- @@ -294 ,7 +272 ,7 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
100+ // UI
101+ uic.Convert(globals.BindAddr, globals.TLS.CertFile, globals.TLS.KeyFile)
102+
103+ @@ -311 ,7 +289 ,7 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
103104 cliLog.Info("CRD migrations completed")
104105 }
105106
@@ -108,15 +109,15 @@ index 565187ec..686c2e24 100644
108109 if err != nil {
109110 return fmt.Errorf("failed to create kube backend: %w", err)
110111 }
111- @@ -307 ,7 +285 ,6 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
112+ @@ -324 ,7 +302 ,6 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
112113 tc.Config.Client = b.ClientConfig
113114 tc.Config.DynamicClient = b
114115 rc.Config.Client = b.ClientConfig
115116- ssc.Config.Backend = b
116117 case "file":
117118 b, err := newFileBackend(ctx, log, globals.BackendFilePath)
118119 if err != nil {
119- @@ -401 ,19 +378 ,6 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
120+ @@ -418 ,19 +395 ,6 @@ func Execute(ctx context.Context, cancel context.CancelFunc, args []string) erro
120121 return nil
121122 })
122123
@@ -127,22 +128,25 @@ index 565187ec..686c2e24 100644
127128- return nil
128129- }
129130- ll := ternary((ssc.LogLevel != 0), ssc.LogLevel, globals.LogLevel)
130- - if err := ssc.Config.Start(ctx, defaultLogger( ll).WithName("secondstar")); err != nil {
131+ - if err := ssc.Config.Start(ctx, getLogger(ssc.NoLog, ll).WithName("secondstar")); err != nil {
131132- return fmt.Errorf("failed to start secondstar service: %w", err)
132133- }
133134- return nil
134135- })
135136-
136- if err := g.Wait(); err != nil && !errors.Is(err, context.Canceled) {
137- return err
138- }
139- @@ -445,13 +409,10 @@ func numEnabled(globals *flag.GlobalConfig) int {
137+ // UI
138+ g.Go(func() error {
139+ if !globals.EnableUI {
140+ @@ -475,16 +439,13 @@ func numEnabled(globals *flag.GlobalConfig) int {
140141 if globals.EnableRufio {
141142 n++
142143 }
143144- if globals.EnableSecondStar {
144145- n++
145146- }
147+ if globals.EnableUI {
148+ n++
149+ }
146150 return n
147151 }
148152
@@ -151,7 +155,7 @@ index 565187ec..686c2e24 100644
151155 idxs := make(map[kube.IndexType]kube.Index, 0)
152156
153157 if smeeEnabled {
154- @@ -467 ,11 +428 ,6 @@ func enabledIndexes(smeeEnabled, tootlesEnabled, tinkServerEnabled, secondStarEn
158+ @@ -500 ,11 +461 ,6 @@ func enabledIndexes(smeeEnabled, tootlesEnabled, tinkServerEnabled, secondStarEn
155159 idxs[k] = v
156160 }
157161 }
@@ -164,26 +168,26 @@ index 565187ec..686c2e24 100644
164168 return idxs
165169 }
166170diff --git a/cmd/tinkerbell/flag/global.go b/cmd/tinkerbell/flag/global.go
167- index 9b14383a..6ea5a506 100644
171+ index 30fba8ec..ce112939 100644
168172--- a/cmd/tinkerbell/flag/global.go
169173+++ b/cmd/tinkerbell/flag/global.go
170174@@ -23,7 +23,6 @@ type GlobalConfig struct {
171175 EnableTinkServer bool
172176 EnableTinkController bool
173177 EnableRufio bool
174178- EnableSecondStar bool
179+ EnableUI bool
175180 EnableCRDMigrations bool
176181 EmbeddedGlobalConfig EmbeddedGlobalConfig
177- BackendKubeOptions BackendKubeOptions
178- @@ -58,7 +57,6 @@ func RegisterGlobal(fs *Set, gc *GlobalConfig) {
182+ @@ -59,7 +58,6 @@ func RegisterGlobal(fs *Set, gc *GlobalConfig) {
179183 fs.Register(EnableTinkServer, ffval.NewValueDefault(&gc.EnableTinkServer, gc.EnableTinkServer))
180184 fs.Register(EnableTinkController, ffval.NewValueDefault(&gc.EnableTinkController, gc.EnableTinkController))
181185 fs.Register(EnableRufioController, ffval.NewValueDefault(&gc.EnableRufio, gc.EnableRufio))
182186- fs.Register(EnableSecondStar, ffval.NewValueDefault(&gc.EnableSecondStar, gc.EnableSecondStar))
187+ fs.Register(EnableUI, ffval.NewValueDefault(&gc.EnableUI, gc.EnableUI))
183188 fs.Register(EnableCRDMigrations, ffval.NewValueDefault(&gc.EnableCRDMigrations, gc.EnableCRDMigrations))
184189 fs.Register(LogLevelConfig, ffval.NewValueDefault(&gc.LogLevel, gc.LogLevel))
185- fs.Register(OTELEndpoint, ffval.NewValueDefault(&gc.OTELEndpoint, gc.OTELEndpoint))
186- @@ -160,11 +158,6 @@ var EnableRufioController = Config{
190+ @@ -162,11 +160,6 @@ var EnableRufioController = Config{
187191 Usage: "enable Rufio Controller service",
188192 }
189193
@@ -192,15 +196,15 @@ index 9b14383a..6ea5a506 100644
192196- Usage: "enable SecondStar service",
193197- }
194198-
195- var EnableKubeAPIServer = Config{
196- Name: "enable-embedded-kube-apiserver ",
197- Usage: "enables the embedded kube-apiserver ",
199+ var EnableUI = Config{
200+ Name: "enable-ui ",
201+ Usage: "enable UI service ",
198202diff --git a/cmd/tinkerbell/flag/secondstar.go b/cmd/tinkerbell/flag/secondstar.go
199203deleted file mode 100644
200- index 4b0faecf ..00000000
204+ index 5f396ecc ..00000000
201205--- a/cmd/tinkerbell/flag/secondstar.go
202206+++ /dev/null
203- @@ -1,64 +0,0 @@
207+ @@ -1,71 +0,0 @@
204208- package flag
205209-
206210- import (
@@ -213,6 +217,7 @@ index 4b0faecf..00000000
213217- Config *secondstar.Config
214218- HostKeyPath string
215219- LogLevel int
220+ - NoLog bool
216221- }
217222-
218223- var KubeIndexesSecondStar = map[kube.IndexType]kube.Index{
@@ -226,6 +231,7 @@ index 4b0faecf..00000000
226231- fs.Register(SecondStarIPMIToolPath, ffval.NewValueDefault(&ssc.Config.IPMITOOLPath, ssc.Config.IPMITOOLPath))
227232- fs.Register(SecondStarIdleTimeout, ffval.NewValueDefault(&ssc.Config.IdleTimeout, ssc.Config.IdleTimeout))
228233- fs.Register(SecondStarLogLevel, ffval.NewValueDefault(&ssc.LogLevel, ssc.LogLevel))
234+ - fs.Register(SecondStarNoLog, ffval.NewValueDefault(&ssc.NoLog, ssc.NoLog))
229235- }
230236-
231237- var SecondStarPort = Config{
@@ -253,6 +259,11 @@ index 4b0faecf..00000000
253259- Usage: "the higher the number the more verbose, level 0 inherits the global log level",
254260- }
255261-
262+ - var SecondStarNoLog = Config{
263+ - Name: "secondstar-no-log",
264+ - Usage: "disable all logging output for SecondStar service",
265+ - }
266+ -
256267- func (ssc *SecondStarConfig) Convert() error {
257268- // convert the host key path to an SSH Signer
258269- if ssc.HostKeyPath == "" {
@@ -266,5 +277,5 @@ index 4b0faecf..00000000
266277- return nil
267278- }
268279- -
269- 2.46 .0
280+ 2.49 .0
270281
0 commit comments