• Michael Richmond's avatar
    k8s middleware cleanup, testcases, basic SRV (#181) · 289f53d3
    Michael Richmond authored
    * Removing unnecessary gitignore pattern
    
    * Updating Makefile to run unittests for subpackages
    
    * Adding Corefile validation to ignore overlapping zones
    
    * Fixing SRV query handling
    
    * Updating README.md now that SRV works
    
    * Fixing debug message, adding code comment
    
    * Clarifying implementation of zone normalization
    
    * "Overlapping zones" is ill-defined. Reimplemented zone overlap/subzone
      checking to contain these functions in k8s middleware and provide
      better code comments explaining the normalization.
    
    * Separate build verbosity from test verbosity
    
    * Cleaning up comments to match repo code style
    
    * Merging warning messages into single message
    * Moving function docs to before function declaration
    
    * Adding test cases for k8sclient connector
    
    * Tests cover connector create and setting base url
    * Fixed bugs in connector create and setting base url functions
    
    * Updaing README to group and order development work
    
    * Priority focused on achieving functional parity with SkyDNS.
    
    * Adding work items to README and cleaning up formatting
    
    * More README format cleaning
    
    * List formating
    
    * Refactoring k8s API call to allow dependency injection
    
    * Add test cases for data parsing from k8s into dataobject structures
    
    * URL is dependency-injected to allow replacement with a mock http
      server during test execution
    
    * Adding more data validation for JSON parsing tests
    
    * Adding test case for GetResourceList()
    
    * Adding notes about SkyDNS embedded IP and port record names
    
    * Marked test case implemented.
    
    * Fixing formatting for example command.
    
    * Fixing formatting
    
    * Adding notes about Docker image building.
    
    * Adding SkyDNS work item
    
    * Updating TODO list
    
    * Adding name template to Corefile to specify how k8s record names are assembled
    
    * Adding template support for multi-segment zones
    
    * Updating example CoreFile for k8s with template comment
    
    * Misc whitespace cleanup
    
    * Adding SkyDNS naming notes
    
    * Adding namespace filtering to CoreFile config
    
    * Updating example k8sCoreFile to specify namespaces
    
    * Removing unused codepath
    
    * Adding check for valid namespace
    
    * More README TODO restructuring to focus effort
    
    * Adding template validation while parsing CoreFile
    
    * Record name template is considered invalid if it contains a symbol of the form ${bar} where the symbol
      "${bar}" is not an accepted template symbol.
    
    * Refactoring generation of answer records
    
    * Parse typeName out of query string
    * Refactor answer record creation as operation over list of ServiceItems
    
    * Moving k8s API caching into SkyDNS equivalency segment
    
    * Adding function to assemble record names from template
    
    * Warning: This commit may be broken. Syncing to get laptop code over to dev machine.
    
    * More todo notes
    
    * Adding comment describing sample test data.
    
    * Update k8sCorefile
    
    * Adding comment
    
    * Adding filtering support for kubernetes "type"
    
    * Required refactoring to support reuse of the StringInSlice function.
    
    * Cleaning up formatting
    
    * Adding note about SkyDNS supporting word "any".
    
    * baseUrl -> baseURL
    
    * Also removed debug statement from core/setup/kubernetes.go
    
    * Fixing test breaking from Url -> URL naming changes
    
    * Changing record name template language ${...} -> {...}
    
    * Fix formatting with go fmt
    
    * Updating all k8sclient data getters to return error value
    
    * Adding error message to k8sclient data accessors
    
    * Cleaning up setup for kubernetes
    
    * Removed verbose nils in initial k8s middleware instance
    * Set reasonable defaults if CoreFile has no parameters in the
    kubernetes block. (k8s endpoint, and name template)
    
    * Formatting cleanup -- go fmt
    289f53d3
dataobjects.go 2.79 KB