Trying to update gravity but get DNS resolution unavailable

Your Issue occurs because pihole is using itself as dns-server.
During an update pihole is often temporarily unable to resolve dns.

You should configure your pihole to use an upstream dns-server for its own queries( or any server not being itself).
If you want filtering / analytic for the pihole machine itself I recommend having a /etc/resolv.conf similar to me:

nameserver 127.0.0.1                                                                                                                                
nameserver 1.1.1.1

For this you need to disable other services overriding /etc/resolv.conf
To avoid tailscale changing the dns-server run sudo tailscale set --accept-dns=false
You may need to set your networking service to ignore dns from dhcp.

For the update you can just edit /etc/resolv.conf, just note that tailscale(unless disabled) or your networking service( like networkmanager) may override that file on boot.