diff --git a/cmd/bootstrap.go b/cmd/bootstrap.go index e4e7aa5..5e14ef4 100644 --- a/cmd/bootstrap.go +++ b/cmd/bootstrap.go @@ -20,6 +20,7 @@ var bootstrapPromptOperationalSecrets bool var bootstrapInitializeOpenBaoRecovery bool var bootstrapPublishAppFrom string var bootstrapMergeBootstrapPR bool +var bootstrapManageNetworkBridges bool var bootstrapCmd = &cobra.Command{ Use: "bootstrap", @@ -38,6 +39,7 @@ func init() { bootstrapCmd.Flags().BoolVar(&bootstrapInitializeOpenBaoRecovery, "initialize-openbao-recovery", false, "Create and save a separate OpenBao recovery age identity for --config") bootstrapCmd.Flags().StringVar(&bootstrapPublishAppFrom, "publish-app-from", "", "Push this app checkout's current branch and create a Forgejo delivery PR") bootstrapCmd.Flags().BoolVar(&bootstrapMergeBootstrapPR, "merge-bootstrap-pr", false, "Merge the generated Flux repository migration PR before bootstrapping") + bootstrapCmd.Flags().BoolVar(&bootstrapManageNetworkBridges, "manage-network-bridges", false, "Persist Terraform management for existing Talos network bridges") } func runBootstrap(cmd *cobra.Command, args []string) error { @@ -93,12 +95,15 @@ func runBootstrap(cmd *cobra.Command, args []string) error { } if bootstrapConfigPath != "" { - if bootstrapPromptDemocraticCSI || bootstrapPromptOperationalSecrets || bootstrapInitializeOpenBaoRecovery { + if bootstrapPromptDemocraticCSI || bootstrapPromptOperationalSecrets || bootstrapInitializeOpenBaoRecovery || bootstrapManageNetworkBridges { cfg, err = config.LoadRaw(bootstrapConfigPath) if err == nil { if bootstrapPromptDemocraticCSI { cfg = ui.PromptDemocraticCSI(cfg) } + if bootstrapManageNetworkBridges { + cfg.Talos.Cluster.ManageNetworkBridges = true + } cfg, err = config.Resolve(cfg) } if err == nil && bootstrapPromptOperationalSecrets {