func WithFileSystem(fileSystem fsys.FileSystem) Option {
	return func(options *options) {
		options.fileSystem = fileSystem
	}
}
WithFileSystem sets the fileSystem on the options
package cluster
import (
	"github.com/go-kit/kit/log"
	"github.com/spoke-d/thermionic/internal/cert"
	"github.com/spoke-d/thermionic/internal/clock"
	"github.com/spoke-d/thermionic/internal/config"
	"github.com/spoke-d/thermionic/internal/fsys"
)
type Option func(*options)
type options struct {
	database         Node
	cert             *cert.Info
	nodeConfigSchema config.Schema
	fileSystem       fsys.FileSystem
	raftProvider     RaftProvider
	netProvider      Net
	storeProvider    StoreProvider
	serverProvider   ServerProvider
	sleeper          clock.Sleeper
	logger           log.Logger
	latency          float64
}
func WithNode(database Node) Option {
	return func(options *options) {
		options.database = database
	}
}
func WithRaftProvider(raftProvider RaftProvider) Option {
	return func(options *options) {
		options.raftProvider = raftProvider
	}
}
func WithNet(netProvider Net) Option {
	return func(options *options) {
		options.netProvider = netProvider
	}
}
func WithStoreProvider(storeProvider StoreProvider) Option {
	return func(options *options) {
		options.storeProvider = storeProvider
	}
}
func WithServerProvider(serverProvider ServerProvider) Option {
	return func(options *options) {
		options.serverProvider = serverProvider
	}
}
func WithSleeper(sleeper clock.Sleeper) Option {
	return func(options *options) {
		options.sleeper = sleeper
	}
}
func WithCert(cert *cert.Info) Option {
	return func(options *options) {
		options.cert = cert
	}
}
func WithNodeConfigSchema(nodeConfigSchema config.Schema) Option {
	return func(options *options) {
		options.nodeConfigSchema = nodeConfigSchema
	}
}