Given that gravity Sync has been retired as a GitHub project and that it no longer works with FTL v6.x it would be great to see sync functionality across the following features:
Configuration
DHCP Leases
Groups
Lists*
Domains/Regexes
Clients
I know you can move settings from one Pi-Hole to another via Teleporter but its a pain to keep having to do it or double keying in between two instances when running primary and secondary instances.
To be able to do this via the WebUI would be very useful.
Under Settings Menu there could be a new option "Sync" with some basic settings:
ON/OFF - Enable/disable feature
MODE - Set as Source (server holding settings to be pushed out) or Destination (server expecting to receive settings)
Destination setting also toggles on "webserver.api.app_sudo" to allow api to write above settings
Source setting also allows for choosing which of the above six settings are to be synchronised
DESTINATIONS - Available if MODE is set to Source to allow input of one or more rows of Destinations servers with columns as below:
IP address of destination server (xxx.xxx.xxx.xxx)
API authentication details (application password)
Status - Enabled/Disabled (same style as Lists page)
Comment - free text to allow name of server instance to be added
Trash - for removing entry
Sync Status - Same iconography as Lists page with mouse over tool tip
SOURCES - Available if MODE is set to Destination to allow input of the Source instance from which settings are to be received:
IP address of Source server (xxx.xxx.xxx.xxx)
SYNC INTERVAL - Time between attempted syncs (default behavior would be sync on save or update process completes from the 6 settings above, but you could have this as a fixed or defined time interval)
As with other processes logging pipped to Pi-hole diagnosis.
*Also consider if Lists on the destination server is populated by only a single entry, that of the Source server, and gets all of its Gravity entries from the source, instead of maintaining a local source list and running Gravity updates. Maybe this could be a configuration choice when enabling the feature.
I would think this is exactly what the APIs are for and would allow someone to craft their own, bespoke workflow. For example, I use an API call to get the current DHCP configuration so that I can craft an ethers file for my router and access point. Just a little bash/zsh, curl'ing and jq.
I don't disagree that the API's can do everything listed but the whole reason Gravity Sync gained popularity was it plugged a hole in functionality. It was simple enough to setup but probably technically a bit out of reach of many. Adding the features to the UI would just make life easier for many users.
Why not check first before venting wrong assumptions like you also did in the other FR thats full of unnecessary profanity?
$ sudo cat /etc/pihole/pihole.toml
[..]
# Array of custom DNS records
#
# Example: [ "127.0.0.1 mylocal", "192.168.0.1 therouter" ]
#
# Allowed values are:
# Array of custom DNS records each one in HOSTS form: "IP HOSTNAME [HOSTNAME ...]"
hosts = []
Well, then the feature doesn't work, because I tried it last night, and not only is there not a checkbox for your custom DNS entries, but it didn't restore any of them either.
Unless it's combined with one of the other checkboxes, and isn't labeled as such, it seems like this feature doesn't actually work.
So maybe you should try it first, before you say that it already works. Because it either doesn't, or is labeled in a misleading way, or is combined with other functions that users might not necessarily want to carry over in addition with their custom DNS entries.
With regards to my other post, what does that have to do with this post? Nothing. Let's stay on topic. If you have an issue with my argument in that feature request, I suggest you post in that thread.
It's also entirely useless to use teleporter, if it replaces all the rest of your settings which that seems to do, because your two different DNS servers need two different sets of settings while retaining a shared set of custom DNS records, and things like clients, ad lists, etc.
And again, we are asking for automated syncing between multiple Pi Hole servers so we can have proper redundant DNS. Fixing this manually isn't the goal. It's a nice stop gap, but the problem still remains: without redundancy, if one Pi Hole server goes down, you lose DNS entirely.
FYI I ran a Teleporter backup on my old setup a couple of weeks ago, setup a new Pihole on a new micro-SD card and Teleporter imported my custom DNS entries without issue.
I suspect the custom DNS entries might be lumped in with another setting that I chose not to restore, because I didn't want to mess up the configuration of that other Pi Hole.
Again, another reason why syncing would be very handy.