1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00

Revert "_PROVIDER flag phase 1: generate warnings"

This reverts commit 26c632e05f.
This commit is contained in:
Tom Limoncelli
2022-03-27 15:56:57 -04:00
parent 26c632e05f
commit 73de17adc2
15 changed files with 3 additions and 45 deletions

View File

@ -137,7 +137,8 @@ type FeatureMatrix struct {
var tmpl = template.Must(template.New("").Funcs(template.FuncMap{
"safe": func(s string) template.HTML { return template.HTML(s) },
}).Parse(`{% comment %}
}).Parse(`
{% comment %}
Matrix generated by build/generate/featureMatrix.go. DO NOT HAND EDIT!
{% endcomment %}{{$providers := .Providers}}
<table class="table-header-rotated">

View File

@ -203,11 +203,6 @@ func InitializeProviders(credsFile string, cfg *models.DNSConfig, notifyFlag boo
isNonDefault[name] = true
}
}
// Collect the names of all providers.
// Run through the providerConfigs and output a warning if any are
// invalid.
registrars := map[string]providers.Registrar{}
dnsProviders := map[string]providers.DNSServiceProvider{}
for _, d := range cfg.Domains {

View File

@ -1,6 +0,0 @@
NOTE: The `_PROVIDER` field is ignored by the provider. It is used by
DNSControl to cross-check that this entry is used with the proper
provider code. DNSControl produces warnings if it is missing or
invalid. In the future these warnings will become hard errors.

View File

@ -30,7 +30,6 @@ The `ActiveDirectory_PS` provider reads an `ADServer` setting from `creds.json`
```js
{
"activedir": {
"_PROVIDER": "ACTIVEDIRECTORY_PS",
"ADServer": "ny-dc01"
}
}
@ -42,7 +41,6 @@ If you want to modify the "fake powershell" mode details, you can set them in th
```js
{
"activedir": {
"_PROVIDER": "ACTIVEDIRECTORY_PS",
"ADServer": "ny-dc01",
"fakeps": "true",
"pslog": "powershell.log",
@ -51,7 +49,6 @@ If you want to modify the "fake powershell" mode details, you can set them in th
}
```
{% include providerfield.html %}
An example DNS configuration:

View File

@ -28,7 +28,6 @@ In the credentials file (creds.json), you must provide the following:
```json
"akamaiedgedns": {
"_PROVIDER": "AKAMAIEDGEDNS",
"client_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"host": "akaa-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxx.akamaiapis.net",
"access_token": "akaa-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",

View File

@ -14,7 +14,6 @@ In your credentials file, you must provide [username, password and a context](ht
{% highlight json %}
{
"autodns": {
"_PROVIDER": "AUTODNS",
"username": "autodns.service-account@example.com",
"password": "[***]",
"context": "33004"

View File

@ -42,7 +42,6 @@ For instance, your `creds.json` might looks like:
```json
{
"axfrddns": {
"_PROVIDER": "AXFRDDNS",
"transfer-key": "hmac-sha256:transfer-key-id:Base64EncodedSecret=",
"update-key": "hmac-sha256:update-key-id:AnotherSecret="
}

View File

@ -11,7 +11,6 @@ You can specify the API credentials in the credentials json file:
```json
{
"azuredns_main":{
"_PROVIDER": "AZURE_DNS",
"SubscriptionID": "AZURE_SUBSCRIPTION_ID",
"ResourceGroup": "AZURE_RESOURCE_GROUP",
"TenantID": "AZURE_TENANT_ID",
@ -34,7 +33,6 @@ export AZURE_CLIENT_SECRET=BBBBBBBBB
```json
{
"azuredns_main":{
"_PROVIDER": "AZURE_DNS",
"SubscriptionID": "$AZURE_SUBSCRIPTION_ID",
"ResourceGroup": "$AZURE_RESOURCE_GROUP",
"TenantID": "$AZURE_TENANT_ID",

View File

@ -18,7 +18,6 @@ you can specify a `directory` where the provider will look for and create zone f
```json
{
"bind": {
"_PROVIDER": "BIND",
"directory": "myzones",
"filenameformat": "%U.zone" << The default
}

View File

@ -25,7 +25,6 @@ This method is enabled by setting the "apitoken" value in `creds.json`:
```json
{
"cloudflare": {
"_PROVIDER": "CLOUDFLAREAPI",
"apitoken": "your-cloudflare-api-token",
"accountid": "your-cloudflare-account-id"
}

View File

@ -14,7 +14,6 @@ Current version of provider doesn't support `sub-auth-user`.
```json
{
"cloudns": {
"_PROVIDER": "CLOUDNS",
"auth-id": "12345",
"sub-auth-id": "12345",
"auth-password": "your-password"

View File

@ -14,7 +14,6 @@ In your `creds.json` file, you must provide your API key and user/client token.
```json
{
"cscglobal": {
"_PROVIDER": "CSCGLOBAL",
"api-key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"user-token": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
"notification_emails": "test@exmaple.tld,hostmaster@example.tld"

View File

@ -11,7 +11,6 @@ In your providers credentials file you must provide a deSEC account auth token:
```json
{
"desec": {
"_PROVIDER": "DESEC",
"auth-token": "your-deSEC-auth-token"
}
}

View File

@ -8,22 +8,19 @@ title: creds.json file format
When dnscontrol interacts with a provider, any API keys, credentials, or other
configuration parameters required are stored in `creds.json`. The file contains a set of key/value pairs for each configuration. That is, since a provider can be used multiple times with different credentials, the file contains a section for each set of credentials.
Here's a sample `creds.json` file:
Here's a sample file:
```json
{
"cloudflare_tal": {
"_PROVIDER": "CLOUDFLAREAPI",
"apikey": "REDACTED",
"apiuser": "REDACTED"
},
"inside": {
"_PROVIDER": "BIND",
"directory": "inzones",
"filenameformat": "db_%T%?_%D"
},
"hexonet": {
"_PROVIDER": "HEXONET",
"apilogin": "$HEXONET_APILOGIN",
"apipassword": "$HEXONET_APIPASSWORD",
"debugmode": "$HEXONET_DEBUGMODE",
@ -42,7 +39,6 @@ Here's a sample `creds.json` file:
* ...are whatever the provider specifies.
* ...can be credentials, secrets, or configuration settings. In the above examples the `inside` setting is configuration parameters for the BIND provider, not credentials.
* A missing subkey is not an error. The value is the empty string.
* The subkey `_PROVIDER` indicates which provider plug-in to use. In the future it will be required and dnscontrol will report an error if it is missing or invalid. Currently DNSControl reports warnings.
* Values:
* ...may include any JSON string value including the empty string.
* If a subkey starts with `$`, it is taken as an env variable. In the above example, `$HEXONET_APILOGIN` would be replaced by the value of the environment variable `HEXONET_APILOGIN` or the empty string if no such environment variable exists.

View File

@ -57,24 +57,9 @@ func LoadProviderConfigs(fname string) (map[string]map[string]string, error) {
if err = replaceEnvVars(results); err != nil {
return nil, err
}
ckeys := keysWithColons(results)
if len(ckeys) != 0 {
fmt.Printf("WARNING: Cred entries may not contain colons in the future. Please fix: %v\n", quotedList(ckeys))
}
pkeys := entriesWithoutProvider(results)
if len(pkeys) != 0 {
fmt.Printf("WARNING: Please add a PROVIDER field to these credential entries: %v\n", quotedList(pkeys))
}
return results, nil
}
func quotedList(l []string) string {
return `"` + strings.Join(l, `", "`) + `"`
}
func isExecutable(filename string) bool {
if stat, statErr := os.Stat(filename); statErr == nil {
if mode := stat.Mode(); mode&0111 == 0111 {