goipa is a FreeIPA client library written in Go. It interfaces with the FreeIPA JSON api over HTTPS.
Install using go tools:
$ go get github.com/ubccr/goipa
Example calling FreeIPA user-show:
package main
import (
"fmt"
"github.com/ubccr/goipa"
)
func main() {
client := ipa.NewDefaultClient()
err := client.LoginWithKeytab("/path/to/user.keytab", "username")
if err != nil {
panic(err)
}
rec, err := client.UserShow("uid")
if err != nil {
panic(err)
}
fmt.Println("%s - %s", rec.Uid, rec.UidNumber)
}
goipa is released under a BSD style License. See the LICENSE file.