Skip to content

Commit 6c3f4f1

Browse files
authored
fix(connect): fix connect with enable_public for public facing (#17)
1 parent 8ea8cbf commit 6c3f4f1

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

cmd/multikf/cmd_connect.go

+8-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ func NewConnectCommand(logger log.Logger, ioStreams genericclioptions.IOStreams)
1919

2020
func newConnectKubeflowCommand(logger log.Logger, ioStreams genericclioptions.IOStreams) *cobra.Command {
2121
var (
22-
port int // dedicated port
22+
port int // dedicated port
23+
enablePublic bool // enable public access
2324
)
2425
handle := func(machineName string) error {
2526
m, err := findMachineByName(machineName, logger)
@@ -35,7 +36,11 @@ func newConnectKubeflowCommand(logger log.Logger, ioStreams genericclioptions.IO
3536
}
3637
}
3738
logger.V(0).Infof("now you can open http://localhost:%d\n", destPort)
38-
return m.GetKubeCli().Portforward(m.GetKubeConfig(), "svc/istio-ingressgateway", "istio-system", 80, destPort)
39+
var listenedAddress string
40+
if enablePublic {
41+
listenedAddress = "0.0.0.0"
42+
}
43+
return m.GetKubeCli().Portforward(m.GetKubeConfig(), "svc/istio-ingressgateway", "istio-system", listenedAddress, 80, destPort)
3944
}
4045
cmd := &cobra.Command{
4146
Use: "kubeflow",
@@ -46,5 +51,6 @@ func newConnectKubeflowCommand(logger log.Logger, ioStreams genericclioptions.IO
4651
}
4752

4853
cmd.Flags().IntVar(&port, "port", 0, "customized port number for connect, ranged should be 65535> >1024, default is 0 (random)")
54+
cmd.Flags().BoolVar(&enablePublic, "enable_public", false, "enable public access, default: false")
4955
return cmd
5056
}

pkg/machine/kubectl/cli.go

+7-1
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ func (cli *CLI) PatchKubeflow(kubeConfigFile string) error {
232232
return nil
233233
}
234234

235-
func (cli *CLI) Portforward(kubeConfigFile, svc, namespace string, fromPort, toPort int) error {
235+
func (cli *CLI) Portforward(kubeConfigFile, svc, namespace string, address string, fromPort, toPort int) error {
236236
// TODO: auto reconnect
237237
cmdAndArgs := []string{
238238
cli.localKubectlBinaryPath,
@@ -244,6 +244,12 @@ func (cli *CLI) Portforward(kubeConfigFile, svc, namespace string, fromPort, toP
244244
"--kubeconfig",
245245
kubeConfigFile,
246246
}
247+
if len(address) != 0 {
248+
cmdAndArgs = append(cmdAndArgs, []string{
249+
"--address",
250+
address,
251+
}...)
252+
}
247253
sr, _, err := cli.runCmd(cmdAndArgs)
248254
if err != nil {
249255
return err

0 commit comments

Comments
 (0)