Kahuna.Storage.Gcs
1.16.3
dotnet add package Kahuna.Storage.Gcs --version 1.16.3
NuGet\Install-Package Kahuna.Storage.Gcs -Version 1.16.3
<PackageReference Include="Kahuna.Storage.Gcs" Version="1.16.3" />
<PackageVersion Include="Kahuna.Storage.Gcs" Version="1.16.3" />
<PackageReference Include="Kahuna.Storage.Gcs" />
paket add Kahuna.Storage.Gcs --version 1.16.3
#r "nuget: Kahuna.Storage.Gcs, 1.16.3"
#:package Kahuna.Storage.Gcs@1.16.3
#addin nuget:?package=Kahuna.Storage.Gcs&version=1.16.3
#tool nuget:?package=Kahuna.Storage.Gcs&version=1.16.3
Kahuna.Storage.Gcs
This package lets Kahuna keep its backups in a Google Cloud Storage (GCS) bucket. Without this package, Kahuna can keep backups only in a directory on the node.
The package is separate from Kahuna.Core on purpose. Other projects embed Kahuna.Core. If
Kahuna.Core referenced the GCS SDK, each of those projects would get the SDK too.
New to the terms on these pages? Read the glossary first.
Requirements
- .NET 10.
Kahuna.Core1.16.3 or later. Versions before 1.16.2 cannot load a backup target from an extension assembly. A 1.16.2 server refuses this package, because the package is built against 1.16.3.
Quick start
On the Kahuna server, extract the extension bundle from the NuGet package and load it with
--extension-assembly:
VERSION=<package version>
curl -fsSL -o /tmp/kahuna-storage-gcs.nupkg \
"https://api.nuget.org/v3-flatcontainer/kahuna.storage.gcs/$VERSION/kahuna.storage.gcs.$VERSION.nupkg"
unzip -q /tmp/kahuna-storage-gcs.nupkg 'tools/kahuna-extension/*' -d /opt/kahuna/backup-gcs
kahuna-server --extension-assembly /opt/kahuna/backup-gcs/tools/kahuna-extension/Kahuna.Storage.Gcs.dll \
--pitr-backup-dir /var/lib/kahuna/backups \
--pitr-backup-target gcs \
--pitr-backup-scratch-dir /var/lib/kahuna/scratch \
--extension-option gcs.bucket=acme-kahuna-backups gcs.prefix=prod/
In an application that embeds Kahuna.Core, register the provider:
using Kahuna.Storage.Gcs;
options.StorageProviders.Register(new GcsBackupStorageProvider(
new GcsBackupStorageOptions { Bucket = "acme-kahuna-backups", Prefix = "prod/" }));
options.BackupTarget = GcsBackupStorageProvider.Name; // "gcs"
options.BackupDir = "/var/lib/kahuna/backups";
options.BackupScratchDir = "/var/lib/kahuna/scratch";
Before the first start, do the steps in Installation. Kahuna does not start if the bucket does not meet the bucket requirements.
Documentation
| Page | Contents |
|---|---|
| Glossary | The terms that these pages use |
| Installation | How to connect the package to a Kahuna host |
| Authentication | Credentials and the permissions that the bucket must give |
| Bucket requirements | Bucket settings that Kahuna checks at startup |
| Scratch directory | Why a local directory is necessary, and how large to make it |
| Bucket layout | The object names that Kahuna writes |
| Configuration | All options and their default values |
| Behaviour | How uploads, deletes, and listings act when a step fails |
| Testing | How to run the tests, and what the tests do not prove |
Licence
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Google.Cloud.Storage.V1 (>= 4.15.0)
- Kahuna.Core (>= 1.16.3)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.14)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.