fabric: github.com/hyperledger/fabric/common/tools/configtxgen/localconfig Index | Files

package localconfig

import "github.com/hyperledger/fabric/common/tools/configtxgen/localconfig"

Index

Package Files

config.go

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"

    // SampleDevModeEtcdRaftProfile references the sample profile used for testing
    // the etcd/raft-based ordering service.
    SampleDevModeEtcdRaftProfile = "SampleDevModeEtcdRaft"

    // 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"
)

type AnchorPeer Uses

type AnchorPeer struct {
    Host string `yaml:"Host"`
    Port int    `yaml:"Port"`
}

AnchorPeer encodes the necessary fields to identify an anchor peer.

type Application Uses

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 Uses

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 Uses

type Consortium struct {
    Organizations []*Organization `yaml:"Organizations"`
}

Consortium represents a group of organizations which may create channels with each other

type Kafka Uses

type Kafka struct {
    Brokers []string `yaml:"Brokers"`
}

Kafka contains configuration for the Kafka-based orderer.

type Orderer Uses

type Orderer struct {
    OrdererType   string                   `yaml:"OrdererType"`
    Addresses     []string                 `yaml:"Addresses"`
    BatchTimeout  time.Duration            `yaml:"BatchTimeout"`
    BatchSize     BatchSize                `yaml:"BatchSize"`
    Kafka         Kafka                    `yaml:"Kafka"`
    EtcdRaft      *etcdraft.ConfigMetadata `yaml:"EtcdRaft"`
    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 Uses

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"`
    OrdererEndpoints []string      `yaml:"OrdererEndpoints"`

    // 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 Uses

type Policy struct {
    Type string `yaml:"Type"`
    Rule string `yaml:"Rule"`
}

Policy encodes a channel config policy

type Profile Uses

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.

func Load Uses

func Load(profile string, configPaths ...string) *Profile

Load returns the orderer/application config combination that corresponds to a given profile. Config paths may optionally be provided and will be used in place of the FABRIC_CFG_PATH env variable.

type Resources Uses

type Resources struct {
    DefaultModPolicy string
}

Resources encodes the application-level resources configuration needed to seed the resource tree

type TopLevel Uses

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 Uses

func LoadTopLevel(configPaths ...string) *TopLevel

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.

Package localconfig imports 11 packages (graph) and is imported by 9 packages. Updated 2019-06-04. Refresh now. Tools for package owners.