261 lines
6.7 KiB
Go
261 lines
6.7 KiB
Go
/*
|
|
Copyright IBM Corp. All Rights Reserved.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package template
|
|
|
|
const DefaultConfigTx = `---
|
|
{{ with $w := . -}}
|
|
Organizations:{{ range .PeerOrgs }}
|
|
- &{{ .MSPID }}
|
|
Name: {{ .Name }}
|
|
ID: {{ .MSPID }}
|
|
MSPDir: {{ $w.PeerOrgMSPDir . }}
|
|
Policies:
|
|
{{- if .EnableNodeOUs }}
|
|
Readers:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.peer', '{{.MSPID}}.client')
|
|
Writers:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.client')
|
|
Endorsement:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.peer')
|
|
Admins:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.admin')
|
|
{{- else }}
|
|
Readers:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.member')
|
|
Writers:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.member')
|
|
Endorsement:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.member')
|
|
Admins:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.admin')
|
|
{{- end }}
|
|
AnchorPeers:{{ range $w.AnchorsInOrg .Name }}
|
|
- Host: 127.0.0.1
|
|
Port: {{ $w.PeerPort . "Listen" }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- range .IdemixOrgs }}
|
|
- &{{ .MSPID }}
|
|
Name: {{ .Name }}
|
|
ID: {{ .MSPID }}
|
|
MSPDir: {{ $w.IdemixOrgMSPDir . }}
|
|
MSPType: idemix
|
|
Policies:
|
|
{{- if .EnableNodeOUs }}
|
|
Readers:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.peer', '{{.MSPID}}.client')
|
|
Writers:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.client')
|
|
Endorsement:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.peer')
|
|
Admins:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.admin')
|
|
{{- else }}
|
|
Readers:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.member')
|
|
Writers:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.member')
|
|
Endorsement:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.member')
|
|
Admins:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.admin')
|
|
{{- end }}
|
|
{{ end }}
|
|
{{- range .OrdererOrgs }}
|
|
- &{{ .MSPID }}
|
|
Name: {{ .Name }}
|
|
ID: {{ .MSPID }}
|
|
MSPDir: {{ $w.OrdererOrgMSPDir . }}
|
|
Policies:
|
|
{{- if .EnableNodeOUs }}
|
|
Readers:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.orderer', '{{.MSPID}}.client')
|
|
Writers:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.orderer', '{{.MSPID}}.client')
|
|
Admins:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.admin')
|
|
{{- else }}
|
|
Readers:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.member')
|
|
Writers:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.member')
|
|
Admins:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.admin')
|
|
{{- end }}
|
|
OrdererEndpoints:{{ range $w.OrderersInOrg .Name }}
|
|
- 127.0.0.1:{{ $w.OrdererPort . "Listen" }}
|
|
{{- end }}
|
|
{{ end }}
|
|
|
|
Channel: &ChannelDefaults
|
|
Capabilities:
|
|
V2_0: true
|
|
Policies: &DefaultPolicies
|
|
Readers:
|
|
Type: ImplicitMeta
|
|
Rule: ANY Readers
|
|
Writers:
|
|
Type: ImplicitMeta
|
|
Rule: ANY Writers
|
|
Admins:
|
|
Type: ImplicitMeta
|
|
Rule: MAJORITY Admins
|
|
|
|
Profiles:{{ range .Profiles }}
|
|
{{ .Name }}:
|
|
{{- if .ChannelCapabilities}}
|
|
Capabilities:{{ range .ChannelCapabilities}}
|
|
{{ . }}: true
|
|
{{- end}}
|
|
Policies:
|
|
<<: *DefaultPolicies
|
|
{{- else }}
|
|
<<: *ChannelDefaults
|
|
{{- end}}
|
|
{{- if .Orderers }}
|
|
Orderer:
|
|
OrdererType: {{ $w.Consensus.Type }}
|
|
Addresses:{{ range .Orderers }}{{ with $w.Orderer . }}
|
|
- 127.0.0.1:{{ $w.OrdererPort . "Listen" }}
|
|
{{- end }}{{ end }}
|
|
{{- if .Blocks}}
|
|
BatchTimeout: {{ .Blocks.BatchTimeout }}s
|
|
BatchSize:
|
|
MaxMessageCount: {{ .Blocks.MaxMessageCount }}
|
|
AbsoluteMaxBytes: {{ .Blocks.AbsoluteMaxBytes }} MB
|
|
PreferredMaxBytes: {{ .Blocks.PreferredMaxBytes }} KB
|
|
{{- else }}
|
|
BatchTimeout: 1s
|
|
BatchSize:
|
|
MaxMessageCount: 1
|
|
AbsoluteMaxBytes: 98 MB
|
|
PreferredMaxBytes: 512 KB
|
|
{{- end}}
|
|
Capabilities:
|
|
V2_0: true
|
|
{{- if eq $w.Consensus.Type "BFT" }}
|
|
ConsenterMapping:{{ range $index, $orderer := .Orderers }}{{ with $w.Orderer . }}
|
|
- ID: {{ .Id }}
|
|
Host: 127.0.0.1
|
|
Port: {{ $w.OrdererPort . "Cluster" }}
|
|
MSPID: {{ ($w.Organization .Organization).MSPID}}
|
|
ClientTLSCert: {{ $w.OrdererLocalCryptoDir . "tls" }}/server.crt
|
|
ServerTLSCert: {{ $w.OrdererLocalCryptoDir . "tls" }}/server.crt
|
|
Identity: {{ $w.OrdererSignCert .}}
|
|
{{- end }}{{- end }}
|
|
{{- end }}
|
|
{{- if eq $w.Consensus.Type "etcdraft" }}
|
|
EtcdRaft:
|
|
Options:
|
|
TickInterval: 500ms
|
|
SnapshotIntervalSize: 1 KB
|
|
Consenters:{{ range .Orderers }}{{ with $w.Orderer . }}
|
|
- Host: 127.0.0.1
|
|
Port: {{ $w.OrdererPort . "Cluster" }}
|
|
ClientTLSCert: {{ $w.OrdererLocalCryptoDir . "tls" }}/server.crt
|
|
ServerTLSCert: {{ $w.OrdererLocalCryptoDir . "tls" }}/server.crt
|
|
{{- end }}{{- end }}
|
|
{{- end }}
|
|
Organizations:{{ range $w.OrgsForOrderers .Orderers }}
|
|
- *{{ .MSPID }}
|
|
{{- end }}
|
|
Policies:
|
|
Readers:
|
|
Type: ImplicitMeta
|
|
Rule: ANY Readers
|
|
Writers:
|
|
Type: ImplicitMeta
|
|
Rule: ANY Writers
|
|
Admins:
|
|
Type: ImplicitMeta
|
|
Rule: MAJORITY Admins
|
|
BlockValidation:
|
|
Type: ImplicitMeta
|
|
Rule: ANY Writers
|
|
{{- end }}
|
|
Application:
|
|
Capabilities:
|
|
{{- if .AppCapabilities }}{{ range .AppCapabilities }}
|
|
{{ . }}: true
|
|
{{- end }}
|
|
{{- else }}
|
|
V1_3: true
|
|
{{- end }}
|
|
Organizations:{{ range .Organizations }}
|
|
- *{{ ($w.Organization .).MSPID }}
|
|
{{- end}}
|
|
Policies:
|
|
Readers:
|
|
Type: ImplicitMeta
|
|
Rule: ANY Readers
|
|
Writers:
|
|
Type: ImplicitMeta
|
|
Rule: ANY Writers
|
|
Admins:
|
|
Type: ImplicitMeta
|
|
Rule: MAJORITY Admins
|
|
LifecycleEndorsement:
|
|
Type: ImplicitMeta
|
|
Rule: "MAJORITY Endorsement"
|
|
Endorsement:
|
|
Type: ImplicitMeta
|
|
Rule: "MAJORITY Endorsement"
|
|
Consortium: {{ .Consortium }}
|
|
{{- end }}
|
|
{{ end }}
|
|
`
|
|
|
|
const OrgUpdateConfigTxTemplate = `---
|
|
{{ with $w := . -}}
|
|
Organizations:{{ range .PeerOrgs }}
|
|
- &{{ .MSPID }}
|
|
Name: {{ .Name }}
|
|
ID: {{ .MSPID }}
|
|
MSPDir: {{ $w.PeerOrgMSPDir . }}
|
|
Policies:
|
|
Readers:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.peer', '{{.MSPID}}.client')
|
|
Writers:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.admin', '{{.MSPID}}.client')
|
|
Endorsement:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.peer')
|
|
Admins:
|
|
Type: Signature
|
|
Rule: OR('{{.MSPID}}.admin')
|
|
AnchorPeers:{{ range $w.AnchorsInOrg .Name }}
|
|
- Host: 127.0.0.1
|
|
Port: {{ $w.PeerPort . "Listen" }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{ end }}
|
|
`
|