Commit graph

49 commits

Author SHA1 Message Date
Tom Limoncelli
cbccbbeb8d
REFACTOR: Opinion: TXT records are one long string (#2631)
Co-authored-by: Costas Drogos <costas.drogos@gmail.com>
Co-authored-by: imlonghao <git@imlonghao.com>
Co-authored-by: Jeffrey Cafferata <jeffrey@jcid.nl>
Co-authored-by: Vincent Hagen <blackshadev@users.noreply.github.com>
2023-12-04 17:45:25 -05:00
Tom Limoncelli
c91fe6c1c8
CHORE: Remove diff1 from codebase (#2575) 2023-10-22 13:56:13 -04:00
imlonghao
fa890063a1
BUG: Ensure report location is not empty (#2560) 2023-09-16 15:52:59 -04:00
Florian Ritterhoff
1d825be67a
NEW FEATURE: Added "push --report" flag which generates JSON report of changes made (#2543)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2023-09-14 13:15:54 -04:00
asn-iac
1d9646d4ff
Adjust Error message formatting for preview/push (#2477)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2023-08-08 12:02:49 -04:00
nemunaire
5ae231030e
Update version in go.mod (#2382) 2023-05-20 13:21:45 -04:00
Tom Limoncelli
a597b28785
diff2 is now the default. Users of diff1 will get a warning (#2366)
Co-authored-by: Tom Limoncelli <tal@whatexit.org>
2023-05-16 13:50:31 -04:00
Tom Limoncelli
66a76c44c1
Don't count diff2.REPORT (informational warnings) as a "correction" (#2361)
Co-authored-by: Tom Limoncelli <tal@whatexit.org>
2023-05-16 10:42:08 -04:00
Tom Limoncelli
444b48bb0a Suggestion to use diff2 should be more clear 2023-05-08 21:59:57 -04:00
Tom Limoncelli
489be2e3dc
ROUTE53: fix R53_ZONE() handling for domains (#2306)
Co-authored-by: Tom Limoncelli <tal@whatexit.org>
2023-05-02 13:04:59 -04:00
Tom Limoncelli
fba40d5373
BIND: Enable hermetic zone builds (#2275)
Co-authored-by: Tom Limoncelli <tal@whatexit.org>
2023-04-25 18:00:11 -05:00
Tom Limoncelli
5e9472bd44
BUG: diff2 flag can not work in both places (#2286)
Co-authored-by: Tom Limoncelli <tal@whatexit.org>
2023-04-17 14:59:35 -04:00
Tom Limoncelli
bcf590f649
Enable --diff2 flag anywhere on the command line (#2281)
Co-authored-by: Tom Limoncelli <tal@whatexit.org>
2023-04-16 14:46:39 -04:00
Tom Limoncelli
60470a3886
BUG: Some DNS zones are downloaded twice (#2120)
Signed-off-by: Amelia Aronsohn <squirrel@wearing.black>
Co-authored-by: Tom Limoncelli <tal@whatexit.org>
Co-authored-by: Grégoire Henry <hnrgrgr@users.noreply.github.com>
Co-authored-by: Amelia Aronsohn <squirrel@wearing.black>
Co-authored-by: Kai Schwarz <kschwarz@hexonet.net>
Co-authored-by: Asif Nawaz <asif.nawaz@centralnic.com>
Co-authored-by: imlonghao <git@imlonghao.com>
Co-authored-by: Will Power <1619102+willpower232@users.noreply.github.com>
2023-04-14 15:22:23 -04:00
Jan-Philipp Benecke
ac8815e0e1
MAINT: Use WaitGroup instead of labeled loop (#2201)
Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2023-03-19 15:30:19 -04:00
Tom Limoncelli
2be3edc0a7
Report provider name even in skinny mode (--full=false) (#2163) 2023-03-14 13:45:32 -04:00
Tom Limoncelli
ad4b8daa13
BUGFIX: REPORT change type always crashes on push (#2130) 2023-03-08 22:22:12 -08:00
Yannik Sembritzki
5d554f1cef
BUG: Compare zones list to ace zone name (#2096) (#2110)
Co-authored-by: Yannik Sembritzki <yannik@sembritzki.org>
2023-03-01 08:38:13 -05:00
Yannik Sembritzki
5e06c249d6
Rename DomainCreator to the more accurate ZoneCreator (#2038)
Co-authored-by: Yannik Sembritzki <yannik@sembritzki.org>
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2023-02-07 07:22:49 -05:00
Jeffrey Cafferata
430568c8f8
DOCS: Replace stackexchange.github.io (#2004)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2023-01-29 13:14:22 -05:00
Tom Limoncelli
a1b24a2e82
GANDI_V5: Temporarily disable ListDomains (#1962) 2023-01-21 17:22:26 -05:00
Tom Limoncelli
8bb63be8f5
Add --verbose flag, default to less verbose output (#1721) 2022-08-20 20:59:02 -04:00
Tom Limoncelli
ccb582b278
CHORE: Linting (#1704)
* Remove deprecated io/ioutil
* fixup!
* staticcheck and linting
* revert models/provider.go
* Fix imports to new style
* linting
2022-08-14 20:46:56 -04:00
Jakob Ackermann
a00572af4a
Create zone before use (#1642)
* preview/push: ensure zones exists before querying them

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* HETZNER: reset zone cache when creating a new zone

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

* ROUTE53: reset zone cache when creating a new zone

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>

Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2022-08-01 14:44:17 -04:00
Jan-Philipp Benecke
c0450223c2
Create non-existing zones while push or print warning while preview (#1528)
* Create non-existing zones while push. While preview print a warning

Signed-off-by: Jan-Philipp Benecke <jan-philipp.benecke@jpbe.de>

* Ooops, remove testing lines

Signed-off-by: Jan-Philipp Benecke <jan-philipp.benecke@jpbe.de>

* Renaming flag

Signed-off-by: Jan-Philipp Benecke <jan-philipp.benecke@jpbe.de>

* Change flag description

Signed-off-by: Jan-Philipp Benecke <jan-philipp.benecke@jpbe.de>

* Reverse flag logic

Signed-off-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2022-06-08 14:53:16 -04:00
Tom Limoncelli
9e6d642e35
NEW FEATURE: Moving provider TYPE from dnsconfig.js to creds.json (#1500)
Fixes https://github.com/StackExchange/dnscontrol/issues/1457

* New-style creds.json implememented backwards compatible

* Update tests

* Update docs

* Assume new-style TYPE
2022-05-08 14:23:45 -04:00
Tom Limoncelli
1c43d03d89
Refactor: Move creds.json processing out of InitializeProviders (#1495)
* Rename providers/config to pkg/credsfile

* Refactor InitializeProviders in preparation for v3.16
2022-05-04 11:02:36 -04:00
Tom Limoncelli
19550aeed9
Refactor: Rename providers/config to pkg/credsfile (#1494) 2022-05-02 20:12:30 -04:00
Tom Limoncelli
73de17adc2 Revert "_PROVIDER flag phase 1: generate warnings"
This reverts commit 26c632e05f.
2022-03-27 15:56:57 -04:00
Tom Limoncelli
26c632e05f _PROVIDER flag phase 1: generate warnings 2022-03-27 15:54:16 -04:00
Tom Limoncelli
8dea9edc34
Re-engineer TXT records for simplicity and better compliance (#1063)
TXT records are now handled different.

1. The raw input from dnsconfig.js is passed all the way to the provider. The provider can determine if it can or can't handle such records (auditrecords.go) and processes them internally as such.
2. The CanUseTXTMulti capability is no longer needed.

* DSPs now register a table of functions
* Use audits for txt record variations
* unit tests pass. integration fails.
* fix deepcopy problem
* rename to AuditRecordSupport
* Reduce use of TXTMulti
* Remove CanUseTXTMulti
* fix Test Skip
* fix DO
* fix vultr
* fix NDC
* msdns fixes
* Fix powerdns and cloudflare
* HEDNS: Fix usage of target field to resolve TXT handling (#1067)
* Fix HEXONET

Co-authored-by: Robert Blenkinsopp <robert@blenkinsopp.net>
Co-authored-by: Jakob Ackermann <das7pad@outlook.com>
2021-03-07 13:19:22 -05:00
Tom Limoncelli
c547beacc0
NEW FEATURE: Support Split Horizon DNS (#1034)
* Implement main feature
* BIND: Permit printf-like file name formats
* BIND: Make filenameformat work forwards and backwards.
* Fix extrator test cases
2021-02-05 12:12:45 -05:00
Tom Limoncelli
de308c0952
Lint: Fix ST1005: error strings should not be capitalized (#834) 2020-08-30 19:52:37 -04:00
Tom Limoncelli
24b7d0641e Update github.com/StackExchange/dnscontrol/v2 2020-04-14 16:49:03 -04:00
Tom Limoncelli
14e48b9b07
linting (#693)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
2020-03-10 16:53:17 -04:00
Tom Limoncelli
891c4162df
Upgrade urfave/cli to v2 (#614)
* Upgrade cli to v2
* Re-vendor
2020-02-03 12:44:11 -05:00
Patrick Gaskin
825ba2d081 Switch to Go 1.13 error wrapping (#604)
* Replaced errors.Wrap with fmt.Errorf (#589)

* Find:    errors\.Wrap\(([^,]+),\s+(["`][^"`]*)(["`])\)
  Replace: fmt.Errorf($2: %w$3, $1)

* Replaced errors.Wrapf with fmt.Errorf (#589)

* Find:    errors\.Wrapf\(([^,]+),\s+(["`][^"`]*)(["`])\)
  Replace: fmt.Errorf($2: %w$3, $1)
* Find:    errors\.Wrapf\(([^,]+),\s+(["`][^"`]*)(["`])(,[^)]+)\)
* Replace: fmt.Errorf($2: %w$3$4, $1)

* Replaced errors.Errorf with fmt.Errorf (#589)

* Find:    errors\.Errorf
  Replace: fmt.Errorf

* Cleaned up remaining imports

* Cleanup

* Regenerate provider support matrix

This was broken by #533 ... and it's now the third time this has been missed.
2020-01-28 11:06:56 -05:00
Patrick Gaskin
2f83aa9302 Internals: Switch to v2 go.mod, drop GOPATH, and fix Azure Pipelines (#595)
* Switched to v2 go.mod

Also set GO111MODULE=on in build stuff to always use Go modules
even when in GOPATH.

* Ensure go.mod, go.sum, and vendor are up to date

* Attempt to fix Azure pipelines

* Add set -e to properly fail on exit (it didn't seem to be
  propagating properly before).
* Set workingDirectory for GoFmt and GoGen (this might be why it
  fails unlike compile and unitests).

* Another attempt to fix Azure Pipelines

* Use the Go env template for all go-related jobs.

* Completely fixed Azure Pipelines

* Added a display name to GoFmt for consistency.
* Fixed diffs for GoFmt and GoGen.
* Show git status for checks.

* Drop GOPATH for tests

TODO: Do the same for integration tests.

* Drop GOPATH for integration tests

* Show more diffs

* Regenerate provider support matrix

This wasn't done in #590...
2020-01-28 10:42:31 -05:00
Craig Peterson
364aac5073 fix format 2019-06-27 01:21:23 -04:00
Miguel Bernabeu Diaz
d4947fce23 Add --expect-no-changes flag to preview (#449)
We want to offer a return-code oriented interface to detect changes
pending to be applied. The preview command, by default, returns 0
regardless of pending changes.

We add a flag, `--expect-no-changes`, that will return non-zero if
there are changes pending application, and 0 if there are none.
2019-02-13 20:11:26 -05:00
Craig Peterson
f6b26f24c6
revert exit code changes. 2019-02-06 23:41:24 -05:00
Miguel Bernabeu Diaz
b0715e96e4 Return error for pending corrections in preview (#438)
Return a non-zero error code if there are corrections for preview
step. This is especially useful for automated alerting and scripting
around changes to the zone not reflected in the configuration.
2019-02-01 09:30:04 -05:00
Ed Bardsley
06ee4d6fb1 Verbose debug logging via the ConsolePrinter and printer package. (#404)
This:
 * adds a global -v flag for verbosity
 * refactors the "printer" package to have a DefaultPrinter and package
   functions that call it, similar to net/http's DefaultServeMux
 * adds printer tests
 * moves current users of Debugf to Printf
 * moves most users of the "log" package to use "printer"
 * demotes noticably noisy log messages to "Debugf", like "IGNORE"-
   and "NO_PURGE"-related messages
2018-10-08 16:10:44 -04:00
Tom Limoncelli
4b1dc82c9b
Switch from fmt.Error* to errors.Error* (#317) 2018-02-05 16:17:20 -05:00
Craig Peterson
7a4dca5ad5 Refactor: Prelink providers to domains (#305) 2018-02-01 11:45:53 -05:00
Craig Peterson
9dbd4a3066
Simple notification framework (#297)
* bonfire notifications working

* make interface to make more extensible

* some docs

* typo

* rename typo
2018-01-11 11:15:19 -05:00
Tom Limoncelli
b7c251190f
Vet and Lint the entire system (#296)
* govet and golint corrections
2018-01-09 12:53:16 -05:00
Craig Peterson
d7bdc03b54 remove delay flag. providers should throttle themselves 2017-09-15 13:36:49 -04:00
Craig Peterson
1d9d2b1a19 Refactor to use better cli command framework (#177)
* starting to refactor commands

* work

* not sure

* all commands working!

* actually add file

* work in delay flag again

* start to refactor out console printing

* i hate line endings

* simple travis test to find direct output

* remove all direct printing from push/preview

* checkin vendor

* don't need this yet

* forgot to commit these

* make version explicit command

* some code review

* Add "check" subcommand.

* move stuff to commands package

* fix

* comment out check for printlns. for now

* alphabet hax

* activedir flags gone. use creds instead

* active dir doc update

* remove bind specific flags. creds instead

* default to zones dir

* fix linux build

* fix test

* cleanup random global* vars

* Clean up PowerShell docs

* rename dump-ir to print-ir. combine with print-js
2017-09-13 10:00:41 -04:00