Skip to content

Instantly share code, notes, and snippets.

@lexfrei
Last active November 28, 2020 23:10
Show Gist options
  • Select an option

  • Save lexfrei/4b5b16290927d746bb8d212f0ce06c6d to your computer and use it in GitHub Desktop.

Select an option

Save lexfrei/4b5b16290927d746bb8d212f0ce06c6d to your computer and use it in GitHub Desktop.
package main
import (
"log"
"os"
cloudflare "github.com/cloudflare/cloudflare-go"
)
func main() {
log.Println("trying to login...")
client, err := cloudflare.NewWithAPIToken(os.Args[1])
if err != nil {
log.Fatal(err)
}
log.Printf("logged in!\n\n")
log.Println("trying to get zone ID like lego tries to do so...")
log.Println("k8s.home.lex.la is in use")
id, err := client.ZoneIDByName("k8s.home.lex.la")
if err != nil {
log.Printf("Ofc, it's not working: %s\n\n", err)
} else {
log.Printf("How that could ever be possible?\n\n")
}
log.Println("trying to get zone ID by short domain...")
id, err = client.ZoneIDByName("lex.la")
log.Println("lex.la is in use")
if err != nil {
log.Fatal(err)
}
log.Printf("zone id is: %s\n\n", id)
log.Println("trying to create TXT in this zone...")
myAwesomeTXT := cloudflare.DNSRecord{
Type: "TXT",
Name: "longhorn.k8s.home.lex.la",
TTL: 1,
Content: "hi, lego!",
}
resp, err := client.CreateDNSRecord(id, myAwesomeTXT)
if err != nil {
log.Fatal(err)
}
log.Printf("done!\n\n")
log.Println("trying retrieve TXT by ID...")
rec, err := client.DNSRecord(id, resp.Result.ID)
if err != nil {
log.Fatal(err)
}
log.Printf("%s\t%s\t%s\n:)\n", rec.Name, rec.Type, rec.Content)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment