in tools/istio-iptables/pkg/cmd/root.go [215:379]
func bindFlags(cmd *cobra.Command, args []string) {
// Read in all environment variables
viper.AutomaticEnv()
// Replace - with _; so that environment variables are looked up correctly.
viper.SetEnvKeyReplacer(strings.NewReplacer("-", "_"))
envoyPort := "15001"
inboundPort := "15006"
inboundTunnelPort := "15008"
if err := viper.BindPFlag(constants.EnvoyPort, cmd.Flags().Lookup(constants.EnvoyPort)); err != nil {
handleError(err)
}
viper.SetDefault(constants.EnvoyPort, envoyPort)
if err := viper.BindPFlag(constants.InboundCapturePort, cmd.Flags().Lookup(constants.InboundCapturePort)); err != nil {
handleError(err)
}
viper.SetDefault(constants.InboundCapturePort, inboundPort)
if err := viper.BindPFlag(constants.InboundTunnelPort, cmd.Flags().Lookup(constants.InboundTunnelPort)); err != nil {
handleError(err)
}
viper.SetDefault(constants.InboundTunnelPort, inboundTunnelPort)
if err := viper.BindPFlag(constants.ProxyUID, cmd.Flags().Lookup(constants.ProxyUID)); err != nil {
handleError(err)
}
viper.SetDefault(constants.ProxyUID, "")
if err := viper.BindPFlag(constants.ProxyGID, cmd.Flags().Lookup(constants.ProxyGID)); err != nil {
handleError(err)
}
viper.SetDefault(constants.ProxyGID, "")
if err := viper.BindPFlag(constants.InboundInterceptionMode, cmd.Flags().Lookup(constants.InboundInterceptionMode)); err != nil {
handleError(err)
}
viper.SetDefault(constants.InboundInterceptionMode, "")
if err := viper.BindPFlag(constants.InboundPorts, cmd.Flags().Lookup(constants.InboundPorts)); err != nil {
handleError(err)
}
viper.SetDefault(constants.InboundPorts, "")
if err := viper.BindPFlag(constants.LocalExcludePorts, cmd.Flags().Lookup(constants.LocalExcludePorts)); err != nil {
handleError(err)
}
viper.SetDefault(constants.LocalExcludePorts, "")
if err := viper.BindPFlag(constants.ExcludeInterfaces, cmd.Flags().Lookup(constants.ExcludeInterfaces)); err != nil {
handleError(err)
}
viper.SetDefault(constants.ExcludeInterfaces, "")
if err := viper.BindPFlag(constants.ServiceCidr, cmd.Flags().Lookup(constants.ServiceCidr)); err != nil {
handleError(err)
}
viper.SetDefault(constants.ServiceCidr, "")
if err := viper.BindPFlag(constants.ServiceExcludeCidr, cmd.Flags().Lookup(constants.ServiceExcludeCidr)); err != nil {
handleError(err)
}
viper.SetDefault(constants.ServiceExcludeCidr, "")
if err := viper.BindEnv(constants.OwnerGroupsInclude.Name); err != nil {
handleError(err)
}
viper.SetDefault(constants.OwnerGroupsInclude.Name, constants.OwnerGroupsInclude.DefaultValue)
if err := viper.BindEnv(constants.OwnerGroupsExclude.Name); err != nil {
handleError(err)
}
viper.SetDefault(constants.OwnerGroupsExclude.Name, constants.OwnerGroupsExclude.DefaultValue)
if err := viper.BindPFlag(constants.OutboundPorts, cmd.Flags().Lookup(constants.OutboundPorts)); err != nil {
handleError(err)
}
viper.SetDefault(constants.OutboundPorts, "")
if err := viper.BindPFlag(constants.LocalOutboundPortsExclude, cmd.Flags().Lookup(constants.LocalOutboundPortsExclude)); err != nil {
handleError(err)
}
viper.SetDefault(constants.LocalOutboundPortsExclude, "")
if err := viper.BindPFlag(constants.KubeVirtInterfaces, cmd.Flags().Lookup(constants.KubeVirtInterfaces)); err != nil {
handleError(err)
}
viper.SetDefault(constants.KubeVirtInterfaces, "")
if err := viper.BindPFlag(constants.InboundTProxyMark, cmd.Flags().Lookup(constants.InboundTProxyMark)); err != nil {
handleError(err)
}
viper.SetDefault(constants.InboundTProxyMark, "1337")
if err := viper.BindPFlag(constants.InboundTProxyRouteTable, cmd.Flags().Lookup(constants.InboundTProxyRouteTable)); err != nil {
handleError(err)
}
viper.SetDefault(constants.InboundTProxyRouteTable, "133")
if err := viper.BindPFlag(constants.DryRun, cmd.Flags().Lookup(constants.DryRun)); err != nil {
handleError(err)
}
viper.SetDefault(constants.DryRun, false)
if err := viper.BindPFlag(constants.TraceLogging, cmd.Flags().Lookup(constants.TraceLogging)); err != nil {
handleError(err)
}
viper.SetDefault(constants.TraceLogging, false)
if err := viper.BindPFlag(constants.RestoreFormat, cmd.Flags().Lookup(constants.RestoreFormat)); err != nil {
handleError(err)
}
viper.SetDefault(constants.RestoreFormat, true)
if err := viper.BindPFlag(constants.IptablesProbePort, cmd.Flags().Lookup(constants.IptablesProbePort)); err != nil {
handleError(err)
}
viper.SetDefault(constants.IptablesProbePort, constants.DefaultIptablesProbePort)
if err := viper.BindPFlag(constants.ProbeTimeout, cmd.Flags().Lookup(constants.ProbeTimeout)); err != nil {
handleError(err)
}
viper.SetDefault(constants.ProbeTimeout, constants.DefaultProbeTimeout)
if err := viper.BindPFlag(constants.SkipRuleApply, cmd.Flags().Lookup(constants.SkipRuleApply)); err != nil {
handleError(err)
}
viper.SetDefault(constants.SkipRuleApply, false)
if err := viper.BindPFlag(constants.RunValidation, cmd.Flags().Lookup(constants.RunValidation)); err != nil {
handleError(err)
}
viper.SetDefault(constants.RunValidation, false)
if err := viper.BindPFlag(constants.RedirectDNS, cmd.Flags().Lookup(constants.RedirectDNS)); err != nil {
handleError(err)
}
viper.SetDefault(constants.RedirectDNS, dnsCaptureByAgent)
if err := viper.BindPFlag(constants.DropInvalid, cmd.Flags().Lookup(constants.DropInvalid)); err != nil {
handleError(err)
}
viper.SetDefault(constants.DropInvalid, InvalidDropByIptables)
if err := viper.BindPFlag(constants.CaptureAllDNS, cmd.Flags().Lookup(constants.CaptureAllDNS)); err != nil {
handleError(err)
}
viper.SetDefault(constants.CaptureAllDNS, false)
if err := viper.BindPFlag(constants.OutputPath, cmd.Flags().Lookup(constants.OutputPath)); err != nil {
handleError(err)
}
viper.SetDefault(constants.OutputPath, "")
if err := viper.BindPFlag(constants.NetworkNamespace, cmd.Flags().Lookup(constants.NetworkNamespace)); err != nil {
handleError(err)
}
viper.SetDefault(constants.NetworkNamespace, "")
if err := viper.BindPFlag(constants.CNIMode, cmd.Flags().Lookup(constants.CNIMode)); err != nil {
handleError(err)
}
viper.SetDefault(constants.CNIMode, false)
}