github.com/IBM-Blockchain/fabric-operator@v1.0.4/pkg/apis/orderer/v24/orderer.go (about)

     1  /*
     2   * Copyright contributors to the Hyperledger Fabric Operator project
     3   *
     4   * SPDX-License-Identifier: Apache-2.0
     5   *
     6   * Licensed under the Apache License, Version 2.0 (the "License");
     7   * you may not use this file except in compliance with the License.
     8   * You may obtain a copy of the License at:
     9   *
    10   * 	  http://www.apache.org/licenses/LICENSE-2.0
    11   *
    12   * Unless required by applicable law or agreed to in writing, software
    13   * distributed under the License is distributed on an "AS IS" BASIS,
    14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    15   * See the License for the specific language governing permissions and
    16   * limitations under the License.
    17   */
    18  
    19  package v24
    20  
    21  import (
    22  	commonapi "github.com/IBM-Blockchain/fabric-operator/pkg/apis/common"
    23  	v1 "github.com/IBM-Blockchain/fabric-operator/pkg/apis/orderer/v1"
    24  )
    25  
    26  type Orderer struct {
    27  	General              General              `json:"general,omitempty"`
    28  	FileLedger           FileLedger           `json:"fileLedger,omitempty"`
    29  	Debug                v1.Debug             `json:"debug,omitempty"`
    30  	Consensus            interface{}          `json:"consensus,omitempty"`
    31  	Operations           v1.Operations        `json:"operations,omitempty"`
    32  	Metrics              v1.Metrics           `json:"metrics,omitempty"`
    33  	Admin                Admin                `json:"admin,omitempty"`
    34  	ChannelParticipation ChannelParticipation `json:"channelParticipation,omitempty"`
    35  }
    36  
    37  type General struct {
    38  	ListenAddress     string             `json:"listenAddress,omitempty"`
    39  	ListenPort        uint16             `json:"listenPort,omitempty"`
    40  	TLS               v1.TLS             `json:"tls,omitempty"`
    41  	Cluster           v1.Cluster         `json:"cluster,omitempty"`
    42  	Keepalive         v1.Keepalive       `json:"keepalive,omitempty"`
    43  	ConnectionTimeout commonapi.Duration `json:"connectionTimeout,omitempty"`
    44  	GenesisFile       string             `json:"genesisFile,omitempty"` // For compatibility only, will be replaced by BootstrapFile
    45  	BootstrapFile     string             `json:"bootstrapFile,omitempty"`
    46  	BootstrapMethod   string             `json:"bootstrapMethod,omitempty"`
    47  	Profile           v1.Profile         `json:"profile,omitempty"`
    48  	LocalMSPDir       string             `json:"localMspDir,omitempty"`
    49  	LocalMSPID        string             `json:"localMspId,omitempty"`
    50  	BCCSP             *commonapi.BCCSP   `json:"BCCSP,omitempty"`
    51  	Authentication    v1.Authentication  `json:"authentication,omitempty"`
    52  }
    53  
    54  // FileLedger contains configuration for the file-based ledger.
    55  type FileLedger struct {
    56  	Location string `json:"location,omitempty"`
    57  }
    58  
    59  type Admin struct {
    60  	ListenAddress string `json:"listenAddress,omitempty"`
    61  	TLs           v1.TLS `json:"tls,omitempty"`
    62  }
    63  
    64  type ChannelParticipation struct {
    65  	Enabled            *bool  `json:"enabled,omitempty"`
    66  	MaxRequestBodySize uint32 `json:"maxRequestBodySize,omitempty"`
    67  }