# Functions

CheckInvariant will test the invariant method provided and will return an error if the invariant returns an error.
CreateFactory will create a factory based on the provided options.
CreationTrackerLoggerOption sets the creation tracker that will printout the time for the different creation stages.
DefaultClusterConfig returns the default cluster configuration with the HA Mode None.
DefaultClusterConfigWithHaMode returns the default cluster configuration with the provided HA Mode.
FdbPrintable copied from foundationdb bindings/go/src/fdb/fdb.go func Printable(d []byte) string Printable returns a human readable version of a byte array.
FdbStrinc returns the first key that would sort outside the range prefixed by // prefix, or an error if prefix is empty or contains only 0xFF bytes.
GenerateUpgradeTableEntries creates the ginkgo.TableEntry slice based of the provided options.
GetBaseImageAndTag returns the base image and if present the tag.
GetDcIDsFromConfig returns unique DC IDs from the current config.
GetDebugImage returns the debugging image if enabled.
GetOperatorSelector returns the operator Pod selector for chaos mesh.
GetProcessClass returns the Process class of this Pod.
GetProcessGroupID returns the Process Group ID class of this Pod.
GetPvc returns the PVC name of this Pod.
InitFlags sets up the custom flags for this test suite and returns the parsed FactoryOptions struct.
LoadControllerRuntimeFromContext will load a client.Client from the provided context.
MakeReconciliationOptionsStruct applies the provided options to the ReconciliationOptions.
MinimumGenerationOption specifies the minimum generation to be reconciled too.
NewDefaultCreationTrackerLogger creates a no-op logger which is not writing anything.
PodSelector returns the PodSelectorSpec for the provided Pod.
PodsSelector returns the PodSelectorSpec for the provided Pods.
PollTimeInSecondsOption defines the polling time for the reconciliation.
RunGinkgoTests sets up the current test suite to run Ginkgo tests, then invokes the tests.
SetTestSuiteName will set the test suite name for the current test suite.
SoftReconcileOption specifies that the reconciliation is completed as soon as the Status.Generations.Reconciled reaches the expected generation.
TimeOutInSecondsOption defines the timeout for the reconciliation.
ToJSON tries to convert any object to a string representing the struct as JSON.
Unprintable adapted from foundationdb fdbclient/NativeAPI.actor.cpp std::string unprintable(std::string const& val).
UseVersionBeforeUpgrade is an option that uses an older version of FDB to prepare a cluster for being upgraded.
VersionsAreProtocolCompatible returns true if versionA and versionB are protocol compatible e.g.
WithDNSEnabled is an option that enables DNS for a cluster.
WithLocalitiesForExclusion is an option that exclusions based on localities for a cluster.
WithOneMinuteMinimumUptimeSecondsForBounce sets the MinimumUptimeSecondsForBounce setting to 60.
WithTLSEnabled is an option that enables TLS for a cluster.

# Constants

ChaosDurationForever represents a very long duration if an experiment should run for the whole test duration.
HaFourZoneDoubleSat refers to a cluster running in 4 namespaces and the DB config has two satellites.
HaFourZoneDoubleSatRF4 same as HaFourZoneDoubleSat but with the RedundancyModeDouble.
HaFourZoneSingleSat refers to a cluster running in 4 namespaces and the DB config has only one satellite.
HaModeNone refers to a single namespace without HA.
HaThreeZoneDoubleSat refers to a cluster running in 3 namespaces and the DB config has two satellites (triplet configuration).
PrimaryID is the suffix for the primary FoundationDBCluster.
PrimarySatelliteID is the suffix for the primary satellite FoundationDBCluster.
RemoteID is the suffix for the remote FoundationDBCluster.
RemoteSatelliteID is the suffix for the remote satellite FoundationDBCluster.
SatelliteID is the suffix for the satellite FoundationDBCluster.

# Structs

ChaosMeshExperiment is a wrapper around an actual chaos mesh experiment and should provide some useful abstractions, to make it easier to run experiments.
ClusterConfig defines the target configuration for the FoundationDBCLuster.
DefaultCreationTrackerLogger is an implementation of CreationTrackerLogger that is not printing any values.
Factory is a helper struct to organize tests.
FactoryOptions defines the (command line) options that are support for the e2e test cases.
FdbBackup represents a fdbv1beta2.FoundationDBBackup resource for doing backups of a FdbCluster.
FdbCluster is a fixture that allows tests to manipulate an FDB cluster with some name.
HaFdbCluster is a struct around handling HA FoundationDBClusters.
KeyValue represents a key and value that can be stored in FDB.
ReconciliationOptions defines the different reconciliation options.
RoleInfo stores information for one particular worker role.
ShutdownHooks allows fixtures to register a handler to be run at exit.
SidecarConfig represents the configuration for a sidecar.
UpgradeTestConfiguration represents the configuration for an upgrade test.

# Interfaces

CreationTrackerLogger is an interface that can be used to log the time between different creation steps.

# Type aliases

ClusterOption provides a fluid mechanism for chaining together options for building clusters.
HaMode represents the targeted HA mode for the created cluster.
ReconciliationOption defines the reconciliation option.