feat: Implement configuration management and DNS provider integration
- Added configuration management using Viper in internal/config/config.go - Implemented ClientConfig, ServerConfig, TLSConfig, HetznerConfig, UpstreamConfig, and main Config struct. - Created LoadConfig function to read and validate configuration files. - Developed Hetzner DNS provider in internal/provider/hetzner/hetzner.go with methods for updating DNS records. - Added comprehensive unit tests for configuration loading and Hetzner provider functionality. - Established HTTP server with metrics and update endpoint in internal/server/server.go. - Implemented request handling, authorization, and error management in the server. - Created integration tests for the Hetzner provider API interactions. - Removed legacy dynamic DNS integration tests in favor of the new API-based approach.
This commit is contained in:
12
internal/provider/hetzner/hetzner_test.go
Normal file
12
internal/provider/hetzner/hetzner_test.go
Normal file
@@ -0,0 +1,12 @@
|
||||
package hetzner_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
pvd "git.cloonar.com/cloonar/updns/internal/provider"
|
||||
"git.cloonar.com/cloonar/updns/internal/provider/hetzner"
|
||||
)
|
||||
|
||||
func TestNewProviderImplementsInterface(t *testing.T) {
|
||||
var _ pvd.Provider = hetzner.NewProvider("token")
|
||||
}
|
||||
Reference in New Issue
Block a user