Browse Source

Notes for v3.3.0

Ask Bjørn Hansen 2 years ago
parent
commit
472394a50d
3 changed files with 23 additions and 6 deletions
  1. 2 1
      CHANGES.md
  2. 10 5
      README.md
  3. 11 0
      dns/geodns.conf.sample

+ 2 - 1
CHANGES.md

@@ -1,8 +1,9 @@
 # GeoDNS Changelog
 # GeoDNS Changelog
 
 
-## Next
+## 3.3.0 July 2023
 - Avro logging feature
 - Avro logging feature
 - Default to use all CPUs on the system.
 - Default to use all CPUs on the system.
+- Graceful shutdown on term/quit/interrupt signals
 
 
 ## 3.2.3 June 2023
 ## 3.2.3 June 2023
 - querylog: Add software version, answer data and IsTCP fields
 - querylog: Add software version, answer data and IsTCP fields

+ 10 - 5
README.md

@@ -5,7 +5,6 @@ and other similar services.
 
 
 [![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/7022/badge)](https://bestpractices.coreinfrastructure.org/projects/7022)
 [![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/7022/badge)](https://bestpractices.coreinfrastructure.org/projects/7022)
 
 
-
 ## Questions or suggestions?
 ## Questions or suggestions?
 
 
 For bug reports or feature requests, please create [an
 For bug reports or feature requests, please create [an
@@ -34,6 +33,8 @@ go build
 ./geodns -h
 ./geodns -h
 ```
 ```
 
 
+You can also build with [goreleaser](https://github.com/goreleaser/goreleaser).
+
 ## Sample configuration
 ## Sample configuration
 
 
 There's a sample configuration file in `dns/example.com.json`. This is currently
 There's a sample configuration file in `dns/example.com.json`. This is currently
@@ -67,7 +68,9 @@ or more simply put
 
 
 The binary can be moved to /usr/local/bin, /opt/geodns/ or wherever you find appropriate.
 The binary can be moved to /usr/local/bin, /opt/geodns/ or wherever you find appropriate.
 
 
-### Command options
+### Configuration
+
+See the [sample configuration file](https://github.com/abh/geodns/blob/main/dns/geodns.conf.sample).
 
 
 Notable command line parameters (and their defaults)
 Notable command line parameters (and their defaults)
 
 
@@ -110,6 +113,11 @@ recommended in production unless you get very few queries (less than 1-200/secon
 Maximum number of CPUs to use. Set to 0 to match the number of CPUs
 Maximum number of CPUs to use. Set to 0 to match the number of CPUs
 available on the system (also the default).
 available on the system (also the default).
 
 
+## Logging
+
+GeoDNS supports query logging to JSON or Avro files (see the sample configuration file
+for options).
+
 ## Prometheus metrics
 ## Prometheus metrics
 
 
 `/metrics` on the http port provides a number of metrics in Prometheus format.
 `/metrics` on the http port provides a number of metrics in Prometheus format.
@@ -201,8 +209,6 @@ Set the default TTL for the zone (default 120).
 
 
 * max_hosts
 * max_hosts
 
 
-
-
 * contact
 * contact
 
 
 Set the soa 'contact' field (default is "hostmaster.$domain").
 Set the soa 'contact' field (default is "hostmaster.$domain").
@@ -290,7 +296,6 @@ Or with weights
 
 
 An SPF record is semantically identical to a TXT record with the exception that the label is set to 'spf'. An example of an spf record with weights:
 An SPF record is semantically identical to a TXT record with the exception that the label is set to 'spf'. An example of an spf record with weights:
 
 
-
     { "spf": "v=spf1 ~all]", "weight": 1 }
     { "spf": "v=spf1 ~all]", "weight": 1 }
 
 
 An spf record is typically at the root of a zone, and a label can have an array of SPF records, e.g
 An spf record is typically at the root of a zone, and a label can have an array of SPF records, e.g

+ 11 - 0
dns/geodns.conf.sample

@@ -17,6 +17,17 @@ path = log/queries.log
 ;; keep up to this many rotated log files (default 1)
 ;; keep up to this many rotated log files (default 1)
 ; keep = 2
 ; keep = 2
 
 
+
+;; avro logging will replace the json querylog if configured
+; [avrolog]
+;; The avro schema is specified in https://github.com/abh/geodns/blob/main/querylog/querylog.avsc
+;; files being written are suffixed .tmp; closed files are suffixed .avro
+; path = log/avro/
+;; rotate file after it reaches this size
+; maxsize = 5000000
+;; rotate the file after this many seconds
+; maxtime = 10s
+
 [http]
 [http]
 ; require basic HTTP authentication; not encrypted or safe over the public internet
 ; require basic HTTP authentication; not encrypted or safe over the public internet
 ; user = stats
 ; user = stats