Documentation
¶
Index ¶
- Constants
- Variables
- type Authentication
- type Cluster
- type Consumer
- type Debug
- type FileLedger
- type General
- type Kafka
- type Keepalive
- type Metadata
- type Metrics
- type NetworkTimeouts
- type Operations
- type Producer
- type Profile
- type RAMLedger
- type Retry
- type SASLPlain
- type Statsd
- type TLS
- type TopLevel
- type Topic
Constants ¶
const Prefix = "ORDERER"
Prefix for environment variables.
Variables ¶
var Defaults = TopLevel{ General: General{ LedgerType: "file", ListenAddress: "127.0.0.1", ListenPort: 7050, GenesisMethod: "provisional", GenesisProfile: "SampleSingleMSPSolo", SystemChannel: "test-system-channel-name", GenesisFile: "genesisblock", Profile: Profile{ Enabled: false, Address: "0.0.0.0:6060", }, Cluster: Cluster{ ReplicationMaxRetries: 12, RPCTimeout: time.Second * 7, DialTimeout: time.Second * 5, ReplicationBufferSize: 20971520, SendBufferSize: 10, ReplicationBackgroundRefreshInterval: time.Minute * 5, ReplicationRetryTimeout: time.Second * 5, ReplicationPullTimeout: time.Second * 5, CertExpirationWarningThreshold: time.Hour * 24 * 7, }, LocalMSPDir: "msp", LocalMSPID: "SampleOrg", BCCSP: bccsp.GetDefaultOpts(), Authentication: Authentication{ TimeWindow: time.Duration(15 * time.Minute), }, }, RAMLedger: RAMLedger{ HistorySize: 10000, }, FileLedger: FileLedger{ Location: "/var/hyperledger/production/orderer", Prefix: "hyperledger-fabric-ordererledger", }, Kafka: Kafka{ Retry: Retry{ ShortInterval: 1 * time.Minute, ShortTotal: 10 * time.Minute, LongInterval: 10 * time.Minute, LongTotal: 12 * time.Hour, NetworkTimeouts: NetworkTimeouts{ DialTimeout: 30 * time.Second, ReadTimeout: 30 * time.Second, WriteTimeout: 30 * time.Second, }, Metadata: Metadata{ RetryBackoff: 250 * time.Millisecond, RetryMax: 3, }, Producer: Producer{ RetryBackoff: 100 * time.Millisecond, RetryMax: 3, }, Consumer: Consumer{ RetryBackoff: 2 * time.Second, }, }, Verbose: false, Version: sarama.V0_10_2_0, TLS: TLS{ Enabled: false, }, Topic: Topic{ ReplicationFactor: 3, }, }, Debug: Debug{ BroadcastTraceDir: "", DeliverTraceDir: "", }, Operations: Operations{ ListenAddress: "127.0.0.1:0", }, Metrics: Metrics{ Provider: "disabled", }, }
Defaults carries the default orderer configuration values.
Functions ¶
This section is empty.
Types ¶
type Authentication ¶
Authentication contains configuration parameters related to authenticating client messages.
type Cluster ¶ added in v1.4.0
type Cluster struct {
ListenAddress string
ListenPort uint16
ServerCertificate string
ServerPrivateKey string
ClientCertificate string
ClientPrivateKey string
RootCAs []string
DialTimeout time.Duration
RPCTimeout time.Duration
ReplicationBufferSize int
ReplicationPullTimeout time.Duration
ReplicationRetryTimeout time.Duration
ReplicationBackgroundRefreshInterval time.Duration
ReplicationMaxRetries int
SendBufferSize int
CertExpirationWarningThreshold time.Duration
}
type Consumer ¶
Consumer contains configuration for the consumer's retries when failing to read from a Kafa partition.
type Debug ¶
Debug contains configuration for the orderer's debug parameters.
type FileLedger ¶
FileLedger contains configuration for the file-based ledger.
type General ¶
type General struct {
LedgerType string
ListenAddress string
ListenPort uint16
TLS TLS
Cluster Cluster
Keepalive Keepalive
GenesisMethod string
GenesisProfile string
SystemChannel string
GenesisFile string
Profile Profile
LocalMSPDir string
LocalMSPID string
BCCSP *bccsp.FactoryOpts
Authentication Authentication
}
General contains config which should be common among all orderer types.
type Kafka ¶
type Kafka struct {
Retry Retry
Verbose bool
Version sarama.KafkaVersion // TODO Move this to global config
TLS TLS
SASLPlain SASLPlain
Topic Topic
}
Kafka contains configuration for the Kafka-based orderer.
type Keepalive ¶
type Keepalive struct {
ServerMinInterval time.Duration
ServerInterval time.Duration
ServerTimeout time.Duration
}
Keepalive contains configuration for gRPC servers.
type Metadata ¶
Metadata contains configuration for the metadata requests to the Kafka cluster.
type Metrics ¶ added in v1.4.0
Operations confiures the metrics provider for the orderer.
type NetworkTimeouts ¶
type NetworkTimeouts struct {
DialTimeout time.Duration
ReadTimeout time.Duration
WriteTimeout time.Duration
}
NetworkTimeouts contains the socket timeouts for network requests to the Kafka cluster.
type Operations ¶ added in v1.4.0
Operations configures the operations endpont for the orderer.
type Producer ¶
Producer contains configuration for the producer's retries when failing to post a message to a Kafka partition.
type Profile ¶
Profile contains configuration for Go pprof profiling.
type RAMLedger ¶
type RAMLedger struct {
HistorySize uint
}
RAMLedger contains configuration for the RAM ledger.
type Retry ¶
type Retry struct {
ShortInterval time.Duration
ShortTotal time.Duration
LongInterval time.Duration
LongTotal time.Duration
NetworkTimeouts NetworkTimeouts
Metadata Metadata
Producer Producer
Consumer Consumer
}
Retry contains configuration related to retries and timeouts when the connection to the Kafka cluster cannot be established, or when Metadata requests needs to be repeated (because the cluster is in the middle of a leader election).
type SASLPlain ¶ added in v1.4.0
SASLPlain contains configuration for SASL/PLAIN authentication
type Statsd ¶ added in v1.4.0
Statsd provides the configuration required to emit statsd metrics from the orderer.
type TLS ¶
type TLS struct {
Enabled bool
PrivateKey string
Certificate string
RootCAs []string
ClientAuthRequired bool
ClientRootCAs []string
}
TLS contains configuration for TLS connections.
type TopLevel ¶
type TopLevel struct {
General General
FileLedger FileLedger
RAMLedger RAMLedger
Kafka Kafka
Debug Debug
Consensus interface{}
Operations Operations
Metrics Metrics
}
TopLevel directly corresponds to the orderer config YAML. Note, for non 1-1 mappings, you may append something like `mapstructure:"weirdFoRMat"` to modify the default mapping, see the "Unmarshal" section of https://github.com/spf13/viper for more info.
Source Files
¶
- config.go