Skip to content

Commit 5d6a8bc

Browse files
committed
Allow adding external connections to container
1 parent 0c1ae72 commit 5d6a8bc

1 file changed

Lines changed: 28 additions & 22 deletions

File tree

cmd/containerExternalConnection.go

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,14 @@ var enableContainerExternalConnectionCmd = &cobra.Command{
7878

7979
client := api.NewClient()
8080

81-
cluster, err := client.ContainerModify(resource)
81+
container, err := client.ContainerModify(resource)
8282
if err != nil {
8383
log.Fatalf("Failed to enable external connection in cluster %q/%q: %v", namespace, containerName, err)
8484
return
8585
}
86-
fmt.Printf("External connection enabled. Reachable at:\n")
87-
fmt.Printf("Ipv4: %s:%d \n", cluster.ExternalConnection.Ipv4, cluster.ExternalConnection.Ports[0].ExternalPort)
88-
fmt.Printf("Ipv6: %s:%d \n", cluster.ExternalConnection.Ipv6, cluster.ExternalConnection.Ports[0].ExternalPort)
86+
87+
fmt.Printf("External connection enabled.\n")
88+
printConnections(container)
8989
},
9090
}
9191

@@ -130,13 +130,15 @@ var disableContainerExternalConnectionCmd = &cobra.Command{
130130
}
131131
}
132132

133-
_, err := client.ContainerModify(resource)
133+
container, err := client.ContainerModify(resource)
134134

135135
if err != nil {
136136
log.Fatalf("Failed to disable external connection in cluster %q/%q: %v", namespace, name, err)
137137
return
138138
}
139139
fmt.Printf("External connection disabled in: %s/%s. \n", namespaceCmd, name)
140+
141+
printConnections(container)
140142
},
141143
}
142144

@@ -160,26 +162,30 @@ var listContainerExternalConnectionCmd = &cobra.Command{
160162
return
161163
}
162164

163-
writer := tabwriter.NewWriter(os.Stdout, 0, 0, 3, ' ', tabwriter.Debug)
164-
fmt.Fprintln(writer, "IPV4\t IPV6\t EXTERNAL PORT\t INTERNAL PORT\t PROTOCOL\t ALLOWLIST\t")
165-
166-
for _, port := range container.ExternalConnection.Ports {
167-
fmt.Fprintf(
168-
writer,
169-
"%s\t %s\t %d\t %d\t %s\t %s\n",
170-
container.ExternalConnection.Ipv4,
171-
container.ExternalConnection.Ipv4,
172-
port.ExternalPort,
173-
*port.InternalPort,
174-
port.Protocol,
175-
strings.Join(port.AllowList, ","),
176-
)
177-
}
178-
179-
writer.Flush()
165+
printConnections(container)
180166
},
181167
}
182168

169+
func printConnections(container api.ContainerResult) {
170+
writer := tabwriter.NewWriter(os.Stdout, 0, 0, 3, ' ', tabwriter.Debug)
171+
fmt.Fprintln(writer, "IPV4\t IPV6\t EXTERNAL PORT\t INTERNAL PORT\t PROTOCOL\t ALLOWLIST\t")
172+
173+
for _, port := range container.ExternalConnection.Ports {
174+
fmt.Fprintf(
175+
writer,
176+
"%s\t %s\t %d\t %d\t %s\t %s\n",
177+
container.ExternalConnection.Ipv4,
178+
container.ExternalConnection.Ipv4,
179+
port.ExternalPort,
180+
*port.InternalPort,
181+
port.Protocol,
182+
strings.Join(port.AllowList, ","),
183+
)
184+
}
185+
186+
writer.Flush()
187+
}
188+
183189
func init() {
184190
enableContainerExternalConnectionCmd.Flags().StringP("namespace", "n", "", "Namespace")
185191
enableContainerExternalConnectionCmd.Flags().String("name", "", "Name of the container")

0 commit comments

Comments
 (0)