Quick Start for Windows

Quick Start Guide for Windows.

This is a development quick start guide when you are using Windows.

  1. Make sure that you have your GOPATH set up

  2. Clone coredns and all dependencies: go get github.com/coredns/coredns

  3. Navigate to the source: cd $ENV:GOPATH\src\github.com\coredns\coredns

  4. Fork (but not clone) coredns

  5. Update the origin to point at your repository: git remote set-url origin https://github.com/USERNAME/coredns.git

  6. Open your editor: code .

  7. Create a new file named Corefile and populate it:

      # Only port 53 is supported as NSLOOKUP no longer supports non-standard ports
      .:53 {
          # Your router
          proxy . 192.168.1.1:53
              
          file D:\dev\zone\example.org example.org
    
          errors
          log
      }
    
  8. Create the example.org file:

      example.org.   IN SOA dns.example.org. domains.example.org. (
          2012062701   ; serial
          300          ; refresh
          1800         ; retry
          14400        ; expire
          300 )        ; minimum
    
      @                        IN NS      dns.example.com.
    
      @                  42000 IN A       127.0.0.1
      @                  42000 IN A       127.0.0.2
      @                  42000 IN A       127.0.0.3
    
      api                42000 IN CNAME   sample.service.dns.example.de.
      www                42000 IN CNAME   sample.service.dns.example.de.
      blog               42000 IN CNAME   sample.service.dns.example.de.
    
      @                   3600 IN MX 1    ASPMX1.L.google.com.
      @                   3600 IN MX 1    ASPMX2.L.google.com.
      @                   3600 IN MX 1    ASPMX3.L.google.com.
      @                    300 IN TXT     "v=spf1 include:_spf.google.com ~all"
    
  9. You should be able to execute coredns from VSCode, test it with:

    > nslookup - localhost
    Default Server:  UnKnown
    Address:  ::1
    
    > example.org
    Server:  UnKnown
    Address:  ::1
    
    Name:    example.org
    Addresses:  127.0.0.1
            127.0.0.2
            127.0.0.3
    
  10. Use github.com\coredns\coredns as though it were your own repository. This is required to ensure that debugging works in VSCode.

  11. You might want to add the following to your global .gitignore:

    coredns.exe
    Corefile
    .vscode
    debug
    

Jonathan Dickinson
Published: and tagged Documentation, Quick, Start and Windows using 246 words.