Skip to content

Commit

Permalink
update: root op for service ports
Browse files Browse the repository at this point in the history
  • Loading branch information
Esonhugh committed Dec 31, 2024
1 parent bc5bc18 commit da1b9d2
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 7 deletions.
12 changes: 8 additions & 4 deletions cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ var Opts = struct {
PodCidr string

DnsServer string
SvcDomains []string
Zone string
OutputFile string
Verbose int
Expand Down Expand Up @@ -45,16 +44,21 @@ func defaultPodCidr() string {
return "10.0.0.1/16"
}

func defaultCidr() string {
if host := os.Getenv("KUBERNETES_SERVICE_HOST"); host != "" {
return host + "/16"
}
return "10.96.0.1/16"
}

func init() {

RootCmd.PersistentFlags().StringVarP(&Opts.Cidr, "cidr", "c", os.Getenv("KUBERNETES_SERVICE_HOST")+"/16", "cidr like: 192.168.0.1/16")
RootCmd.PersistentFlags().StringVarP(&Opts.Cidr, "cidr", "c", defaultCidr(), "cidr like: 192.168.0.1/16")
RootCmd.PersistentFlags().StringVarP(&Opts.PodCidr, "pod-cidr", "p", defaultPodCidr(), "pod cidr list, watch out for the network interface name, default is eth0")

RootCmd.PersistentFlags().StringVarP(&Opts.DnsServer, "dns-server", "d", "", "dns server")
RootCmd.PersistentFlags().IntVarP(&pkg.DnsTimeout, "dns-timeout", "i", 2, "dns timeout")

RootCmd.PersistentFlags().StringSliceVarP(&Opts.SvcDomains, "svc-domains", "s", []string{}, "service domains, like: kubernetes.default,etcd.default don't add zone like svc.cluster.local")

RootCmd.PersistentFlags().StringVarP(&Opts.Zone, "zone", "z", "cluster.local", "zone")

RootCmd.PersistentFlags().StringVarP(&Opts.OutputFile, "output-file", "o", "", "output file")
Expand Down
11 changes: 8 additions & 3 deletions cmd/service/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,12 @@ import (
"github.com/spf13/cobra"
)

var Opts struct {
SvcDomains []string
}

func init() {
ServiceCmd.PersistentFlags().StringSliceVarP(&Opts.SvcDomains, "svc-domains", "s", []string{}, "service domains, like: kubernetes.default,etcd.default don't add zone like svc.cluster.local")
command.RootCmd.AddCommand(ServiceCmd)
}

Expand All @@ -20,14 +25,14 @@ var ServiceCmd = &cobra.Command{
Aliases: []string{
"srv",
},
Short: "service is a tool to discover k8s services",
Short: "service is a tool to discover k8s services ports",
Run: func(cmd *cobra.Command, args []string) {
if command.Opts.Zone == "" || command.Opts.SvcDomains == nil || len(command.Opts.SvcDomains) == 0 {
if command.Opts.Zone == "" || Opts.SvcDomains == nil || len(Opts.SvcDomains) == 0 {
log.Warn("zone can't empty and svc-domains can't empty")
return
}
var records define.Records
for _, domain := range command.Opts.SvcDomains {
for _, domain := range Opts.SvcDomains {
records = append(records, define.Record{SvcDomain: fmt.Sprintf("%s.svc.%s", domain, command.Opts.Zone)})
}
records = scanner.ScanSvcForPorts(records)
Expand Down

0 comments on commit da1b9d2

Please sign in to comment.