Documentation
¶
Index ¶
- Variables
- func ARecord(domain string) (ips []net.IP, err error)
- func CheckKubeDNS(dns ...*SpiderResolver) bool
- func CheckKubeDNS_DNSVersion(dns *SpiderResolver) bool
- func CheckKubeDNS_DefaultAPIServer(dns *SpiderResolver) bool
- func CheckKubeDNS_NS_DNS_DOMAIN(dns *SpiderResolver) bool
- func CheckPodVerified() bool
- func IPtoPodHostName(ip, namespace string) string
- func PTRRecord(ip net.IP) []string
- func ParseIPNetToIPs(ipv4Net *net.IPNet) (ips []net.IP)
- func ParseStringToIPNet(s string) (ipnet *net.IPNet, err error)
- func SRVRecord(svcDomain string) (string, []*net.SRV, error)
- func SubnetInto(network *net.IPNet, count int) ([]*net.IPNet, error)
- func SubnetShift(network *net.IPNet, bits int) ([]*net.IPNet, error)
- func TXTRecord(domain string) (txts []string, err error)
- type DnsQuery
- type SpiderResolver
- func (s *SpiderResolver) ARecord(domain string) ([]net.IP, error)
- func (s *SpiderResolver) CurrentDNS() string
- func (s *SpiderResolver) CustomSRVRecord(svcDomain string, service, proto string) (string, []*net.SRV, error)
- func (s *SpiderResolver) PTRRecord(ip net.IP) []string
- func (s *SpiderResolver) SRVRecord(svcDomain string) (string, []*net.SRV, error)
- func (r *SpiderResolver) SetContainsFilter(name ...string)
- func (r *SpiderResolver) SetFilter(filters ...string)
- func (r *SpiderResolver) SetSuffixFilter(filter string)
- func (s *SpiderResolver) TXTRecord(domain string) ([]string, error)
Constants ¶
This section is empty.
Variables ¶
View Source
var ( DnsTimeout = 2 NetResolver = DefaultResolver() Zone string // Zone is the domain name of the cluster )
Functions ¶
func CheckKubeDNS ¶
func CheckKubeDNS(dns ...*SpiderResolver) bool
https://github.com/kubernetes/dns/blob/master/docs/specification.md CheckKubernetes checks if the current environment is a kubernetes cluster
func CheckKubeDNS_DNSVersion ¶
func CheckKubeDNS_DNSVersion(dns *SpiderResolver) bool
func CheckKubeDNS_DefaultAPIServer ¶
func CheckKubeDNS_DefaultAPIServer(dns *SpiderResolver) bool
func CheckKubeDNS_NS_DNS_DOMAIN ¶
func CheckKubeDNS_NS_DNS_DOMAIN(dns *SpiderResolver) bool
func CheckPodVerified ¶
func CheckPodVerified() bool
CheckPodVerified is utils to check if current Kubernetes has set pod verified
func IPtoPodHostName ¶
func SubnetInto ¶
SubnetInto wraps SubnetShift and divides a network into at least count-many, equal-sized subnets, which are as large as allowed.
func SubnetShift ¶
SubnetShift divides a network into subnets by shifting the given number of bits.
Types ¶
type DnsQuery ¶
var ( QueryPTR DnsQuery = func(domain string) ([]string, error) { return PTRRecord(net.ParseIP(domain)), nil } QueryA DnsQuery = func(domain string) ([]string, error) { res, err := ARecord(domain) var ret []string for _, r := range res { ret = append(ret, r.String()) } return ret, err } QueryTXT DnsQuery = TXTRecord QuerySRV DnsQuery = func(domain string) ([]string, error) { _, res, err := SRVRecord(domain) var ret []string for _, r := range res { ret = append(ret, fmt.Sprintf("%s:%d", r.Target, r.Port)) } return ret, err } )
type SpiderResolver ¶
type SpiderResolver struct {
// contains filtered or unexported fields
}
func DefaultResolver ¶
func DefaultResolver() *SpiderResolver
func WarpDnsServer ¶
func WarpDnsServer(dnsServer string) *SpiderResolver
func (*SpiderResolver) CurrentDNS ¶
func (s *SpiderResolver) CurrentDNS() string
func (*SpiderResolver) CustomSRVRecord ¶
func (*SpiderResolver) SetContainsFilter ¶
func (r *SpiderResolver) SetContainsFilter(name ...string)
func (*SpiderResolver) SetFilter ¶
func (r *SpiderResolver) SetFilter(filters ...string)
func (*SpiderResolver) SetSuffixFilter ¶
func (r *SpiderResolver) SetSuffixFilter(filter string)
Click to show internal directories.
Click to hide internal directories.