wal-g
1//go:build libsodium
2// +build libsodium
3
4package internal
5
6import (
7"github.com/pkg/errors"
8"github.com/spf13/viper"
9
10conf "github.com/wal-g/wal-g/internal/config"
11"github.com/wal-g/wal-g/internal/crypto"
12"github.com/wal-g/wal-g/internal/crypto/libsodium"
13)
14
15func configureLibsodiumCrypter(config *viper.Viper) (crypto.Crypter, error) {
16if viper.IsSet(conf.LibsodiumKeySetting) {
17return libsodium.CrypterFromKey(viper.GetString(conf.LibsodiumKeySetting), viper.GetString(conf.LibsodiumKeyTransform)), nil
18}
19
20if viper.IsSet(conf.LibsodiumKeyPathSetting) {
21return libsodium.CrypterFromKeyPath(viper.GetString(conf.LibsodiumKeyPathSetting), viper.GetString(conf.LibsodiumKeyTransform)), nil
22}
23
24return nil, errors.New("there is no any supported libsodium crypter configuration")
25}
26