Skip to content

Add Azure Blob Storage backend#121

Merged
Luit merged 6 commits into
PowerDNS:mainfrom
ptasker:azure-storage-only
Jun 4, 2026
Merged

Add Azure Blob Storage backend#121
Luit merged 6 commits into
PowerDNS:mainfrom
ptasker:azure-storage-only

Conversation

@ptasker

@ptasker ptasker commented Mar 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds Azure Blob Storage as a storage backend for snapshots via simpleblob v0.4.0's azure backend
  • Adds configuration documentation and examples for Azure backend options (connection string, account/key, SAS token, managed identity)
  • Adds local development support via Azurite in Docker Compose
  • Updates test.sh and test-in-docker.sh to support Azure testing

This is a focused re-submission of #96 addressing @Luit's feedback — GenerationID changes and metrics additions have been removed. Only the storage backend wiring is included.

Test plan

  • Run go build ./... to verify clean build
  • Run go test ./... to verify tests pass
  • Spin up docker compose up with Azurite and verify snapshots are written/read from Azure Blob Storage emulator
  • Review docs/configuration.md for Azure config options

Adds Azure Blob Storage as a storage backend for snapshots via
simpleblob v0.4.0's azure backend. Includes config, docs, Docker
Compose local testing with Azurite, and updated test scripts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ptasker ptasker force-pushed the azure-storage-only branch from b6cbc03 to 7871f31 Compare March 24, 2026 20:01
@ptasker ptasker marked this pull request as draft March 24, 2026 20:06
@ptasker ptasker marked this pull request as ready for review March 24, 2026 20:14
@ptasker ptasker mentioned this pull request Mar 24, 2026
@ptasker

ptasker commented Mar 24, 2026

Copy link
Copy Markdown
Contributor Author

@Luit I've isolated just the Azure backend stuff here in this PR.

@Luit Luit self-assigned this Mar 25, 2026
@Luit Luit self-requested a review March 25, 2026 08:19
@Luit

Luit commented Apr 9, 2026

Copy link
Copy Markdown
Contributor

Sorry for the delay here. There's still a couple of changes I'd prefer to get into simpleblob before we get to updating LS. I won't have much time next week, but hope to get to this the week after.

@Luit

Luit commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Sorry to keep you waiting. We've finished up the planned changes in simpleblob now, and released v1.0.0 there. I've also prepared a bit for v1.0.0 of Lightning Stream itself as well, including some backends/s3 Options that were still missing from the docs/configuration.template.md.

I've got a bit of a time restriction now for getting this PR in, though. I tried to expedite the PR by doing the rebase and including a few Options documentation changes. I sadly messed up the go.mod/go.sum merge conflict. Could you please pull in 79471d5 to your branch to restore this? 😅

Comment thread test-in-docker.sh Outdated
docker run -w /src --entrypoint '' "$image" /src/test.sh "$@"
docker run \
-v /var/run/docker.sock:/var/run/docker.sock \
-w /src --entrypoint '' "$image" /src/test.sh "$@"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you revert this one, as the ./test.sh doesn't run simpleblob's tests anymore and therefore shouldn't need a docker.sock anymore.

Comment thread syncer/syncer.go
env *lmdb.Env
events *events.Events
hooks *hooks.Hooks

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please revert this.

@Luit Luit merged commit 5e7215e into PowerDNS:main Jun 4, 2026
5 checks passed
@ptasker

ptasker commented Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

Sorry, was away last week, sounds like we're all good here?

@Luit

Luit commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

No problem. I found out I could just push to your branch, so I fixed it up and merged the lot. Thanks for your contribution. It's part of the now released version 1.0.0!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants