mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-09-20 06:46:19 +08:00
BUILD: Generate OWNERS files (#2997)
This commit is contained in:
parent
cf49ec871f
commit
8fa1a8d7d6
|
@ -6,6 +6,9 @@ func main() {
|
|||
if err := generateFeatureMatrix(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := generateOwnersFile(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
funcs, err := generateFunctionTypes()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
|
|
68
build/generate/ownersFile.go
Normal file
68
build/generate/ownersFile.go
Normal file
|
@ -0,0 +1,68 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"github.com/StackExchange/dnscontrol/v4/providers"
|
||||
"os"
|
||||
"sort"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func generateOwnersFile() error {
|
||||
maintainers := providers.ProviderMaintainers
|
||||
sortedProviderNames := getSortedProviderNames(maintainers)
|
||||
|
||||
var ownersData strings.Builder
|
||||
for _, providerName := range sortedProviderNames {
|
||||
providerMaintainer := maintainers[providerName]
|
||||
if providerMaintainer == "NEEDS VOLUNTEER" {
|
||||
ownersData.WriteString("# ")
|
||||
}
|
||||
ownersData.WriteString("providers/")
|
||||
ownersData.WriteString(getProviderDirectory(providerName))
|
||||
ownersData.WriteString(" ")
|
||||
ownersData.WriteString(providerMaintainer)
|
||||
ownersData.WriteString("\n")
|
||||
}
|
||||
|
||||
file, err := os.Create("OWNERS")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
_, err = file.WriteString(ownersData.String())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func getProviderDirectory(providerName string) string {
|
||||
// Strip the underscores from the providerName constants
|
||||
providerDirectory := strings.ToLower(
|
||||
strings.ReplaceAll(
|
||||
providerName, "_", "",
|
||||
),
|
||||
)
|
||||
|
||||
// These providers use a different directory name
|
||||
if providerDirectory == "cloudflareapi" {
|
||||
providerDirectory = "cloudflare"
|
||||
}
|
||||
if providerDirectory == "dnsoverhttps" {
|
||||
providerDirectory = "doh"
|
||||
}
|
||||
|
||||
return providerDirectory
|
||||
}
|
||||
|
||||
func getSortedProviderNames(maintainers map[string]string) []string {
|
||||
providerNameSorted := make([]string, 0, len(maintainers))
|
||||
for providerNameKey := range maintainers {
|
||||
providerNameSorted = append(providerNameSorted, providerNameKey)
|
||||
}
|
||||
sort.Strings(providerNameSorted)
|
||||
|
||||
return providerNameSorted
|
||||
}
|
|
@ -224,8 +224,6 @@ an automated way to test for this bug. The manual steps are here in
|
|||
* Add the provider to the "Providers" list.
|
||||
* Create `documentation/provider/PROVIDERNAME.md`:
|
||||
* Use one of the other files in that directory as a base.
|
||||
* Edit `OWNERS`:
|
||||
* Add the directory name and your GitHub username.
|
||||
|
||||
{% hint style="success" %}
|
||||
**Need feedback?** Submit a draft PR! It's a great way to get early feedback, ask about fixing
|
||||
|
|
2
main.go
2
main.go
|
@ -10,7 +10,7 @@ import (
|
|||
"github.com/fatih/color"
|
||||
)
|
||||
|
||||
//go:generate go run build/generate/generate.go build/generate/featureMatrix.go build/generate/functionTypes.go build/generate/dtsFile.go
|
||||
//go:generate go run build/generate/generate.go build/generate/featureMatrix.go build/generate/functionTypes.go build/generate/dtsFile.go build/generate/ownersFile.go
|
||||
|
||||
// Version management. Goals:
|
||||
// 1. Someone who just does "go get" has at least some information.
|
||||
|
|
|
@ -49,12 +49,15 @@ type edgeDNSProvider struct {
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "AKAMAIEDGEDNS"
|
||||
const providerMaintainer = "@edglynes"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newEdgeDNSDSP,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("AKAMAIEDGEDNS", fns, features)
|
||||
providers.RegisterCustomRecordType("AKAMAICDN", "AKAMAIEDGEDNS", "")
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterCustomRecordType("AKAMAICDN", providerName, "")
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// DnsServiceProvider
|
||||
|
|
|
@ -37,11 +37,14 @@ type autoDNSProvider struct {
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "AUTODNS"
|
||||
const providerMaintainer = "@arnoschoon"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: New,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("AUTODNS", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// New creates a new API handle.
|
||||
|
|
|
@ -172,11 +172,14 @@ func initAxfrDdns(config map[string]string, providermeta json.RawMessage) (provi
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "AXFRDDNS"
|
||||
const providerMaintainer = "@hnrgrgr"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: initAxfrDdns,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("AXFRDDNS", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// Param is used to decode extra parameters sent to provider.
|
||||
|
|
|
@ -78,12 +78,15 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "AZURE_DNS"
|
||||
const providerMaintainer = "@vatsalyagoel"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newAzureDNSDsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("AZURE_DNS", fns, features)
|
||||
providers.RegisterCustomRecordType("AZURE_ALIAS", "AZURE_DNS", "")
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterCustomRecordType("AZURE_ALIAS", providerName, "")
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
func (a *azurednsProvider) getExistingZones() ([]*adns.Zone, error) {
|
||||
|
|
|
@ -82,12 +82,15 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "AZURE_PRIVATE_DNS"
|
||||
const providerMaintainer = "@matthewmgamble"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newAzureDNSDsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("AZURE_PRIVATE_DNS", fns, features)
|
||||
providers.RegisterCustomRecordType("AZURE_ALIAS", "AZURE_PRIVATE_DNS", "")
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterCustomRecordType("AZURE_ALIAS", providerName, "")
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
func (a *azurednsProvider) getExistingZones() ([]*adns.PrivateZone, error) {
|
||||
|
|
|
@ -93,11 +93,14 @@ func initBind(config map[string]string, providermeta json.RawMessage) (providers
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "BIND"
|
||||
const providerMaintainer = "@tlimoncelli"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: initBind,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("BIND", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// SoaDefaults contains the parts of the default SOA settings.
|
||||
|
|
|
@ -37,11 +37,14 @@ type bunnydnsProvider struct {
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "BUNNY_DNS"
|
||||
const providerMaintainer = "@ppmathis"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newBunnydns,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("BUNNY_DNS", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
func newBunnydns(settings map[string]string, _ json.RawMessage) (providers.DNSServiceProvider, error) {
|
||||
|
|
|
@ -64,14 +64,17 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "CLOUDFLAREAPI"
|
||||
const providerMaintainer = "@tresni"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newCloudflare,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("CLOUDFLAREAPI", fns, features)
|
||||
providers.RegisterCustomRecordType("CF_REDIRECT", "CLOUDFLAREAPI", "")
|
||||
providers.RegisterCustomRecordType("CF_TEMP_REDIRECT", "CLOUDFLAREAPI", "")
|
||||
providers.RegisterCustomRecordType("CF_WORKER_ROUTE", "CLOUDFLAREAPI", "")
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterCustomRecordType("CF_REDIRECT", providerName, "")
|
||||
providers.RegisterCustomRecordType("CF_TEMP_REDIRECT", providerName, "")
|
||||
providers.RegisterCustomRecordType("CF_WORKER_ROUTE", providerName, "")
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// cloudflareProvider is the handle for API calls.
|
||||
|
|
|
@ -57,12 +57,15 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "CLOUDNS"
|
||||
const providerMaintainer = "@pragmaton"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: NewCloudns,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("CLOUDNS", fns, features)
|
||||
providers.RegisterCustomRecordType("CLOUDNS_WR", "CLOUDNS", "")
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterCustomRecordType("CLOUDNS_WR", providerName, "")
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// GetNameservers returns the nameservers for a domain.
|
||||
|
|
|
@ -61,11 +61,14 @@ func newProvider(m map[string]string) (*providerClient, error) {
|
|||
}
|
||||
|
||||
func init() {
|
||||
providers.RegisterRegistrarType("CSCGLOBAL", newReg)
|
||||
const providerName = "CSCGLOBAL"
|
||||
const providerMaintainer = "@mikenz"
|
||||
providers.RegisterRegistrarType(providerName, newReg)
|
||||
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newDsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("CSCGLOBAL", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
|
|
@ -58,11 +58,14 @@ var defaultNameServerNames = []string{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "DESEC"
|
||||
const providerMaintainer = "@D3luxee"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: NewDeSec,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("DESEC", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// GetNameservers returns the nameservers for a domain.
|
||||
|
|
|
@ -82,11 +82,14 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "DIGITALOCEAN"
|
||||
const providerMaintainer = "@Deraen"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: NewDo,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("DIGITALOCEAN", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// EnsureZoneExists creates a zone if it does not exist
|
||||
|
|
|
@ -41,12 +41,15 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
providers.RegisterRegistrarType("DNSIMPLE", newReg)
|
||||
const providerName = "DNSIMPLE"
|
||||
const providerMaintainer = "@onlyhavecans"
|
||||
providers.RegisterRegistrarType(providerName, newReg)
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newDsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("DNSIMPLE", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
const stateRegistered = "registered"
|
||||
|
|
|
@ -31,12 +31,15 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "DNSMADEEASY"
|
||||
const providerMaintainer = "@vojtad"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: New,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
|
||||
providers.RegisterDomainServiceProviderType("DNSMADEEASY", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// New creates a new API handle.
|
||||
|
|
|
@ -24,7 +24,10 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
providers.RegisterRegistrarType("DNSOVERHTTPS", newDNSOverHTTPS, features)
|
||||
const providerName = "DNSOVERHTTPS"
|
||||
const providerMaintainer = "@mikenz"
|
||||
providers.RegisterRegistrarType(providerName, newDNSOverHTTPS, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
func newDNSOverHTTPS(m map[string]string) (providers.Registrar, error) {
|
||||
|
|
|
@ -47,12 +47,15 @@ var features = providers.DocumentationNotes{
|
|||
// Register with the dnscontrol system.
|
||||
// This establishes the name (all caps), and the function to call to initialize it.
|
||||
func init() {
|
||||
const providerName = "DOMAINNAMESHOP"
|
||||
const providerMaintainer = "@SimenBai"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newDomainNameShopProvider,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
|
||||
providers.RegisterDomainServiceProviderType("DOMAINNAMESHOP", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// newDomainNameShopProvider creates a Domainnameshop specific DNS provider.
|
||||
|
|
|
@ -25,7 +25,10 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
providers.RegisterRegistrarType("DYNADOT", newDynadot, features)
|
||||
const providerName = "DYNADOT"
|
||||
const providerMaintainer = "@e-im"
|
||||
providers.RegisterRegistrarType(providerName, newDynadot, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
func newDynadot(m map[string]string) (providers.Registrar, error) {
|
||||
|
|
|
@ -23,7 +23,10 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
providers.RegisterRegistrarType("EASYNAME", newEasyname, features)
|
||||
const providerName = "EASYNAME"
|
||||
const providerMaintainer = "@tresni"
|
||||
providers.RegisterRegistrarType(providerName, newEasyname, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
func newEasyname(m map[string]string) (providers.Registrar, error) {
|
||||
|
|
|
@ -70,11 +70,14 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "EXOSCALE"
|
||||
const providerMaintainer = "@pierre-emmanuelJ"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: NewExoscale,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("EXOSCALE", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// EnsureZoneExists creates a zone if it does not exist
|
||||
|
|
|
@ -34,12 +34,15 @@ import (
|
|||
|
||||
// init registers the provider to dnscontrol.
|
||||
func init() {
|
||||
const providerName = "GANDI_V5"
|
||||
const providerMaintainer = "@TomOnTime"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newDsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("GANDI_V5", fns, features)
|
||||
providers.RegisterRegistrarType("GANDI_V5", newReg)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterRegistrarType(providerName, newReg)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// features declares which features and options are available.
|
||||
|
|
|
@ -53,11 +53,14 @@ func sPtr(s string) *string {
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "GCLOUD"
|
||||
const providerMaintainer = "@riyadhalnur"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: New,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("GCLOUD", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
type gcloudProvider struct {
|
||||
|
|
|
@ -68,11 +68,14 @@ var defaultNameServerNames = []string{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "GCORE"
|
||||
const providerMaintainer = "@xddxdd"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: NewGCore,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("GCORE", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// GetNameservers returns the nameservers for a domain.
|
||||
|
|
|
@ -66,11 +66,14 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "HEDNS"
|
||||
const providerMaintainer = "@rblenkinsopp"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newHEDNSProvider,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("HEDNS", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
var defaultNameservers = []string{
|
||||
|
|
|
@ -33,11 +33,14 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "HETZNER"
|
||||
const providerMaintainer = "@das7pad"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: New,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("HETZNER", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// New creates a new API handle.
|
||||
|
|
|
@ -72,10 +72,13 @@ func newDsp(conf map[string]string, meta json.RawMessage) (providers.DNSServiceP
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "HEXONET"
|
||||
const providerMaintainer = "@KaiSchwarz-cnic"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newDsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterRegistrarType("HEXONET", newReg)
|
||||
providers.RegisterDomainServiceProviderType("HEXONET", fns, features)
|
||||
providers.RegisterRegistrarType(providerName, newReg)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
|
|
@ -37,12 +37,15 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
providers.RegisterRegistrarType("HOSTINGDE", newHostingdeReg)
|
||||
const providerName = "HOSTINGDE"
|
||||
const providerMaintainer = "@juliusrickert"
|
||||
providers.RegisterRegistrarType(providerName, newHostingdeReg)
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newHostingdeDsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("HOSTINGDE", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
type providerMeta struct {
|
||||
|
|
|
@ -111,11 +111,14 @@ var defaultNameServerNames = []string{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "HUAWEICLOUD"
|
||||
const providerMaintainer = "@huihuimoe"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newHuaweicloud,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("HUAWEICLOUD", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// huaweicloud has request limiting like above.
|
||||
|
|
|
@ -26,7 +26,10 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
providers.RegisterRegistrarType("INTERNETBS", newInternetBs, features)
|
||||
const providerName = "INTERNETBS"
|
||||
const providerMaintainer = "@pragmaton"
|
||||
providers.RegisterRegistrarType(providerName, newInternetBs, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
func newInternetBs(m map[string]string) (providers.Registrar, error) {
|
||||
|
|
|
@ -71,12 +71,15 @@ type inwxAPI struct {
|
|||
|
||||
// init registers the registrar and the domain service provider with dnscontrol.
|
||||
func init() {
|
||||
providers.RegisterRegistrarType("INWX", newInwxReg)
|
||||
const providerName = "INWX"
|
||||
const providerMaintainer = "@patschi"
|
||||
providers.RegisterRegistrarType(providerName, newInwxReg)
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newInwxDsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("INWX", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// getOTP either returns the TOTPValue or uses TOTPKey and the current time to generate a valid TOTPValue.
|
||||
|
|
|
@ -99,12 +99,15 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "LINODE"
|
||||
const providerMaintainer = "@koesie10"
|
||||
// SRV support is in this provider, but Linode doesn't seem to support it properly
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: NewLinode,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("LINODE", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// GetNameservers returns the nameservers for a domain.
|
||||
|
|
|
@ -33,12 +33,15 @@ import (
|
|||
|
||||
// init registers the provider to dnscontrol.
|
||||
func init() {
|
||||
const providerName = "LOOPIA"
|
||||
const providerMaintainer = "@systemcrash"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newDsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("LOOPIA", fns, features)
|
||||
providers.RegisterRegistrarType("LOOPIA", newReg)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterRegistrarType(providerName, newReg)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// features declares which features and options are available.
|
||||
|
|
|
@ -36,11 +36,14 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "LUADNS"
|
||||
const providerMaintainer = "@riku22"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: NewLuaDNS,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("LUADNS", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// NewLuaDNS creates the provider.
|
||||
|
|
|
@ -40,11 +40,14 @@ var features = providers.DocumentationNotes{
|
|||
//
|
||||
// This establishes the name (all caps), and the function to call to initialize it.
|
||||
func init() {
|
||||
const providerName = "MSDNS"
|
||||
const providerMaintainer = "@tlimoncelli"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newDNS,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("MSDNS", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
func newDNS(config map[string]string, metadata json.RawMessage) (providers.DNSServiceProvider, error) {
|
||||
|
|
|
@ -47,11 +47,14 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "MYTHICBEASTS"
|
||||
const providerMaintainer = "@tomfitzhenry"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newDsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("MYTHICBEASTS", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
func newDsp(conf map[string]string, metadata json.RawMessage) (providers.DNSServiceProvider, error) {
|
||||
|
|
|
@ -42,15 +42,18 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
providers.RegisterRegistrarType("NAMECHEAP", newReg)
|
||||
const providerName = "NAMECHEAP"
|
||||
const providerMaintainer = "@willpower232"
|
||||
providers.RegisterRegistrarType(providerName, newReg)
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newDsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("NAMECHEAP", fns, features)
|
||||
providers.RegisterCustomRecordType("URL", "NAMECHEAP", "")
|
||||
providers.RegisterCustomRecordType("URL301", "NAMECHEAP", "")
|
||||
providers.RegisterCustomRecordType("FRAME", "NAMECHEAP", "")
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterCustomRecordType("URL", providerName, "")
|
||||
providers.RegisterCustomRecordType("URL301", providerName, "")
|
||||
providers.RegisterCustomRecordType("FRAME", providerName, "")
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
func newDsp(conf map[string]string, metadata json.RawMessage) (providers.DNSServiceProvider, error) {
|
||||
|
|
|
@ -65,10 +65,13 @@ func newProvider(conf map[string]string) (*namedotcomProvider, error) {
|
|||
}
|
||||
|
||||
func init() {
|
||||
providers.RegisterRegistrarType("NAMEDOTCOM", newReg)
|
||||
const providerName = "NAMEDOTCOM"
|
||||
const providerMaintainer = "NEEDS VOLUNTEER"
|
||||
providers.RegisterRegistrarType(providerName, newReg)
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newDsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("NAMEDOTCOM", fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
|
|
@ -24,11 +24,14 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "NETCUP"
|
||||
const providerMaintainer = "@kordianbruck"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: New,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("NETCUP", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// New creates a new API handle.
|
||||
|
|
|
@ -33,13 +33,16 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "NETLIFY"
|
||||
const providerMaintainer = "@SphericalKat"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newNetlify,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("NETLIFY", fns, features)
|
||||
providers.RegisterCustomRecordType("NETLIFY", "NETLIFY", "")
|
||||
providers.RegisterCustomRecordType("NETLIFYv6", "NETLIFY", "")
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterCustomRecordType(providerName, providerName, "")
|
||||
providers.RegisterCustomRecordType("NETLIFYv6", providerName, "")
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
type netlifyProvider struct {
|
||||
|
|
|
@ -42,12 +42,15 @@ var docNotes = providers.DocumentationNotes{
|
|||
const clientRetries = 10
|
||||
|
||||
func init() {
|
||||
const providerName = "NS1"
|
||||
const providerMaintainer = "@costasd"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newProvider,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("NS1", fns, providers.CanUseSRV, docNotes)
|
||||
providers.RegisterCustomRecordType("NS1_URLFWD", "NS1", "")
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, providers.CanUseSRV, docNotes)
|
||||
providers.RegisterCustomRecordType("NS1_URLFWD", providerName, "")
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
type nsone struct {
|
||||
|
|
|
@ -19,7 +19,10 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
providers.RegisterRegistrarType("OPENSRS", newReg, features)
|
||||
const providerName = "OPENSRS"
|
||||
const providerMaintainer = "@philhug"
|
||||
providers.RegisterRegistrarType(providerName, newReg, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
var defaultNameServerNames = []string{
|
||||
|
|
|
@ -35,11 +35,14 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "ORACLE"
|
||||
const providerMaintainer = "@kallsyms"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: New,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("ORACLE", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
type oracleProvider struct {
|
||||
|
|
|
@ -74,12 +74,15 @@ func newReg(conf map[string]string) (providers.Registrar, error) {
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "OVH"
|
||||
const providerMaintainer = "@masterzen"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newDsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterRegistrarType("OVH", newReg)
|
||||
providers.RegisterDomainServiceProviderType("OVH", fns, features)
|
||||
providers.RegisterRegistrarType(providerName, newReg)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
func (c *ovhProvider) GetNameservers(domain string) ([]*models.Nameserver, error) {
|
||||
|
|
|
@ -50,11 +50,14 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "PACKETFRAME"
|
||||
const providerMaintainer = "@hamptonmoore"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newPacketframe,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("PACKETFRAME", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// GetNameservers returns the nameservers for a domain.
|
||||
|
|
|
@ -69,12 +69,15 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
providers.RegisterRegistrarType("PORKBUN", newReg)
|
||||
const providerName = "PORKBUN"
|
||||
const providerMaintainer = "@imlonghao"
|
||||
providers.RegisterRegistrarType(providerName, newReg)
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newDsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("PORKBUN", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// GetNameservers returns the nameservers for a domain.
|
||||
|
|
|
@ -33,11 +33,14 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "POWERDNS"
|
||||
const providerMaintainer = "@jpbede"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newDSP,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("POWERDNS", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// powerdnsProvider represents the powerdnsProvider DNSServiceProvider.
|
||||
|
|
|
@ -72,6 +72,15 @@ func RegisterDomainServiceProviderType(name string, fns DspFuncs, pm ...Provider
|
|||
unwrapProviderCapabilities(name, pm)
|
||||
}
|
||||
|
||||
var ProviderMaintainers = map[string]string{}
|
||||
|
||||
func RegisterMaintainer(
|
||||
providerName string,
|
||||
gitHubUsername string,
|
||||
) {
|
||||
ProviderMaintainers[providerName] = gitHubUsername
|
||||
}
|
||||
|
||||
// CreateRegistrar initializes a registrar instance from given credentials.
|
||||
func CreateRegistrar(rType string, config map[string]string) (Registrar, error) {
|
||||
var err error
|
||||
|
|
|
@ -50,12 +50,15 @@ var features = providers.DocumentationNotes{
|
|||
|
||||
// init registers the domain service provider with dnscontrol.
|
||||
func init() {
|
||||
const providerName = "REALTIMEREGISTER"
|
||||
const providerMaintainer = "@PJEilers"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newRtrDsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("REALTIMEREGISTER", fns, features)
|
||||
providers.RegisterRegistrarType("REALTIMEREGISTER", newRtrReg)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterRegistrarType(providerName, newRtrReg)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
func newRtr(config map[string]string, _ json.RawMessage) (*realtimeregisterAPI, error) {
|
||||
|
|
|
@ -91,13 +91,16 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "ROUTE53"
|
||||
const providerMaintainer = "@tresni"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newRoute53Dsp,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("ROUTE53", fns, features)
|
||||
providers.RegisterRegistrarType("ROUTE53", newRoute53Reg)
|
||||
providers.RegisterCustomRecordType("R53_ALIAS", "ROUTE53", "")
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterRegistrarType(providerName, newRoute53Reg)
|
||||
providers.RegisterCustomRecordType("R53_ALIAS", providerName, "")
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
func withRetry(f func() error) {
|
||||
|
|
|
@ -35,11 +35,14 @@ var features = providers.DocumentationNotes{
|
|||
|
||||
// init registers the registrar and the domain service provider with dnscontrol.
|
||||
func init() {
|
||||
const providerName = "RWTH"
|
||||
const providerMaintainer = "@mistererwin"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: New,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("RWTH", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// New allocates a DNS service provider.
|
||||
|
|
|
@ -31,11 +31,14 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "SOFTLAYER"
|
||||
const providerMaintainer = "NEEDS VOLUNTEER"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: newReg,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("SOFTLAYER", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
func newReg(conf map[string]string, _ json.RawMessage) (providers.DNSServiceProvider, error) {
|
||||
|
|
|
@ -87,11 +87,14 @@ func NewTransip(m map[string]string, metadata json.RawMessage) (providers.DNSSer
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "TRANSIP"
|
||||
const providerMaintainer = "@blackshadev"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: NewTransip,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("TRANSIP", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
func (n *transipProvider) ListZones() ([]string, error) {
|
||||
|
|
|
@ -42,11 +42,14 @@ var features = providers.DocumentationNotes{
|
|||
}
|
||||
|
||||
func init() {
|
||||
const providerName = "VULTR"
|
||||
const providerMaintainer = "@pgaskin"
|
||||
fns := providers.DspFuncs{
|
||||
Initializer: NewProvider,
|
||||
RecordAuditor: AuditRecords,
|
||||
}
|
||||
providers.RegisterDomainServiceProviderType("VULTR", fns, features)
|
||||
providers.RegisterDomainServiceProviderType(providerName, fns, features)
|
||||
providers.RegisterMaintainer(providerName, providerMaintainer)
|
||||
}
|
||||
|
||||
// vultrProvider represents the Vultr DNSServiceProvider.
|
||||
|
|
Loading…
Reference in a new issue