Documentation
¶
Index ¶
Constants ¶
const ( // TestChainID is the channel name used for testing purposes when one is // not given TestChainID = "testchainid" // SampleInsecureSoloProfile references the sample profile which does not // include any MSPs and uses solo for ordering. SampleInsecureSoloProfile = "SampleInsecureSolo" // SampleDevModeSoloProfile references the sample profile which requires // only basic membership for admin privileges and uses solo for ordering. SampleDevModeSoloProfile = "SampleDevModeSolo" // SampleSingleMSPSoloProfile references the sample profile which includes // only the sample MSP and uses solo for ordering. SampleSingleMSPSoloProfile = "SampleSingleMSPSolo" // SampleInsecureKafkaProfile references the sample profile which does not // include any MSPs and uses Kafka for ordering. SampleInsecureKafkaProfile = "SampleInsecureKafka" // SampleDevModeKafkaProfile references the sample profile which requires only // basic membership for admin privileges and uses Kafka for ordering. SampleDevModeKafkaProfile = "SampleDevModeKafka" // SampleSingleMSPKafkaProfile references the sample profile which includes // only the sample MSP and uses Kafka for ordering. SampleSingleMSPKafkaProfile = "SampleSingleMSPKafka" // SampleSingleMSPChannelProfile references the sample profile which // includes only the sample MSP and is used to create a channel SampleSingleMSPChannelProfile = "SampleSingleMSPChannel" // SampleConsortiumName is the sample consortium from the // sample configtx.yaml SampleConsortiumName = "SampleConsortium" // SampleOrgName is the name of the sample org in the sample profiles SampleOrgName = "SampleOrg" // AdminRoleAdminPrincipal is set as AdminRole to cause the MSP role of // type Admin to be used as the admin principal default AdminRoleAdminPrincipal = "Role.ADMIN" // MemberRoleAdminPrincipal is set as AdminRole to cause the MSP role of // type Member to be used as the admin principal default MemberRoleAdminPrincipal = "Role.MEMBER" )
const ( // Prefix identifies the prefix for the configtxgen-related ENV vars. Prefix string = "CONFIGTX" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AnchorPeer ¶
AnchorPeer encodes the necessary fields to identify an anchor peer.
type Application ¶
type Application struct {
Organizations []*Organization `yaml:"Organizations"`
Capabilities map[string]bool `yaml:"Capabilities"`
Resources *Resources `yaml:"Resources"`
Policies map[string]*Policy `yaml:"Policies"`
ACLs map[string]string `yaml:"ACLs"`
}
Application encodes the application-level configuration needed in config transactions.
type BatchSize ¶
type BatchSize struct {
MaxMessageCount uint32 `yaml:"MaxMessageCount"`
AbsoluteMaxBytes uint32 `yaml:"AbsoluteMaxBytes"`
PreferredMaxBytes uint32 `yaml:"PreferredMaxBytes"`
}
BatchSize contains configuration affecting the size of batches.
type Consortium ¶
type Consortium struct {
Organizations []*Organization `yaml:"Organizations"`
}
Consortium represents a group of organizations which may create channels with each other
type Kafka ¶
type Kafka struct {
Brokers []string `yaml:"Brokers"`
}
Kafka contains configuration for the Kafka-based orderer.
type Orderer ¶
type Orderer struct {
OrdererType string `yaml:"OrdererType"`
Addresses []string `yaml:"Addresses"`
BatchTimeout time.Duration `yaml:"BatchTimeout"`
BatchSize BatchSize `yaml:"BatchSize"`
Kafka Kafka `yaml:"Kafka"`
Organizations []*Organization `yaml:"Organizations"`
MaxChannels uint64 `yaml:"MaxChannels"`
Capabilities map[string]bool `yaml:"Capabilities"`
Policies map[string]*Policy `yaml:"Policies"`
}
Orderer contains configuration which is used for the bootstrapping of an orderer by the provisional bootstrapper.
type Organization ¶
type Organization struct {
Name string `yaml:"Name"`
ID string `yaml:"ID"`
MSPDir string `yaml:"MSPDir"`
MSPType string `yaml:"MSPType"`
Policies map[string]*Policy `yaml:"Policies"`
// Note: Viper deserialization does not seem to care for
// embedding of types, so we use one organization struct
// for both orderers and applications.
AnchorPeers []*AnchorPeer `yaml:"AnchorPeers"`
// AdminPrincipal is deprecated and may be removed in a future release
// it was used for modifying the default policy generation, but policies
// may now be specified explicitly so it is redundant and unnecessary
AdminPrincipal string `yaml:"AdminPrincipal"`
}
Organization encodes the organization-level configuration needed in config transactions.
type Policy ¶ added in v1.2.0
Policy encodes a channel config policy
type Profile ¶
type Profile struct {
Consortium string `yaml:"Consortium"`
Application *Application `yaml:"Application"`
Orderer *Orderer `yaml:"Orderer"`
Consortiums map[string]*Consortium `yaml:"Consortiums"`
Capabilities map[string]bool `yaml:"Capabilities"`
Policies map[string]*Policy `yaml:"Policies"`
}
Profile encodes orderer/application configuration combinations for the configtxgen tool.
type Resources ¶
type Resources struct {
DefaultModPolicy string
}
Resources encodes the application-level resources configuration needed to seed the resource tree
type TopLevel ¶
type TopLevel struct {
Profiles map[string]*Profile `yaml:"Profiles"`
Organizations []*Organization `yaml:"Organizations"`
Channel *Profile `yaml:"Channel"`
Application *Application `yaml:"Application"`
Orderer *Orderer `yaml:"Orderer"`
Capabilities map[string]map[string]bool `yaml:"Capabilities"`
Resources *Resources `yaml:"Resources"`
}
TopLevel consists of the structs used by the configtxgen tool.
func LoadTopLevel ¶
LoadTopLevel simply loads the configtx.yaml file into the structs above and completes their initialization. Config paths may optionally be provided and will be used in place of the FABRIC_CFG_PATH env variable.
Note, for environment overrides to work properly within a profile, Load should be used instead.
Source Files
¶
- config.go