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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Kahuna.Storage.Gcs" Version="1.16.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Kahuna.Storage.Gcs" Version="1.16.3" />
                    
Directory.Packages.props
<PackageReference Include="Kahuna.Storage.Gcs" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Kahuna.Storage.Gcs --version 1.16.3
                    
#r "nuget: Kahuna.Storage.Gcs, 1.16.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Kahuna.Storage.Gcs@1.16.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Kahuna.Storage.Gcs&version=1.16.3
                    
Install as a Cake Addin
#tool nuget:?package=Kahuna.Storage.Gcs&version=1.16.3
                    
Install as a Cake Tool

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.Core 1.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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.16.3 40 11/8/2026
1.15.0 53 11/6/2026