config

package
v0.2.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2023 License: Apache-2.0 Imports: 3 Imported by: 4

Documentation

Overview

Copyright IBM Corp. All Rights Reserved. SPDX-License-Identifier: Apache-2.0

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientTLSConfig

type ClientTLSConfig struct {
	// X.509 certificate used for creating TLS client connections.
	ClientCertificatePath string
	// Private key used for creating TLS client connections.
	ClientKeyPath string
}

ClientTLSConfig holds client side TLS configuration settings.

type ConnectionConfig

type ConnectionConfig struct {
	// List of replicas URIs client can connect to
	ReplicaSet []*Replica
	// Keeps path to the server's root CA
	RootCAs []string
	// Server side TLS configuration - servers TLS CA configuration
	TLSConfig ServerTLSConfig
	// Logger instance, if nil an internal logger is created
	Logger *logger.SugarLogger
}

ConnectionConfig required configuration in order to open session with BCDB instance, replica set informations servers root CAs

type Replica

type Replica struct {
	// ID replica's ID
	ID string
	// Endpoint the URI of the replica to connect to
	Endpoint string
}

Replica configuration

type ServerTLSConfig

type ServerTLSConfig struct {
	// Require server-side TLS.
	Enabled bool
	// Whether the target server (cluster) requires client authentication.
	ClientAuthRequired bool
	// caConfig defines the paths to the x509 certificates
	// of the root and intermediate certificate authorities that issued
	// all the certificates used for client-server communication.
	CaConfig config.CAConfiguration
}

ServerTLSConfig holds server side TLS configuration settings.

type SessionConfig

type SessionConfig struct {
	UserConfig *UserConfig
	// The transaction timeout given to the server in case of tx sync commit - `tx.Commit(true)`.
	// SDK will wait for `TxTimeout` + some communication margin
	// or for timeout error from server, whatever come first.
	TxTimeout time.Duration
	// The query timeout - SDK will wait for query result maximum `QueryTimeout` time.
	QueryTimeout time.Duration
	// Client side TLS configuration - client TLS certificate and private key
	ClientTLS ClientTLSConfig
}

SessionConfig keeps per database session configuration information

type UserConfig

type UserConfig struct {
	// UserID the identity of the user
	UserID string
	// CertPath path to the user's certificate
	CertPath string
	// PrivateKeyPath path to the user's private key
	PrivateKeyPath string
}

UserConfig user related information maintains wallet with public and private keys

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL