Commit Graph

21 Commits

Author SHA1 Message Date
Torben Nehmer 00661cb052 Updated dependencies 2022-06-28 19:58:56 +02:00
Torben Nehmer 914845e9cb Change default config name to match repo 2022-06-28 19:13:05 +02:00
Torben Nehmer 01e22e2b30 Make Hello World Test URL configurable
This should not be active by default for security reasons.
2022-06-28 19:11:15 +02:00
Torben Nehmer 9b29d9213c Add debugger configuration file (VSCode) 2022-06-28 18:58:37 +02:00
Torben Nehmer 73b7a3d1ee Correct state handling for split updates
- Always merge state again, so that we keep the missing information from the not updated protocol
2021-09-25 12:56:56 +02:00
Torben Nehmer 45d4e45bb1 Reworked update code, split v4/v6 updates
- collect dns updatees individually, so that we clear A and AAAA separately if and only if needed.
- made nft AddIP call more resilient against partial updates
- updated nft processing code to no longer add nil to a v4/v6 set which would end in an invalid call to AddIP when updating nft. call it individually now.
- updated samples with real world traces from an AVM Box
2021-09-25 11:56:50 +02:00
Torben Nehmer a23043ba5f Added state perstistance
- Define new state directory to hold the last dns update config and push it into the config, default to state/
- Refactoring, move updaterequest into service and out of webapp. Keep only the form parsing there. Specifically, move the processing code into the service package, it shouldn't be in the webapp.
- Add code to load and save the last updaterequest into a state file (watch out to keep the possibly unhashed password out of it).
- Add a command line option to load all available state files given the current configured user list from the command line.
- Refactor user configuartion loading to separate it from user authentication, claen up the code.
- We now require the username in the config, to make handling it in state updates easier. This will allow easier transition to DB style storage anyway.
- Update .gitignore
2021-09-18 15:38:49 +02:00
Torben Nehmer 9952343cda Cleaned up config handling
- moved everything to cmd/root.go
- Sanitize all paths to full absolute ones
- Set a config key with the current config basedir
- moved default config logging to a central location
- resolve user config dir relative to config dir
- change cwd to config dir
2021-08-25 21:17:19 +02:00
Torben Nehmer a6e52d9d3d Fix: viper.UnmarshalKey ignores defaults
This seems to be a bug in viper, as soon as we're working with subkeys, things fall apart
2021-08-24 17:03:59 +02:00
Torben Nehmer 467a89c4ba Cleanup
- Default DNS at localhost
- updated gitignore
- updated default config yml
2021-08-24 16:49:17 +02:00
Torben Nehmer ae3b1d0897 First working implementation
- implemented update request processing
- separated host and domain name in config (req. for DNS updates)
- enhanced NFT update validation
- cleaned up example user
- cleand up logging in update request
- moved appropriate config into user request struct
2021-08-24 16:44:52 +02:00
Torben Nehmer 2feb864551 DNS logging optimized 2021-08-24 16:41:06 +02:00
Torben Nehmer fbf10f9d1b Next implementation steps
- Simplified UpdateRequest to the minimum required
- renamed test user to example
- removed user property from yml config, it is given by the file name.
- splitted server code analogous to command line code so that each handler has its own file.
- made viper confgi in userconfig internal
- added validation to userconfig
- added helper to combaine an IID with a v6net in userconfig
2021-08-23 20:41:32 +02:00
Torben Nehmer fbfd75bf99 Rewrote entire NFT Update Logic
- more flexibility by a struct based approch
- allows for collection of all changes from a complex confi
- pushes everything at once to NFT
2021-08-22 20:45:36 +02:00
Torben Nehmer 5242cc98f7 Normalized function naming 2021-08-22 14:50:52 +02:00
Torben Nehmer 7b93ff425d - Added sample default config (needs manual updating)
- Reworked service and webapi config to Viper unmarshalling
- Added Pretty Printers to config
2021-08-22 14:46:48 +02:00
Torben Nehmer 9a31bbc912 - Clarified web handler name
- Implemented Configuration Loader with unauthorized error handling
- More elaborate test user config
- Use Viper Unmarshalling for User Config loading
- Centralized password hasing code
2021-08-22 14:36:55 +02:00
Torben Nehmer 9f1b9f1690 Refactorization and further implementation
- renamed clientoinfo to updaterequest
- added userconfig skeleton
- added hashed password skeleton
2021-08-21 20:35:08 +02:00
Torben Nehmer a6a065cafb Updated samples 2021-08-21 20:32:54 +02:00
Torben Nehmer 7dd11a0879 First basic version
- NFT and DNS Update skeletons
- Integrated viper configuration management
- Integrated cobra CLI management
- Basic webservice skeleton
2021-08-20 21:10:59 +02:00
torben 34d02ba590 Initial commit 2021-08-10 16:13:44 +00:00