+func GetIpAddress() (string, error) {
+ ifname := os.Getenv("INTERFACE_NAME")
+ itf, err := net.InterfaceByName(ifname)
+ if err != nil {
+ return "<nil>", fmt.Errorf("Interface (%s) %w", ifname, err)
+ }
+ item, err := itf.Addrs()
+ if err != nil {
+ return "<nil>", fmt.Errorf("Interface (%s) %w", ifname, err)
+ }
+ for _, addr := range item {
+ switch v := addr.(type) {
+ case *net.IPNet:
+ if !v.IP.IsLinkLocalUnicast() {
+ return v.IP.String(), nil
+ }
+ }
+ }
+ return "<nil>", fmt.Errorf("Interface (%s) couldn't find ip", ifname)
+}
+