mirror of
https://github.com/cert-manager/webhook-example.git
synced 2026-03-16 18:02:51 +01:00
Add/Remove A records with TTL
This commit is contained in:
parent
6531333f20
commit
676466fe66
1 changed files with 25 additions and 0 deletions
25
dns/dns.go
25
dns/dns.go
|
|
@ -6,6 +6,7 @@ import (
|
||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/MartinWilkerson/cert-manager-webhook-nearlyfreespeech/auth"
|
"github.com/MartinWilkerson/cert-manager-webhook-nearlyfreespeech/auth"
|
||||||
|
|
@ -35,6 +36,30 @@ func ClearTXTRecord(domain string, dnsName string, key string, login string, api
|
||||||
return send(login, apiKey, urlPath, body, requestUrl)
|
return send(login, apiKey, urlPath, body, requestUrl)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func SetARecord(domain string, subdomain string, data string, ttl uint32, login string, apiKey string) error {
|
||||||
|
urlPath := fmt.Sprintf("/dns/%s/addRR", domain)
|
||||||
|
requestUrl := fmt.Sprintf("%s%s", baseUrl, urlPath)
|
||||||
|
log.Printf("Request URL: %v", requestUrl)
|
||||||
|
|
||||||
|
values := url.Values{"name": {subdomain}, "type": {"A"}, "data": {data}, "ttl": {strconv.FormatUint(uint64(ttl), 10)}}
|
||||||
|
log.Printf("Body values: %v", values)
|
||||||
|
|
||||||
|
body := values.Encode()
|
||||||
|
return send(login, apiKey, urlPath, body, requestUrl)
|
||||||
|
}
|
||||||
|
|
||||||
|
func ClearARecord(domain string, subdomain string, data string, ttl uint32, login string, apiKey string) error {
|
||||||
|
urlPath := fmt.Sprintf("/dns/%s/removeRR", domain)
|
||||||
|
requestUrl := fmt.Sprintf("%s%s", baseUrl, urlPath)
|
||||||
|
log.Printf("Request URL: %v", requestUrl)
|
||||||
|
|
||||||
|
values := url.Values{"name": {subdomain}, "type": {"A"}, "data": {data}}
|
||||||
|
log.Printf("Body values: %v", values)
|
||||||
|
|
||||||
|
body := values.Encode()
|
||||||
|
return send(login, apiKey, urlPath, body, requestUrl)
|
||||||
|
}
|
||||||
|
|
||||||
func send(login string, apiKey string, urlPath string, body string, requestUrl string) error {
|
func send(login string, apiKey string, urlPath string, body string, requestUrl string) error {
|
||||||
authHeader, err := auth.GetAuthHeader(login, apiKey, urlPath, body)
|
authHeader, err := auth.GetAuthHeader(login, apiKey, urlPath, body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue