Version 0.16.4 and Azure Blob

I have an older ubuntu server running restic 0.12.1 compiled with go1.18.1 on linux/amd64 that is successfully connected to my azure blob (proper exports, etc)

I created a new ubuntu server running restic 0.16.4 compiled with go1.21.6 on linux/amd64 I have implemented the same exports, and it will not connect to the Azure backend

exports in use:

  • export AZURE_ACCOUNT_NAME=AzAccountName
  • export AZURE_ACCOUNT_KEY=REALLYLONGKEY
  • export AZURE_ACCOUNT_SAS=EVENLONGERSAS
  • export AZURE_ENDPOINT_SUFFIX=core.windows.net
  • export RESTIC_PASSWORD=SuperHardPassword

From the 0.12.1 server I get:


root@ns106855:/backup# restic -r azure:CONTAINER:/ snapshots

repository 92a51f5b opened successfully, password is correct
ID Time Host Tags Paths

df0b5463 2024-06-19 00:52:02 ns106855 stuff /backup
2eca2d8b 2024-06-19 02:01:24 ns106855 stuff2 /var/lib/stuff2

2 snapshots


From the 0.16.4 server I get:


restic -r azure:CONTAINER:/ snapshots
Fatal: parsing repository location failed: invalid backend
If the repository is in a local directory, you need to add a local: prefix


I have verified the exports are set with export -p (export -p |grep AZURE) and have verified with and without sudo. The esports match on both servers.

I also tried to create a repo to Azure blob and get same error


restic -r azure:foo2:/ init
Fatal: create repository at azure:foo2:/ failed: invalid backend
If the repository is in a local directory, you need to add a local: prefix


Creating a local repo works as intended


restic -r /backup/foo init
created restic repository 5f5ed12b7f at /backup/foo

Please note that knowledge of your password is required to access
the repository. Losing your password means that your data is
irrecoverably lost.

root@ns106272:~# ls /backup/
foo


I suspect the exports are not being passed appropriately with version 0.16.4 but I’m not sure how to test/troubleshoot further. Is there a way to pass the variables in the command and not rely on the exports for testing? or a log somewhere I should be watching?

Thanks!

Debian and therefore also Ubuntu build their own restic binaries. However, due to packaging problems the Azure backend has been removed: debian/patches · master · Debian Go Packaging Team / packages / restic · GitLab . You could open an issue at Debian and wait until someone addresses it. The other alternative is to use the official restic release binaries from Github.

Thank you for the reply. I will grab the official binaries. So much for using the lazy install path :wink:

Sometimes I wish that distros doing this type of thing (removing a part of the software) would not do it “silently” but at the same time add a line of output saying something like “Support for Azure was removed by Ubuntu …” so that the user is actually informed about it. Since it’s not something restic does or suggested in any way, it ought to be the responsibility of Ubuntu et al to do this.

3 Likes