BUILD: Generate OWNERS files (#2997)

This commit is contained in:
Jeffrey Cafferata 2024-07-10 21:53:50 +02:00 committed by GitHub
parent cf49ec871f
commit 8fa1a8d7d6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
56 changed files with 311 additions and 80 deletions

View file

@ -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)

View 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
}

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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.

View file

@ -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.

View file

@ -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) {

View file

@ -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) {

View file

@ -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.

View file

@ -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) {

View file

@ -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.

View file

@ -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.

View file

@ -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)
}

View file

@ -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.

View file

@ -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

View file

@ -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"

View file

@ -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.

View file

@ -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) {

View file

@ -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.

View file

@ -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) {

View file

@ -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) {

View file

@ -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

View file

@ -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.

View file

@ -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 {

View file

@ -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.

View file

@ -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{

View file

@ -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.

View file

@ -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)
}

View file

@ -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 {

View file

@ -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.

View file

@ -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) {

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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)
}

View file

@ -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.

View file

@ -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 {

View file

@ -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 {

View file

@ -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{

View file

@ -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 {

View file

@ -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) {

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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

View file

@ -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) {

View file

@ -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) {

View file

@ -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.

View file

@ -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) {

View file

@ -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) {

View file

@ -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.