Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Command ¶
type Command struct { Server *pilosa.Server // Configuration. Config *Config // Standard input/output *pilosa.CmdIO // Started will be closed once Command.Start is finished. Started chan struct{} Handler pilosa.Handler API *pilosa.API // contains filtered or unexported fields }
Command represents the state of the pilosa server command.
func NewCommand ¶
NewCommand returns a new instance of Main.
func (*Command) GossipTransport ¶ added in v0.9.0
GossipTransport allows a caller to return the gossip transport created when setting up the GossipMemberSet. This is useful if one needs to determine the allocated ephemeral port programmatically. (usually used in tests)
func (*Command) SetupServer ¶
SetupServer uses the cluster configuration to set up this server.
type CommandOption ¶ added in v1.0.0
func OptCommandCloseTimeout ¶ added in v1.0.1
func OptCommandCloseTimeout(d time.Duration) CommandOption
func OptCommandServerOptions ¶ added in v1.0.0
func OptCommandServerOptions(opts ...pilosa.ServerOption) CommandOption
type Config ¶ added in v0.9.0
type Config struct { // DataDir is the directory where Pilosa stores both indexed data and // running state such as cluster topology information. DataDir string `toml:"data-dir"` // Bind is the host:port on which Pilosa will listen. Bind string `toml:"bind"` // Advertise is the address advertised by the server to other nodes // in the cluster. It should be reachable by all other nodes and should // route to an interface that Bind is listening on. Advertise string `toml:"advertise"` // MaxWritesPerRequest limits the number of mutating commands that can be in // a single request to the server. This includes Set, Clear, // SetRowAttrs & SetColumnAttrs. MaxWritesPerRequest int `toml:"max-writes-per-request"` // LogPath configures where Pilosa will write logs. LogPath string `toml:"log-path"` // Verbose toggles verbose logging which can be useful for debugging. Verbose bool `toml:"verbose"` // HTTP Handler options Handler struct { // CORS Allowed Origins AllowedOrigins []string `toml:"allowed-origins"` } `toml:"handler"` // MaxMapCount puts an in-process limit on the number of mmaps. After this // is exhausted, Pilosa will fall back to reading the file into memory // normally. MaxMapCount uint64 `toml:"max-map-count"` // MaxFileCount puts a soft, in-process limit on the number of open fragment // files. Once this limit is passed, Pilosa will only keep files open while // actively working with them, and will close them afterward. This has a // negative effect on performance for workloads which make small appends to // lots of fragments. MaxFileCount uint64 `toml:"max-file-count"` // TLS TLS TLSConfig `toml:"tls"` // WorkerPoolSize controls how many goroutines are created for // processing queries. Defaults to runtime.NumCPU(). It is // intentionally not defined as a flag... only exposed here so // that we can limit the size while running tests in CI so we // don't exhaust the goroutine limit. WorkerPoolSize int // ImportWorkerPoolSize controls how many goroutines are created for // processing importRoaring jobs. Defaults to runtime.NumCPU(). It is // intentionally not defined as a flag... only exposed here so // that we can limit the size while running tests in CI so we // don't exhaust the goroutine limit. ImportWorkerPoolSize int Cluster struct { // Disabled controls whether clustering functionality is enabled. Disabled bool `toml:"disabled"` Coordinator bool `toml:"coordinator"` ReplicaN int `toml:"replicas"` Hosts []string `toml:"hosts"` // TODO(2.0) move this out of cluster. (why is it here??) LongQueryTime toml.Duration `toml:"long-query-time"` } `toml:"cluster"` // Gossip config is based around memberlist.Config. Gossip gossip.Config `toml:"gossip"` Translation struct { MapSize int `toml:"map-size"` // DEPRECATED: Translation config supports translation store replication. PrimaryURL string `toml:"primary-url"` } `toml:"translation"` AntiEntropy struct { Interval toml.Duration `toml:"interval"` } `toml:"anti-entropy"` Metric struct { // Service can be statsd, expvar, or none. Service string `toml:"service"` // Host tells the statsd client where to write. Host string `toml:"host"` PollInterval toml.Duration `toml:"poll-interval"` // Diagnostics toggles sending some limited diagnostic information to // Pilosa's developers. Diagnostics bool `toml:"diagnostics"` } `toml:"metric"` Tracing struct { // SamplerType is the type of sampler to use. SamplerType string `toml:"sampler-type"` // SamplerParam is the parameter passed to the tracing sampler. // Its meaning is dependent on the type of sampler. SamplerParam float64 `toml:"sampler-param"` // AgentHostPort is the host:port of the local agent. AgentHostPort string `toml:"agent-host-port"` } `toml:"tracing"` Profile struct { // BlockRate is passed directly to runtime.SetBlockProfileRate BlockRate int `toml:"block-rate"` // MutexFraction is passed directly to runtime.SetMutexProfileFraction MutexFraction int `toml:"mutex-fraction"` } `toml:"profile"` }
Config represents the configuration for the command.
type TLSConfig ¶ added in v0.9.0
type TLSConfig struct { // CertificatePath contains the path to the certificate (.crt or .pem file) CertificatePath string `toml:"certificate"` // CertificateKeyPath contains the path to the certificate key (.key file) CertificateKeyPath string `toml:"key"` // SkipVerify disables verification for self-signed certificates SkipVerify bool `toml:"skip-verify"` }
TLSConfig contains TLS configuration
Click to show internal directories.
Click to hide internal directories.