Versions in this module Expand all Collapse all v0 v0.0.21 Jul 27, 2023 Changes in this version + const AdvertiseAddressEnvVar + const ApplyTimeoutEnvVar + const AuthBasicEnabledEnvVar + const AuthBasicPasswordEnvVar + const AuthBasicUsernameEnvVar + const BootstrapAdminEnvVar + const BootstrapDefaultNetworkPolicyEnvVar + const BootstrapEnabledEnvVar + const BootstrapIPv4NetworkEnvVar + const BootstrapMeshDomainEnvVar + const BootstrapRestoreSnapshotEnvVar + const BootstrapServersEnvVar + const BootstrapServersGRPCPortsEnvVar + const BootstrapVotersEnvVar + const CAFileEnvVar + const CommitTimeoutEnvVar + const ConnectionPoolCountEnvVar + const ConnectionTimeoutEnvVar + const DataDirEnvVar + const DataStoragePath + const DefaultAdminUser + const DefaultIPv4Network + const DefaultMeshDomain + const DefaultNetworkPolicy + const ElectionTimeoutEnvVar + const ForceBootstrapClusterEnvVar + const GRPCAdvertisePortEnvVar + const HeartbeatTimeoutEnvVar + const InMemoryEnvVar + const InsecureEnvVar + const InsecureSkipVerifyEnvVar + const JoinAddressEnvVar + const JoinAsVoterEnvVar + const JoinTimeoutEnvVar + const LeaderLeaseTimeoutEnvVar + const LeaveOnShutdownEnvVar + const MTLSCertFileEnvVar + const MTLSEnabledEnvVar + const MTLSKeyFileEnvVar + const MaxAppendEntriesEnvVar + const MaxJoinRetriesEnvVar + const NoIPv4EnvVar + const NoIPv6EnvVar + const NodeDirectPeersEnvVar + const NodeIDEnvVar + const NodeRoutesEnvVar + const ObserverChanBufferEnvVar + const PeerDiscoveryAddressesEnvVar + const PrimaryEndpointEnvVar + const RaftListenAddressEnvVar + const RaftLogLevelEnvVar + const RaftPreferIPv6EnvVar + const RaftStorePath + const ShutdownTimeoutEnvVar + const SnapshotIntervalEnvVar + const SnapshotRetentionEnvVar + const SnapshotThresholdEnvVar + const StartupTimeoutEnvVar + const VerifyChainOnlyEnvVar + const WireGuardEndpointsEnvVar + const WireGuardKeyFileEnvVar + const WireGuardKeyRotationIntervalEnvVar + const WireGuardRecordMetricsEnvVar + const WireGuardRecordMetricsIntervalEnvVar + const WireguardAllowedIPsEnvVar + const WireguardForceNameEnvVar + const WireguardForceTUNEnvVar + const WireguardListenPortEnvVar + const WireguardMTUEnvVar + const WireguardMasqueradeEnvVar + const WireguardModprobeEnvVar + const WireguardNameEnvVar + const WireguardPersistentKeepaliveEnvVar + const ZoneAwarenessIDEnvVar + var ErrNotLeader = fmt.Errorf("not leader") + var ErrNotOpen = fmt.Errorf("not open") + var ErrNotReady = fmt.Errorf("not ready") + var ErrOpen = fmt.Errorf("already open") + type AuthOptions struct + Basic *BasicAuthOptions + LDAP *LDAPAuthOptions + MTLS *MTLSOptions + func NewAuthOptions() *AuthOptions + func (o *AuthOptions) BindFlags(fl *flag.FlagSet) + func (o *AuthOptions) Validate() error + type BasicAuthOptions struct + Password string + Username string + type BootstrapOptions struct + Admin string + AdvertiseAddress string + DefaultNetworkPolicy string + Enabled bool + Force bool + IPv4Network string + MeshDomain string + RestoreSnapshot string + Servers string + ServersGRPCPorts string + Voters string + func NewBootstrapOptions() *BootstrapOptions + func (o *BootstrapOptions) BindFlags(fl *flag.FlagSet) + func (o *BootstrapOptions) Validate() error + type LDAPAuthOptions struct + Password string + Username string + type LogStoreCloser interface + type MTLSOptions struct + CertData string + CertFile string + KeyData string + KeyFile string + type MeshOptions struct + DirectPeers []string + GRPCPort int + JoinAddress string + JoinAsVoter bool + MaxJoinRetries int + NoIPv4 bool + NoIPv6 bool + NodeID string + PeerDiscoveryAddresses []string + PrimaryEndpoint string + Routes []string + ZoneAwarenessID string + func NewMeshOptions() *MeshOptions + func (o *MeshOptions) BindFlags(fl *flag.FlagSet) + func (o *MeshOptions) Validate() error + type NetworkPolicy string + const NetworkPolicyAccept + const NetworkPolicyDeny + func (n NetworkPolicy) IsValid() bool + type Options struct + Auth *AuthOptions + Bootstrap *BootstrapOptions + Mesh *MeshOptions + Plugins *plugins.Options + Raft *RaftOptions + TLS *TLSOptions + WireGuard *WireGuardOptions + func NewOptions() *Options + func (o *Options) BindFlags(fl *flag.FlagSet) + func (o *Options) TLSConfig() (*tls.Config, error) + func (o *Options) Validate() error + type RaftOptions struct + ApplyTimeout time.Duration + CommitTimeout time.Duration + ConnectionPoolCount int + ConnectionTimeout time.Duration + DataDir string + ElectionTimeout time.Duration + HeartbeatTimeout time.Duration + InMemory bool + LeaderLeaseTimeout time.Duration + LeaveOnShutdown bool + ListenAddress string + LogLevel string + MaxAppendEntries int + ObserverChanBuffer int + PreferIPv6 bool + ShutdownTimeout time.Duration + SnapshotInterval time.Duration + SnapshotRetention uint64 + SnapshotThreshold uint64 + func NewRaftOptions() *RaftOptions + func (o *RaftOptions) BindFlags(fl *flag.FlagSet) + func (o *RaftOptions) DataStoragePath() string + func (o *RaftOptions) Logger(name string) hclog.Logger + func (o *RaftOptions) RaftConfig(nodeID string) *raft.Config + func (o *RaftOptions) StorePath() string + func (o *RaftOptions) Validate() error + type StableStoreCloser interface + type Store interface + AddNonVoter func(ctx context.Context, id string, addr string) error + AddVoter func(ctx context.Context, id string, addr string) error + Close func() error + DemoteVoter func(ctx context.Context, id string) error + Domain func() string + ID func() string + IsLeader func() bool + IsOpen func() bool + Leader func() (raft.ServerID, error) + LeaderAddr func() (string, error) + LeaderRPCAddr func(ctx context.Context) (string, error) + Open func(context.Context) error + Plugins func() plugins.Manager + Raft func() *raft.Raft + Ready func() bool + ReadyError func(ctx context.Context) <-chan error + ReadyNotify func(ctx context.Context) <-chan struct{} + RemoveServer func(ctx context.Context, id string, wait bool) error + State func() raft.RaftState + Stepdown func(wait bool) error + Storage func() storage.Storage + WireGuard func() wireguard.Interface + func New(opts *Options) (Store, error) + func NewTestCluster(ctx context.Context, numNodes int, startPort int) ([]Store, error) + func NewTestStore(ctx context.Context) (Store, error) + type TLSOptions struct + CAData string + CAFile string + Insecure bool + InsecureSkipVerify bool + VerifyChainOnly bool + func NewTLSOptions() *TLSOptions + func (o *TLSOptions) BindFlags(fl *flag.FlagSet) + type WireGuardOptions struct + Endpoints []string + ForceInterfaceName bool + ForceTUN bool + InterfaceName string + KeyFile string + KeyRotationInterval time.Duration + ListenPort int + MTU int + Masquerade bool + Modprobe bool + PersistentKeepAlive time.Duration + RecordMetrics bool + RecordMetricsInterval time.Duration + func NewWireGuardOptions() *WireGuardOptions + func (o *WireGuardOptions) BindFlags(fl *flag.FlagSet) + func (o *WireGuardOptions) Validate() error