From 51f9a7447ae8b30d160c4ed15aec25b35d33fca2 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Fri, 25 Nov 2022 17:13:46 +0100 Subject: [PATCH] New provider from dnscontrol: GCORE --- go.mod | 2 ++ go.sum | 3 ++ providers/GcoreAPI.png | Bin 0 -> 16967 bytes providers/gcore.go | 63 +++++++++++++++++++++++++++++++++++++++++ providers/gcore.svg | 1 + 5 files changed, 69 insertions(+) create mode 100644 providers/GcoreAPI.png create mode 100644 providers/gcore.go create mode 100644 providers/gcore.svg diff --git a/go.mod b/go.mod index 05e31be..8f3d88b 100644 --- a/go.mod +++ b/go.mod @@ -25,6 +25,7 @@ require ( github.com/Azure/go-autorest v14.2.0+incompatible // indirect github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v0.7.0 // indirect + github.com/G-Core/gcore-dns-sdk-go v0.2.3 // indirect github.com/PuerkitoBio/goquery v1.8.0 // indirect github.com/akamai/AkamaiOPEN-edgegrid-golang v1.2.1 // indirect github.com/andybalholm/cascadia v1.3.1 // indirect @@ -100,6 +101,7 @@ require ( golang.org/x/mod v0.6.0 // indirect golang.org/x/net v0.2.0 // indirect golang.org/x/oauth2 v0.2.0 // indirect + golang.org/x/sync v0.1.0 // indirect golang.org/x/sys v0.2.0 // indirect golang.org/x/text v0.4.0 // indirect golang.org/x/time v0.0.0-20220922220347-f3bd1da661af // indirect diff --git a/go.sum b/go.sum index b5ab3a8..4ca6afa 100644 --- a/go.sum +++ b/go.sum @@ -20,6 +20,8 @@ github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcP github.com/AzureAD/microsoft-authentication-library-for-go v0.7.0 h1:VgSJlZH5u0k2qxSpqyghcFQKmvYckj46uymKK5XzkBM= github.com/AzureAD/microsoft-authentication-library-for-go v0.7.0/go.mod h1:BDJ5qMFKx9DugEg3+uQSDCdbYPr5s9vBTrL9P8TpqOU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/G-Core/gcore-dns-sdk-go v0.2.3 h1:WODi+qWlZyF7E7SH8rq/DCACa/Zhsuhu1h0DuFJc2Yg= +github.com/G-Core/gcore-dns-sdk-go v0.2.3/go.mod h1:TM+VaDvBPObF+x085lS3i0kc2OPAkuW2c4Leg7Pe6jI= github.com/PuerkitoBio/goquery v1.8.0 h1:PJTF7AmFCFKk1N6V6jmKfrNH9tV5pNE6lZMkG0gta/U= github.com/PuerkitoBio/goquery v1.8.0/go.mod h1:ypIiRMtY7COPGk+I/YbZLbxsxn9g5ejnI2HSMtkjZvI= github.com/akamai/AkamaiOPEN-edgegrid-golang v1.2.1 h1:5BIsppVPdWJA29Yb5cYawQYeh5geN413WxAgBZvEtdA= @@ -346,6 +348,7 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= diff --git a/providers/GcoreAPI.png b/providers/GcoreAPI.png new file mode 100644 index 0000000000000000000000000000000000000000..bd1b96a0f2cf3dc638a53583b2302b03d760834a GIT binary patch literal 16967 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 literal 0 HcmV?d00001 diff --git a/providers/gcore.go b/providers/gcore.go new file mode 100644 index 0000000..2cb6a41 --- /dev/null +++ b/providers/gcore.go @@ -0,0 +1,63 @@ +// Copyright or © or Copr. happyDNS (2021) +// +// contact@happydomain.org +// +// This software is a computer program whose purpose is to provide a modern +// interface to interact with DNS systems. +// +// This software is governed by the CeCILL license under French law and abiding +// by the rules of distribution of free software. You can use, modify and/or +// redistribute the software under the terms of the CeCILL license as +// circulated by CEA, CNRS and INRIA at the following URL +// "http://www.cecill.info". +// +// As a counterpart to the access to the provider code and rights to copy, modify +// and redistribute granted by the license, users are provided only with a +// limited warranty and the software's author, the holder of the economic +// rights, and the successive licensors have only limited liability. +// +// In this respect, the user's attention is drawn to the risks associated with +// loading, using, modifying and/or developing or reproducing the software by +// the user in light of its specific status of free software, that may mean +// that it is complicated to manipulate, and that also therefore means that it +// is reserved for developers and experienced professionals having in-depth +// computer knowledge. Users are therefore encouraged to load and test the +// software's suitability as regards their requirements in conditions enabling +// the security of their systems and/or data to be ensured and, more generally, +// to use and operate it in the same conditions as regards security. +// +// The fact that you are presently reading this means that you have had +// knowledge of the CeCILL license and that you accept its terms. + +package providers // import "happydns.org/providers" + +import ( + "github.com/StackExchange/dnscontrol/v3/providers" + _ "github.com/StackExchange/dnscontrol/v3/providers/gcore" + + "git.happydns.org/happydomain/model" +) + +type GcoreAPI struct { + ApiKey string `json:"api_key,omitempty" happydomain:"label=API key,placeholder=xxxxxxxx,required,description=Your GCORE API Token."` +} + +func (s *GcoreAPI) NewDNSServiceProvider() (providers.DNSServiceProvider, error) { + config := map[string]string{ + "api-key": s.ApiKey, + } + return providers.CreateDNSProvider(s.DNSControlName(), config, nil) +} + +func (s *GcoreAPI) DNSControlName() string { + return "GCORE" +} + +func init() { + RegisterProvider(func() happydns.Provider { + return &GcoreAPI{} + }, ProviderInfos{ + Name: "Gcore", + Description: "Luxembourg cloud provider", + }) +} diff --git a/providers/gcore.svg b/providers/gcore.svg new file mode 100644 index 0000000..63f25cb --- /dev/null +++ b/providers/gcore.svg @@ -0,0 +1 @@ + \ No newline at end of file